wxruby 1.9.3-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 +299 -0
- data/lib/wx.rb +42 -0
- data/lib/wx/accessors.rb +52 -0
- data/lib/wx/classes/app.rb +45 -0
- data/lib/wx/classes/artprovider.rb +31 -0
- data/lib/wx/classes/bitmap.rb +23 -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 +16 -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/event.rb +5 -0
- data/lib/wx/classes/evthandler.rb +894 -0
- data/lib/wx/classes/font.rb +118 -0
- data/lib/wx/classes/grid.rb +129 -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 +21 -0
- data/lib/wx/classes/locale.rb +28 -0
- data/lib/wx/classes/mediactrl.rb +22 -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/sound.rb +23 -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 +44 -0
- data/lib/wx/classes/window.rb +49 -0
- data/lib/wx/classes/xmlresource.rb +16 -0
- data/lib/wx/keyword_ctors.rb +219 -0
- data/lib/wx/keyword_defs.rb +485 -0
- data/lib/wx/version.rb +3 -0
- data/lib/wxruby2.so +0 -0
- data/samples/SAMPLES-LICENSE.TXT +18 -0
- data/samples/aui/aui.rb +1360 -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 +145 -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/drawing/graphics_drawing.rb +232 -0
- data/samples/drawing/images.rb +48 -0
- data/samples/drawing/paperclip.png +0 -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 +202 -0
- data/samples/html/html.rb +264 -0
- data/samples/listbook/listbook.rb +181 -0
- data/samples/listbook/listbook.xrc +370 -0
- data/samples/mdi/mdi.rb +87 -0
- data/samples/media/mediactrl.rb +173 -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/opengl/cube.rb +123 -0
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +44 -0
- data/samples/printing/printing.rb +484 -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/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 +1180 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/xrc_sample.rb +107 -0
- metadata +303 -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,129 @@
|
|
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
|
+
|
17
|
+
# These all need to be set up as private methods which default to an
|
18
|
+
# array. This can't be done in initialize b/c that may not be called
|
19
|
+
# when a Grid is loaded from XRC
|
20
|
+
%w| __cell_editors __col_editors __row_editors
|
21
|
+
__cell_renderers __col_renderers __row_renderers |.each do | meth |
|
22
|
+
define_method(meth) do
|
23
|
+
instance_variable_get("@#{meth}") ||
|
24
|
+
instance_variable_set("@#{meth}", [])
|
25
|
+
end
|
26
|
+
private meth
|
27
|
+
end
|
28
|
+
|
29
|
+
# store default editor
|
30
|
+
wx_set_default_editor = self.instance_method(:set_default_editor)
|
31
|
+
define_method(:set_default_editor) do | editr |
|
32
|
+
wx_set_default_editor.bind(self).call(editr)
|
33
|
+
@__default_editor = editr
|
34
|
+
end
|
35
|
+
|
36
|
+
# store default renderer
|
37
|
+
wx_set_default_renderer = self.instance_method(:set_default_renderer)
|
38
|
+
define_method(:set_default_renderer) do | rendr |
|
39
|
+
wx_set_default_renderer.bind(self).call(rendr)
|
40
|
+
@__default_renderer = rendr
|
41
|
+
end
|
42
|
+
|
43
|
+
# store cell editors
|
44
|
+
wx_set_cell_editor = self.instance_method(:set_cell_editor)
|
45
|
+
define_method(:set_cell_editor) do | row, col, editr |
|
46
|
+
wx_set_cell_editor.bind(self).call(row, col, editr)
|
47
|
+
__cell_editors[row] ||= []
|
48
|
+
__cell_editors[row][col] = editr
|
49
|
+
end
|
50
|
+
|
51
|
+
# store cell renderer
|
52
|
+
wx_set_cell_renderer = self.instance_method(:set_cell_renderer)
|
53
|
+
define_method(:set_cell_renderer) do | row, col, rendr |
|
54
|
+
wx_set_cell_renderer.bind(self).call(row, col, rendr)
|
55
|
+
__cell_renderers[row] ||= []
|
56
|
+
__cell_renderers[row][col] = rendr
|
57
|
+
end
|
58
|
+
|
59
|
+
# Store an editor and/or renderer for a whole column
|
60
|
+
wx_set_col_attr = self.instance_method(:set_col_attr)
|
61
|
+
define_method(:set_col_attr) do | col, attr |
|
62
|
+
wx_set_col_attr.bind(self).call(col, attr)
|
63
|
+
if attr.has_editor
|
64
|
+
__col_editors[col] = attr.get_editor(self, 0, col)
|
65
|
+
end
|
66
|
+
if attr.has_renderer
|
67
|
+
__col_renderers[col] = attr.get_renderer(self, 0, col)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Store an editor and/or renderer for a whole row
|
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
|
+
if attr.has_renderer
|
79
|
+
__row_renderers[row] = attr.get_renderer(self, row, 0)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# This and the following methods do a bit of book-keeping - as rows
|
84
|
+
# and columns are deleted and inserted, the position of the columns
|
85
|
+
# and rows with stored editors and renderers may move.
|
86
|
+
alias :__insert_rows :insert_rows
|
87
|
+
def insert_rows(pos = 0, num = 1, update_labels = true)
|
88
|
+
__insert_rows(pos, num, update_labels)
|
89
|
+
num.times { __row_editors.insert(pos, nil) }
|
90
|
+
num.times { __row_renderers.insert(pos, nil) }
|
91
|
+
num.times { __cell_editors.insert(pos, []) }
|
92
|
+
num.times { __cell_renderers.insert(pos, []) }
|
93
|
+
end
|
94
|
+
|
95
|
+
alias :__insert_cols :insert_cols
|
96
|
+
def insert_cols(pos = 0, num = 1, update_labels = true)
|
97
|
+
__insert_cols(pos, num, update_labels)
|
98
|
+
num.times { __col_editors.insert(pos, nil) }
|
99
|
+
num.times { __col_renderers.insert(pos, nil) }
|
100
|
+
num.times do
|
101
|
+
__cell_editors.map { | col | col.insert(pos, []) if col }
|
102
|
+
end
|
103
|
+
num.times do
|
104
|
+
__cell_renderers.map { | col | col.insert(pos, []) if col }
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
alias :__delete_rows :delete_rows
|
109
|
+
def delete_rows(pos = 0, num = 1, update_labels = true)
|
110
|
+
__delete_rows(pos, num, update_labels)
|
111
|
+
__row_editors.slice!(pos, num)
|
112
|
+
__row_renderers.slice!(pos, num)
|
113
|
+
__cell_editors.slice!(pos, num)
|
114
|
+
__cell_renderers.slice!(pos, num)
|
115
|
+
end
|
116
|
+
|
117
|
+
alias :__delete_cols :delete_cols
|
118
|
+
def delete_cols(pos = 0, num = 1, update_labels = true)
|
119
|
+
__delete_cols(pos, num, update_labels)
|
120
|
+
__col_editors.slice!(pos, num)
|
121
|
+
__col_renderers.slice!(pos, num)
|
122
|
+
num.times do
|
123
|
+
__cell_editors.map { | col | col.slice!(pos, num) if col }
|
124
|
+
end
|
125
|
+
num.times do
|
126
|
+
__cell_renderers.map { | col | col.slice!(pos, num) if col }
|
127
|
+
end
|
128
|
+
end
|
129
|
+
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,21 @@
|
|
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
|
+
|
10
|
+
# Stub version for LC_VIRTUAL controls that does nothing; may be
|
11
|
+
# overridden in subclasses.
|
12
|
+
def on_get_item_attr(i)
|
13
|
+
nil
|
14
|
+
end
|
15
|
+
|
16
|
+
# Stub version for LC_VIRTUAL|LC_REPORT controls that does nothing;
|
17
|
+
# may be overridden in subclasses.
|
18
|
+
def on_get_item_column_image(i, col)
|
19
|
+
-1
|
20
|
+
end
|
21
|
+
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,22 @@
|
|
1
|
+
# Functionality here must be loaded first to add custom events
|
2
|
+
require 'wx/classes/evthandler'
|
3
|
+
|
4
|
+
# These event handlers should only be defined if MediaCtrl is actually
|
5
|
+
# available; some builds may not include it
|
6
|
+
if defined?(Wx::MediaCtrl)
|
7
|
+
evt_type = Wx::EvtHandler::EventType
|
8
|
+
mediactrl_event_types = [
|
9
|
+
evt_type['evt_media_finished', 1,
|
10
|
+
Wx::EVT_MEDIA_FINISHED,
|
11
|
+
Wx::MediaEvent],
|
12
|
+
evt_type['evt_media_stop', 1,
|
13
|
+
Wx::EVT_MEDIA_STOP,
|
14
|
+
Wx::MediaEvent],
|
15
|
+
evt_type['evt_media_loaded', 1,
|
16
|
+
Wx::EVT_MEDIA_LOADED,
|
17
|
+
Wx::MediaEvent]
|
18
|
+
]
|
19
|
+
mediactrl_event_types.each do | ev_type |
|
20
|
+
Wx::EvtHandler.register_event_type(ev_type)
|
21
|
+
end
|
22
|
+
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 then old_meth.bind(self).call(*args)
|
27
|
+
when String then old_meth.bind(self).call(Wx::ID_ANY, *args)
|
28
|
+
when Wx::MenuItem then 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 then old_meth.bind(self).call(pos, *args)
|
50
|
+
when String then old_meth.bind(self).call(pos, Wx::ID_ANY, *args)
|
51
|
+
when Wx::MenuItem then 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
|