wxruby-ruby19 1.9.8-x86-linux → 1.9.10-x86-linux
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +53 -0
 - data/README +297 -0
 - data/lib/wx/accessors.rb +58 -0
 - data/lib/wx/classes/acceleratortable.rb +28 -0
 - data/lib/wx/classes/animation.rb +18 -0
 - data/lib/wx/classes/app.rb +51 -0
 - data/lib/wx/classes/artprovider.rb +31 -0
 - data/lib/wx/classes/auinotebook.rb +9 -0
 - data/lib/wx/classes/bitmap.rb +56 -0
 - data/lib/wx/classes/busycursor.rb +12 -0
 - data/lib/wx/classes/checklistbox.rb +45 -0
 - data/lib/wx/classes/choice.rb +4 -0
 - data/lib/wx/classes/clientdc.rb +13 -0
 - data/lib/wx/classes/clipboard.rb +32 -0
 - data/lib/wx/classes/colour.rb +49 -0
 - data/lib/wx/classes/combobox.rb +4 -0
 - data/lib/wx/classes/commandevent.rb +7 -0
 - data/lib/wx/classes/controlwithitems.rb +10 -0
 - data/lib/wx/classes/data_object.rb +14 -0
 - data/lib/wx/classes/data_object_simple.rb +6 -0
 - data/lib/wx/classes/dataformat.rb +23 -0
 - data/lib/wx/classes/dc.rb +57 -0
 - data/lib/wx/classes/event.rb +5 -0
 - data/lib/wx/classes/evthandler.rb +1039 -0
 - data/lib/wx/classes/font.rb +118 -0
 - data/lib/wx/classes/functions.rb +44 -0
 - data/lib/wx/classes/gauge.rb +12 -0
 - data/lib/wx/classes/genericdirctrl.rb +36 -0
 - data/lib/wx/classes/grid.rb +146 -0
 - data/lib/wx/classes/hboxsizer.rb +6 -0
 - data/lib/wx/classes/helpcontroller.rb +5 -0
 - data/lib/wx/classes/helpcontrollerhelpprovider.rb +23 -0
 - data/lib/wx/classes/helpprovider.rb +15 -0
 - data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
 - data/lib/wx/classes/htmlwindow.rb +14 -0
 - data/lib/wx/classes/icon.rb +32 -0
 - data/lib/wx/classes/iconbundle.rb +3 -0
 - data/lib/wx/classes/image.rb +43 -0
 - data/lib/wx/classes/imagelist.rb +3 -0
 - data/lib/wx/classes/listbox.rb +4 -0
 - data/lib/wx/classes/listctrl.rb +33 -0
 - data/lib/wx/classes/locale.rb +28 -0
 - data/lib/wx/classes/mediactrl.rb +48 -0
 - data/lib/wx/classes/menu.rb +62 -0
 - data/lib/wx/classes/menuitem.rb +7 -0
 - data/lib/wx/classes/notebook.rb +9 -0
 - data/lib/wx/classes/object.rb +14 -0
 - data/lib/wx/classes/paintdc.rb +12 -0
 - data/lib/wx/classes/point.rb +56 -0
 - data/lib/wx/classes/previewframe.rb +13 -0
 - data/lib/wx/classes/rect.rb +19 -0
 - data/lib/wx/classes/richtextctrl.rb +63 -0
 - data/lib/wx/classes/simplehelpprovider.rb +38 -0
 - data/lib/wx/classes/size.rb +58 -0
 - data/lib/wx/classes/sizer.rb +37 -0
 - data/lib/wx/classes/sound.rb +23 -0
 - data/lib/wx/classes/standardpaths.rb +9 -0
 - data/lib/wx/classes/styledtextctrl.rb +92 -0
 - data/lib/wx/classes/textctrl.rb +14 -0
 - data/lib/wx/classes/texturlevent.rb +18 -0
 - data/lib/wx/classes/timer.rb +94 -0
 - data/lib/wx/classes/toolbar.rb +27 -0
 - data/lib/wx/classes/toolbartool.rb +4 -0
 - data/lib/wx/classes/treectrl.rb +44 -0
 - data/lib/wx/classes/vboxsizer.rb +6 -0
 - data/lib/wx/classes/window.rb +89 -0
 - data/lib/wx/classes/xmlresource.rb +54 -0
 - data/lib/wx/helpers.rb +45 -0
 - data/lib/wx/keyword_ctors.rb +204 -0
 - data/lib/wx/keyword_defs.rb +558 -0
 - data/lib/wx/version.rb +3 -0
 - data/lib/wx.rb +53 -0
 - data/lib/wxruby2.so +0 -0
 - data/samples/SAMPLES-LICENSE.TXT +18 -0
 - data/samples/aui/aui.rb +1356 -0
 - data/samples/bigdemo/About.rbw +39 -0
 - data/samples/bigdemo/ColorPanel.rbw +23 -0
 - data/samples/bigdemo/GridSimple.rbw +78 -0
 - data/samples/bigdemo/MDIDemo.rbw +57 -0
 - data/samples/bigdemo/PopupMenu.rbw +149 -0
 - data/samples/bigdemo/ShapedWindow.rbw +131 -0
 - data/samples/bigdemo/Sizers.rbw +543 -0
 - data/samples/bigdemo/bigdemo.rb +823 -0
 - data/samples/bigdemo/demoTemplate.rbw +33 -0
 - data/samples/bigdemo/helpfile.htb +0 -0
 - data/samples/bigdemo/icons/Test 015.jpg +0 -0
 - data/samples/bigdemo/icons/Test 015.png +0 -0
 - data/samples/bigdemo/icons/choice.bmp +0 -0
 - data/samples/bigdemo/icons/choice.xpm +27 -0
 - data/samples/bigdemo/icons/combo.bmp +0 -0
 - data/samples/bigdemo/icons/combo.xpm +27 -0
 - data/samples/bigdemo/icons/copy.xpm +25 -0
 - data/samples/bigdemo/icons/cut.xpm +24 -0
 - data/samples/bigdemo/icons/gauge.bmp +0 -0
 - data/samples/bigdemo/icons/gauge.xpm +27 -0
 - data/samples/bigdemo/icons/help.xpm +25 -0
 - data/samples/bigdemo/icons/list.bmp +0 -0
 - data/samples/bigdemo/icons/list.xpm +27 -0
 - data/samples/bigdemo/icons/mondrian.ico +0 -0
 - data/samples/bigdemo/icons/mondrian.xpm +44 -0
 - data/samples/bigdemo/icons/new.xpm +24 -0
 - data/samples/bigdemo/icons/ogl.ico +0 -0
 - data/samples/bigdemo/icons/ogl.xpm +45 -0
 - data/samples/bigdemo/icons/open.xpm +26 -0
 - data/samples/bigdemo/icons/paste.bmp +0 -0
 - data/samples/bigdemo/icons/paste.xpm +38 -0
 - data/samples/bigdemo/icons/pointy.png +0 -0
 - data/samples/bigdemo/icons/preview.xpm +26 -0
 - data/samples/bigdemo/icons/print.xpm +26 -0
 - data/samples/bigdemo/icons/radio.bmp +0 -0
 - data/samples/bigdemo/icons/radio.xpm +27 -0
 - data/samples/bigdemo/icons/robert.xpm +415 -0
 - data/samples/bigdemo/icons/ruby.png +0 -0
 - data/samples/bigdemo/icons/sashtest.ico +0 -0
 - data/samples/bigdemo/icons/save.xpm +25 -0
 - data/samples/bigdemo/icons/smiles.bmp +0 -0
 - data/samples/bigdemo/icons/smiles.xpm +39 -0
 - data/samples/bigdemo/icons/smiley.ico +0 -0
 - data/samples/bigdemo/icons/smiley.xpm +42 -0
 - data/samples/bigdemo/icons/stattext.xpm +24 -0
 - data/samples/bigdemo/icons/test2.bmp +0 -0
 - data/samples/bigdemo/icons/test2.png +0 -0
 - data/samples/bigdemo/icons/test2.xpm +79 -0
 - data/samples/bigdemo/icons/text.bmp +0 -0
 - data/samples/bigdemo/icons/text.xpm +27 -0
 - data/samples/bigdemo/icons/tog1.bmp +0 -0
 - data/samples/bigdemo/icons/tog1.xpm +38 -0
 - data/samples/bigdemo/icons/tog2.bmp +0 -0
 - data/samples/bigdemo/icons/tog2.xpm +38 -0
 - data/samples/bigdemo/icons/wxwin.ico +0 -0
 - data/samples/bigdemo/icons/wxwin16x16.png +0 -0
 - data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
 - data/samples/bigdemo/icons/wxwin32x32.png +0 -0
 - data/samples/bigdemo/icons/wxwin48x48.png +0 -0
 - data/samples/bigdemo/run.rb +90 -0
 - data/samples/bigdemo/tips.txt +7 -0
 - data/samples/bigdemo/utils.rb +12 -0
 - data/samples/bigdemo/wxArtProvider.rbw +281 -0
 - data/samples/bigdemo/wxBitmapButton.rbw +65 -0
 - data/samples/bigdemo/wxButton.rbw +64 -0
 - data/samples/bigdemo/wxCalendarCtrl.rbw +60 -0
 - data/samples/bigdemo/wxCheckBox.rbw +50 -0
 - data/samples/bigdemo/wxCheckListBox.rbw +65 -0
 - data/samples/bigdemo/wxChoice.rbw +47 -0
 - data/samples/bigdemo/wxChoicebook.rbw +78 -0
 - data/samples/bigdemo/wxColourDialog.rbw +31 -0
 - data/samples/bigdemo/wxComboBox.rbw +77 -0
 - data/samples/bigdemo/wxCursor.rbw +136 -0
 - data/samples/bigdemo/wxDialog.rbw +74 -0
 - data/samples/bigdemo/wxDirDialog.rbw +29 -0
 - data/samples/bigdemo/wxDragImage.rbw +70 -0
 - data/samples/bigdemo/wxFileDialog.rbw +37 -0
 - data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
 - data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
 - data/samples/bigdemo/wxFontDialog.rbw +173 -0
 - data/samples/bigdemo/wxFrame.rbw +53 -0
 - data/samples/bigdemo/wxGauge.rbw +71 -0
 - data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
 - data/samples/bigdemo/wxGrid.rbw +66 -0
 - data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
 - data/samples/bigdemo/wxListBox.rbw +140 -0
 - data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
 - data/samples/bigdemo/wxMDIWindows.rbw +50 -0
 - data/samples/bigdemo/wxMenu.rbw +236 -0
 - data/samples/bigdemo/wxMessageDialog.rbw +27 -0
 - data/samples/bigdemo/wxMiniFrame.rbw +70 -0
 - data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -0
 - data/samples/bigdemo/wxNotebook.rbw +136 -0
 - data/samples/bigdemo/wxProgressDialog.rbw +43 -0
 - data/samples/bigdemo/wxRadioBox.rbw +72 -0
 - data/samples/bigdemo/wxRadioButton.rbw +125 -0
 - data/samples/bigdemo/wxSashWindow.rbw +141 -0
 - data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
 - data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
 - data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
 - data/samples/bigdemo/wxSlider.rbw +42 -0
 - data/samples/bigdemo/wxSpinButton.rbw +50 -0
 - data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
 - data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
 - data/samples/bigdemo/wxStaticBitmap.rbw +51 -0
 - data/samples/bigdemo/wxStaticText.rbw +55 -0
 - data/samples/bigdemo/wxStatusBar.rbw +126 -0
 - data/samples/bigdemo/wxTextCtrl.rbw +149 -0
 - data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
 - data/samples/bigdemo/wxToggleButton.rbw +49 -0
 - data/samples/bigdemo/wxToolBar.rbw +131 -0
 - data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
 - data/samples/calendar/calendar.rb +256 -0
 - data/samples/caret/caret.rb +282 -0
 - data/samples/caret/mondrian.xpm +44 -0
 - data/samples/controls/controls.rb +1136 -0
 - data/samples/controls/get_item_sample.rb +87 -0
 - data/samples/controls/icons/choice.xpm +27 -0
 - data/samples/controls/icons/combo.xpm +27 -0
 - data/samples/controls/icons/gauge.xpm +27 -0
 - data/samples/controls/icons/list.xpm +27 -0
 - data/samples/controls/icons/radio.xpm +27 -0
 - data/samples/controls/icons/stattext.xpm +24 -0
 - data/samples/controls/icons/text.xpm +27 -0
 - data/samples/controls/mondrian.ico +0 -0
 - data/samples/controls/mondrian.xpm +44 -0
 - data/samples/controls/test2.bmp +0 -0
 - data/samples/dialogs/dialogs.rb +797 -0
 - data/samples/dialogs/tips.txt +18 -0
 - data/samples/dragdrop/dragdrop.rb +177 -0
 - data/samples/drawing/graphics_drawing.rb +235 -0
 - data/samples/drawing/images.rb +37 -0
 - data/samples/drawing/paperclip.png +0 -0
 - data/samples/etc/activation.rb +102 -0
 - data/samples/etc/choice.rb +67 -0
 - data/samples/etc/miniframe.rb +79 -0
 - data/samples/etc/sash.rb +130 -0
 - data/samples/etc/scrollwin.rb +110 -0
 - data/samples/etc/system_settings.rb +252 -0
 - data/samples/etc/threaded.rb +72 -0
 - data/samples/etc/toolbar_sizer_additem.rb +55 -0
 - data/samples/etc/wizard.rb +74 -0
 - data/samples/event/event.rb +182 -0
 - data/samples/event/update_ui_event.rb +70 -0
 - data/samples/grid/grid.rb +198 -0
 - data/samples/grid/gridtablebase.rb +148 -0
 - data/samples/html/html.rb +262 -0
 - data/samples/listbook/listbook.rb +174 -0
 - data/samples/listbook/listbook.xrc +370 -0
 - data/samples/mdi/mdi.rb +85 -0
 - data/samples/media/mediactrl.rb +167 -0
 - data/samples/minimal/minimal.rb +77 -0
 - data/samples/minimal/mondrian.ico +0 -0
 - data/samples/minimal/mondrian.png +0 -0
 - data/samples/minimal/nothing.rb +16 -0
 - data/samples/opengl/cube.rb +117 -0
 - data/samples/printing/mondrian.ico +0 -0
 - data/samples/printing/mondrian.xpm +44 -0
 - data/samples/printing/printing.rb +487 -0
 - data/samples/sockets/SocketPackets.rb +27 -0
 - data/samples/sockets/res/message-new.png +0 -0
 - data/samples/sockets/res/user.png +0 -0
 - data/samples/sockets/wxClient.rb +395 -0
 - data/samples/sockets/wxServer.rb +422 -0
 - data/samples/sockets/wxSocketGUI.rb +97 -0
 - data/samples/text/format-text-bold.png +0 -0
 - data/samples/text/format-text-italic.png +0 -0
 - data/samples/text/format-text-underline.png +0 -0
 - data/samples/text/mondrian.ico +0 -0
 - data/samples/text/mondrian.xpm +44 -0
 - data/samples/text/rich_textctrl.rb +98 -0
 - data/samples/text/scintilla.rb +169 -0
 - data/samples/text/textctrl.rb +111 -0
 - data/samples/text/unicode.rb +242 -0
 - data/samples/text/utf8.txt +15 -0
 - data/samples/treectrl/icon1.xpm +79 -0
 - data/samples/treectrl/icon2.xpm +53 -0
 - data/samples/treectrl/icon3.xpm +79 -0
 - data/samples/treectrl/icon4.xpm +43 -0
 - data/samples/treectrl/icon5.xpm +79 -0
 - data/samples/treectrl/treectrl.rb +1166 -0
 - data/samples/xrc/samples.xrc +46 -0
 - data/samples/xrc/xrc_sample.rb +76 -0
 - metadata +234 -220
 
| 
         @@ -0,0 +1,173 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class FontTestPanel < Wx::Panel
         
     | 
| 
      
 13 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    super(parent, -1)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 16 
     | 
    
         
            +
                    btn = Wx::Button.new(self, -1, "Select Font")
         
     | 
| 
      
 17 
     | 
    
         
            +
                    evt_button(btn.get_id()) {|event| on_select_font(event)}
         
     | 
| 
      
 18 
     | 
    
         
            +
                    
         
     | 
| 
      
 19 
     | 
    
         
            +
                    @sampleText = Wx::TextCtrl.new(self, -1, "Sample Text")
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @curFont = @sampleText.get_font()
         
     | 
| 
      
 21 
     | 
    
         
            +
                    @curClr = Wx::BLACK
         
     | 
| 
      
 22 
     | 
    
         
            +
                    
         
     | 
| 
      
 23 
     | 
    
         
            +
                    fgs = Wx::FlexGridSizer.new(2,2, 5, 5)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    fgs.add_growable_col(1)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    fgs.add_growable_row(0)
         
     | 
| 
      
 26 
     | 
    
         
            +
                    
         
     | 
| 
      
 27 
     | 
    
         
            +
                    fgs.add(btn, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    fgs.add(@sampleText, 10, Wx::ADJUST_MINSIZE | Wx::GROW)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    
         
     | 
| 
      
 30 
     | 
    
         
            +
                    fgs.add(15, 15)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    fgs.add(15, 15) # an empty row
         
     | 
| 
      
 32 
     | 
    
         
            +
                    
         
     | 
| 
      
 33 
     | 
    
         
            +
                    fgs.add(Wx::StaticText.new(self, -1, "PointSize: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    @ps = Wx::StaticText.new(self, -1, "")
         
     | 
| 
      
 35 
     | 
    
         
            +
                    font = @ps.get_font()
         
     | 
| 
      
 36 
     | 
    
         
            +
                    font.set_weight(Wx::BOLD)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    @ps.set_font(font)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    fgs.add(@ps, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 39 
     | 
    
         
            +
                    
         
     | 
| 
      
 40 
     | 
    
         
            +
                    fgs.add(Wx::StaticText.new(self, -1, "Family: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    @family = Wx::StaticText.new(self, -1, "")
         
     | 
| 
      
 42 
     | 
    
         
            +
                    @family.set_font(font)
         
     | 
| 
      
 43 
     | 
    
         
            +
                    fgs.add(@family, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 44 
     | 
    
         
            +
                    
         
     | 
| 
      
 45 
     | 
    
         
            +
                    fgs.add(Wx::StaticText.new(self, -1, "Style: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    @style = Wx::StaticText.new(self, -1, "")
         
     | 
| 
      
 47 
     | 
    
         
            +
                    @style.set_font(font)
         
     | 
| 
      
 48 
     | 
    
         
            +
                    fgs.add(@style, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 49 
     | 
    
         
            +
                    
         
     | 
| 
      
 50 
     | 
    
         
            +
                    fgs.add(Wx::StaticText.new(self, -1, "Weight: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 51 
     | 
    
         
            +
                    @weight = Wx::StaticText.new(self, -1, "")
         
     | 
| 
      
 52 
     | 
    
         
            +
                    @weight.set_font(font)
         
     | 
| 
      
 53 
     | 
    
         
            +
                    fgs.add(@weight, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 54 
     | 
    
         
            +
                    
         
     | 
| 
      
 55 
     | 
    
         
            +
                    fgs.add(Wx::StaticText.new(self, -1, "Face: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 56 
     | 
    
         
            +
                    @face = Wx::StaticText.new(self, -1, "")
         
     | 
| 
      
 57 
     | 
    
         
            +
                    @face.set_font(font)
         
     | 
| 
      
 58 
     | 
    
         
            +
                    fgs.add(@face, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 59 
     | 
    
         
            +
                    
         
     | 
| 
      
 60 
     | 
    
         
            +
                    fgs.add(15, 15)
         
     | 
| 
      
 61 
     | 
    
         
            +
                    fgs.add(15, 15) # an empty row
         
     | 
| 
      
 62 
     | 
    
         
            +
                    
         
     | 
| 
      
 63 
     | 
    
         
            +
                    fgs.add(Wx::StaticText.new(self, -1, "Wx::NativeFontInfo: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 64 
     | 
    
         
            +
                    @nfi = Wx::StaticText.new(self, -1, "")
         
     | 
| 
      
 65 
     | 
    
         
            +
                    @nfi.set_font(font)
         
     | 
| 
      
 66 
     | 
    
         
            +
                    fgs.add(@nfi, 0, Wx::ALIGN_CENTRE_VERTICAL)
         
     | 
| 
      
 67 
     | 
    
         
            +
                    
         
     | 
| 
      
 68 
     | 
    
         
            +
                    # give it some border space
         
     | 
| 
      
 69 
     | 
    
         
            +
                    
         
     | 
| 
      
 70 
     | 
    
         
            +
                    sizer = Wx::BoxSizer.new(Wx::VERTICAL)
         
     | 
| 
      
 71 
     | 
    
         
            +
                    sizer.add(fgs, 0, Wx::GROW | Wx::ADJUST_MINSIZE | Wx::ALL, 25)
         
     | 
| 
      
 72 
     | 
    
         
            +
                    
         
     | 
| 
      
 73 
     | 
    
         
            +
                    set_sizer(sizer)
         
     | 
| 
      
 74 
     | 
    
         
            +
                    sizer.fit(self)
         
     | 
| 
      
 75 
     | 
    
         
            +
                    @sizer = fgs
         
     | 
| 
      
 76 
     | 
    
         
            +
                    update_ui()
         
     | 
| 
      
 77 
     | 
    
         
            +
                end
         
     | 
| 
      
 78 
     | 
    
         
            +
                
         
     | 
| 
      
 79 
     | 
    
         
            +
                def update_ui()
         
     | 
| 
      
 80 
     | 
    
         
            +
                    @sampleText.set_font(@curFont)
         
     | 
| 
      
 81 
     | 
    
         
            +
                    # layout() is called so that if the user changes the size of the Font, the text control will be properly displayed
         
     | 
| 
      
 82 
     | 
    
         
            +
                    # to show the whole font - just comment out this line, to see the font size change without corresponding changes
         
     | 
| 
      
 83 
     | 
    
         
            +
                    # to the text control :-)
         
     | 
| 
      
 84 
     | 
    
         
            +
                    # As a postscript, it is interesting to note that if I call layout() at the end of this method, it causes all of the 
         
     | 
| 
      
 85 
     | 
    
         
            +
                    # labels to appear BLANK, showing nothing.  Through trial and error, I moved it here, and found that it resized the
         
     | 
| 
      
 86 
     | 
    
         
            +
                    # text control properly and set the text of the labels too - I don't know why that is though?
         
     | 
| 
      
 87 
     | 
    
         
            +
                    @sizer.layout()
         
     | 
| 
      
 88 
     | 
    
         
            +
                    @ps.set_label(@curFont.get_point_size().to_s)
         
     | 
| 
      
 89 
     | 
    
         
            +
                    @family.set_label(map_font_value_to_name(@curFont.get_family()) )
         
     | 
| 
      
 90 
     | 
    
         
            +
                    @style.set_label(map_font_value_to_name(@curFont.get_style()))
         
     | 
| 
      
 91 
     | 
    
         
            +
                    @weight.set_label(map_font_value_to_name(@curFont.get_weight()))
         
     | 
| 
      
 92 
     | 
    
         
            +
                    @face.set_label(@curFont.get_face_name())
         
     | 
| 
      
 93 
     | 
    
         
            +
                    @nfi.set_label(@curFont.get_native_font_info_desc().to_s)
         
     | 
| 
      
 94 
     | 
    
         
            +
                    
         
     | 
| 
      
 95 
     | 
    
         
            +
                    
         
     | 
| 
      
 96 
     | 
    
         
            +
                end
         
     | 
| 
      
 97 
     | 
    
         
            +
                
         
     | 
| 
      
 98 
     | 
    
         
            +
                def on_select_font(evt)
         
     | 
| 
      
 99 
     | 
    
         
            +
                    data = Wx::FontData.new()
         
     | 
| 
      
 100 
     | 
    
         
            +
                    #data.enable_effects(true)
         
     | 
| 
      
 101 
     | 
    
         
            +
                    data.set_colour(@curClr) #set colour
         
     | 
| 
      
 102 
     | 
    
         
            +
                    data.set_initial_font(@curFont)
         
     | 
| 
      
 103 
     | 
    
         
            +
                    
         
     | 
| 
      
 104 
     | 
    
         
            +
                    dlg = Wx::FontDialog.new(self, data)
         
     | 
| 
      
 105 
     | 
    
         
            +
                    if dlg.show_modal() == Wx::ID_OK
         
     | 
| 
      
 106 
     | 
    
         
            +
                        data = dlg.get_font_data()
         
     | 
| 
      
 107 
     | 
    
         
            +
                        font = data.get_chosen_font()
         
     | 
| 
      
 108 
     | 
    
         
            +
                        colour = data.get_colour()
         
     | 
| 
      
 109 
     | 
    
         
            +
                        @log.write_text("You selected: " + font.get_face_name() + ", " + font.get_point_size().to_s + " points, color (" +
         
     | 
| 
      
 110 
     | 
    
         
            +
                                            get_rgb_string(colour))
         
     | 
| 
      
 111 
     | 
    
         
            +
                        @curFont = font
         
     | 
| 
      
 112 
     | 
    
         
            +
                        @curClr = colour
         
     | 
| 
      
 113 
     | 
    
         
            +
                        update_ui()
         
     | 
| 
      
 114 
     | 
    
         
            +
                    end
         
     | 
| 
      
 115 
     | 
    
         
            +
                end
         
     | 
| 
      
 116 
     | 
    
         
            +
                
         
     | 
| 
      
 117 
     | 
    
         
            +
                def map_font_value_to_name(constant)
         
     | 
| 
      
 118 
     | 
    
         
            +
                    case constant
         
     | 
| 
      
 119 
     | 
    
         
            +
                        when Wx::DEFAULT
         
     | 
| 
      
 120 
     | 
    
         
            +
                            return "Wx::DEFAULT"
         
     | 
| 
      
 121 
     | 
    
         
            +
                        when Wx::DECORATIVE
         
     | 
| 
      
 122 
     | 
    
         
            +
                            return "Wx::DECORATIVE"
         
     | 
| 
      
 123 
     | 
    
         
            +
                        when Wx::ROMAN
         
     | 
| 
      
 124 
     | 
    
         
            +
                            return "Wx::ROMAN"
         
     | 
| 
      
 125 
     | 
    
         
            +
                        when Wx::SCRIPT
         
     | 
| 
      
 126 
     | 
    
         
            +
                            return "Wx::SCRIPT"
         
     | 
| 
      
 127 
     | 
    
         
            +
                        when Wx::SWISS      
         
     | 
| 
      
 128 
     | 
    
         
            +
                            return "Wx::SWISS"
         
     | 
| 
      
 129 
     | 
    
         
            +
                        when Wx::MODERN
         
     | 
| 
      
 130 
     | 
    
         
            +
                            return "Wx::MODERN"
         
     | 
| 
      
 131 
     | 
    
         
            +
                        when Wx::TELETYPE      
         
     | 
| 
      
 132 
     | 
    
         
            +
                            return "Wx::TELETYPE"
         
     | 
| 
      
 133 
     | 
    
         
            +
                        when Wx::NORMAL
         
     | 
| 
      
 134 
     | 
    
         
            +
                            return "Wx::NORMAL"
         
     | 
| 
      
 135 
     | 
    
         
            +
                        when Wx::SLANT
         
     | 
| 
      
 136 
     | 
    
         
            +
                            return "Wx::SLANT"
         
     | 
| 
      
 137 
     | 
    
         
            +
                        when Wx::ITALIC
         
     | 
| 
      
 138 
     | 
    
         
            +
                            return "Wx::ITALIC"
         
     | 
| 
      
 139 
     | 
    
         
            +
                        when Wx::LIGHT
         
     | 
| 
      
 140 
     | 
    
         
            +
                            return "Wx::LIGHT"
         
     | 
| 
      
 141 
     | 
    
         
            +
                        when Wx::BOLD
         
     | 
| 
      
 142 
     | 
    
         
            +
                            return "Wx::BOLD"
         
     | 
| 
      
 143 
     | 
    
         
            +
                        else
         
     | 
| 
      
 144 
     | 
    
         
            +
                            return "Unknown"
         
     | 
| 
      
 145 
     | 
    
         
            +
                    end
         
     | 
| 
      
 146 
     | 
    
         
            +
                end
         
     | 
| 
      
 147 
     | 
    
         
            +
                
         
     | 
| 
      
 148 
     | 
    
         
            +
                def get_rgb_string(color)
         
     | 
| 
      
 149 
     | 
    
         
            +
                    red = color.red().to_s()
         
     | 
| 
      
 150 
     | 
    
         
            +
                    green = color.green().to_s()
         
     | 
| 
      
 151 
     | 
    
         
            +
                    blue = color.blue().to_s()
         
     | 
| 
      
 152 
     | 
    
         
            +
                    return "(%s, %s, %s)" % [red, green, blue]
         
     | 
| 
      
 153 
     | 
    
         
            +
                end
         
     | 
| 
      
 154 
     | 
    
         
            +
            end
         
     | 
| 
      
 155 
     | 
    
         
            +
             
     | 
| 
      
 156 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 157 
     | 
    
         
            +
                def Demo.run(frame, nb, log)
         
     | 
| 
      
 158 
     | 
    
         
            +
                    win = FontTestPanel.new(nb, log)
         
     | 
| 
      
 159 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 160 
     | 
    
         
            +
                    
         
     | 
| 
      
 161 
     | 
    
         
            +
                end
         
     | 
| 
      
 162 
     | 
    
         
            +
                
         
     | 
| 
      
 163 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 164 
     | 
    
         
            +
                    return "This class allows you to use the system font chooser dialog."
         
     | 
| 
      
 165 
     | 
    
         
            +
                end
         
     | 
| 
      
 166 
     | 
    
         
            +
            end
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 170 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 171 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 172 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 173 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,53 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            include Wx
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            class MyFrame < Frame
         
     | 
| 
      
 14 
     | 
    
         
            +
                def initialize
         
     | 
| 
      
 15 
     | 
    
         
            +
                    super(nil, -1, "Wx::Frame demonstration", 
         
     | 
| 
      
 16 
     | 
    
         
            +
                        DEFAULT_POSITION, Size.new(350,200), DEFAULT_FRAME_STYLE)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    panel = Panel.new(self, -1)
         
     | 
| 
      
 18 
     | 
    
         
            +
                    
         
     | 
| 
      
 19 
     | 
    
         
            +
                    button = Button.new(panel, -1, "Close me", Point.new(15,15))
         
     | 
| 
      
 20 
     | 
    
         
            +
                    evt_button( button.get_id ) { on_close_me }
         
     | 
| 
      
 21 
     | 
    
         
            +
                    evt_close { | e | on_close_window(e) }
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
                def on_close_me
         
     | 
| 
      
 25 
     | 
    
         
            +
                    close(true)
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
                def on_close_window(event)
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                  event.skip
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 35 
     | 
    
         
            +
                def Demo.run(frame, nb, log)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    win = MyFrame.new
         
     | 
| 
      
 37 
     | 
    
         
            +
                    frame.otherWin = win
         
     | 
| 
      
 38 
     | 
    
         
            +
                    win.center_on_parent(Wx::BOTH)
         
     | 
| 
      
 39 
     | 
    
         
            +
                    win.show(true)
         
     | 
| 
      
 40 
     | 
    
         
            +
                end
         
     | 
| 
      
 41 
     | 
    
         
            +
                
         
     | 
| 
      
 42 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 43 
     | 
    
         
            +
                    return "This is the wxFrame Overview!"
         
     | 
| 
      
 44 
     | 
    
         
            +
                
         
     | 
| 
      
 45 
     | 
    
         
            +
                end
         
     | 
| 
      
 46 
     | 
    
         
            +
            end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
             
     | 
| 
      
 49 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 50 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 51 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 52 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 53 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,71 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class TestPanel < Wx::Panel
         
     | 
| 
      
 13 
     | 
    
         
            +
              def initialize(parent, log)
         
     | 
| 
      
 14 
     | 
    
         
            +
                super(parent, -1)
         
     | 
| 
      
 15 
     | 
    
         
            +
                @log = log
         
     | 
| 
      
 16 
     | 
    
         
            +
                @count = 0
         
     | 
| 
      
 17 
     | 
    
         
            +
                
         
     | 
| 
      
 18 
     | 
    
         
            +
                Wx::StaticText.new( self, -1, "This example shows the wxGauge control.", 
         
     | 
| 
      
 19 
     | 
    
         
            +
                                    Wx::Point.new(45,15))
         
     | 
| 
      
 20 
     | 
    
         
            +
                
         
     | 
| 
      
 21 
     | 
    
         
            +
                @g1 = Wx::Gauge.new( self, -1, 50, 
         
     | 
| 
      
 22 
     | 
    
         
            +
                                     Wx::Point.new(110,50), Wx::Size.new(250,25))
         
     | 
| 
      
 23 
     | 
    
         
            +
                @g1.set_bezel_face(3)
         
     | 
| 
      
 24 
     | 
    
         
            +
                @g1.set_shadow_width(3)
         
     | 
| 
      
 25 
     | 
    
         
            +
                
         
     | 
| 
      
 26 
     | 
    
         
            +
                @g2 = Wx::Gauge.new( self, -1, 50, 
         
     | 
| 
      
 27 
     | 
    
         
            +
                                     Wx::Point.new(110,95), Wx::Size.new(250,25), 
         
     | 
| 
      
 28 
     | 
    
         
            +
                                     Wx::GA_HORIZONTAL|Wx::GA_SMOOTH)
         
     | 
| 
      
 29 
     | 
    
         
            +
                @g2.set_bezel_face(5)
         
     | 
| 
      
 30 
     | 
    
         
            +
                @g2.set_shadow_width(5)
         
     | 
| 
      
 31 
     | 
    
         
            +
                
         
     | 
| 
      
 32 
     | 
    
         
            +
                @g3 = Wx::Gauge.new( self, -1, 50, 
         
     | 
| 
      
 33 
     | 
    
         
            +
                                     Wx::Point.new(110, 140), Wx::Size.new(25,250), 
         
     | 
| 
      
 34 
     | 
    
         
            +
                                     Wx::GA_VERTICAL)
         
     | 
| 
      
 35 
     | 
    
         
            +
                @g3.set_bezel_face(3)
         
     | 
| 
      
 36 
     | 
    
         
            +
                @g3.set_shadow_width(3)
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                # start a timer to move the gauges forward every 1/4 s
         
     | 
| 
      
 39 
     | 
    
         
            +
                timer = Wx::Timer.new(self, 5001)
         
     | 
| 
      
 40 
     | 
    
         
            +
                evt_timer(5001) { move_gauges }
         
     | 
| 
      
 41 
     | 
    
         
            +
                timer.start(250)
         
     | 
| 
      
 42 
     | 
    
         
            +
              end
         
     | 
| 
      
 43 
     | 
    
         
            +
              
         
     | 
| 
      
 44 
     | 
    
         
            +
              # advance the gauges
         
     | 
| 
      
 45 
     | 
    
         
            +
              def move_gauges
         
     | 
| 
      
 46 
     | 
    
         
            +
                @count +=1 
         
     | 
| 
      
 47 
     | 
    
         
            +
                if @count > 50 
         
     | 
| 
      
 48 
     | 
    
         
            +
                  @count = 0
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
                @g1.set_value(@count)
         
     | 
| 
      
 51 
     | 
    
         
            +
                @g2.set_value(@count)
         
     | 
| 
      
 52 
     | 
    
         
            +
                @g3.set_value(@count)
         
     | 
| 
      
 53 
     | 
    
         
            +
              end
         
     | 
| 
      
 54 
     | 
    
         
            +
            end
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 57 
     | 
    
         
            +
              def Demo.run(frame, nb, log)
         
     | 
| 
      
 58 
     | 
    
         
            +
                win = TestPanel.new(nb, log)
         
     | 
| 
      
 59 
     | 
    
         
            +
                return win
         
     | 
| 
      
 60 
     | 
    
         
            +
              end
         
     | 
| 
      
 61 
     | 
    
         
            +
              
         
     | 
| 
      
 62 
     | 
    
         
            +
              def Demo.overview
         
     | 
| 
      
 63 
     | 
    
         
            +
                return "A gauge is a horizontal or vertical bar which shows a quantity (often time). "
         
     | 
| 
      
 64 
     | 
    
         
            +
              end
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 68 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 69 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 70 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 71 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,74 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class TestPanel < Wx::Panel
         
     | 
| 
      
 13 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::NO_FULL_REPAINT_ON_RESIZE)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 16 
     | 
    
         
            +
                    
         
     | 
| 
      
 17 
     | 
    
         
            +
                    txt1 = Wx::StaticText.new(self, -1, "style=0")
         
     | 
| 
      
 18 
     | 
    
         
            +
                    dir1 = Wx::GenericDirCtrl.new(self, -1, '/', Wx::DEFAULT_POSITION, Wx::Size.new(200,225), 0)
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                    txt2 = Wx::StaticText.new(self, -1, "Wx::DIRCTRL_DIR_ONLY")
         
     | 
| 
      
 21 
     | 
    
         
            +
                    dir2 = Wx::GenericDirCtrl.new(self, -1, '/', Wx::DEFAULT_POSITION, Wx::Size.new(200,225), Wx::DIRCTRL_DIR_ONLY)
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                    txt3 = Wx::StaticText.new(self, -1, "Wx::DIRCTRL_SHOW_FILTERS")
         
     | 
| 
      
 24 
     | 
    
         
            +
                    dir3 = Wx::GenericDirCtrl.new(self, -1, '/', Wx::DEFAULT_POSITION, Wx::Size.new(200,225), Wx::DIRCTRL_SHOW_FILTERS,
         
     | 
| 
      
 25 
     | 
    
         
            +
                                            "All files (*.*)|*.*|Ruby files (*.rb)|*.rb")
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                    sz = Wx::FlexGridSizer.new(3, 5, 5)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    sz.add(35, 35)  # some space above
         
     | 
| 
      
 29 
     | 
    
         
            +
                    sz.add(35, 35)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    sz.add(35, 35)
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                    sz.add(txt1)
         
     | 
| 
      
 33 
     | 
    
         
            +
                    sz.add(txt2)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    sz.add(txt3)
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                    sz.add(dir1, 0, Wx::EXPAND)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    sz.add(dir2, 0, Wx::EXPAND)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    sz.add(dir3, 0, Wx::EXPAND)
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                    sz.add(35,35)  # some space below
         
     | 
| 
      
 41 
     | 
    
         
            +
             
     | 
| 
      
 42 
     | 
    
         
            +
                    sz.add_growable_row(2)
         
     | 
| 
      
 43 
     | 
    
         
            +
                    sz.add_growable_col(0)
         
     | 
| 
      
 44 
     | 
    
         
            +
                    sz.add_growable_col(1)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    sz.add_growable_col(2)
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                    set_sizer(sz)
         
     | 
| 
      
 48 
     | 
    
         
            +
                    set_auto_layout(true)
         
     | 
| 
      
 49 
     | 
    
         
            +
                end
         
     | 
| 
      
 50 
     | 
    
         
            +
            end
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
                def Demo.run(frame, nb, log)
         
     | 
| 
      
 55 
     | 
    
         
            +
                    win = TestPanel.new(nb, log)
         
     | 
| 
      
 56 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
                
         
     | 
| 
      
 59 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 60 
     | 
    
         
            +
                    return <<EOS
         
     | 
| 
      
 61 
     | 
    
         
            +
            This control can be used to place a directory listing (with optional files)
         
     | 
| 
      
 62 
     | 
    
         
            +
            on an arbitrary window. The control contains a TreeCtrl window representing 
         
     | 
| 
      
 63 
     | 
    
         
            +
            the directory hierarchy, and optionally, a Choice window containing a list 
         
     | 
| 
      
 64 
     | 
    
         
            +
            of filters.
         
     | 
| 
      
 65 
     | 
    
         
            +
            EOS
         
     | 
| 
      
 66 
     | 
    
         
            +
                end
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
            end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 71 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 72 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 73 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 74 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,66 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            $buttonDefs = {
         
     | 
| 
      
 13 
     | 
    
         
            +
                814 => ['GridSimple',      ' Simple wxGrid'] # , catching all events '] ,
         
     | 
| 
      
 14 
     | 
    
         
            +
                # 815 => ['GridStdEdRend',   ' wxGrid showing Editors and Renderers '],
         
     | 
| 
      
 15 
     | 
    
         
            +
                # 818 => ['GridHugeTable',   ' A wxGrid with a HUGE table [100 MILLION cells!] '],
         
     | 
| 
      
 16 
     | 
    
         
            +
                # 817 => ['GridCustTable',   ' wxGrid using a custom Table, with non-string data '],
         
     | 
| 
      
 17 
     | 
    
         
            +
                # 819 => ['GridEnterHandler',' Remapping keys to behave differently '],
         
     | 
| 
      
 18 
     | 
    
         
            +
                # 820 => ['GridCustEditor',  ' Shows how to create a custom Cell Editor '],
         
     | 
| 
      
 19 
     | 
    
         
            +
                # 821 => ['GridDragable',    ' A wxGrid with dragable rows and columns '],
         
     | 
| 
      
 20 
     | 
    
         
            +
                # 822 => ['GridDragAndDrop', 'Shows how to make a grid a drop target for files'],
         
     | 
| 
      
 21 
     | 
    
         
            +
                }
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            class ButtonPanel < Wx::Panel
         
     | 
| 
      
 24 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    super(parent, -1)
         
     | 
| 
      
 26 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 27 
     | 
    
         
            +
                    
         
     | 
| 
      
 28 
     | 
    
         
            +
                    box = Wx::BoxSizer.new(Wx::VERTICAL)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    box.add(20,30)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    keys = $buttonDefs.keys().sort()
         
     | 
| 
      
 31 
     | 
    
         
            +
                    keys.each do |key| 
         
     | 
| 
      
 32 
     | 
    
         
            +
                        text = $buttonDefs[key][1]
         
     | 
| 
      
 33 
     | 
    
         
            +
                        btn = Wx::Button.new(self, key, text)
         
     | 
| 
      
 34 
     | 
    
         
            +
                        box.add(btn, 0, Wx::ALIGN_CENTER | Wx::ALL, 10)
         
     | 
| 
      
 35 
     | 
    
         
            +
                        evt_button(key) {|event| on_button(event)}
         
     | 
| 
      
 36 
     | 
    
         
            +
                    end
         
     | 
| 
      
 37 
     | 
    
         
            +
                    set_sizer(box)
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
                
         
     | 
| 
      
 40 
     | 
    
         
            +
                def on_button(event)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    modName = $buttonDefs[event.get_id()][0]
         
     | 
| 
      
 42 
     | 
    
         
            +
                    mod_file = File.join(File.dirname(__FILE__), modName + ".rbw")
         
     | 
| 
      
 43 
     | 
    
         
            +
                    load mod_file
         
     | 
| 
      
 44 
     | 
    
         
            +
                    
         
     | 
| 
      
 45 
     | 
    
         
            +
                    frame = GridDemo::TestFrame.new(nil, @log)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    frame.show()
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
            end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 51 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    win = ButtonPanel.new(nb, log)
         
     | 
| 
      
 53 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
                
         
     | 
| 
      
 56 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 57 
     | 
    
         
            +
                    "A simple grid."
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
            end
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 63 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 64 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 65 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 66 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,52 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            class TestPanel < Wx::Panel
         
     | 
| 
      
 14 
     | 
    
         
            +
              def initialize(parent, log)
         
     | 
| 
      
 15 
     | 
    
         
            +
                super(parent, -1, Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, 
         
     | 
| 
      
 16 
     | 
    
         
            +
                      Wx::NO_FULL_REPAINT_ON_RESIZE)
         
     | 
| 
      
 17 
     | 
    
         
            +
                @log = log
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                b = Wx::Button.new(self, -1, 'Give me some help!', 
         
     | 
| 
      
 20 
     | 
    
         
            +
                               Wx::Point.new(50,50))
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                evt_button(b.get_id) { on_button }
         
     | 
| 
      
 23 
     | 
    
         
            +
              end
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
              def on_button
         
     | 
| 
      
 26 
     | 
    
         
            +
                help = Wx::HtmlHelpController.instance
         
     | 
| 
      
 27 
     | 
    
         
            +
                help_file = File.join( File.dirname(__FILE__), 'helpfile.htb')
         
     | 
| 
      
 28 
     | 
    
         
            +
                exit if not File.exists?(help_file)
         
     | 
| 
      
 29 
     | 
    
         
            +
                help.add_book( File.expand_path(help_file), false )
         
     | 
| 
      
 30 
     | 
    
         
            +
                help.display_contents
         
     | 
| 
      
 31 
     | 
    
         
            +
              end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
      
 33 
     | 
    
         
            +
                    
         
     | 
| 
      
 34 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 35 
     | 
    
         
            +
              def Demo.run(frame, nb, log)
         
     | 
| 
      
 36 
     | 
    
         
            +
                TestPanel.new(nb, log)
         
     | 
| 
      
 37 
     | 
    
         
            +
              end
         
     | 
| 
      
 38 
     | 
    
         
            +
                
         
     | 
| 
      
 39 
     | 
    
         
            +
              def Demo.overview
         
     | 
| 
      
 40 
     | 
    
         
            +
                "Wx::HtmlHelpController is a sophisticated viewer for online help\n" +
         
     | 
| 
      
 41 
     | 
    
         
            +
                "documentation in HTML format. It uses a format based on the Microsoft\n" + 
         
     | 
| 
      
 42 
     | 
    
         
            +
                "HTML Help format, but is available on all platforms. It includes a\n" +
         
     | 
| 
      
 43 
     | 
    
         
            +
                "contents page, index and keyword search."
         
     | 
| 
      
 44 
     | 
    
         
            +
              end
         
     | 
| 
      
 45 
     | 
    
         
            +
            end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 49 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 50 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 51 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 52 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,140 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            #!/usr/bin/env ruby
         
     | 
| 
      
 2 
     | 
    
         
            +
            # wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
         
     | 
| 
      
 3 
     | 
    
         
            +
            # Freely reusable code: see SAMPLES-LICENSE.TXT for details
         
     | 
| 
      
 4 
     | 
    
         
            +
            begin
         
     | 
| 
      
 5 
     | 
    
         
            +
              require 'rubygems' 
         
     | 
| 
      
 6 
     | 
    
         
            +
            rescue LoadError
         
     | 
| 
      
 7 
     | 
    
         
            +
            end
         
     | 
| 
      
 8 
     | 
    
         
            +
            require 'wx'
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            class FindPrefixListBox < Wx::ListBox
         
     | 
| 
      
 13 
     | 
    
         
            +
                def initialize(parent, id, pos=Wx::DEFAULT_POSITION, size=Wx::DEFAULT_SIZE, choices=[], style=0)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    super(parent, id, pos, size, choices, style)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @typedText = ""
         
     | 
| 
      
 16 
     | 
    
         
            +
                    @log = parent.log
         
     | 
| 
      
 17 
     | 
    
         
            +
                    evt_key_down {|event| on_key(event)}
         
     | 
| 
      
 18 
     | 
    
         
            +
                end
         
     | 
| 
      
 19 
     | 
    
         
            +
                
         
     | 
| 
      
 20 
     | 
    
         
            +
                def find_prefix(prefix)
         
     | 
| 
      
 21 
     | 
    
         
            +
                    @log.write_text("Looking for prefix: " + prefix.to_s)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    if prefix
         
     | 
| 
      
 23 
     | 
    
         
            +
                        prefix.downcase!
         
     | 
| 
      
 24 
     | 
    
         
            +
                        length = prefix.length
         
     | 
| 
      
 25 
     | 
    
         
            +
                        0.upto(get_count) do |x|
         
     | 
| 
      
 26 
     | 
    
         
            +
                            text = get_string(x).to_s.downcase
         
     | 
| 
      
 27 
     | 
    
         
            +
                            if text[0,length] == prefix
         
     | 
| 
      
 28 
     | 
    
         
            +
                                @log.write_text("Prefix " + prefix + " is found.")
         
     | 
| 
      
 29 
     | 
    
         
            +
                                return x
         
     | 
| 
      
 30 
     | 
    
         
            +
                            end
         
     | 
| 
      
 31 
     | 
    
         
            +
                        end
         
     | 
| 
      
 32 
     | 
    
         
            +
                    end
         
     | 
| 
      
 33 
     | 
    
         
            +
                    @log.write_text("Prefix " + prefix + " is not found.")
         
     | 
| 
      
 34 
     | 
    
         
            +
                    return -1
         
     | 
| 
      
 35 
     | 
    
         
            +
                end
         
     | 
| 
      
 36 
     | 
    
         
            +
                
         
     | 
| 
      
 37 
     | 
    
         
            +
                def on_key(event)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    key = event.get_key_code
         
     | 
| 
      
 39 
     | 
    
         
            +
                    if key >= 32 and key <= 127
         
     | 
| 
      
 40 
     | 
    
         
            +
                        @typedText += key.chr
         
     | 
| 
      
 41 
     | 
    
         
            +
                        item = find_prefix(@typedText)
         
     | 
| 
      
 42 
     | 
    
         
            +
                        if item != -1
         
     | 
| 
      
 43 
     | 
    
         
            +
                            set_selection(item)
         
     | 
| 
      
 44 
     | 
    
         
            +
                        end
         
     | 
| 
      
 45 
     | 
    
         
            +
                    elsif key == Wx::K_BACK # backspace removes one character and backs up
         
     | 
| 
      
 46 
     | 
    
         
            +
                        @typedText = @typedText[0..-2]
         
     | 
| 
      
 47 
     | 
    
         
            +
                        if not @typedText
         
     | 
| 
      
 48 
     | 
    
         
            +
                            set_selection(0)
         
     | 
| 
      
 49 
     | 
    
         
            +
                        else
         
     | 
| 
      
 50 
     | 
    
         
            +
                            item = find_prefix(@typedText)
         
     | 
| 
      
 51 
     | 
    
         
            +
                            if item != -1
         
     | 
| 
      
 52 
     | 
    
         
            +
                                set_selection(item)
         
     | 
| 
      
 53 
     | 
    
         
            +
                            end
         
     | 
| 
      
 54 
     | 
    
         
            +
                        end
         
     | 
| 
      
 55 
     | 
    
         
            +
                        
         
     | 
| 
      
 56 
     | 
    
         
            +
                    else
         
     | 
| 
      
 57 
     | 
    
         
            +
                        @typedText = ""
         
     | 
| 
      
 58 
     | 
    
         
            +
                        event.skip
         
     | 
| 
      
 59 
     | 
    
         
            +
                    end
         
     | 
| 
      
 60 
     | 
    
         
            +
                end
         
     | 
| 
      
 61 
     | 
    
         
            +
                
         
     | 
| 
      
 62 
     | 
    
         
            +
                def on_key_down(event)
         
     | 
| 
      
 63 
     | 
    
         
            +
                    
         
     | 
| 
      
 64 
     | 
    
         
            +
                end
         
     | 
| 
      
 65 
     | 
    
         
            +
            end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            class TestListBox < Wx::Panel
         
     | 
| 
      
 68 
     | 
    
         
            +
                attr_reader :log
         
     | 
| 
      
 69 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 70 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 71 
     | 
    
         
            +
                    super(parent, -1)
         
     | 
| 
      
 72 
     | 
    
         
            +
                    
         
     | 
| 
      
 73 
     | 
    
         
            +
                    sampleList = %w(zero one two three four five six seven eight nine ten eleven twelve thirteen fourteen)
         
     | 
| 
      
 74 
     | 
    
         
            +
                    
         
     | 
| 
      
 75 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "This example uses the wxListBox control.", Wx::Point.new(45,10))
         
     | 
| 
      
 76 
     | 
    
         
            +
                    
         
     | 
| 
      
 77 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "Select one:", Wx::Point.new(15,50), Wx::Size.new(65,18))
         
     | 
| 
      
 78 
     | 
    
         
            +
                    @lb1 = Wx::ListBox.new(self, 60, Wx::Point.new(80,50), Wx::Size.new(80,120), sampleList, Wx::LB_SINGLE)
         
     | 
| 
      
 79 
     | 
    
         
            +
                    evt_listbox(@lb1.get_id) {|event| on_evt_listbox(event)}
         
     | 
| 
      
 80 
     | 
    
         
            +
                    evt_listbox_dclick(@lb1.get_id) {|event| on_evt_listbox_dclick(event)}
         
     | 
| 
      
 81 
     | 
    
         
            +
                    @lb1.set_selection(3)
         
     | 
| 
      
 82 
     | 
    
         
            +
                    @lb1.append("with data", "This one has data")
         
     | 
| 
      
 83 
     | 
    
         
            +
                    @lb1.set_client_data(2, "This one has data")
         
     | 
| 
      
 84 
     | 
    
         
            +
                    
         
     | 
| 
      
 85 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "Select many:", Wx::Point.new(200,50), Wx::Size.new(65,18))
         
     | 
| 
      
 86 
     | 
    
         
            +
                    @lb2 = Wx::ListBox.new(self, 70, Wx::Point.new(280,50), Wx::Size.new(80,120), sampleList, Wx::LB_EXTENDED)
         
     | 
| 
      
 87 
     | 
    
         
            +
                    evt_listbox(@lb2.get_id) {|event| on_evt_multi_listbox(event)}
         
     | 
| 
      
 88 
     | 
    
         
            +
                    @lb2.evt_right_up {|event| on_evt_right_button(event)}
         
     | 
| 
      
 89 
     | 
    
         
            +
                    @lb2.set_selection(0)
         
     | 
| 
      
 90 
     | 
    
         
            +
                    
         
     | 
| 
      
 91 
     | 
    
         
            +
                    sampleList += ["test a", "test aa", "test aab", "test ab", "test abc", "test abcc", "test abcd"]
         
     | 
| 
      
 92 
     | 
    
         
            +
                    sampleList.sort!
         
     | 
| 
      
 93 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "Find typed prefix:", Wx::Point.new(15,250))
         
     | 
| 
      
 94 
     | 
    
         
            +
                    fp = FindPrefixListBox.new(self, -1, Wx::Point.new(110,250), Wx::Size.new(80,120), sampleList, Wx::LB_SINGLE)
         
     | 
| 
      
 95 
     | 
    
         
            +
                    fp.set_selection(0)
         
     | 
| 
      
 96 
     | 
    
         
            +
                end
         
     | 
| 
      
 97 
     | 
    
         
            +
                
         
     | 
| 
      
 98 
     | 
    
         
            +
                def on_evt_listbox(event)
         
     | 
| 
      
 99 
     | 
    
         
            +
                    @log.write_text("evt_listbox: #{event.get_string}, #{event.is_selection}, #{event.get_selection}, #{event.get_client_data}")
         
     | 
| 
      
 100 
     | 
    
         
            +
                end
         
     | 
| 
      
 101 
     | 
    
         
            +
                
         
     | 
| 
      
 102 
     | 
    
         
            +
                def on_evt_listbox_dclick(event)
         
     | 
| 
      
 103 
     | 
    
         
            +
                    @log.write_text("evt_listbox_dclick: " + @lb1.get_selection.to_s)
         
     | 
| 
      
 104 
     | 
    
         
            +
                    @lb1.delete(@lb1.get_selection)
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
                
         
     | 
| 
      
 107 
     | 
    
         
            +
                def on_evt_multi_listbox(event)
         
     | 
| 
      
 108 
     | 
    
         
            +
                    @log.write_text("evt_multi_listbox: (" + 
         
     | 
| 
      
 109 
     | 
    
         
            +
                                     @lb2.get_selections.join(',') + ")")
         
     | 
| 
      
 110 
     | 
    
         
            +
                end
         
     | 
| 
      
 111 
     | 
    
         
            +
                
         
     | 
| 
      
 112 
     | 
    
         
            +
                def on_evt_right_button(event)
         
     | 
| 
      
 113 
     | 
    
         
            +
                    @log.write_text("evt_right_button: " + event.get_position.to_s)
         
     | 
| 
      
 114 
     | 
    
         
            +
                    if event.get_event_object.get_id == 70
         
     | 
| 
      
 115 
     | 
    
         
            +
                        selections = @lb2.get_selections
         
     | 
| 
      
 116 
     | 
    
         
            +
                        selections.reverse!
         
     | 
| 
      
 117 
     | 
    
         
            +
                        selections.each do |index|
         
     | 
| 
      
 118 
     | 
    
         
            +
                            @lb2.delete(index)
         
     | 
| 
      
 119 
     | 
    
         
            +
                        end
         
     | 
| 
      
 120 
     | 
    
         
            +
                    end
         
     | 
| 
      
 121 
     | 
    
         
            +
                end
         
     | 
| 
      
 122 
     | 
    
         
            +
            end
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 125 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 126 
     | 
    
         
            +
                    win = TestListBox.new(nb, log)
         
     | 
| 
      
 127 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 128 
     | 
    
         
            +
                end
         
     | 
| 
      
 129 
     | 
    
         
            +
                
         
     | 
| 
      
 130 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 131 
     | 
    
         
            +
                    "A listbox is used to select one or more of a list of strings. The strings are displayed in a scrolling box, with the selected string(s) marked in reverse video. A listbox can be single selection (if an item is selected, the previous selection is removed) or multiple selection (clicking an item toggles the item on or off independently of other selections)."
         
     | 
| 
      
 132 
     | 
    
         
            +
                end
         
     | 
| 
      
 133 
     | 
    
         
            +
            end
         
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 137 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 138 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 139 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 140 
     | 
    
         
            +
            end
         
     |