Class: Osaka::TypicalPrintDialog

Inherits:
Object
  • Object
show all
Defined in:
lib/osaka/typicalprintdialog.rb

Direct Known Subclasses

KeynotePrintDialog

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(application_name, own_location) ⇒ TypicalPrintDialog

Returns a new instance of TypicalPrintDialog.



7
8
9
# File 'lib/osaka/typicalprintdialog.rb', line 7

def initialize(application_name, own_location)
  @control = Osaka::RemoteControl.new(application_name, own_location)
end

Instance Attribute Details

#controlObject

Returns the value of attribute control.



5
6
7
# File 'lib/osaka/typicalprintdialog.rb', line 5

def control
  @control
end

Instance Method Details

#create_save_dialog(application_name, own_location) ⇒ Object



11
12
13
# File 'lib/osaka/typicalprintdialog.rb', line 11

def create_save_dialog(application_name, own_location)
  TypicalSaveDialog.new(application_name, own_location)
end

#save_as_pdf(filename) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/osaka/typicalprintdialog.rb', line 15

def save_as_pdf(filename)
  control.click!(at.menu_button("PDF")).wait_until_exists!(at.menu(1).menu_button("PDF"))
  control.click!(at.menu_item(2).menu(1).menu_button("PDF"))
  
  save_location = control.wait_until_exists!(at.window("Save"), at.sheet(1) + control.base_location)
  save_dialog = create_save_dialog(control.name, save_location)
  save_dialog.save(filename)
  
  control.until_not_exists!(control.base_location) {
    # Weird, but sometimes the dialog "hangs around" and clicking this checkbox will make it go away.
    # Anyone who knows a better solution, please let me know!
    # This is for snow leopard
    control.click!(at.checkbox(1)) if control.exists?(at.checkbox(1))
  }
end