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