class CustomPageSetup
this file is part of manqod manqod is distributed under the CDDL licence the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)
Attributes
page_setup[RW]
Public Class Methods
new(pop)
click to toggle source
Calls superclass method
# File lib/ListHolder/EditableList/ListPrintOperation/CustomPageSetup.rb, line 6 def initialize(pop) @pop=pop @page_setup=@pop.default_page_setup super(4,4,false) set_border_width(10) set_row_spacings(5) set_column_spacings(5) #orientation ochooser=Gtk::VBox.new(true) ochooser.pack_start(pch=Gtk::RadioButton.new(Gtk::Stock::ORIENTATION_PORTRAIT).set_active(page_setup.orientation==Gtk::PrintSettings::ORIENTATION_PORTRAIT)) pch.signal_connect("toggled"){|me| page_setup.set_orientation(Gtk::PrintSettings::ORIENTATION_PORTRAIT) if me.active?} ochooser.pack_start(lch=Gtk::RadioButton.new(pch,Gtk::Stock::ORIENTATION_LANDSCAPE).set_active(page_setup.orientation==Gtk::PrintSettings::ORIENTATION_LANDSCAPE)) lch.signal_connect("toggled"){|me| page_setup.set_orientation(Gtk::PrintSettings::ORIENTATION_LANDSCAPE) if me.active?} ochooser.pack_start(rlch=Gtk::RadioButton.new(pch,Gtk::Stock::ORIENTATION_REVERSE_LANDSCAPE).set_active(page_setup.orientation==Gtk::PrintSettings::ORIENTATION_REVERSE_LANDSCAPE)) rlch.signal_connect("toggled"){|me| page_setup.set_orientation(Gtk::PrintSettings::ORIENTATION_REVERSE_LANDSCAPE) if me.active?} ochooser.pack_start(rpch=Gtk::RadioButton.new(pch,Gtk::Stock::ORIENTATION_REVERSE_PORTRAIT).set_active(page_setup.orientation==Gtk::PrintSettings::ORIENTATION_REVERSE_PORTRAIT)) rpch.signal_connect("toggled"){|me| page_setup.set_orientation(Gtk::PrintSettings::ORIENTATION_REVERSE_PORTRAIT) if me.active?} #format pchooser=Gtk::VBox.new(true) pchooser.pack_start(a3=Gtk::RadioButton.new("A3").set_active(page_setup.paper_size.name==Gtk::PaperSize::A3)) a3.signal_connect("toggled"){|me| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::A3)) if me.active?} pchooser.pack_start(a4=Gtk::RadioButton.new(a3,"A4").set_active(page_setup.paper_size.name==Gtk::PaperSize::A4)) a4.signal_connect("toggled"){|me| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::A4)) if me.active?} pchooser.pack_start(a5=Gtk::RadioButton.new(a3,"A5").set_active(page_setup.paper_size.name==Gtk::PaperSize::A5)) a5.signal_connect("toggled"){|me,ps| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::A5)) if me.active?} pchooser.pack_start(b5=Gtk::RadioButton.new(a3,"B5").set_active(page_setup.paper_size.name==Gtk::PaperSize::B5)) b5.signal_connect("toggled"){|me| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::B5)) if me.active?} pchooser.pack_start(executive=Gtk::RadioButton.new(a3,"executive").set_active(page_setup.paper_size.name==Gtk::PaperSize::EXECUTIVE)) executive.signal_connect("toggled"){|me| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::EXECUTIVE)) if me.active?} pchooser.pack_start(legal=Gtk::RadioButton.new(a3,"legal").set_active(page_setup.paper_size.name==Gtk::PaperSize::LEGAL)) legal.signal_connect("toggled"){|me| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::LEGAL)) if me.active?} pchooser.pack_start(letter=Gtk::RadioButton.new(a3,"letter").set_active(page_setup.paper_size.name==Gtk::PaperSize::LETTER)) letter.signal_connect("toggled"){|me| page_setup.set_paper_size_and_default_margins(Gtk::PaperSize.new(Gtk::PaperSize::LETTER)) if me.active?} # margins=Gtk::Table.new(2,2) # margins.attach(topm=Gtk::SpinButton.new(0,10,0.1),0,1,0,1,Gtk::FILL,Gtk::FILL) # topm.signal_connect("value-changed",@page_setup){|me,arg1,ps| ps. #page_setup page_setup_b=Gtk::Button.new("change") page_setup_b.signal_connect("clicked"){|b| @page_setup=Gtk::PrintOperation.run_page_setup_dialog(get_ancestor(Gtk::Window), @page_setup) } #custom print settings like line on header/footer csettings=Gtk::VBox.new(false) csettings.pack_start(draw_header_line=Gtk::CheckButton.new("draw header line").set_active(@pop.draw_header_line)) draw_header_line.signal_connect("toggled"){|me| @pop.draw_header_line=me.active?} csettings.pack_start(draw_footer_line=Gtk::CheckButton.new("draw footer line").set_active(@pop.draw_footer_line)) draw_footer_line.signal_connect("toggled"){|me| @pop.draw_footer_line=me.active?} csettings.pack_start(draw_header_background=Gtk::CheckButton.new("draw header background").set_active(@pop.draw_header_background)) draw_header_background.signal_connect("toggled"){|me| @pop.draw_header_background=me.active?} csettings.pack_start(print_date=Gtk::CheckButton.new("print date").set_active(@pop.print_date)) print_date.signal_connect("toggled"){|me| @pop.print_date=me.active?} csettings.pack_start(font_table=Gtk::Table.new(5,2,false)) font_table.attach(Gtk::Label.new("header font"),0,1,0,1).attach(header_font=Gtk::FontButton.new(@pop.header_font),1,2,0,1) header_font.signal_connect("font-set"){|me| @pop.header_font=me.font_name} font_table.attach(Gtk::Label.new("date font"),0,1,1,2).attach(date_font=Gtk::FontButton.new(@pop.date_font),1,2,1,2) date_font.signal_connect("font-set"){|me| @pop.date_font=me.font_name} font_table.attach(Gtk::Label.new("footer font"),0,1,2,3).attach(header_font=Gtk::FontButton.new(@pop.footer_font),1,2,2,3) header_font.signal_connect("font-set"){|me| @pop.footer_font=me.font_name} font_table.attach(Gtk::Label.new("column header font"),0,1,3,4).attach(column_header_font=Gtk::FontButton.new(@pop.column_header_font),1,2,3,4) column_header_font.signal_connect("font-set"){|me| @pop.column_header_font=me.font_name} font_table.attach(Gtk::Label.new("cell font"),0,1,4,5).attach(cell_font=Gtk::FontButton.new(@pop.cell_font),1,2,4,5) cell_font.signal_connect("font-set"){|me| @pop.cell_font=me.font_name} attach(Gtk::Frame.new("Orientation").set_child(ochooser).set_shadow_type(Gtk::ShadowType::NONE),0,1,0,1,Gtk::FILL,Gtk::FILL) attach(Gtk::Frame.new("Paper size").set_child(pchooser).set_shadow_type(Gtk::ShadowType::NONE),1,2,0,1,Gtk::FILL,Gtk::FILL) attach(Gtk::Frame.new("Print setup").set_child(page_setup_b).set_shadow_type(Gtk::ShadowType::NONE),0,1,1,2,Gtk::FILL,Gtk::FILL) attach(Gtk::Frame.new("Custom settings").set_child(csettings).set_shadow_type(Gtk::ShadowType::NONE),1,2,1,2,Gtk::FILL,Gtk::FILL) show_all end