wxruby 1.9.2-i686-darwin8.8.2
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 +299 -0
- data/lib/wx.rb +42 -0
- data/lib/wx/accessors.rb +52 -0
- data/lib/wx/classes/app.rb +39 -0
- data/lib/wx/classes/artprovider.rb +31 -0
- data/lib/wx/classes/bitmap.rb +23 -0
- data/lib/wx/classes/checklistbox.rb +30 -0
- data/lib/wx/classes/choice.rb +4 -0
- data/lib/wx/classes/clientdc.rb +13 -0
- data/lib/wx/classes/colour.rb +47 -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/evthandler.rb +884 -0
- data/lib/wx/classes/font.rb +118 -0
- data/lib/wx/classes/grid.rb +130 -0
- data/lib/wx/classes/helpcontroller.rb +5 -0
- data/lib/wx/classes/htmlhelpcontroller.rb +5 -0
- data/lib/wx/classes/htmlwindow.rb +6 -0
- data/lib/wx/classes/icon.rb +14 -0
- data/lib/wx/classes/image.rb +14 -0
- data/lib/wx/classes/listbox.rb +4 -0
- data/lib/wx/classes/listctrl.rb +9 -0
- data/lib/wx/classes/locale.rb +28 -0
- data/lib/wx/classes/menu.rb +62 -0
- data/lib/wx/classes/menuitem.rb +7 -0
- data/lib/wx/classes/object.rb +7 -0
- data/lib/wx/classes/paintdc.rb +12 -0
- data/lib/wx/classes/point.rb +48 -0
- data/lib/wx/classes/previewframe.rb +13 -0
- data/lib/wx/classes/rect.rb +5 -0
- data/lib/wx/classes/size.rb +49 -0
- data/lib/wx/classes/styledtextctrl.rb +92 -0
- data/lib/wx/classes/textctrl.rb +14 -0
- data/lib/wx/classes/texturlevent.rb +6 -0
- data/lib/wx/classes/timer.rb +69 -0
- data/lib/wx/classes/treectrl.rb +18 -0
- data/lib/wx/classes/window.rb +49 -0
- data/lib/wx/classes/xmlresource.rb +16 -0
- data/lib/wx/keyword_ctors.rb +205 -0
- data/lib/wx/keyword_defs.rb +465 -0
- data/lib/wx/version.rb +3 -0
- data/lib/wxruby2.bundle +0 -0
- data/samples/SAMPLES-LICENSE.TXT +18 -0
- data/samples/aui/aui.rb +1353 -0
- data/samples/bigdemo/About.rbw +39 -0
- data/samples/bigdemo/ColorPanel.rbw +25 -0
- data/samples/bigdemo/GridSimple.rbw +80 -0
- data/samples/bigdemo/MDIDemo.rbw +59 -0
- data/samples/bigdemo/PopupMenu.rbw +151 -0
- data/samples/bigdemo/ShapedWindow.rbw +135 -0
- data/samples/bigdemo/Sizers.rbw +545 -0
- data/samples/bigdemo/bigdemo.rb +826 -0
- data/samples/bigdemo/demoTemplate.rbw +37 -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 +94 -0
- data/samples/bigdemo/tips.txt +7 -0
- data/samples/bigdemo/utils.rb +12 -0
- data/samples/bigdemo/wxArtProvider.rbw +285 -0
- data/samples/bigdemo/wxBitmapButton.rbw +64 -0
- data/samples/bigdemo/wxButton.rbw +66 -0
- data/samples/bigdemo/wxCalendarCtrl.rbw +72 -0
- data/samples/bigdemo/wxCheckBox.rbw +52 -0
- data/samples/bigdemo/wxCheckListBox.rbw +77 -0
- data/samples/bigdemo/wxChoice.rbw +49 -0
- data/samples/bigdemo/wxChoicebook.rbw +80 -0
- data/samples/bigdemo/wxColourDialog.rbw +34 -0
- data/samples/bigdemo/wxComboBox.rbw +79 -0
- data/samples/bigdemo/wxCursor.rbw +140 -0
- data/samples/bigdemo/wxDialog.rbw +92 -0
- data/samples/bigdemo/wxDirDialog.rbw +32 -0
- data/samples/bigdemo/wxDragImage.rbw +74 -0
- data/samples/bigdemo/wxFileDialog.rbw +39 -0
- data/samples/bigdemo/wxFileDialog_Save.rbw +38 -0
- data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -0
- data/samples/bigdemo/wxFontDialog.rbw +176 -0
- data/samples/bigdemo/wxFrame.rbw +55 -0
- data/samples/bigdemo/wxGauge.rbw +73 -0
- data/samples/bigdemo/wxGenericDirCtrl.rbw +78 -0
- data/samples/bigdemo/wxGrid.rbw +68 -0
- data/samples/bigdemo/wxHtmlHelpController.rbw +57 -0
- data/samples/bigdemo/wxListBox.rbw +142 -0
- data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -0
- data/samples/bigdemo/wxMDIWindows.rbw +52 -0
- data/samples/bigdemo/wxMenu.rbw +238 -0
- data/samples/bigdemo/wxMessageDialog.rbw +30 -0
- data/samples/bigdemo/wxMiniFrame.rbw +74 -0
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -0
- data/samples/bigdemo/wxNotebook.rbw +138 -0
- data/samples/bigdemo/wxProgressDialog.rbw +45 -0
- data/samples/bigdemo/wxRadioBox.rbw +74 -0
- data/samples/bigdemo/wxRadioButton.rbw +127 -0
- data/samples/bigdemo/wxSashWindow.rbw +155 -0
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -0
- data/samples/bigdemo/wxScrolledWindow.rbw +201 -0
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -0
- data/samples/bigdemo/wxSlider.rbw +44 -0
- data/samples/bigdemo/wxSpinButton.rbw +52 -0
- data/samples/bigdemo/wxSpinCtrl.rbw +53 -0
- data/samples/bigdemo/wxSplitterWindow.rbw +65 -0
- data/samples/bigdemo/wxStaticBitmap.rbw +53 -0
- data/samples/bigdemo/wxStaticText.rbw +57 -0
- data/samples/bigdemo/wxStatusBar.rbw +128 -0
- data/samples/bigdemo/wxTextCtrl.rbw +151 -0
- data/samples/bigdemo/wxTextEntryDialog.rbw +34 -0
- data/samples/bigdemo/wxToggleButton.rbw +51 -0
- data/samples/bigdemo/wxToolBar.rbw +133 -0
- data/samples/bigdemo/wxTreeCtrl.rbw +192 -0
- data/samples/calendar/calendar.rb +275 -0
- data/samples/caret/caret.rb +286 -0
- data/samples/caret/mondrian.xpm +44 -0
- data/samples/controls/controls.rb +1140 -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 +724 -0
- data/samples/dialogs/tips.txt +18 -0
- data/samples/etc/activation.rb +108 -0
- data/samples/etc/choice.rb +72 -0
- data/samples/etc/miniframe.rb +84 -0
- data/samples/etc/sash.rb +135 -0
- data/samples/etc/scrollwin.rb +116 -0
- data/samples/etc/system_settings.rb +258 -0
- data/samples/etc/threaded.rb +81 -0
- data/samples/etc/wizard.rb +79 -0
- data/samples/event/event.rb +184 -0
- data/samples/grid/grid.rb +201 -0
- data/samples/html/html.rb +264 -0
- data/samples/images/Thumbs.db +0 -0
- data/samples/images/images.rb +48 -0
- data/samples/images/paperclip.png +0 -0
- data/samples/listbook/listbook.rb +181 -0
- data/samples/listbook/listbook.xrc +370 -0
- data/samples/mdi/mdi.rb +87 -0
- data/samples/minimal/minimal.rb +85 -0
- data/samples/minimal/mondrian.ico +0 -0
- data/samples/minimal/mondrian.png +0 -0
- data/samples/minimal/nothing.rb +21 -0
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +44 -0
- data/samples/printing/printing.rb +484 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +44 -0
- data/samples/text/scintilla.rb +174 -0
- data/samples/text/textctrl.rb +124 -0
- data/samples/text/unicode.rb +238 -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 +1181 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/xrc_sample.rb +107 -0
- metadata +280 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
class Wx::Font
|
|
2
|
+
# String names of the constants provided by C++
|
|
3
|
+
# (enum is originally defined inc include/wx/fontenc.h)
|
|
4
|
+
ENCODING_NAMES = %w[
|
|
5
|
+
DEFAULT
|
|
6
|
+
|
|
7
|
+
ISO-8859-1
|
|
8
|
+
ISO-8859-2
|
|
9
|
+
ISO-8859-3
|
|
10
|
+
ISO-8859-4
|
|
11
|
+
ISO-8859-5
|
|
12
|
+
ISO-8859-6
|
|
13
|
+
ISO-8859-7
|
|
14
|
+
ISO-8859-8
|
|
15
|
+
ISO-8859-9
|
|
16
|
+
ISO-8859-10
|
|
17
|
+
ISO-8859-11
|
|
18
|
+
ISO-8859-12
|
|
19
|
+
ISO-8859-13
|
|
20
|
+
ISO-8859-14
|
|
21
|
+
ISO-8859-15
|
|
22
|
+
ISO-8859-MAX
|
|
23
|
+
|
|
24
|
+
KOI8
|
|
25
|
+
KOI8-U
|
|
26
|
+
ALTERNATIVE
|
|
27
|
+
BULGARIAN
|
|
28
|
+
|
|
29
|
+
CP437
|
|
30
|
+
CP850
|
|
31
|
+
CP852
|
|
32
|
+
CP855
|
|
33
|
+
CP866
|
|
34
|
+
|
|
35
|
+
CP874
|
|
36
|
+
CP932
|
|
37
|
+
CP936
|
|
38
|
+
CP949
|
|
39
|
+
CP950
|
|
40
|
+
CP1250
|
|
41
|
+
CP1251
|
|
42
|
+
CP1252
|
|
43
|
+
CP1253
|
|
44
|
+
CP1254
|
|
45
|
+
CP1255
|
|
46
|
+
CP1256
|
|
47
|
+
CP1257
|
|
48
|
+
CP12-MAX
|
|
49
|
+
|
|
50
|
+
UTF7
|
|
51
|
+
UTF8
|
|
52
|
+
EUC-JP
|
|
53
|
+
UTF16BE
|
|
54
|
+
UTF16LE
|
|
55
|
+
UTF32BE
|
|
56
|
+
UTF32LE
|
|
57
|
+
|
|
58
|
+
MACROMAN
|
|
59
|
+
MACJAPANESE
|
|
60
|
+
MACCHINESETRAD
|
|
61
|
+
MACKOREAN
|
|
62
|
+
MACARABIC
|
|
63
|
+
MACHEBREW
|
|
64
|
+
MACGREEK
|
|
65
|
+
MACCYRILLIC
|
|
66
|
+
MACDEVANAGARI
|
|
67
|
+
MACGURMUKHI
|
|
68
|
+
MACGUJARATI
|
|
69
|
+
MACORIYA
|
|
70
|
+
MACBENGALI
|
|
71
|
+
MACTAMIL
|
|
72
|
+
MACTELUGU
|
|
73
|
+
MACKANNADA
|
|
74
|
+
MACMALAJALAM
|
|
75
|
+
MACSINHALESE
|
|
76
|
+
MACBURMESE
|
|
77
|
+
MACKHMER
|
|
78
|
+
MACTHAI
|
|
79
|
+
MACLAOTIAN
|
|
80
|
+
MACGEORGIAN
|
|
81
|
+
MACARMENIAN
|
|
82
|
+
MACCHINESESIMP
|
|
83
|
+
MACTIBETAN
|
|
84
|
+
MACMONGOLIAN
|
|
85
|
+
MACETHIOPIC
|
|
86
|
+
MACCENTRALEUR
|
|
87
|
+
MACVIATNAMESE
|
|
88
|
+
MACARABICEXT
|
|
89
|
+
MACSYMBOL
|
|
90
|
+
MACDINGBATS
|
|
91
|
+
MACTURKISH
|
|
92
|
+
MACCROATIAN
|
|
93
|
+
MACICELANDIC
|
|
94
|
+
MACROMANIAN
|
|
95
|
+
MACCELTIC
|
|
96
|
+
MACGAELIC
|
|
97
|
+
MACKEYBOARD
|
|
98
|
+
MAX
|
|
99
|
+
]
|
|
100
|
+
|
|
101
|
+
class << self
|
|
102
|
+
# Returns the name of the platform's default font encoding
|
|
103
|
+
def get_default_encoding_name
|
|
104
|
+
ENCODING_NAMES[ get_default_encoding ]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# Sets the default encoding to be +enc+, which may be the string
|
|
108
|
+
# name of an encoding (eg 'UTF8') or an internal WxWidgets flag
|
|
109
|
+
# (eg Wx::FONTENCODING_UTF8).
|
|
110
|
+
def set_default_encoding_name(enc)
|
|
111
|
+
if flag_int = ENCODING_NAMES.index(enc.upcase)
|
|
112
|
+
set_default_encoding(flag_int)
|
|
113
|
+
else
|
|
114
|
+
raise ArgumentError, "Unknown font encoding name '#{enc}'"
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# A data-oriented editable table control.
|
|
2
|
+
class Wx::Grid
|
|
3
|
+
# The following extensions are all to prevent crashes associated with
|
|
4
|
+
# garbage collection of Grid-related classes; they do not extend the
|
|
5
|
+
# public functionality of the class in any way.
|
|
6
|
+
#
|
|
7
|
+
# The GridCellRenderers and GridCellEditors pose a problem for ruby's
|
|
8
|
+
# GC, in that Wx makes them owned by the grid once they have been set
|
|
9
|
+
# for a cell or group of cells. However, because they are SWIG
|
|
10
|
+
# directors we cannot allow the ruby object they are originally
|
|
11
|
+
# associated with to be swept by GC.
|
|
12
|
+
#
|
|
13
|
+
# The code below stores Ruby redefines all methods that may
|
|
14
|
+
# potentially set an Editor or Renderer, and stores a reference to
|
|
15
|
+
# it in an instance variable, so they are not disposed of up when GC sweeps.
|
|
16
|
+
wx_init = self.instance_method(:initialize)
|
|
17
|
+
define_method(:initialize) do | *args |
|
|
18
|
+
wx_init.bind(self).call(*args)
|
|
19
|
+
@__default_editor = nil
|
|
20
|
+
@__default_renderer = nil
|
|
21
|
+
|
|
22
|
+
@__cell_editors = []
|
|
23
|
+
@__cell_renderers = []
|
|
24
|
+
|
|
25
|
+
@__col_renderers = []
|
|
26
|
+
@__col_editors = []
|
|
27
|
+
@__row_renderers = []
|
|
28
|
+
@__row_editors = []
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# store default editor
|
|
32
|
+
wx_set_default_editor = self.instance_method(:set_default_editor)
|
|
33
|
+
define_method(:set_default_editor) do | editr |
|
|
34
|
+
wx_set_default_editor.bind(self).call(editr)
|
|
35
|
+
@__default_editor = editr
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# store default renderer
|
|
39
|
+
wx_set_default_renderer = self.instance_method(:set_default_renderer)
|
|
40
|
+
define_method(:set_default_renderer) do | rendr |
|
|
41
|
+
wx_set_default_renderer.bind(self).call(rendr)
|
|
42
|
+
@__default_renderer = rendr
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# store cell editors
|
|
46
|
+
wx_set_cell_editor = self.instance_method(:set_cell_editor)
|
|
47
|
+
define_method(:set_cell_editor) do | row, col, editr |
|
|
48
|
+
wx_set_cell_editor.bind(self).call(row, col, editr)
|
|
49
|
+
@__cell_editors[row] ||= []
|
|
50
|
+
@__cell_editors[row][col] = editr
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# store cell renderer
|
|
54
|
+
wx_set_cell_renderer = self.instance_method(:set_cell_renderer)
|
|
55
|
+
define_method(:set_cell_renderer) do | row, col, rendr |
|
|
56
|
+
wx_set_cell_renderer.bind(self).call(row, col, rendr)
|
|
57
|
+
@__cell_renderers[row] ||= []
|
|
58
|
+
@__cell_renderers[row][col] = rendr
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
wx_set_col_attr = self.instance_method(:set_col_attr)
|
|
62
|
+
define_method(:set_col_attr) do | col, attr |
|
|
63
|
+
wx_set_col_attr.bind(self).call(col, attr)
|
|
64
|
+
if attr.has_editor
|
|
65
|
+
@__col_editors[col] = attr.get_editor(self, 0, col)
|
|
66
|
+
end
|
|
67
|
+
if attr.has_renderer
|
|
68
|
+
@__col_renderers[col] = attr.get_renderer(self, 0, col)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
wx_set_row_attr = self.instance_method(:set_row_attr)
|
|
73
|
+
define_method(:set_row_attr) do | row, attr |
|
|
74
|
+
wx_set_row_attr.bind(self).call(row, attr)
|
|
75
|
+
if attr.has_editor
|
|
76
|
+
@__row_editors[row] = attr.get_editor(self, row, 0)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
if attr.has_renderer
|
|
80
|
+
@__row_renderers[row] = attr.get_renderer(self, row, 0)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# This and the following methods do a bit of book-keeping - as rows
|
|
85
|
+
# and columns are deleted and inserted, the position of the columns
|
|
86
|
+
# and rows with stored editors and renderers may move.
|
|
87
|
+
alias :__insert_rows :insert_rows
|
|
88
|
+
def insert_rows(pos = 0, num = 1, update_labels = true)
|
|
89
|
+
__insert_rows(pos, num, update_labels)
|
|
90
|
+
num.times { @__row_editors.insert(pos, nil) }
|
|
91
|
+
num.times { @__row_renderers.insert(pos, nil) }
|
|
92
|
+
num.times { @__cell_editors.insert(pos, []) }
|
|
93
|
+
num.times { @__cell_renderers.insert(pos, []) }
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
alias :__insert_cols :insert_cols
|
|
97
|
+
def insert_cols(pos = 0, num = 1, update_labels = true)
|
|
98
|
+
__insert_cols(pos, num, update_labels)
|
|
99
|
+
num.times { @__col_editors.insert(pos, nil) }
|
|
100
|
+
num.times { @__col_renderers.insert(pos, nil) }
|
|
101
|
+
num.times do
|
|
102
|
+
@__cell_editors.map { | col | col.insert(pos, []) if col }
|
|
103
|
+
end
|
|
104
|
+
num.times do
|
|
105
|
+
@__cell_renderers.map { | col | col.insert(pos, []) if col }
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
alias :__delete_rows :delete_rows
|
|
110
|
+
def delete_rows(pos = 0, num = 1, update_labels = true)
|
|
111
|
+
__delete_rows(pos, num, update_labels)
|
|
112
|
+
@__row_editors.slice!(pos, num)
|
|
113
|
+
@__row_renderers.slice!(pos, num)
|
|
114
|
+
@__cell_editors.slice!(pos, num)
|
|
115
|
+
@__cell_renderers.slice!(pos, num)
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
alias :__delete_cols :delete_cols
|
|
119
|
+
def delete_cols(pos = 0, num = 1, update_labels = true)
|
|
120
|
+
__delete_cols(pos, num, update_labels)
|
|
121
|
+
@__col_editors.slice!(pos, num)
|
|
122
|
+
@__col_renderers.slice!(pos, num)
|
|
123
|
+
num.times do
|
|
124
|
+
@__cell_editors.map { | col | col.slice!(pos, num) if col }
|
|
125
|
+
end
|
|
126
|
+
num.times do
|
|
127
|
+
@__cell_renderers.map { | col | col.slice!(pos, num) if col }
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class Wx::Icon
|
|
2
|
+
# Redefine the initialize method so it raises an exception if a
|
|
3
|
+
# non-existent file is given to the constructor; otherwise, wx Widgets
|
|
4
|
+
# just carries on with an empty icon, which may cause faults later
|
|
5
|
+
wx_init = self.instance_method(:initialize)
|
|
6
|
+
define_method(:initialize) do | *args |
|
|
7
|
+
if args[0].kind_of? String
|
|
8
|
+
if not File.exist?( File.expand_path(args[0]) )
|
|
9
|
+
Kernel.raise(ArgumentError, "Icon file does not exist: #{args[0]}")
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
wx_init.bind(self).call(*args)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class Wx::Image
|
|
2
|
+
# Redefine the initialize method so it raises an exception if a
|
|
3
|
+
# non-existent file is given to the constructor; otherwise, wx Widgets
|
|
4
|
+
# just carries on with an invalid image, which may cause faults later
|
|
5
|
+
wx_init = self.instance_method(:initialize)
|
|
6
|
+
define_method(:initialize) do | *args |
|
|
7
|
+
if args[0].kind_of? String
|
|
8
|
+
if not File.exist?( File.expand_path(args[0]) )
|
|
9
|
+
Kernel.raise(ArgumentError, "Image file does not exist: #{args[0]}")
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
wx_init.bind(self).call(*args)
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Multi-item control with numerous possible view styles
|
|
2
|
+
class Wx::ListCtrl
|
|
3
|
+
# Make these ruby enumerables so find, find_all, map are available
|
|
4
|
+
include Enumerable
|
|
5
|
+
# Passes each valid item index into the passed block
|
|
6
|
+
def each
|
|
7
|
+
0.upto(item_count - 1) { | i | yield i }
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class Wx::Locale
|
|
2
|
+
class << self
|
|
3
|
+
def get_system_language_name
|
|
4
|
+
get_language_name( get_system_language )
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
def get_system_encoding_name
|
|
8
|
+
Wx::Font::ENCODING_NAMES[ get_system_encoding ]
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# Set the current locale by a name, canonical name, or Wx::LANGUAGE_
|
|
12
|
+
# constant; mainly here because it seems a bit strange in Ruby to
|
|
13
|
+
# have global side-effects in a constructor
|
|
14
|
+
def set_locale(locale)
|
|
15
|
+
if locale.kind_of?(Fixnum)
|
|
16
|
+
new(locale)
|
|
17
|
+
elsif locale.kind_of?(String) and lang_info = find_language_info(locale)
|
|
18
|
+
new(lang_info.language)
|
|
19
|
+
else
|
|
20
|
+
raise ArgumentError, "Unknown language #{locale}"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def get_language_name
|
|
26
|
+
self.class.get_language_name(get_language)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# A single labelled list within a drop-down menu, or a popup menu
|
|
2
|
+
class Wx::Menu
|
|
3
|
+
|
|
4
|
+
# In the standard WxWidgets API, the methods append, prepend, insert
|
|
5
|
+
# (and their variants) require a constant integer id as the identifier
|
|
6
|
+
# of the menu item. This is then used in event handling.
|
|
7
|
+
#
|
|
8
|
+
# In WxRuby the use of explicit ids can be avoided in most cases,
|
|
9
|
+
# being a most unruby-ish practice. So, by analogy with the general
|
|
10
|
+
# use of Wx::Window classes and event handlers, where the id is
|
|
11
|
+
# implicit in the constructor, and the window can be passed direct to
|
|
12
|
+
# the event handler setup method, the below sets up a similar facility
|
|
13
|
+
# for adding items to Wx::Menu.
|
|
14
|
+
#
|
|
15
|
+
# For all these methods, the only required argument is the string name
|
|
16
|
+
# of the menu item; a system-default id will be supplied if no
|
|
17
|
+
# explicit one is given. The return value of these methods in all
|
|
18
|
+
# cases is a Wx::MenuItem object, which can be passed directly as the
|
|
19
|
+
# first argument to an evt_menu handler.
|
|
20
|
+
def self.methods_with_optional_ids(*meth_names)
|
|
21
|
+
class_eval do
|
|
22
|
+
meth_names.each do | meth |
|
|
23
|
+
old_meth = instance_method(meth)
|
|
24
|
+
define_method(meth) do | *args |
|
|
25
|
+
case args.first
|
|
26
|
+
when Fixnum : old_meth.bind(self).call(*args)
|
|
27
|
+
when String : old_meth.bind(self).call(Wx::ID_ANY, *args)
|
|
28
|
+
when Wx::MenuItem : old_meth.bind(self).call(args.first)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# Create the optional-id methods
|
|
36
|
+
methods_with_optional_ids :append, :prepend,
|
|
37
|
+
:append_check_item, :prepend_check_item,
|
|
38
|
+
:append_radio_item, :prepend_radio_item
|
|
39
|
+
|
|
40
|
+
# This is much the same as above, except for insert and variants,
|
|
41
|
+
# which take an additional first argument, the position at which to
|
|
42
|
+
# insert the new item.
|
|
43
|
+
def self.methods_with_optional_ids_and_pos(*meth_names)
|
|
44
|
+
class_eval do
|
|
45
|
+
meth_names.each do | meth |
|
|
46
|
+
old_meth = instance_method(meth)
|
|
47
|
+
define_method(meth) do | pos, *args |
|
|
48
|
+
case args.first
|
|
49
|
+
when Fixnum : old_meth.bind(self).call(pos, *args)
|
|
50
|
+
when String : old_meth.bind(self).call(pos, Wx::ID_ANY, *args)
|
|
51
|
+
when Wx::MenuItem : old_meth.bind(self).call(pos, args.first)
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Create the optional-id methods
|
|
59
|
+
methods_with_optional_ids_and_pos :insert,
|
|
60
|
+
:insert_check_item,
|
|
61
|
+
:insert_radio_item
|
|
62
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Device Context to paint within an on_paint handler
|
|
2
|
+
class Wx::PaintDC
|
|
3
|
+
# This class should not be instantiated directly in wxRuby; it should
|
|
4
|
+
# always be used via Window#paint, which takes a block receiving the
|
|
5
|
+
# DC. This ensures that the DC is cleaned up at the correct time,
|
|
6
|
+
# preventing serious errors on some platforms.
|
|
7
|
+
define_method(:initialize) do | *args |
|
|
8
|
+
Kernel.raise RuntimeError,
|
|
9
|
+
"Do not instantiate PaintDC directly; use Window#paint",
|
|
10
|
+
caller[1..-1]
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
class Wx::Point
|
|
2
|
+
# More informative output when converted to string
|
|
3
|
+
def to_s
|
|
4
|
+
"#<Wx::Point: (#{x}, #{y})>"
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
# Return a new Wx::Point with the x and y parameters both divided by
|
|
8
|
+
# parameter +div+, which should be a Numeric
|
|
9
|
+
def /(div)
|
|
10
|
+
self.class.new( (get_x / div).to_i, (get_y / div).to_i )
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Return a new Wx::Point with the x and y values both multiplied by
|
|
14
|
+
# parameter +mul+, which should be a Numeric
|
|
15
|
+
def *(mul)
|
|
16
|
+
self.class.new( (get_x * mul).to_i, (get_y * mul).to_i )
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Return a new Wx::Point with the x and y values both reduced by
|
|
20
|
+
# parameter +arg+. If +arg+ is another Wx::Point, reduce x by the
|
|
21
|
+
# other's x and y by the other's y; if +arg+ is a numeric value,
|
|
22
|
+
# reduce x and y both by that value.
|
|
23
|
+
def -(arg)
|
|
24
|
+
case arg
|
|
25
|
+
when self.class
|
|
26
|
+
self.class.new( get_x - arg.get_x, get_y - arg.get_y )
|
|
27
|
+
when Numeric
|
|
28
|
+
self.class.new( (get_x - arg).to_i, (get_y - arg).to_i )
|
|
29
|
+
else
|
|
30
|
+
Kernel.raise TypeError, "Cannot add #{arg} to #{self.inspect}"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Return a new Wx::Point with the x and y values both increased by
|
|
35
|
+
# parameter +arg+. If +arg+ is another Wx::Point, increase x by the
|
|
36
|
+
# other's x and y by the other's y; if +arg+ is a numeric value,
|
|
37
|
+
# increase both x and y by that value.
|
|
38
|
+
def +(arg)
|
|
39
|
+
case arg
|
|
40
|
+
when self.class
|
|
41
|
+
self.class.new( get_x + arg.get_x, get_y + arg.get_y )
|
|
42
|
+
when Numeric
|
|
43
|
+
self.class.new( (get_x + arg).to_i, (get_y + arg).to_i )
|
|
44
|
+
else
|
|
45
|
+
Kernel.raise TypeError, "Cannot add #{arg} to #{self.inspect}"
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|