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,42 @@ 
     | 
|
| 
      
 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 is a Wx::Slider", Wx::Point.new(45,15))
         
     | 
| 
      
 19 
     | 
    
         
            +
                    
         
     | 
| 
      
 20 
     | 
    
         
            +
                    slider = Wx::Slider.new(self, 100, 25, 1, 100, Wx::Point.new(30,60), Wx::Size.new(250,-1),
         
     | 
| 
      
 21 
     | 
    
         
            +
                                                Wx::SL_HORIZONTAL | Wx::SL_AUTOTICKS | Wx::SL_LABELS)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    slider.set_tick_freq(5,1)
         
     | 
| 
      
 23 
     | 
    
         
            +
                end
         
     | 
| 
      
 24 
     | 
    
         
            +
            end
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 27 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    win = TestPanel.new(nb, log)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
                
         
     | 
| 
      
 32 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 33 
     | 
    
         
            +
                    "A slider is a control with a handle which can be pulled back and forth to change the value."
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
      
 35 
     | 
    
         
            +
            end
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 39 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 40 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 41 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 42 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,50 @@ 
     | 
|
| 
      
 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 uses the wxSpinButton control.", Wx::Point.new(45,15))
         
     | 
| 
      
 19 
     | 
    
         
            +
                    
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @text = Wx::TextCtrl.new(self, -1, "1", Wx::Point.new(30,50), Wx::Size.new(60,-1))
         
     | 
| 
      
 21 
     | 
    
         
            +
                    h = @text.get_size().get_height()
         
     | 
| 
      
 22 
     | 
    
         
            +
                    @spin = Wx::SpinButton.new(self, 20, Wx::Point.new(92,50), Wx::Size.new(h,h), Wx::SP_VERTICAL)
         
     | 
| 
      
 23 
     | 
    
         
            +
                    @spin.set_range(1, 100)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    @spin.set_value(1)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    
         
     | 
| 
      
 26 
     | 
    
         
            +
                    evt_spin(@spin.get_id()) {|event| on_spin(event)}
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
                
         
     | 
| 
      
 29 
     | 
    
         
            +
                def on_spin(event)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    @text.set_value(event.get_position().to_s())
         
     | 
| 
      
 31 
     | 
    
         
            +
                end
         
     | 
| 
      
 32 
     | 
    
         
            +
            end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 35 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    win = TestPanel.new(nb, log)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
                
         
     | 
| 
      
 40 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 41 
     | 
    
         
            +
                    "A wxSpinButton has two small up and down (or left and right) arrow buttons. It is often used next to a text control for increment and decrementing a value. Portable programs should try to use wxSpinCtrl instead as wxSpinButton is not implemented for all platforms (Win32 and GTK only currently)."
         
     | 
| 
      
 42 
     | 
    
         
            +
                end
         
     | 
| 
      
 43 
     | 
    
         
            +
            end
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 47 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 48 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 49 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 50 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,51 @@ 
     | 
|
| 
      
 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, 
         
     | 
| 
      
 19 
     | 
    
         
            +
                                    "This example uses the Wx::SpinCtrl control.", 
         
     | 
| 
      
 20 
     | 
    
         
            +
                                    Wx::Point.new(45,15))
         
     | 
| 
      
 21 
     | 
    
         
            +
                
         
     | 
| 
      
 22 
     | 
    
         
            +
                sc = Wx::SpinCtrl.new(self, -1, "", 
         
     | 
| 
      
 23 
     | 
    
         
            +
                                       Wx::Point.new(30, 50), Wx::Size.new(80, -1))
         
     | 
| 
      
 24 
     | 
    
         
            +
                sc.set_range(1,100)
         
     | 
| 
      
 25 
     | 
    
         
            +
                sc.set_value(5)
         
     | 
| 
      
 26 
     | 
    
         
            +
                evt_spinctrl(sc.get_id) { | e | on_spinctrl(e) }
         
     | 
| 
      
 27 
     | 
    
         
            +
                # sc.enable(false)
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
              
         
     | 
| 
      
 30 
     | 
    
         
            +
              def on_spinctrl(evt)
         
     | 
| 
      
 31 
     | 
    
         
            +
                @log.write_text("spintctrl - new position #{evt.get_position}")
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
            end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 36 
     | 
    
         
            +
              def Demo.run(frame,nb,log)
         
     | 
| 
      
 37 
     | 
    
         
            +
                win = TestPanel.new(nb, log)
         
     | 
| 
      
 38 
     | 
    
         
            +
                return win
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
              
         
     | 
| 
      
 41 
     | 
    
         
            +
              def Demo.overview
         
     | 
| 
      
 42 
     | 
    
         
            +
                "Wx::SpinCtrl combines Wx::TextCtrl and Wx::SpinButton in one control."
         
     | 
| 
      
 43 
     | 
    
         
            +
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
            end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 48 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 49 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 50 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 51 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,63 @@ 
     | 
|
| 
      
 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 MySplitter < Wx::SplitterWindow
         
     | 
| 
      
 13 
     | 
    
         
            +
                def initialize(parent, id, log)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    super(parent, id)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 16 
     | 
    
         
            +
                    
         
     | 
| 
      
 17 
     | 
    
         
            +
                    evt_splitter_sash_pos_changed(self.get_id()) {|event| on_sash_changed(event)}
         
     | 
| 
      
 18 
     | 
    
         
            +
                    evt_splitter_sash_pos_changing(self.get_id()) {|event| on_sash_changing(event)}
         
     | 
| 
      
 19 
     | 
    
         
            +
                end
         
     | 
| 
      
 20 
     | 
    
         
            +
                
         
     | 
| 
      
 21 
     | 
    
         
            +
                def on_sash_changed(event)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    @log.write_text("sash changed to: " + event.get_sash_position().to_s())
         
     | 
| 
      
 23 
     | 
    
         
            +
                    # uncomment this to not allow the change
         
     | 
| 
      
 24 
     | 
    
         
            +
                    #evt.set_sash_position(-1)
         
     | 
| 
      
 25 
     | 
    
         
            +
                end
         
     | 
| 
      
 26 
     | 
    
         
            +
                
         
     | 
| 
      
 27 
     | 
    
         
            +
                def on_sash_changing(event)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    @log.write_text("sash changing to: " + event.get_sash_position().to_s())
         
     | 
| 
      
 29 
     | 
    
         
            +
                    # uncomment this to not allow the change
         
     | 
| 
      
 30 
     | 
    
         
            +
                    #evt.set_sash_position(-1)
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                end
         
     | 
| 
      
 33 
     | 
    
         
            +
            end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 36 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 37 
     | 
    
         
            +
                    splitter = MySplitter.new(nb, -1, log)
         
     | 
| 
      
 38 
     | 
    
         
            +
                    
         
     | 
| 
      
 39 
     | 
    
         
            +
                    p1 = Wx::Window.new(splitter, -1)
         
     | 
| 
      
 40 
     | 
    
         
            +
                    p1.set_background_colour(Wx::RED)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    Wx::StaticText.new(p1, -1, "Panel One", Wx::Point.new(5,5)).set_background_colour(Wx::RED)
         
     | 
| 
      
 42 
     | 
    
         
            +
                    
         
     | 
| 
      
 43 
     | 
    
         
            +
                    p2 = Wx::Window.new(splitter, -1)
         
     | 
| 
      
 44 
     | 
    
         
            +
                    p2.set_background_colour(Wx::BLUE)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    Wx::StaticText.new(p2, -1, "Panel Two", Wx::Point.new(5,5)).set_background_colour(Wx::BLUE)
         
     | 
| 
      
 46 
     | 
    
         
            +
                    
         
     | 
| 
      
 47 
     | 
    
         
            +
                    splitter.set_minimum_pane_size(20)
         
     | 
| 
      
 48 
     | 
    
         
            +
                    splitter.split_vertically(p1, p2, 100)
         
     | 
| 
      
 49 
     | 
    
         
            +
                    
         
     | 
| 
      
 50 
     | 
    
         
            +
                    return splitter
         
     | 
| 
      
 51 
     | 
    
         
            +
                end
         
     | 
| 
      
 52 
     | 
    
         
            +
                
         
     | 
| 
      
 53 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 54 
     | 
    
         
            +
                    "This class manages up to two subwindows. The current view can be split into two programmatically (perhaps from a menu command), and unsplit either programmatically or via the wxSplitterWindow user interface."
         
     | 
| 
      
 55 
     | 
    
         
            +
                end
         
     | 
| 
      
 56 
     | 
    
         
            +
            end
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 60 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 61 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 62 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 63 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,51 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                
         
     | 
| 
      
 16 
     | 
    
         
            +
                Wx::StaticText.new( self, -1, "This is a wxStaticBitmap.", 
         
     | 
| 
      
 17 
     | 
    
         
            +
                                    Wx::Point.new(45,5))
         
     | 
| 
      
 18 
     | 
    
         
            +
                
         
     | 
| 
      
 19 
     | 
    
         
            +
                bmp_file1 = File.join(File.dirname(__FILE__), 'icons', 'test2.xpm')
         
     | 
| 
      
 20 
     | 
    
         
            +
                Wx::StaticBitmap.new( self, -1, 
         
     | 
| 
      
 21 
     | 
    
         
            +
                                      Wx::Bitmap.new(bmp_file1, Wx::BITMAP_TYPE_XPM), 
         
     | 
| 
      
 22 
     | 
    
         
            +
                                      Wx::Point.new(80,25)) 
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
                bmp_file2 = File.join(File.dirname(__FILE__), 'icons', 'robert.xpm')
         
     | 
| 
      
 25 
     | 
    
         
            +
                Wx::StaticBitmap.new( self, -1, 
         
     | 
| 
      
 26 
     | 
    
         
            +
                                      Wx::Bitmap.new(bmp_file2,  Wx::BITMAP_TYPE_XPM), 
         
     | 
| 
      
 27 
     | 
    
         
            +
                                      Wx::Point.new(0, 100))
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
                Wx::StaticText.new( self, -1, 
         
     | 
| 
      
 30 
     | 
    
         
            +
                                    "Hey, if Ousterhout (and Dunn) can do it, so can I.", 
         
     | 
| 
      
 31 
     | 
    
         
            +
                                    Wx::Point.new(100, 125) )
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
            end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 36 
     | 
    
         
            +
              def Demo.run(frame,nb,log)
         
     | 
| 
      
 37 
     | 
    
         
            +
                win = TestPanel.new(nb, log)
         
     | 
| 
      
 38 
     | 
    
         
            +
                return win
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
              
         
     | 
| 
      
 41 
     | 
    
         
            +
              def Demo.overview
         
     | 
| 
      
 42 
     | 
    
         
            +
                ""
         
     | 
| 
      
 43 
     | 
    
         
            +
              end
         
     | 
| 
      
 44 
     | 
    
         
            +
            end
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 48 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 49 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 50 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 51 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,55 @@ 
     | 
|
| 
      
 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)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    super(parent, -1)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    
         
     | 
| 
      
 16 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "This is an example of static text", Wx::Point.new(20, 10))
         
     | 
| 
      
 17 
     | 
    
         
            +
                    
         
     | 
| 
      
 18 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "using the Wx::StaticText Control.", Wx::Point.new(20, 30))
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "Is this blue?", Wx::Point.new(20, 70), Wx::Size.new(90, -1)).set_background_colour(Wx::BLUE)
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "align center", Wx::Point.new(120, 70), Wx::Size.new(90, -1), Wx::ALIGN_CENTER).set_background_colour(Wx::BLUE)
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "align right", Wx::Point.new(220, 70), Wx::Size.new(90, -1), Wx::ALIGN_RIGHT).set_background_colour(Wx::BLUE)
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                    str = "This is a different font."
         
     | 
| 
      
 27 
     | 
    
         
            +
                    text = Wx::StaticText.new(self, -1, str, Wx::Point.new(20, 100))
         
     | 
| 
      
 28 
     | 
    
         
            +
                    font = Wx::Font.new(18, Wx::SWISS, Wx::NORMAL, Wx::NORMAL)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    text.set_font(font)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    #text.set_size(text.get_best_size())
         
     | 
| 
      
 31 
     | 
    
         
            +
             
     | 
| 
      
 32 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "Multi-line Wx::StaticText\nline 2\nline 3\n\nafter empty line", Wx::Point.new(20,150))
         
     | 
| 
      
 33 
     | 
    
         
            +
                    Wx::StaticText.new(self, -1, "Align right multi-line\nline 2\nline 3\n\nafter empty line", Wx::Point.new(220,150), 
         
     | 
| 
      
 34 
     | 
    
         
            +
                                        Wx::DEFAULT_SIZE,Wx::ALIGN_RIGHT)
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                end
         
     | 
| 
      
 37 
     | 
    
         
            +
            end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 40 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    panel = TestPanel.new(nb)
         
     | 
| 
      
 42 
     | 
    
         
            +
                    return panel
         
     | 
| 
      
 43 
     | 
    
         
            +
                end
         
     | 
| 
      
 44 
     | 
    
         
            +
                
         
     | 
| 
      
 45 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 46 
     | 
    
         
            +
                    "A static text control displays one or more lines of read-only text."
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
      
 48 
     | 
    
         
            +
            end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 52 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 53 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 54 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 55 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,126 @@ 
     | 
|
| 
      
 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 CustomStatusBar < Wx::StatusBar
         
     | 
| 
      
 13 
     | 
    
         
            +
                attr_reader :timer
         
     | 
| 
      
 14 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    super(parent, -1)
         
     | 
| 
      
 16 
     | 
    
         
            +
                    set_fields_count(3)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 18 
     | 
    
         
            +
                    @sizeChanged = false
         
     | 
| 
      
 19 
     | 
    
         
            +
                    
         
     | 
| 
      
 20 
     | 
    
         
            +
                    evt_size {|event| on_size(event)}
         
     | 
| 
      
 21 
     | 
    
         
            +
                    evt_idle {|event| on_idle(event)}
         
     | 
| 
      
 22 
     | 
    
         
            +
                    
         
     | 
| 
      
 23 
     | 
    
         
            +
                    self.set_status_text("A Custom StatusBar...", 0)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    
         
     | 
| 
      
 25 
     | 
    
         
            +
                    @cb = Wx::CheckBox.new(self, 1001, "toggle clock")
         
     | 
| 
      
 26 
     | 
    
         
            +
                    evt_checkbox(@cb.get_id()) {|event| on_toggle_clock(event)}
         
     | 
| 
      
 27 
     | 
    
         
            +
                    @cb.set_value(true)
         
     | 
| 
      
 28 
     | 
    
         
            +
                    
         
     | 
| 
      
 29 
     | 
    
         
            +
                    # set the initial position of the checkbox
         
     | 
| 
      
 30 
     | 
    
         
            +
                    self.reposition()
         
     | 
| 
      
 31 
     | 
    
         
            +
                    
         
     | 
| 
      
 32 
     | 
    
         
            +
                    # start our timer
         
     | 
| 
      
 33 
     | 
    
         
            +
                    @timer = Wx::Timer.new(self, 5000)
         
     | 
| 
      
 34 
     | 
    
         
            +
                    # note that you cannot call @timer.get_id() - this method is not supported, therefore an explicit ID is required 
         
     | 
| 
      
 35 
     | 
    
         
            +
                    # in order to capture the event for your event handler
         
     | 
| 
      
 36 
     | 
    
         
            +
                    evt_timer(5000) {|event| notify(event)}
         
     | 
| 
      
 37 
     | 
    
         
            +
                    # The second parameter is supposed to default to false (meaning it should fire off events continuously), but for
         
     | 
| 
      
 38 
     | 
    
         
            +
                    # some reason if I don't explicitly pass in false, it fires only once.  If someone figures this out, please let 
         
     | 
| 
      
 39 
     | 
    
         
            +
                    # me know :)  What makes it even more confusing is that when I toggle the clock off using the checkbox, and then
         
     | 
| 
      
 40 
     | 
    
         
            +
                    # restart it, there is no need to pass in false for the second parameter - it is assumed to be false there
         
     | 
| 
      
 41 
     | 
    
         
            +
                    # To further complicate the situation, it appears that if I call stop(), call start(1000), it takes the parameter
         
     | 
| 
      
 42 
     | 
    
         
            +
                    # to default as false, meaning fire the event continuously?  Perhaps this is a Windows only issue?
         
     | 
| 
      
 43 
     | 
    
         
            +
                    @timer.start(1000)
         
     | 
| 
      
 44 
     | 
    
         
            +
                    @timer.stop()
         
     | 
| 
      
 45 
     | 
    
         
            +
                    @timer.start(1000)
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
      
 47 
     | 
    
         
            +
                
         
     | 
| 
      
 48 
     | 
    
         
            +
                # Time-out handler
         
     | 
| 
      
 49 
     | 
    
         
            +
                def notify(event)
         
     | 
| 
      
 50 
     | 
    
         
            +
                    t = Time.now
         
     | 
| 
      
 51 
     | 
    
         
            +
                    st = t.strftime("%d-%B-%Y  %I:%M:%S %p")
         
     | 
| 
      
 52 
     | 
    
         
            +
                    self.set_status_text(st, 2)
         
     | 
| 
      
 53 
     | 
    
         
            +
                    @log.write_text("tick...")
         
     | 
| 
      
 54 
     | 
    
         
            +
                end
         
     | 
| 
      
 55 
     | 
    
         
            +
                
         
     | 
| 
      
 56 
     | 
    
         
            +
                # the checkbox was clicked
         
     | 
| 
      
 57 
     | 
    
         
            +
                def on_toggle_clock(event)
         
     | 
| 
      
 58 
     | 
    
         
            +
                    if @cb.get_value()
         
     | 
| 
      
 59 
     | 
    
         
            +
                        @timer.start(1000)
         
     | 
| 
      
 60 
     | 
    
         
            +
                    else
         
     | 
| 
      
 61 
     | 
    
         
            +
                        @timer.stop()
         
     | 
| 
      
 62 
     | 
    
         
            +
                    end
         
     | 
| 
      
 63 
     | 
    
         
            +
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
                
         
     | 
| 
      
 65 
     | 
    
         
            +
                def on_size(event)
         
     | 
| 
      
 66 
     | 
    
         
            +
                    self.reposition() # for normal size events
         
     | 
| 
      
 67 
     | 
    
         
            +
                    
         
     | 
| 
      
 68 
     | 
    
         
            +
                    # Set a flag so the idle time handler will also do the repositioning.
         
     | 
| 
      
 69 
     | 
    
         
            +
                    # It is done this way to get around a buglet where GetFieldRect is not
         
     | 
| 
      
 70 
     | 
    
         
            +
                    # accurate during the EVT_SIZE resulting from a frame maximize.
         
     | 
| 
      
 71 
     | 
    
         
            +
                    
         
     | 
| 
      
 72 
     | 
    
         
            +
                    @sizeChanged = true
         
     | 
| 
      
 73 
     | 
    
         
            +
                end
         
     | 
| 
      
 74 
     | 
    
         
            +
                
         
     | 
| 
      
 75 
     | 
    
         
            +
                def on_idle(event)
         
     | 
| 
      
 76 
     | 
    
         
            +
                    if @sizeChanged
         
     | 
| 
      
 77 
     | 
    
         
            +
                        self.reposition()
         
     | 
| 
      
 78 
     | 
    
         
            +
                    end
         
     | 
| 
      
 79 
     | 
    
         
            +
                    event.request_more()
         
     | 
| 
      
 80 
     | 
    
         
            +
                end
         
     | 
| 
      
 81 
     | 
    
         
            +
                
         
     | 
| 
      
 82 
     | 
    
         
            +
                def reposition()
         
     | 
| 
      
 83 
     | 
    
         
            +
                    rect = get_field_rect(1)
         
     | 
| 
      
 84 
     | 
    
         
            +
                    @cb.move(Wx::Point.new(rect.x + 2, rect.y + 2))
         
     | 
| 
      
 85 
     | 
    
         
            +
                    @cb.set_size(Wx::Size.new(rect.width - 4, rect.height - 4))
         
     | 
| 
      
 86 
     | 
    
         
            +
                    @sizeChanged = false
         
     | 
| 
      
 87 
     | 
    
         
            +
                end
         
     | 
| 
      
 88 
     | 
    
         
            +
            end
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            class TestCustomStatusBar < Wx::Frame
         
     | 
| 
      
 91 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 92 
     | 
    
         
            +
                    super(parent, -1, "Test Custom StatusBar")
         
     | 
| 
      
 93 
     | 
    
         
            +
                    
         
     | 
| 
      
 94 
     | 
    
         
            +
                    @sb = CustomStatusBar.new(self, log)
         
     | 
| 
      
 95 
     | 
    
         
            +
                    set_status_bar(@sb)
         
     | 
| 
      
 96 
     | 
    
         
            +
                    tc = Wx::TextCtrl.new(self, -1, "", Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE, Wx::TE_READONLY | Wx::TE_MULTILINE)
         
     | 
| 
      
 97 
     | 
    
         
            +
                    
         
     | 
| 
      
 98 
     | 
    
         
            +
                    set_size(Wx::Size.new(500,300))
         
     | 
| 
      
 99 
     | 
    
         
            +
                    evt_close {|event| on_close_window(event)}
         
     | 
| 
      
 100 
     | 
    
         
            +
                end
         
     | 
| 
      
 101 
     | 
    
         
            +
                
         
     | 
| 
      
 102 
     | 
    
         
            +
                def on_close_window(event)
         
     | 
| 
      
 103 
     | 
    
         
            +
                    @sb.timer.stop()
         
     | 
| 
      
 104 
     | 
    
         
            +
                    destroy()
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
            end
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 109 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 110 
     | 
    
         
            +
                    win = TestCustomStatusBar.new(frame, log)
         
     | 
| 
      
 111 
     | 
    
         
            +
                    frame.otherWin = win
         
     | 
| 
      
 112 
     | 
    
         
            +
                    win.show()
         
     | 
| 
      
 113 
     | 
    
         
            +
                    return nil
         
     | 
| 
      
 114 
     | 
    
         
            +
                end
         
     | 
| 
      
 115 
     | 
    
         
            +
                
         
     | 
| 
      
 116 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 117 
     | 
    
         
            +
                    "A status bar is a narrow window that can be placed along the bottom of a frame to give small amounts of status information. It can contain one or more fields, one or more of which can be variable length according to the size of the window. "
         
     | 
| 
      
 118 
     | 
    
         
            +
                end
         
     | 
| 
      
 119 
     | 
    
         
            +
            end
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 123 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 124 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 125 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 126 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,149 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                
         
     | 
| 
      
 14 
     | 
    
         
            +
                def on_set_focus(event)
         
     | 
| 
      
 15 
     | 
    
         
            +
                    @log.write_text("on_set_focus")
         
     | 
| 
      
 16 
     | 
    
         
            +
                    event.skip()
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
                
         
     | 
| 
      
 19 
     | 
    
         
            +
                def on_kill_focus(event)
         
     | 
| 
      
 20 
     | 
    
         
            +
                    @log.write_text("on_kill_focus")
         
     | 
| 
      
 21 
     | 
    
         
            +
                    event.skip()
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
                
         
     | 
| 
      
 24 
     | 
    
         
            +
                def on_window_destroy(event)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    @log.write_text("on_window_destroy")
         
     | 
| 
      
 26 
     | 
    
         
            +
                    event.skip()
         
     | 
| 
      
 27 
     | 
    
         
            +
                end
         
     | 
| 
      
 28 
     | 
    
         
            +
                
         
     | 
| 
      
 29 
     | 
    
         
            +
                def initialize(parent, log)
         
     | 
| 
      
 30 
     | 
    
         
            +
                    super(parent, -1)
         
     | 
| 
      
 31 
     | 
    
         
            +
                    @log = log
         
     | 
| 
      
 32 
     | 
    
         
            +
                
         
     | 
| 
      
 33 
     | 
    
         
            +
                    l1 = Wx::StaticText.new(self, -1, "Wx::TextCtrl")
         
     | 
| 
      
 34 
     | 
    
         
            +
                    t1 = Wx::TextCtrl.new(self, -1, "Test it out and see", Wx::DEFAULT_POSITION, Wx::Size.new(125,-1))
         
     | 
| 
      
 35 
     | 
    
         
            +
                    t1.set_insertion_point(0)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    @tc1 = t1
         
     | 
| 
      
 37 
     | 
    
         
            +
                    evt_text(t1.get_id()) {|event| on_evt_text(event)}
         
     | 
| 
      
 38 
     | 
    
         
            +
                    t1.evt_char {|event| on_evt_char(event)}
         
     | 
| 
      
 39 
     | 
    
         
            +
                    t1.evt_set_focus {|event| on_set_focus(event)}
         
     | 
| 
      
 40 
     | 
    
         
            +
                    t1.evt_kill_focus {|event| on_kill_focus(event)}
         
     | 
| 
      
 41 
     | 
    
         
            +
                    #t1.evt_window_destroy {|event| on_window_destroy(event)}
         
     | 
| 
      
 42 
     | 
    
         
            +
                    
         
     | 
| 
      
 43 
     | 
    
         
            +
                    l2 = Wx::StaticText.new(self, -1, "Password")
         
     | 
| 
      
 44 
     | 
    
         
            +
                    t2 = Wx::TextCtrl.new(self, -1, "", Wx::DEFAULT_POSITION, Wx::Size.new(125,-1), Wx::TE_PASSWORD)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    evt_text(t2.get_id()) {|event| on_evt_text(event)}
         
     | 
| 
      
 46 
     | 
    
         
            +
                    
         
     | 
| 
      
 47 
     | 
    
         
            +
                    l3 = Wx::StaticText.new(self, -1, "Multi-line")
         
     | 
| 
      
 48 
     | 
    
         
            +
                    t3 = Wx::TextCtrl.new(self, -1, "Here is a looooooooooooooong line of text set in the control.\n\n" +
         
     | 
| 
      
 49 
     | 
    
         
            +
                                        "The quick brown fox jumped over the lazy dog...", Wx::DEFAULT_POSITION, Wx::Size.new(200,100),
         
     | 
| 
      
 50 
     | 
    
         
            +
                                        Wx::TE_MULTILINE)
         
     | 
| 
      
 51 
     | 
    
         
            +
                    t3.set_insertion_point(0)
         
     | 
| 
      
 52 
     | 
    
         
            +
                    evt_text(t3.get_id()) {|event| on_evt_text(event)}
         
     | 
| 
      
 53 
     | 
    
         
            +
                    b = Wx::Button.new(self, -1, "Test replace")
         
     | 
| 
      
 54 
     | 
    
         
            +
                    evt_button(b.get_id()) {|event| on_test_replace(event)}
         
     | 
| 
      
 55 
     | 
    
         
            +
                    b2 = Wx::Button.new(self, -1, "Test get_selection")
         
     | 
| 
      
 56 
     | 
    
         
            +
                    evt_button(b2.get_id()) {|event| on_test_get_selection(event)}
         
     | 
| 
      
 57 
     | 
    
         
            +
                    b3 = Wx::Button.new(self, -1, "Test write_text")
         
     | 
| 
      
 58 
     | 
    
         
            +
                    evt_button(b3.get_id()) {|event| on_test_write_text(event)}
         
     | 
| 
      
 59 
     | 
    
         
            +
                    @tc = t3
         
     | 
| 
      
 60 
     | 
    
         
            +
                    
         
     | 
| 
      
 61 
     | 
    
         
            +
                    l4 = Wx::StaticText.new(self, -1, "Rich Text")
         
     | 
| 
      
 62 
     | 
    
         
            +
                    t4 = Wx::TextCtrl.new(self, -1, "If supported by the native control, this is red, and this is a different font.",
         
     | 
| 
      
 63 
     | 
    
         
            +
                                            Wx::DEFAULT_POSITION, Wx::Size.new(200,100), Wx::TE_MULTILINE | Wx::TE_RICH)
         
     | 
| 
      
 64 
     | 
    
         
            +
                    t4.set_insertion_point(0)
         
     | 
| 
      
 65 
     | 
    
         
            +
                    t4.set_style(44,47, Wx::TextAttr.new(Wx::Colour.new("RED"), Wx::Colour.new("YELLOW")))
         
     | 
| 
      
 66 
     | 
    
         
            +
                    points = t4.get_font().get_point_size() # get the current size
         
     | 
| 
      
 67 
     | 
    
         
            +
                    f = Wx::Font.new(points + 3, Wx::ROMAN, Wx::ITALIC, Wx::BOLD, true)
         
     | 
| 
      
 68 
     | 
    
         
            +
                    t4.set_style(63, 77, Wx::TextAttr.new(Wx::Colour.new("BLUE"), Wx::NULL_COLOUR, f))
         
     | 
| 
      
 69 
     | 
    
         
            +
                    
         
     | 
| 
      
 70 
     | 
    
         
            +
                    l5 = Wx::StaticText.new(self, -1, "Test Positions")
         
     | 
| 
      
 71 
     | 
    
         
            +
                    t5 = Wx::TextCtrl.new(self, -1, "0123456789\n" * 5, Wx::DEFAULT_POSITION, Wx::Size.new(200,100), 
         
     | 
| 
      
 72 
     | 
    
         
            +
                                            Wx::TE_MULTILINE | Wx::TE_RICH)
         
     | 
| 
      
 73 
     | 
    
         
            +
                    @t5 = t5
         
     | 
| 
      
 74 
     | 
    
         
            +
                    
         
     | 
| 
      
 75 
     | 
    
         
            +
                    bsizer = Wx::BoxSizer.new(Wx::VERTICAL)
         
     | 
| 
      
 76 
     | 
    
         
            +
                    bsizer.add(b, 0, Wx::GROW | Wx::ALL, 4)
         
     | 
| 
      
 77 
     | 
    
         
            +
                    bsizer.add(b2, 0, Wx::GROW | Wx::ALL, 4)
         
     | 
| 
      
 78 
     | 
    
         
            +
                    bsizer.add(b3, 0, Wx::GROW | Wx::ALL, 4)
         
     | 
| 
      
 79 
     | 
    
         
            +
                    
         
     | 
| 
      
 80 
     | 
    
         
            +
                    sizer = Wx::FlexGridSizer.new(0,3,6,6)
         
     | 
| 
      
 81 
     | 
    
         
            +
                    sizer.add(l1)
         
     | 
| 
      
 82 
     | 
    
         
            +
                    sizer.add(t1)
         
     | 
| 
      
 83 
     | 
    
         
            +
                    sizer.add(0,0)
         
     | 
| 
      
 84 
     | 
    
         
            +
                    sizer.add(l2)
         
     | 
| 
      
 85 
     | 
    
         
            +
                    sizer.add(t2)
         
     | 
| 
      
 86 
     | 
    
         
            +
                    sizer.add(0,0)
         
     | 
| 
      
 87 
     | 
    
         
            +
                    sizer.add(l3)
         
     | 
| 
      
 88 
     | 
    
         
            +
                    sizer.add(t3)
         
     | 
| 
      
 89 
     | 
    
         
            +
                    sizer.add(bsizer)
         
     | 
| 
      
 90 
     | 
    
         
            +
                    sizer.add(l4)
         
     | 
| 
      
 91 
     | 
    
         
            +
                    sizer.add(t4)
         
     | 
| 
      
 92 
     | 
    
         
            +
                    sizer.add(0,0)
         
     | 
| 
      
 93 
     | 
    
         
            +
                    sizer.add(l5)
         
     | 
| 
      
 94 
     | 
    
         
            +
                    sizer.add(t5)
         
     | 
| 
      
 95 
     | 
    
         
            +
                    sizer.add(0,0)
         
     | 
| 
      
 96 
     | 
    
         
            +
                    
         
     | 
| 
      
 97 
     | 
    
         
            +
                    border = Wx::BoxSizer.new(Wx::VERTICAL)
         
     | 
| 
      
 98 
     | 
    
         
            +
                    border.add(sizer, 0, Wx::ALL, 25)
         
     | 
| 
      
 99 
     | 
    
         
            +
                    set_sizer(border)
         
     | 
| 
      
 100 
     | 
    
         
            +
                    set_auto_layout(true)
         
     | 
| 
      
 101 
     | 
    
         
            +
                end
         
     | 
| 
      
 102 
     | 
    
         
            +
                
         
     | 
| 
      
 103 
     | 
    
         
            +
                def on_evt_text(event)
         
     | 
| 
      
 104 
     | 
    
         
            +
                    @log.write_text("evt_text: " + event.get_string())
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
                
         
     | 
| 
      
 107 
     | 
    
         
            +
                def on_evt_char(event)
         
     | 
| 
      
 108 
     | 
    
         
            +
                    @log.write_text("evt_char: " + event.get_key_code().to_s)
         
     | 
| 
      
 109 
     | 
    
         
            +
                    event.skip()
         
     | 
| 
      
 110 
     | 
    
         
            +
                end
         
     | 
| 
      
 111 
     | 
    
         
            +
                
         
     | 
| 
      
 112 
     | 
    
         
            +
                def on_test_replace(event)
         
     | 
| 
      
 113 
     | 
    
         
            +
                    @tc.replace(5,9, "IS A")
         
     | 
| 
      
 114 
     | 
    
         
            +
                end
         
     | 
| 
      
 115 
     | 
    
         
            +
                
         
     | 
| 
      
 116 
     | 
    
         
            +
                def on_test_write_text(event)
         
     | 
| 
      
 117 
     | 
    
         
            +
                    @tc.write_text("TEXT")
         
     | 
| 
      
 118 
     | 
    
         
            +
                end
         
     | 
| 
      
 119 
     | 
    
         
            +
                
         
     | 
| 
      
 120 
     | 
    
         
            +
                def on_test_get_selection(event)
         
     | 
| 
      
 121 
     | 
    
         
            +
                    start, stop = @tc.get_selection
         
     | 
| 
      
 122 
     | 
    
         
            +
                    text = @tc.get_string_selection   # On WXMSW, is you select text using
         
     | 
| 
      
 123 
     | 
    
         
            +
                                                      #  the results of get_selection you
         
     | 
| 
      
 124 
     | 
    
         
            +
                                                      #  must replace \r\n\ with \n before
         
     | 
| 
      
 125 
     | 
    
         
            +
                                                      #  taking your selection
         
     | 
| 
      
 126 
     | 
    
         
            +
                    @log.write_text("get_string_selection [#{start}..#{stop}]: " + text)
         
     | 
| 
      
 127 
     | 
    
         
            +
                end
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
      
 129 
     | 
    
         
            +
            end
         
     | 
| 
      
 130 
     | 
    
         
            +
             
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 133 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 134 
     | 
    
         
            +
                    win = TestPanel.new(nb,log)
         
     | 
| 
      
 135 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 136 
     | 
    
         
            +
                end
         
     | 
| 
      
 137 
     | 
    
         
            +
                
         
     | 
| 
      
 138 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 139 
     | 
    
         
            +
                    "A TextCtrl allows text to be displayed and (possibly) edited. It may be single" +
         
     | 
| 
      
 140 
     | 
    
         
            +
                    "line or multi-line, support styles or not, be read-only or not, and even supports" +
         
     | 
| 
      
 141 
     | 
    
         
            +
                    "text masking for such things as passwords."
         
     | 
| 
      
 142 
     | 
    
         
            +
                end
         
     | 
| 
      
 143 
     | 
    
         
            +
            end
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 146 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 147 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 148 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 149 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,31 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 13 
     | 
    
         
            +
                def Demo.run(frame, nb, log)
         
     | 
| 
      
 14 
     | 
    
         
            +
                    dlg = Wx::TextEntryDialog.new(frame, "What is your favorite programming language?", "Duh??", "Ruby")
         
     | 
| 
      
 15 
     | 
    
         
            +
                    dlg.set_value("Ruby is the best!")
         
     | 
| 
      
 16 
     | 
    
         
            +
                    if dlg.show_modal() == Wx::ID_OK
         
     | 
| 
      
 17 
     | 
    
         
            +
                        log.write_text("You entered: " + dlg.get_value().to_s + "\n")
         
     | 
| 
      
 18 
     | 
    
         
            +
                    end     
         
     | 
| 
      
 19 
     | 
    
         
            +
                    return nil
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
                
         
     | 
| 
      
 22 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 23 
     | 
    
         
            +
                    return "This dialog allows the user to input text"
         
     | 
| 
      
 24 
     | 
    
         
            +
                end
         
     | 
| 
      
 25 
     | 
    
         
            +
            end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 28 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 29 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 30 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,49 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                    panel = Wx::Panel.new(self, -1)
         
     | 
| 
      
 17 
     | 
    
         
            +
                    buttons = Wx::BoxSizer.new(Wx::HORIZONTAL)
         
     | 
| 
      
 18 
     | 
    
         
            +
                    "These are toggle buttons".split().each do |word|
         
     | 
| 
      
 19 
     | 
    
         
            +
                        b = Wx::ToggleButton.new(panel, -1, word)
         
     | 
| 
      
 20 
     | 
    
         
            +
                        evt_togglebutton(b.get_id()) {|event| on_toggle(event)}
         
     | 
| 
      
 21 
     | 
    
         
            +
                        buttons.add(b, 0, Wx::ALL, 5)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    end
         
     | 
| 
      
 23 
     | 
    
         
            +
                    panel.set_sizer(buttons)
         
     | 
| 
      
 24 
     | 
    
         
            +
                    buttons.fit(panel)
         
     | 
| 
      
 25 
     | 
    
         
            +
                    panel.move(Wx::Point.new(50,50))
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
                
         
     | 
| 
      
 28 
     | 
    
         
            +
                def on_toggle(event)
         
     | 
| 
      
 29 
     | 
    
         
            +
                    @log.write_text("Button " + event.get_id().to_s() + " toggled")
         
     | 
| 
      
 30 
     | 
    
         
            +
                end
         
     | 
| 
      
 31 
     | 
    
         
            +
            end
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
            module Demo
         
     | 
| 
      
 34 
     | 
    
         
            +
                def Demo.run(frame,nb,log)
         
     | 
| 
      
 35 
     | 
    
         
            +
                    win = TestPanel.new(nb, log)
         
     | 
| 
      
 36 
     | 
    
         
            +
                    return win
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
                
         
     | 
| 
      
 39 
     | 
    
         
            +
                def Demo.overview
         
     | 
| 
      
 40 
     | 
    
         
            +
                    "Wx::ToggleButton is a button that stays pressed when clicked by the user. In other words, it is similar to Wx::CheckBox in functionality but looks like a Wx::Button."
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
            end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
            if __FILE__ == $0
         
     | 
| 
      
 46 
     | 
    
         
            +
              run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
         
     | 
| 
      
 47 
     | 
    
         
            +
              load run_solo_lib
         
     | 
| 
      
 48 
     | 
    
         
            +
              run File.basename($0)
         
     | 
| 
      
 49 
     | 
    
         
            +
            end
         
     |