wxruby 1.9.2-i386-mswin32 → 1.9.3-i386-mswin32
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 -53
- data/README +299 -299
- data/lib/wx/classes/app.rb +6 -0
- data/lib/wx/classes/checklistbox.rb +45 -30
- data/lib/wx/classes/clipboard.rb +16 -0
- data/lib/wx/classes/event.rb +5 -0
- data/lib/wx/classes/evthandler.rb +20 -10
- data/lib/wx/classes/grid.rb +38 -39
- data/lib/wx/classes/listctrl.rb +12 -0
- data/lib/wx/classes/mediactrl.rb +22 -0
- data/lib/wx/classes/menu.rb +6 -6
- data/lib/wx/classes/sound.rb +23 -0
- data/lib/wx/classes/styledtextctrl.rb +2 -2
- data/lib/wx/classes/treectrl.rb +26 -0
- data/lib/wx/keyword_ctors.rb +19 -5
- data/lib/wx/keyword_defs.rb +20 -0
- data/lib/wx/version.rb +1 -1
- data/lib/wx.rb +42 -42
- data/lib/wxruby2.exp +0 -0
- data/lib/wxruby2.lib +0 -0
- data/lib/wxruby2.so +0 -0
- data/samples/SAMPLES-LICENSE.TXT +17 -17
- data/samples/aui/aui.rb +8 -1
- data/samples/bigdemo/About.rbw +39 -39
- data/samples/bigdemo/ColorPanel.rbw +25 -25
- data/samples/bigdemo/GridSimple.rbw +80 -80
- data/samples/bigdemo/MDIDemo.rbw +59 -59
- data/samples/bigdemo/PopupMenu.rbw +151 -151
- data/samples/bigdemo/Sizers.rbw +545 -545
- data/samples/bigdemo/bigdemo.rb +826 -826
- data/samples/bigdemo/demoTemplate.rbw +37 -37
- data/samples/bigdemo/icons/choice.xpm +27 -27
- data/samples/bigdemo/icons/combo.xpm +27 -27
- data/samples/bigdemo/icons/copy.xpm +25 -25
- data/samples/bigdemo/icons/cut.xpm +24 -24
- data/samples/bigdemo/icons/gauge.xpm +27 -27
- data/samples/bigdemo/icons/help.xpm +25 -25
- data/samples/bigdemo/icons/list.xpm +27 -27
- data/samples/bigdemo/icons/mondrian.xpm +44 -44
- data/samples/bigdemo/icons/new.xpm +24 -24
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +45 -45
- data/samples/bigdemo/icons/open.xpm +26 -26
- data/samples/bigdemo/icons/paste.xpm +38 -38
- data/samples/bigdemo/icons/preview.xpm +26 -26
- data/samples/bigdemo/icons/print.xpm +26 -26
- data/samples/bigdemo/icons/radio.xpm +27 -27
- data/samples/bigdemo/icons/robert.xpm +415 -415
- data/samples/bigdemo/icons/save.xpm +25 -25
- data/samples/bigdemo/icons/smiles.xpm +39 -39
- data/samples/bigdemo/icons/smiley.xpm +42 -42
- data/samples/bigdemo/icons/stattext.xpm +24 -24
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.xpm +79 -79
- data/samples/bigdemo/icons/text.xpm +27 -27
- data/samples/bigdemo/icons/tog1.xpm +38 -38
- data/samples/bigdemo/icons/tog2.xpm +38 -38
- data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
- data/samples/bigdemo/tips.txt +7 -7
- data/samples/bigdemo/utils.rb +11 -11
- data/samples/bigdemo/wxButton.rbw +66 -66
- data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
- data/samples/bigdemo/wxCheckBox.rbw +52 -52
- data/samples/bigdemo/wxCheckListBox.rbw +77 -77
- data/samples/bigdemo/wxChoice.rbw +49 -49
- data/samples/bigdemo/wxColourDialog.rbw +34 -34
- data/samples/bigdemo/wxComboBox.rbw +79 -79
- data/samples/bigdemo/wxDialog.rbw +92 -92
- data/samples/bigdemo/wxDirDialog.rbw +32 -32
- data/samples/bigdemo/wxFileDialog.rbw +39 -39
- data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
- data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
- data/samples/bigdemo/wxFontDialog.rbw +176 -176
- data/samples/bigdemo/wxFrame.rbw +55 -55
- data/samples/bigdemo/wxGauge.rbw +73 -73
- data/samples/bigdemo/wxGrid.rbw +68 -68
- data/samples/bigdemo/wxListBox.rbw +142 -142
- data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
- data/samples/bigdemo/wxMDIWindows.rbw +52 -52
- data/samples/bigdemo/wxMenu.rbw +238 -238
- data/samples/bigdemo/wxMessageDialog.rbw +30 -30
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
- data/samples/bigdemo/wxNotebook.rbw +138 -138
- data/samples/bigdemo/wxProgressDialog.rbw +45 -45
- data/samples/bigdemo/wxRadioBox.rbw +74 -74
- data/samples/bigdemo/wxRadioButton.rbw +127 -127
- data/samples/bigdemo/wxSashWindow.rbw +94 -104
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
- data/samples/bigdemo/wxScrolledWindow.rbw +201 -201
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
- data/samples/bigdemo/wxSlider.rbw +44 -44
- data/samples/bigdemo/wxSpinButton.rbw +52 -52
- data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
- data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
- data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
- data/samples/bigdemo/wxStaticText.rbw +57 -57
- data/samples/bigdemo/wxStatusBar.rbw +128 -128
- data/samples/bigdemo/wxTextCtrl.rbw +151 -151
- data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
- data/samples/bigdemo/wxToggleButton.rbw +51 -51
- data/samples/bigdemo/wxToolBar.rbw +133 -133
- data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
- data/samples/calendar/calendar.rb +275 -275
- data/samples/caret/caret.rb +286 -286
- data/samples/caret/mondrian.xpm +44 -44
- data/samples/controls/controls.rb +1140 -1140
- data/samples/controls/get_item_sample.rb +87 -87
- data/samples/controls/icons/choice.xpm +27 -27
- data/samples/controls/icons/combo.xpm +27 -27
- data/samples/controls/icons/gauge.xpm +27 -27
- data/samples/controls/icons/list.xpm +27 -27
- data/samples/controls/icons/radio.xpm +27 -27
- data/samples/controls/icons/stattext.xpm +24 -24
- data/samples/controls/icons/text.xpm +27 -27
- data/samples/controls/mondrian.xpm +44 -44
- data/samples/dialogs/dialogs.rb +724 -724
- data/samples/dialogs/tips.txt +18 -18
- data/samples/drawing/graphics_drawing.rb +232 -0
- data/samples/{images → drawing}/images.rb +48 -48
- data/samples/{images → drawing}/paperclip.png +0 -0
- data/samples/etc/activation.rb +108 -108
- data/samples/etc/choice.rb +72 -72
- data/samples/etc/miniframe.rb +84 -84
- data/samples/etc/sash.rb +135 -135
- data/samples/etc/scrollwin.rb +116 -116
- data/samples/etc/system_settings.rb +258 -258
- data/samples/etc/wizard.rb +79 -79
- data/samples/grid/grid.rb +1 -0
- data/samples/listbook/listbook.rb +181 -181
- data/samples/listbook/listbook.xrc +370 -370
- data/samples/mdi/mdi.rb +87 -87
- data/samples/media/mediactrl.rb +173 -0
- data/samples/minimal/minimal.rb +85 -85
- data/samples/minimal/nothing.rb +21 -21
- data/samples/opengl/cube.rb +123 -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/textctrl.rb +124 -124
- data/samples/text/unicode.rb +238 -238
- data/samples/text/utf8.txt +14 -14
- data/samples/treectrl/treectrl.rb +1180 -1181
- data/samples/xrc/samples.xrc +46 -46
- data/samples/xrc/xrc_sample.rb +107 -107
- metadata +26 -9
- data/samples/images/Thumbs.db +0 -0
@@ -1,38 +1,38 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'wx'
|
5
|
-
rescue LoadError => no_wx_err
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
$wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|SPAM files (*.spam)|*.spam|Egg file (*.egg)|*.egg|All Files (*.*)|*.*"
|
15
|
-
|
16
|
-
module Demo
|
17
|
-
def Demo.run(frame, nb, log)
|
18
|
-
log.write_text("CWD: " + Dir.getwd())
|
19
|
-
dlg = Wx::FileDialog.new(frame, "Save file as...", Dir.getwd(), "", $wildcard, Wx::SAVE)
|
20
|
-
dlg.set_filter_index(2)
|
21
|
-
if dlg.show_modal() == Wx::ID_OK
|
22
|
-
path = dlg.get_path()
|
23
|
-
log.write_text("You selected " + path)
|
24
|
-
log.write_text("CWD: " + Dir.getwd())
|
25
|
-
dlg.destroy()
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
def Demo.overview
|
30
|
-
return "Welcome to the wxRuby FileDialog_Save demo!"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
if __FILE__ == $0
|
35
|
-
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
36
|
-
load run_solo_lib
|
37
|
-
run File.basename($0)
|
38
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'wx'
|
5
|
+
rescue LoadError => no_wx_err
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
require 'wx'
|
9
|
+
rescue LoadError
|
10
|
+
raise no_wx_err
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
$wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|SPAM files (*.spam)|*.spam|Egg file (*.egg)|*.egg|All Files (*.*)|*.*"
|
15
|
+
|
16
|
+
module Demo
|
17
|
+
def Demo.run(frame, nb, log)
|
18
|
+
log.write_text("CWD: " + Dir.getwd())
|
19
|
+
dlg = Wx::FileDialog.new(frame, "Save file as...", Dir.getwd(), "", $wildcard, Wx::SAVE)
|
20
|
+
dlg.set_filter_index(2)
|
21
|
+
if dlg.show_modal() == Wx::ID_OK
|
22
|
+
path = dlg.get_path()
|
23
|
+
log.write_text("You selected " + path)
|
24
|
+
log.write_text("CWD: " + Dir.getwd())
|
25
|
+
dlg.destroy()
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def Demo.overview
|
30
|
+
return "Welcome to the wxRuby FileDialog_Save demo!"
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
if __FILE__ == $0
|
35
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
36
|
+
load run_solo_lib
|
37
|
+
run File.basename($0)
|
38
|
+
end
|
@@ -1,85 +1,85 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'wx'
|
5
|
-
rescue LoadError => no_wx_err
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class TestPanel < Wx::Panel
|
15
|
-
def initialize(parent, log)
|
16
|
-
super(parent, -1)
|
17
|
-
@log = log
|
18
|
-
|
19
|
-
b = Wx::Button.new(self, -1, "Show Find Dialog", Wx::Point.new(25, 50))
|
20
|
-
evt_button(b.get_id()) {|event| on_show_find(event)}
|
21
|
-
|
22
|
-
b = Wx::Button.new(self, -1, "Show Find && Replace Dialog", Wx::Point.new(25, 90))
|
23
|
-
evt_button(b.get_id()) {|event| on_show_find_replace(event)}
|
24
|
-
|
25
|
-
evt_find(-1) {|event| on_find(event)}
|
26
|
-
evt_find_next(-1) {|event| on_find(event)}
|
27
|
-
evt_find_replace(-1) {|event| on_find(event)}
|
28
|
-
evt_find_replace_all(-1) {|event| on_find(event)}
|
29
|
-
evt_find_close(-1) {|event| on_find_close(event)}
|
30
|
-
end
|
31
|
-
|
32
|
-
def on_show_find(evt)
|
33
|
-
data = Wx::FindReplaceData.new()
|
34
|
-
dlg = Wx::FindReplaceDialog.new(self, data, "Find")
|
35
|
-
#dlg.data = data # save a reference to it
|
36
|
-
dlg.show(true)
|
37
|
-
end
|
38
|
-
|
39
|
-
def on_show_find_replace(evt)
|
40
|
-
data = Wx::FindReplaceData.new()
|
41
|
-
dlg = Wx::FindReplaceDialog.new(self, data, "Find & Replace", Wx::FR_REPLACEDIALOG)
|
42
|
-
#dlg.data = data # save a reference to it
|
43
|
-
dlg.show(true)
|
44
|
-
end
|
45
|
-
|
46
|
-
def on_find(evt)
|
47
|
-
map = {Wx::EVT_COMMAND_FIND => "FIND", Wx::EVT_COMMAND_FIND_NEXT => "FIND_NEXT", Wx::EVT_COMMAND_FIND_REPLACE => "REPLACE",
|
48
|
-
Wx::EVT_COMMAND_FIND_REPLACE_ALL => "REPLACE_ALL"}
|
49
|
-
map.default = "**Unknown Event Type**"
|
50
|
-
et = evt.get_event_type()
|
51
|
-
evtType = map[et]
|
52
|
-
|
53
|
-
if et == Wx::EVT_COMMAND_FIND_REPLACE or et == Wx::EVT_COMMAND_FIND_REPLACE_ALL
|
54
|
-
replaceTxt = "Replace text: " + evt.get_replace_string()
|
55
|
-
else
|
56
|
-
replaceTxt = ""
|
57
|
-
end
|
58
|
-
|
59
|
-
@log.write_text(evtType.to_s + " -- Find text: " + evt.get_find_string() + " " + replaceTxt + " Flags: " + evt.get_flags.to_s)
|
60
|
-
|
61
|
-
end
|
62
|
-
|
63
|
-
def on_find_close(evt)
|
64
|
-
@log.write_text("Wx::FindReplaceDialog closing...")
|
65
|
-
evt.get_dialog().destroy()
|
66
|
-
end
|
67
|
-
|
68
|
-
end
|
69
|
-
|
70
|
-
module Demo
|
71
|
-
def Demo.run(frame, nb, log)
|
72
|
-
win = TestPanel.new(nb, log)
|
73
|
-
return win
|
74
|
-
end
|
75
|
-
|
76
|
-
def Demo.overview
|
77
|
-
return "A generic find and replace dialog"
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
if __FILE__ == $0
|
82
|
-
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
83
|
-
load run_solo_lib
|
84
|
-
run File.basename($0)
|
85
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'wx'
|
5
|
+
rescue LoadError => no_wx_err
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
require 'wx'
|
9
|
+
rescue LoadError
|
10
|
+
raise no_wx_err
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class TestPanel < Wx::Panel
|
15
|
+
def initialize(parent, log)
|
16
|
+
super(parent, -1)
|
17
|
+
@log = log
|
18
|
+
|
19
|
+
b = Wx::Button.new(self, -1, "Show Find Dialog", Wx::Point.new(25, 50))
|
20
|
+
evt_button(b.get_id()) {|event| on_show_find(event)}
|
21
|
+
|
22
|
+
b = Wx::Button.new(self, -1, "Show Find && Replace Dialog", Wx::Point.new(25, 90))
|
23
|
+
evt_button(b.get_id()) {|event| on_show_find_replace(event)}
|
24
|
+
|
25
|
+
evt_find(-1) {|event| on_find(event)}
|
26
|
+
evt_find_next(-1) {|event| on_find(event)}
|
27
|
+
evt_find_replace(-1) {|event| on_find(event)}
|
28
|
+
evt_find_replace_all(-1) {|event| on_find(event)}
|
29
|
+
evt_find_close(-1) {|event| on_find_close(event)}
|
30
|
+
end
|
31
|
+
|
32
|
+
def on_show_find(evt)
|
33
|
+
data = Wx::FindReplaceData.new()
|
34
|
+
dlg = Wx::FindReplaceDialog.new(self, data, "Find")
|
35
|
+
#dlg.data = data # save a reference to it
|
36
|
+
dlg.show(true)
|
37
|
+
end
|
38
|
+
|
39
|
+
def on_show_find_replace(evt)
|
40
|
+
data = Wx::FindReplaceData.new()
|
41
|
+
dlg = Wx::FindReplaceDialog.new(self, data, "Find & Replace", Wx::FR_REPLACEDIALOG)
|
42
|
+
#dlg.data = data # save a reference to it
|
43
|
+
dlg.show(true)
|
44
|
+
end
|
45
|
+
|
46
|
+
def on_find(evt)
|
47
|
+
map = {Wx::EVT_COMMAND_FIND => "FIND", Wx::EVT_COMMAND_FIND_NEXT => "FIND_NEXT", Wx::EVT_COMMAND_FIND_REPLACE => "REPLACE",
|
48
|
+
Wx::EVT_COMMAND_FIND_REPLACE_ALL => "REPLACE_ALL"}
|
49
|
+
map.default = "**Unknown Event Type**"
|
50
|
+
et = evt.get_event_type()
|
51
|
+
evtType = map[et]
|
52
|
+
|
53
|
+
if et == Wx::EVT_COMMAND_FIND_REPLACE or et == Wx::EVT_COMMAND_FIND_REPLACE_ALL
|
54
|
+
replaceTxt = "Replace text: " + evt.get_replace_string()
|
55
|
+
else
|
56
|
+
replaceTxt = ""
|
57
|
+
end
|
58
|
+
|
59
|
+
@log.write_text(evtType.to_s + " -- Find text: " + evt.get_find_string() + " " + replaceTxt + " Flags: " + evt.get_flags.to_s)
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
def on_find_close(evt)
|
64
|
+
@log.write_text("Wx::FindReplaceDialog closing...")
|
65
|
+
evt.get_dialog().destroy()
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
module Demo
|
71
|
+
def Demo.run(frame, nb, log)
|
72
|
+
win = TestPanel.new(nb, log)
|
73
|
+
return win
|
74
|
+
end
|
75
|
+
|
76
|
+
def Demo.overview
|
77
|
+
return "A generic find and replace dialog"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
if __FILE__ == $0
|
82
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
83
|
+
load run_solo_lib
|
84
|
+
run File.basename($0)
|
85
|
+
end
|
@@ -1,176 +1,176 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'wx'
|
5
|
-
rescue LoadError => no_wx_err
|
6
|
-
begin
|
7
|
-
require 'rubygems'
|
8
|
-
require 'wx'
|
9
|
-
rescue LoadError
|
10
|
-
raise no_wx_err
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
class FontTestPanel < Wx::Panel
|
15
|
-
def initialize(parent, log)
|
16
|
-
super(parent, -1)
|
17
|
-
@log = log
|
18
|
-
btn = Wx::Button.new(self, -1, "Select Font")
|
19
|
-
evt_button(btn.get_id()) {|event| on_select_font(event)}
|
20
|
-
|
21
|
-
@sampleText = Wx::TextCtrl.new(self, -1, "Sample Text")
|
22
|
-
@curFont = @sampleText.get_font()
|
23
|
-
@curClr = Wx::BLACK
|
24
|
-
|
25
|
-
fgs = Wx::FlexGridSizer.new(2,2, 5, 5)
|
26
|
-
fgs.add_growable_col(1)
|
27
|
-
fgs.add_growable_row(0)
|
28
|
-
|
29
|
-
fgs.add(btn, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
30
|
-
fgs.add(@sampleText, 10, Wx::ADJUST_MINSIZE | Wx::GROW)
|
31
|
-
|
32
|
-
fgs.add(15, 15)
|
33
|
-
fgs.add(15, 15) # an empty row
|
34
|
-
|
35
|
-
fgs.add(Wx::StaticText.new(self, -1, "PointSize: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
36
|
-
@ps = Wx::StaticText.new(self, -1, "")
|
37
|
-
font = @ps.get_font()
|
38
|
-
font.set_weight(Wx::BOLD)
|
39
|
-
@ps.set_font(font)
|
40
|
-
fgs.add(@ps, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
41
|
-
|
42
|
-
fgs.add(Wx::StaticText.new(self, -1, "Family: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
43
|
-
@family = Wx::StaticText.new(self, -1, "")
|
44
|
-
@family.set_font(font)
|
45
|
-
fgs.add(@family, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
46
|
-
|
47
|
-
fgs.add(Wx::StaticText.new(self, -1, "Style: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
48
|
-
@style = Wx::StaticText.new(self, -1, "")
|
49
|
-
@style.set_font(font)
|
50
|
-
fgs.add(@style, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
51
|
-
|
52
|
-
fgs.add(Wx::StaticText.new(self, -1, "Weight: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
53
|
-
@weight = Wx::StaticText.new(self, -1, "")
|
54
|
-
@weight.set_font(font)
|
55
|
-
fgs.add(@weight, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
56
|
-
|
57
|
-
fgs.add(Wx::StaticText.new(self, -1, "Face: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
58
|
-
@face = Wx::StaticText.new(self, -1, "")
|
59
|
-
@face.set_font(font)
|
60
|
-
fgs.add(@face, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
61
|
-
|
62
|
-
fgs.add(15, 15)
|
63
|
-
fgs.add(15, 15) # an empty row
|
64
|
-
|
65
|
-
fgs.add(Wx::StaticText.new(self, -1, "Wx::NativeFontInfo: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
66
|
-
@nfi = Wx::StaticText.new(self, -1, "")
|
67
|
-
@nfi.set_font(font)
|
68
|
-
fgs.add(@nfi, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
69
|
-
|
70
|
-
# give it some border space
|
71
|
-
|
72
|
-
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
73
|
-
sizer.add(fgs, 0, Wx::GROW | Wx::ADJUST_MINSIZE | Wx::ALL, 25)
|
74
|
-
|
75
|
-
set_sizer(sizer)
|
76
|
-
sizer.fit(self)
|
77
|
-
@sizer = fgs
|
78
|
-
update_ui()
|
79
|
-
end
|
80
|
-
|
81
|
-
def update_ui()
|
82
|
-
@sampleText.set_font(@curFont)
|
83
|
-
# layout() is called so that if the user changes the size of the Font, the text control will be properly displayed
|
84
|
-
# to show the whole font - just comment out this line, to see the font size change without corresponding changes
|
85
|
-
# to the text control :-)
|
86
|
-
# As a postscript, it is interesting to note that if I call layout() at the end of this method, it causes all of the
|
87
|
-
# labels to appear BLANK, showing nothing. Through trial and error, I moved it here, and found that it resized the
|
88
|
-
# text control properly and set the text of the labels too - I don't know why that is though?
|
89
|
-
@sizer.layout()
|
90
|
-
@ps.set_label(@curFont.get_point_size().to_s)
|
91
|
-
@family.set_label(map_font_value_to_name(@curFont.get_family()) )
|
92
|
-
@style.set_label(map_font_value_to_name(@curFont.get_style()))
|
93
|
-
@weight.set_label(map_font_value_to_name(@curFont.get_weight()))
|
94
|
-
@face.set_label(@curFont.get_face_name())
|
95
|
-
@nfi.set_label(@curFont.get_native_font_info_desc().to_s)
|
96
|
-
|
97
|
-
|
98
|
-
end
|
99
|
-
|
100
|
-
def on_select_font(evt)
|
101
|
-
data = Wx::FontData.new()
|
102
|
-
#data.enable_effects(true)
|
103
|
-
data.set_colour(@curClr) #set colour
|
104
|
-
data.set_initial_font(@curFont)
|
105
|
-
|
106
|
-
dlg = Wx::FontDialog.new(self, data)
|
107
|
-
if dlg.show_modal() == Wx::ID_OK
|
108
|
-
data = dlg.get_font_data()
|
109
|
-
font = data.get_chosen_font()
|
110
|
-
colour = data.get_colour()
|
111
|
-
@log.write_text("You selected: " + font.get_face_name() + ", " + font.get_point_size().to_s + " points, color (" +
|
112
|
-
get_rgb_string(colour))
|
113
|
-
@curFont = font
|
114
|
-
@curClr = colour
|
115
|
-
update_ui()
|
116
|
-
end
|
117
|
-
dlg.destroy()
|
118
|
-
end
|
119
|
-
|
120
|
-
def map_font_value_to_name(constant)
|
121
|
-
case constant
|
122
|
-
when Wx::DEFAULT
|
123
|
-
return "Wx::DEFAULT"
|
124
|
-
when Wx::DECORATIVE
|
125
|
-
return "Wx::DECORATIVE"
|
126
|
-
when Wx::ROMAN
|
127
|
-
return "Wx::ROMAN"
|
128
|
-
when Wx::SCRIPT
|
129
|
-
return "Wx::SCRIPT"
|
130
|
-
when Wx::SWISS
|
131
|
-
return "Wx::SWISS"
|
132
|
-
when Wx::MODERN
|
133
|
-
return "Wx::MODERN"
|
134
|
-
when Wx::TELETYPE
|
135
|
-
return "Wx::TELETYPE"
|
136
|
-
when Wx::NORMAL
|
137
|
-
return "Wx::NORMAL"
|
138
|
-
when Wx::SLANT
|
139
|
-
return "Wx::SLANT"
|
140
|
-
when Wx::ITALIC
|
141
|
-
return "Wx::ITALIC"
|
142
|
-
when Wx::LIGHT
|
143
|
-
return "Wx::LIGHT"
|
144
|
-
when Wx::BOLD
|
145
|
-
return "Wx::BOLD"
|
146
|
-
else
|
147
|
-
return "Unknown"
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
def get_rgb_string(color)
|
152
|
-
red = color.red().to_s()
|
153
|
-
green = color.green().to_s()
|
154
|
-
blue = color.blue().to_s()
|
155
|
-
return "(%s, %s, %s)" % [red, green, blue]
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
module Demo
|
160
|
-
def Demo.run(frame, nb, log)
|
161
|
-
win = FontTestPanel.new(nb, log)
|
162
|
-
return win
|
163
|
-
|
164
|
-
end
|
165
|
-
|
166
|
-
def Demo.overview
|
167
|
-
return "This class allows you to use the system font chooser dialog."
|
168
|
-
end
|
169
|
-
end
|
170
|
-
|
171
|
-
|
172
|
-
if __FILE__ == $0
|
173
|
-
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
174
|
-
load run_solo_lib
|
175
|
-
run File.basename($0)
|
176
|
-
end
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'wx'
|
5
|
+
rescue LoadError => no_wx_err
|
6
|
+
begin
|
7
|
+
require 'rubygems'
|
8
|
+
require 'wx'
|
9
|
+
rescue LoadError
|
10
|
+
raise no_wx_err
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
class FontTestPanel < Wx::Panel
|
15
|
+
def initialize(parent, log)
|
16
|
+
super(parent, -1)
|
17
|
+
@log = log
|
18
|
+
btn = Wx::Button.new(self, -1, "Select Font")
|
19
|
+
evt_button(btn.get_id()) {|event| on_select_font(event)}
|
20
|
+
|
21
|
+
@sampleText = Wx::TextCtrl.new(self, -1, "Sample Text")
|
22
|
+
@curFont = @sampleText.get_font()
|
23
|
+
@curClr = Wx::BLACK
|
24
|
+
|
25
|
+
fgs = Wx::FlexGridSizer.new(2,2, 5, 5)
|
26
|
+
fgs.add_growable_col(1)
|
27
|
+
fgs.add_growable_row(0)
|
28
|
+
|
29
|
+
fgs.add(btn, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
30
|
+
fgs.add(@sampleText, 10, Wx::ADJUST_MINSIZE | Wx::GROW)
|
31
|
+
|
32
|
+
fgs.add(15, 15)
|
33
|
+
fgs.add(15, 15) # an empty row
|
34
|
+
|
35
|
+
fgs.add(Wx::StaticText.new(self, -1, "PointSize: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
36
|
+
@ps = Wx::StaticText.new(self, -1, "")
|
37
|
+
font = @ps.get_font()
|
38
|
+
font.set_weight(Wx::BOLD)
|
39
|
+
@ps.set_font(font)
|
40
|
+
fgs.add(@ps, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
41
|
+
|
42
|
+
fgs.add(Wx::StaticText.new(self, -1, "Family: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
43
|
+
@family = Wx::StaticText.new(self, -1, "")
|
44
|
+
@family.set_font(font)
|
45
|
+
fgs.add(@family, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
46
|
+
|
47
|
+
fgs.add(Wx::StaticText.new(self, -1, "Style: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
48
|
+
@style = Wx::StaticText.new(self, -1, "")
|
49
|
+
@style.set_font(font)
|
50
|
+
fgs.add(@style, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
51
|
+
|
52
|
+
fgs.add(Wx::StaticText.new(self, -1, "Weight: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
53
|
+
@weight = Wx::StaticText.new(self, -1, "")
|
54
|
+
@weight.set_font(font)
|
55
|
+
fgs.add(@weight, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
56
|
+
|
57
|
+
fgs.add(Wx::StaticText.new(self, -1, "Face: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
58
|
+
@face = Wx::StaticText.new(self, -1, "")
|
59
|
+
@face.set_font(font)
|
60
|
+
fgs.add(@face, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
61
|
+
|
62
|
+
fgs.add(15, 15)
|
63
|
+
fgs.add(15, 15) # an empty row
|
64
|
+
|
65
|
+
fgs.add(Wx::StaticText.new(self, -1, "Wx::NativeFontInfo: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
66
|
+
@nfi = Wx::StaticText.new(self, -1, "")
|
67
|
+
@nfi.set_font(font)
|
68
|
+
fgs.add(@nfi, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
69
|
+
|
70
|
+
# give it some border space
|
71
|
+
|
72
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
73
|
+
sizer.add(fgs, 0, Wx::GROW | Wx::ADJUST_MINSIZE | Wx::ALL, 25)
|
74
|
+
|
75
|
+
set_sizer(sizer)
|
76
|
+
sizer.fit(self)
|
77
|
+
@sizer = fgs
|
78
|
+
update_ui()
|
79
|
+
end
|
80
|
+
|
81
|
+
def update_ui()
|
82
|
+
@sampleText.set_font(@curFont)
|
83
|
+
# layout() is called so that if the user changes the size of the Font, the text control will be properly displayed
|
84
|
+
# to show the whole font - just comment out this line, to see the font size change without corresponding changes
|
85
|
+
# to the text control :-)
|
86
|
+
# As a postscript, it is interesting to note that if I call layout() at the end of this method, it causes all of the
|
87
|
+
# labels to appear BLANK, showing nothing. Through trial and error, I moved it here, and found that it resized the
|
88
|
+
# text control properly and set the text of the labels too - I don't know why that is though?
|
89
|
+
@sizer.layout()
|
90
|
+
@ps.set_label(@curFont.get_point_size().to_s)
|
91
|
+
@family.set_label(map_font_value_to_name(@curFont.get_family()) )
|
92
|
+
@style.set_label(map_font_value_to_name(@curFont.get_style()))
|
93
|
+
@weight.set_label(map_font_value_to_name(@curFont.get_weight()))
|
94
|
+
@face.set_label(@curFont.get_face_name())
|
95
|
+
@nfi.set_label(@curFont.get_native_font_info_desc().to_s)
|
96
|
+
|
97
|
+
|
98
|
+
end
|
99
|
+
|
100
|
+
def on_select_font(evt)
|
101
|
+
data = Wx::FontData.new()
|
102
|
+
#data.enable_effects(true)
|
103
|
+
data.set_colour(@curClr) #set colour
|
104
|
+
data.set_initial_font(@curFont)
|
105
|
+
|
106
|
+
dlg = Wx::FontDialog.new(self, data)
|
107
|
+
if dlg.show_modal() == Wx::ID_OK
|
108
|
+
data = dlg.get_font_data()
|
109
|
+
font = data.get_chosen_font()
|
110
|
+
colour = data.get_colour()
|
111
|
+
@log.write_text("You selected: " + font.get_face_name() + ", " + font.get_point_size().to_s + " points, color (" +
|
112
|
+
get_rgb_string(colour))
|
113
|
+
@curFont = font
|
114
|
+
@curClr = colour
|
115
|
+
update_ui()
|
116
|
+
end
|
117
|
+
dlg.destroy()
|
118
|
+
end
|
119
|
+
|
120
|
+
def map_font_value_to_name(constant)
|
121
|
+
case constant
|
122
|
+
when Wx::DEFAULT
|
123
|
+
return "Wx::DEFAULT"
|
124
|
+
when Wx::DECORATIVE
|
125
|
+
return "Wx::DECORATIVE"
|
126
|
+
when Wx::ROMAN
|
127
|
+
return "Wx::ROMAN"
|
128
|
+
when Wx::SCRIPT
|
129
|
+
return "Wx::SCRIPT"
|
130
|
+
when Wx::SWISS
|
131
|
+
return "Wx::SWISS"
|
132
|
+
when Wx::MODERN
|
133
|
+
return "Wx::MODERN"
|
134
|
+
when Wx::TELETYPE
|
135
|
+
return "Wx::TELETYPE"
|
136
|
+
when Wx::NORMAL
|
137
|
+
return "Wx::NORMAL"
|
138
|
+
when Wx::SLANT
|
139
|
+
return "Wx::SLANT"
|
140
|
+
when Wx::ITALIC
|
141
|
+
return "Wx::ITALIC"
|
142
|
+
when Wx::LIGHT
|
143
|
+
return "Wx::LIGHT"
|
144
|
+
when Wx::BOLD
|
145
|
+
return "Wx::BOLD"
|
146
|
+
else
|
147
|
+
return "Unknown"
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
151
|
+
def get_rgb_string(color)
|
152
|
+
red = color.red().to_s()
|
153
|
+
green = color.green().to_s()
|
154
|
+
blue = color.blue().to_s()
|
155
|
+
return "(%s, %s, %s)" % [red, green, blue]
|
156
|
+
end
|
157
|
+
end
|
158
|
+
|
159
|
+
module Demo
|
160
|
+
def Demo.run(frame, nb, log)
|
161
|
+
win = FontTestPanel.new(nb, log)
|
162
|
+
return win
|
163
|
+
|
164
|
+
end
|
165
|
+
|
166
|
+
def Demo.overview
|
167
|
+
return "This class allows you to use the system font chooser dialog."
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
|
172
|
+
if __FILE__ == $0
|
173
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
174
|
+
load run_solo_lib
|
175
|
+
run File.basename($0)
|
176
|
+
end
|