wxruby-ruby19 1.9.8-x86-darwin-9 → 1.9.10-x86-darwin-9
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.rb +2 -2
- data/lib/wx/accessors.rb +7 -1
- data/lib/wx/classes/app.rb +10 -4
- data/lib/wx/classes/bitmap.rb +29 -1
- data/lib/wx/classes/clipboard.rb +19 -3
- data/lib/wx/classes/colour.rb +6 -4
- 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/evthandler.rb +79 -4
- data/lib/wx/classes/genericdirctrl.rb +36 -0
- data/lib/wx/classes/grid.rb +8 -0
- data/lib/wx/classes/hboxsizer.rb +6 -0
- data/lib/wx/classes/icon.rb +12 -1
- data/lib/wx/classes/image.rb +13 -1
- data/lib/wx/classes/listctrl.rb +12 -0
- data/lib/wx/classes/point.rb +8 -0
- data/lib/wx/classes/rect.rb +10 -1
- data/lib/wx/classes/richtextctrl.rb +63 -0
- data/lib/wx/classes/size.rb +9 -0
- data/lib/wx/classes/sizer.rb +18 -3
- data/lib/wx/classes/standardpaths.rb +9 -0
- data/lib/wx/classes/texturlevent.rb +14 -2
- data/lib/wx/classes/toolbar.rb +4 -6
- data/lib/wx/classes/vboxsizer.rb +6 -0
- data/lib/wx/classes/window.rb +7 -0
- data/lib/wx/classes/xmlresource.rb +17 -0
- data/lib/wx/helpers.rb +16 -1
- data/lib/wx/keyword_ctors.rb +3 -2
- data/lib/wx/keyword_defs.rb +56 -5
- data/lib/wx/version.rb +1 -1
- data/lib/wxruby2.bundle +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 +17 -3
data/lib/wx/classes/clipboard.rb
CHANGED
@@ -1,16 +1,32 @@
|
|
1
1
|
class Wx::Clipboard
|
2
|
+
# See if we like these better
|
3
|
+
alias :place :set_data
|
4
|
+
alias :fetch :get_data
|
5
|
+
|
2
6
|
class << self
|
7
|
+
# This is provided internally by the SWIG interface file, but all
|
8
|
+
# public access should be via Clipboard.open; see below
|
9
|
+
private :get_global_clipboard
|
10
|
+
|
3
11
|
# Class method to provide access to the clipboard within a ruby
|
4
12
|
# block. Tests that the clipboard could be accessed, and ensures
|
5
13
|
# that it is closed when the block is finished.
|
6
14
|
def open
|
7
|
-
clip =
|
15
|
+
clip = nil
|
16
|
+
# Trying to access the segfault outside main_loop will segfault on
|
17
|
+
# some platforms (eg, GTK)
|
18
|
+
unless Wx::const_defined?(:THE_APP)
|
19
|
+
raise RuntimeError,
|
20
|
+
"The clipboard can only be accessed when the App is running"
|
21
|
+
end
|
22
|
+
|
23
|
+
clip = get_global_clipboard
|
8
24
|
unless clip.open
|
9
25
|
Kernel.raise "Could not open clipboard"
|
10
26
|
end
|
11
27
|
yield clip
|
12
|
-
|
13
|
-
|
28
|
+
ensure
|
29
|
+
clip.close if clip
|
14
30
|
end
|
15
31
|
end
|
16
32
|
end
|
data/lib/wx/classes/colour.rb
CHANGED
@@ -33,11 +33,13 @@ class Wx::Colour
|
|
33
33
|
# Colours are equal to one another if they have the same red, green
|
34
34
|
# and blue intensity, and the same alpha
|
35
35
|
def ==(other)
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
[ red, green, blue, alpha ] ==
|
36
|
+
case other
|
37
|
+
when Wx::Colour
|
38
|
+
[ self.red, self.green, self.blue, self.alpha ] ==
|
40
39
|
[ other.red, other.green, other.blue, other.alpha ]
|
40
|
+
else
|
41
|
+
false
|
42
|
+
end
|
41
43
|
end
|
42
44
|
|
43
45
|
# More informative output for inspect etc
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# Provide some default implementations of these to make life easier
|
2
|
+
class Wx::DataObject
|
3
|
+
def get_preferred_format(direction)
|
4
|
+
get_all_formats(direction).first
|
5
|
+
end
|
6
|
+
|
7
|
+
def get_format_count(direction)
|
8
|
+
get_all_formats(direction).length
|
9
|
+
end
|
10
|
+
|
11
|
+
def get_data_size(format)
|
12
|
+
get_data_here(format).size
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# Make this easier to use for multi-typed data objects. Comparison
|
2
|
+
# doesn't work correctly in the SWIG binding
|
3
|
+
class Wx::DataFormat
|
4
|
+
def ==(other)
|
5
|
+
if self.get_type > Wx::DATA_FORMAT_ID_INVALID
|
6
|
+
self.get_type == other.get_type
|
7
|
+
else
|
8
|
+
self.id == other.id
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
# Provide pre-cooked data formats for the standard types
|
14
|
+
module Wx
|
15
|
+
DF_TEXT = DataFormat.new( DATA_FORMAT_ID_TEXT )
|
16
|
+
DF_BITMAP = DataFormat.new( DATA_FORMAT_ID_BITMAP )
|
17
|
+
if Wx::PLATFORM != 'WXGTK'
|
18
|
+
DF_METAFILE = DataFormat.new( DATA_FORMAT_ID_METAFILE )
|
19
|
+
end
|
20
|
+
DF_FILENAME = DataFormat.new( DATA_FORMAT_ID_FILENAME )
|
21
|
+
DF_UNICODETEXT = DataFormat.new( DATA_FORMAT_ID_UNICODETEXT )
|
22
|
+
# DF_HTML is only supported on Windows + MSVC, so don't offer it
|
23
|
+
end
|
@@ -235,6 +235,12 @@ class Wx::EvtHandler
|
|
235
235
|
EventType['evt_aui_render', 0,
|
236
236
|
Wx::EVT_AUI_RENDER,
|
237
237
|
Wx::AuiManagerEvent],
|
238
|
+
EventType['evt_bookctrl_page_changed', 1,
|
239
|
+
Wx::EVT_COMMAND_BOOKCTRL_PAGE_CHANGED,
|
240
|
+
Wx::BookCtrlBaseEvent],
|
241
|
+
EventType['evt_bookctrl_page_changing', 1,
|
242
|
+
Wx::EVT_COMMAND_BOOKCTRL_PAGE_CHANGING,
|
243
|
+
Wx::BookCtrlBaseEvent],
|
238
244
|
EventType['evt_button', 1,
|
239
245
|
Wx::EVT_COMMAND_BUTTON_CLICKED,
|
240
246
|
Wx::CommandEvent],
|
@@ -313,15 +319,18 @@ class Wx::EvtHandler
|
|
313
319
|
EventType['evt_context_menu', 0,
|
314
320
|
Wx::EVT_CONTEXT_MENU,
|
315
321
|
Wx::ContextMenuEvent],
|
316
|
-
EventType['
|
317
|
-
Wx::
|
318
|
-
Wx::
|
322
|
+
EventType['evt_date_changed', 1,
|
323
|
+
Wx::EVT_DATE_CHANGED,
|
324
|
+
Wx::DateEvent],
|
319
325
|
EventType['evt_detailed_help', 1,
|
320
326
|
Wx::EVT_DETAILED_HELP,
|
321
327
|
Wx::HelpEvent],
|
322
328
|
EventType['evt_detailed_help_range', 2,
|
323
329
|
Wx::EVT_DETAILED_HELP,
|
324
330
|
Wx::HelpEvent],
|
331
|
+
EventType['evt_drop_files', 0,
|
332
|
+
Wx::EVT_DROP_FILES,
|
333
|
+
Wx::Event],
|
325
334
|
EventType['evt_end_process', 1,
|
326
335
|
Wx::EVT_END_PROCESS,
|
327
336
|
Wx::Event],
|
@@ -625,6 +634,9 @@ class Wx::EvtHandler
|
|
625
634
|
EventType['evt_moving', 0,
|
626
635
|
Wx::EVT_MOVING,
|
627
636
|
Wx::MoveEvent],
|
637
|
+
EventType['evt_navigation_key', 0,
|
638
|
+
Wx::EVT_NAVIGATION_KEY,
|
639
|
+
Wx::NavigationKeyEvent],
|
628
640
|
EventType['evt_nc_paint', 0,
|
629
641
|
Wx::EVT_NC_PAINT,
|
630
642
|
Wx::Event],
|
@@ -649,6 +661,51 @@ class Wx::EvtHandler
|
|
649
661
|
EventType['evt_radiobutton', 1,
|
650
662
|
Wx::EVT_COMMAND_RADIOBUTTON_SELECTED,
|
651
663
|
Wx::CommandEvent],
|
664
|
+
EventType['evt_richtext_character', 1,
|
665
|
+
Wx::EVT_COMMAND_RICHTEXT_CHARACTER,
|
666
|
+
Wx::RichTextEvent],
|
667
|
+
EventType['evt_richtext_content_inserted', 1,
|
668
|
+
Wx::EVT_COMMAND_RICHTEXT_CONTENT_INSERTED,
|
669
|
+
Wx::RichTextEvent],
|
670
|
+
EventType['evt_richtext_content_deleted', 1,
|
671
|
+
Wx::EVT_COMMAND_RICHTEXT_CONTENT_DELETED,
|
672
|
+
Wx::RichTextEvent],
|
673
|
+
EventType['evt_richtext_delete', 1,
|
674
|
+
Wx::EVT_COMMAND_RICHTEXT_DELETE,
|
675
|
+
Wx::RichTextEvent],
|
676
|
+
EventType['evt_richtext_left_click', 1,
|
677
|
+
Wx::EVT_COMMAND_RICHTEXT_LEFT_CLICK,
|
678
|
+
Wx::RichTextEvent],
|
679
|
+
EventType['evt_richtext_left_dclick', 1,
|
680
|
+
Wx::EVT_COMMAND_RICHTEXT_LEFT_DCLICK,
|
681
|
+
Wx::RichTextEvent],
|
682
|
+
EventType['evt_richtext_middle_click', 1,
|
683
|
+
Wx::EVT_COMMAND_RICHTEXT_MIDDLE_CLICK,
|
684
|
+
Wx::RichTextEvent],
|
685
|
+
EventType['evt_richtext_return', 1,
|
686
|
+
Wx::EVT_COMMAND_RICHTEXT_RETURN,
|
687
|
+
Wx::RichTextEvent],
|
688
|
+
EventType['evt_richtext_right_click', 1,
|
689
|
+
Wx::EVT_COMMAND_RICHTEXT_RIGHT_CLICK,
|
690
|
+
Wx::RichTextEvent],
|
691
|
+
EventType['evt_richtext_selection_changed', 1,
|
692
|
+
Wx::EVT_COMMAND_RICHTEXT_SELECTION_CHANGED,
|
693
|
+
Wx::RichTextEvent],
|
694
|
+
EventType['evt_richtext_style_changed', 1,
|
695
|
+
Wx::EVT_COMMAND_RICHTEXT_STYLE_CHANGED,
|
696
|
+
Wx::RichTextEvent],
|
697
|
+
EventType['evt_richtext_stylesheet_changed', 1,
|
698
|
+
Wx::EVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED,
|
699
|
+
Wx::RichTextEvent],
|
700
|
+
EventType['evt_richtext_stylesheet_changing', 1,
|
701
|
+
Wx::EVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING,
|
702
|
+
Wx::RichTextEvent],
|
703
|
+
EventType['evt_richtext_stylesheet_replaced', 1,
|
704
|
+
Wx::EVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED,
|
705
|
+
Wx::RichTextEvent],
|
706
|
+
EventType['evt_richtext_stylesheet_replacing', 1,
|
707
|
+
Wx::EVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING,
|
708
|
+
Wx::RichTextEvent],
|
652
709
|
EventType['evt_right_dclick', 0,
|
653
710
|
Wx::EVT_RIGHT_DCLICK,
|
654
711
|
Wx::MouseEvent],
|
@@ -816,10 +873,16 @@ class Wx::EvtHandler
|
|
816
873
|
Wx::TimerEvent],
|
817
874
|
EventType['evt_togglebutton', 1,
|
818
875
|
Wx::EVT_COMMAND_TOGGLEBUTTON_CLICKED,
|
819
|
-
Wx::
|
876
|
+
Wx::CommandEvent],
|
820
877
|
EventType['evt_tool', 1,
|
821
878
|
Wx::EVT_COMMAND_TOOL_CLICKED,
|
822
879
|
Wx::CommandEvent],
|
880
|
+
EventType['evt_toolbook_page_changed', 1,
|
881
|
+
Wx::EVT_COMMAND_TOOLBOOK_PAGE_CHANGED,
|
882
|
+
Wx::ToolbookEvent],
|
883
|
+
EventType['evt_toolbook_page_changing', 1,
|
884
|
+
Wx::EVT_COMMAND_TOOLBOOK_PAGE_CHANGING,
|
885
|
+
Wx::ToolbookEvent],
|
823
886
|
EventType['evt_tool_enter', 1,
|
824
887
|
Wx::EVT_COMMAND_TOOL_ENTER,
|
825
888
|
Wx::CommandEvent],
|
@@ -895,6 +958,18 @@ class Wx::EvtHandler
|
|
895
958
|
EventType['evt_tree_state_image_click', 1,
|
896
959
|
Wx::EVT_COMMAND_TREE_STATE_IMAGE_CLICK,
|
897
960
|
Wx::TreeEvent],
|
961
|
+
EventType['evt_treebook_node_collapsed', 1,
|
962
|
+
Wx::EVT_COMMAND_TREEBOOK_NODE_COLLAPSED,
|
963
|
+
Wx::TreebookEvent],
|
964
|
+
EventType['evt_treebook_node_expanded', 1,
|
965
|
+
Wx::EVT_COMMAND_TREEBOOK_NODE_EXPANDED,
|
966
|
+
Wx::TreebookEvent],
|
967
|
+
EventType['evt_treebook_page_changed', 1,
|
968
|
+
Wx::EVT_COMMAND_TREEBOOK_PAGE_CHANGED,
|
969
|
+
Wx::TreebookEvent],
|
970
|
+
EventType['evt_treebook_page_changing', 1,
|
971
|
+
Wx::EVT_COMMAND_TREEBOOK_PAGE_CHANGING,
|
972
|
+
Wx::TreebookEvent],
|
898
973
|
EventType['evt_update_ui', 1,
|
899
974
|
Wx::EVT_UPDATE_UI,
|
900
975
|
Wx::UpdateUIEvent],
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# Bottom-up implementation of a Directory lister
|
2
|
+
class Wx::GenericDirCtrl
|
3
|
+
module DirCtrlTree
|
4
|
+
# The TreeCtrl contained in a GenericDirCtrl already has C++ data
|
5
|
+
# associated with the items. If these are returned to Ruby crashes
|
6
|
+
# will result. So this module sets the TreeCtrl to return the path
|
7
|
+
# string.
|
8
|
+
def get_item_data(tree_id)
|
9
|
+
root_id = get_root_item
|
10
|
+
return "" if tree_id == root_id
|
11
|
+
|
12
|
+
path = item_text(tree_id)
|
13
|
+
while tree_id = item_parent(tree_id) and tree_id != root_id
|
14
|
+
path = item_text(tree_id) + "/#{path}"
|
15
|
+
end
|
16
|
+
unless Wx::PLATFORM == 'WXMSW'
|
17
|
+
path = "/" + path
|
18
|
+
end
|
19
|
+
path
|
20
|
+
end
|
21
|
+
|
22
|
+
alias :get_item_path :get_item_data
|
23
|
+
|
24
|
+
# Not allowed
|
25
|
+
def set_item_data(tree_id, data)
|
26
|
+
Kernel.raise "Item data cannot be set for a GenericDirCtrl's Tree"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
wx_get_tree_ctrl = instance_method(:get_tree_ctrl)
|
31
|
+
define_method(:get_tree_ctrl) do
|
32
|
+
tree = wx_get_tree_ctrl.bind(self).call
|
33
|
+
tree.extend(DirCtrlTree)
|
34
|
+
tree
|
35
|
+
end
|
36
|
+
end
|
data/lib/wx/classes/grid.rb
CHANGED
@@ -35,6 +35,14 @@ class Wx::Grid
|
|
35
35
|
@__grid_table = table
|
36
36
|
end
|
37
37
|
|
38
|
+
# Store the renderers / editors associated with types, if used
|
39
|
+
alias :__register_data_type :register_data_type
|
40
|
+
def register_data_type(type_name, renderer, editor)
|
41
|
+
__register_data_type(type_name, renderer, editor)
|
42
|
+
@__named_type_info ||= {}
|
43
|
+
@__named_type_info[type_name] = [ renderer, editor ]
|
44
|
+
end
|
45
|
+
|
38
46
|
# store default editor
|
39
47
|
wx_set_default_editor = self.instance_method(:set_default_editor)
|
40
48
|
define_method(:set_default_editor) do | editr |
|
data/lib/wx/classes/icon.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
+
# Specific type of platform-dependent image used for frames on Windows and
|
2
|
+
# Linux. Normally Bitmap is used
|
1
3
|
class Wx::Icon
|
4
|
+
# Load the type-guessing hash from Wx::Bitmap
|
5
|
+
require 'wx/classes/bitmap'
|
6
|
+
BITMAP_TYPE_GUESS = Wx::Bitmap::BITMAP_TYPE_GUESS
|
7
|
+
|
2
8
|
# Analogous to Image.from_bitmap
|
3
9
|
def self.from_bitmap(bmp)
|
4
10
|
ico = new
|
@@ -8,13 +14,18 @@ class Wx::Icon
|
|
8
14
|
|
9
15
|
# Redefine the initialize method so it raises an exception if a
|
10
16
|
# non-existent file is given to the constructor; otherwise, wx Widgets
|
11
|
-
# just carries on with an empty icon, which may cause faults
|
17
|
+
# just carries on with an empty icon, which may cause faults
|
18
|
+
# later. Also guess icon type from filename, if not specified.
|
12
19
|
wx_init = self.instance_method(:initialize)
|
13
20
|
define_method(:initialize) do | *args |
|
14
21
|
if args[0].kind_of? String
|
15
22
|
if not File.exist?( File.expand_path(args[0]) )
|
16
23
|
Kernel.raise(ArgumentError, "Icon file does not exist: #{args[0]}")
|
17
24
|
end
|
25
|
+
# If type not specified, try to guess it from the file extension
|
26
|
+
if not args[1] and ( file_ext = args[0][/\w+$/] )
|
27
|
+
args[1] = BITMAP_TYPE_GUESS[file_ext.downcase]
|
28
|
+
end
|
18
29
|
end
|
19
30
|
wx_init.bind(self).call(*args)
|
20
31
|
end
|
data/lib/wx/classes/image.rb
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
+
# A platform-independent image; can be manipulated more extensively than
|
2
|
+
# Bitmap, but must be converted to a Bitmap for drawing.
|
1
3
|
class Wx::Image
|
4
|
+
# Load the type-guessing hash from Wx::Bitmap
|
5
|
+
require 'wx/classes/bitmap'
|
6
|
+
BITMAP_TYPE_GUESS = Wx::Bitmap::BITMAP_TYPE_GUESS
|
7
|
+
|
2
8
|
# Load a new image from an IO-like object that supports "read"
|
3
9
|
def self.read(an_io, type_or_mime, index = -1)
|
4
10
|
img = new
|
@@ -13,13 +19,19 @@ class Wx::Image
|
|
13
19
|
|
14
20
|
# Redefine the initialize method so it raises an exception if a
|
15
21
|
# non-existent file is given to the constructor; otherwise, wx Widgets
|
16
|
-
# just carries on with an invalid image, which may cause faults
|
22
|
+
# just carries on with an invalid image, which may cause faults
|
23
|
+
# later. Also, if loading from a file, and the type is not specified,
|
24
|
+
# try to guess it from the filename extension
|
17
25
|
wx_init = self.instance_method(:initialize)
|
18
26
|
define_method(:initialize) do | *args |
|
19
27
|
if args[0].kind_of? String
|
20
28
|
if not File.exist?( File.expand_path(args[0]) )
|
21
29
|
Kernel.raise(ArgumentError, "Image file does not exist: #{args[0]}")
|
22
30
|
end
|
31
|
+
# If type not specified, try to guess it from the file extension
|
32
|
+
if not args[1] and file_ext = args[0][/\w+$/]
|
33
|
+
args[1] = BITMAP_TYPE_GUESS[file_ext.downcase]
|
34
|
+
end
|
23
35
|
end
|
24
36
|
wx_init.bind(self).call(*args)
|
25
37
|
end
|
data/lib/wx/classes/listctrl.rb
CHANGED
@@ -7,6 +7,18 @@ class Wx::ListCtrl
|
|
7
7
|
0.upto(item_count - 1) { | i | yield i }
|
8
8
|
end
|
9
9
|
|
10
|
+
# Returns an Array containing the indexes of the currently selected
|
11
|
+
# items
|
12
|
+
def get_selections
|
13
|
+
selections = []
|
14
|
+
item = get_next_item(-1, Wx::LIST_NEXT_BELOW, Wx::LIST_STATE_SELECTED)
|
15
|
+
while item >= 0
|
16
|
+
selections << item
|
17
|
+
item = get_next_item(item, Wx::LIST_NEXT_BELOW, Wx::LIST_STATE_SELECTED)
|
18
|
+
end
|
19
|
+
selections
|
20
|
+
end
|
21
|
+
|
10
22
|
# Stub version for LC_VIRTUAL controls that does nothing; may be
|
11
23
|
# overridden in subclasses.
|
12
24
|
def on_get_item_attr(i)
|
data/lib/wx/classes/point.rb
CHANGED
@@ -4,6 +4,14 @@ class Wx::Point
|
|
4
4
|
"#<Wx::Point: (#{x}, #{y})>"
|
5
5
|
end
|
6
6
|
|
7
|
+
# Correct comparison for Points - same if same x and y
|
8
|
+
def ==(other)
|
9
|
+
unless other.kind_of?(Wx::Point)
|
10
|
+
Kernel.raise TypeError, "Cannot compare Point to #{other}"
|
11
|
+
end
|
12
|
+
x == other.x and y == other.y
|
13
|
+
end
|
14
|
+
|
7
15
|
# Return a new Wx::Point with the x and y parameters both divided by
|
8
16
|
# parameter +div+, which should be a Numeric
|
9
17
|
def /(div)
|
data/lib/wx/classes/rect.rb
CHANGED
@@ -4,7 +4,16 @@ class Wx::Rect
|
|
4
4
|
def to_s
|
5
5
|
"#<Wx::Rect: (#{get_left}, #{get_top}) (#{get_right}, #{get_bottom})>"
|
6
6
|
end
|
7
|
-
|
7
|
+
|
8
|
+
# Correct comparison for Wx::Rect, are the same if have the same
|
9
|
+
# position and the same size
|
10
|
+
def ==(other)
|
11
|
+
unless other.kind_of?(Wx::Rect)
|
12
|
+
Kernel.raise TypeError, "Cannot compare Rect to #{other}"
|
13
|
+
end
|
14
|
+
get_left == other.get_left and get_top == other.get_top and
|
15
|
+
get_right = other.get_right and get_bottom == other.get_bottom
|
16
|
+
end
|
8
17
|
# More ruby-ish names
|
9
18
|
alias :contains? :contains
|
10
19
|
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
# Text editor supporting various formatting, intended for editing
|
2
|
+
# natural language texts
|
3
|
+
class Wx::RichTextCtrl
|
4
|
+
# These three methods return the styles applicable at certain points
|
5
|
+
# in the document. However, the standard wx signature is to accept the
|
6
|
+
# value of some kind of TextAttr class that will hold the return as an
|
7
|
+
# argument. The return value is a boolean for success/failure. In
|
8
|
+
# Ruby, we only support returning the value as a RichTextAttr, and do
|
9
|
+
# so as a proper return value, having accepted a single argument
|
10
|
+
# specifying where to get the style from. If retrieval is not
|
11
|
+
# successful, raise an exception.
|
12
|
+
wx_get_style = self.instance_method(:get_style)
|
13
|
+
define_method(:get_style) do | pos |
|
14
|
+
style = Wx::RichTextAttr.new
|
15
|
+
if wx_get_style.bind(self).call(pos, style)
|
16
|
+
return style
|
17
|
+
else
|
18
|
+
Kernel.raise RuntimeError, "Could not retrieve style at position #{pos}"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
wx_get_style_for_range = self.instance_method(:get_style_for_range)
|
23
|
+
define_method(:get_style_for_range) do | rng |
|
24
|
+
style = Wx::RichTextAttr.new
|
25
|
+
if wx_get_style_for_range.bind(self).call(rng, style)
|
26
|
+
return style
|
27
|
+
else
|
28
|
+
Kernel.raise RuntimeError, "Could not retrieve style for range #{rng}"
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
wx_get_uncombined_style = self.instance_method(:get_uncombined_style)
|
33
|
+
define_method(:get_uncombined_style) do | pos |
|
34
|
+
style = Wx::RichTextAttr.new
|
35
|
+
if wx_get_uncombined_style.bind(self).call(pos, style)
|
36
|
+
return style
|
37
|
+
else
|
38
|
+
Kernel.raise RuntimeError, "Could not retrieve style at position #{pos}"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
# Fix to accept a single +pos+ argument and return a Wx::Rect
|
43
|
+
wx_car_pos_for_index = self.instance_method(:get_caret_position_for_index)
|
44
|
+
define_method(:get_caret_position_for_index) do | pos |
|
45
|
+
rect = Wx::Rect.new
|
46
|
+
if wx_car_pos_for_index.bind(self).call(pos, rect)
|
47
|
+
return rect
|
48
|
+
else
|
49
|
+
Kernel.raise RuntimeError, "Could not rect for position #{pos}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
# Fix to return a pair of col, row values
|
54
|
+
wx_pos_to_xy = self.instance_method(:position_to_xy)
|
55
|
+
define_method(:position_to_xy) do | pos |
|
56
|
+
success, x, y = wx_pos_to_xy.bind(self).call(pos)
|
57
|
+
if success
|
58
|
+
return x, y
|
59
|
+
else
|
60
|
+
Kernel.raise RuntimeError, "Could not convert position #{pos} to x, y"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|