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.
Files changed (149) hide show
  1. data/LICENSE +53 -53
  2. data/README +299 -299
  3. data/lib/wx/classes/app.rb +6 -0
  4. data/lib/wx/classes/checklistbox.rb +45 -30
  5. data/lib/wx/classes/clipboard.rb +16 -0
  6. data/lib/wx/classes/event.rb +5 -0
  7. data/lib/wx/classes/evthandler.rb +20 -10
  8. data/lib/wx/classes/grid.rb +38 -39
  9. data/lib/wx/classes/listctrl.rb +12 -0
  10. data/lib/wx/classes/mediactrl.rb +22 -0
  11. data/lib/wx/classes/menu.rb +6 -6
  12. data/lib/wx/classes/sound.rb +23 -0
  13. data/lib/wx/classes/styledtextctrl.rb +2 -2
  14. data/lib/wx/classes/treectrl.rb +26 -0
  15. data/lib/wx/keyword_ctors.rb +19 -5
  16. data/lib/wx/keyword_defs.rb +20 -0
  17. data/lib/wx/version.rb +1 -1
  18. data/lib/wx.rb +42 -42
  19. data/lib/wxruby2.exp +0 -0
  20. data/lib/wxruby2.lib +0 -0
  21. data/lib/wxruby2.so +0 -0
  22. data/samples/SAMPLES-LICENSE.TXT +17 -17
  23. data/samples/aui/aui.rb +8 -1
  24. data/samples/bigdemo/About.rbw +39 -39
  25. data/samples/bigdemo/ColorPanel.rbw +25 -25
  26. data/samples/bigdemo/GridSimple.rbw +80 -80
  27. data/samples/bigdemo/MDIDemo.rbw +59 -59
  28. data/samples/bigdemo/PopupMenu.rbw +151 -151
  29. data/samples/bigdemo/Sizers.rbw +545 -545
  30. data/samples/bigdemo/bigdemo.rb +826 -826
  31. data/samples/bigdemo/demoTemplate.rbw +37 -37
  32. data/samples/bigdemo/icons/choice.xpm +27 -27
  33. data/samples/bigdemo/icons/combo.xpm +27 -27
  34. data/samples/bigdemo/icons/copy.xpm +25 -25
  35. data/samples/bigdemo/icons/cut.xpm +24 -24
  36. data/samples/bigdemo/icons/gauge.xpm +27 -27
  37. data/samples/bigdemo/icons/help.xpm +25 -25
  38. data/samples/bigdemo/icons/list.xpm +27 -27
  39. data/samples/bigdemo/icons/mondrian.xpm +44 -44
  40. data/samples/bigdemo/icons/new.xpm +24 -24
  41. data/samples/bigdemo/icons/ogl.ico +0 -0
  42. data/samples/bigdemo/icons/ogl.xpm +45 -45
  43. data/samples/bigdemo/icons/open.xpm +26 -26
  44. data/samples/bigdemo/icons/paste.xpm +38 -38
  45. data/samples/bigdemo/icons/preview.xpm +26 -26
  46. data/samples/bigdemo/icons/print.xpm +26 -26
  47. data/samples/bigdemo/icons/radio.xpm +27 -27
  48. data/samples/bigdemo/icons/robert.xpm +415 -415
  49. data/samples/bigdemo/icons/save.xpm +25 -25
  50. data/samples/bigdemo/icons/smiles.xpm +39 -39
  51. data/samples/bigdemo/icons/smiley.xpm +42 -42
  52. data/samples/bigdemo/icons/stattext.xpm +24 -24
  53. data/samples/bigdemo/icons/test2.bmp +0 -0
  54. data/samples/bigdemo/icons/test2.xpm +79 -79
  55. data/samples/bigdemo/icons/text.xpm +27 -27
  56. data/samples/bigdemo/icons/tog1.xpm +38 -38
  57. data/samples/bigdemo/icons/tog2.xpm +38 -38
  58. data/samples/bigdemo/icons/wxwin16x16.xpm +25 -25
  59. data/samples/bigdemo/tips.txt +7 -7
  60. data/samples/bigdemo/utils.rb +11 -11
  61. data/samples/bigdemo/wxButton.rbw +66 -66
  62. data/samples/bigdemo/wxCalendarCtrl.rbw +72 -72
  63. data/samples/bigdemo/wxCheckBox.rbw +52 -52
  64. data/samples/bigdemo/wxCheckListBox.rbw +77 -77
  65. data/samples/bigdemo/wxChoice.rbw +49 -49
  66. data/samples/bigdemo/wxColourDialog.rbw +34 -34
  67. data/samples/bigdemo/wxComboBox.rbw +79 -79
  68. data/samples/bigdemo/wxDialog.rbw +92 -92
  69. data/samples/bigdemo/wxDirDialog.rbw +32 -32
  70. data/samples/bigdemo/wxFileDialog.rbw +39 -39
  71. data/samples/bigdemo/wxFileDialog_Save.rbw +38 -38
  72. data/samples/bigdemo/wxFindReplaceDialog.rbw +85 -85
  73. data/samples/bigdemo/wxFontDialog.rbw +176 -176
  74. data/samples/bigdemo/wxFrame.rbw +55 -55
  75. data/samples/bigdemo/wxGauge.rbw +73 -73
  76. data/samples/bigdemo/wxGrid.rbw +68 -68
  77. data/samples/bigdemo/wxListBox.rbw +142 -142
  78. data/samples/bigdemo/wxListCtrl_virtual.rbw +109 -109
  79. data/samples/bigdemo/wxMDIWindows.rbw +52 -52
  80. data/samples/bigdemo/wxMenu.rbw +238 -238
  81. data/samples/bigdemo/wxMessageDialog.rbw +30 -30
  82. data/samples/bigdemo/wxMultipleChoiceDialog.rbw +34 -34
  83. data/samples/bigdemo/wxNotebook.rbw +138 -138
  84. data/samples/bigdemo/wxProgressDialog.rbw +45 -45
  85. data/samples/bigdemo/wxRadioBox.rbw +74 -74
  86. data/samples/bigdemo/wxRadioButton.rbw +127 -127
  87. data/samples/bigdemo/wxSashWindow.rbw +94 -104
  88. data/samples/bigdemo/wxScrolledMessageDialog.rbw +59 -59
  89. data/samples/bigdemo/wxScrolledWindow.rbw +201 -201
  90. data/samples/bigdemo/wxSingleChoiceDialog.rbw +35 -35
  91. data/samples/bigdemo/wxSlider.rbw +44 -44
  92. data/samples/bigdemo/wxSpinButton.rbw +52 -52
  93. data/samples/bigdemo/wxSpinCtrl.rbw +53 -53
  94. data/samples/bigdemo/wxSplitterWindow.rbw +65 -65
  95. data/samples/bigdemo/wxStaticBitmap.rbw +53 -53
  96. data/samples/bigdemo/wxStaticText.rbw +57 -57
  97. data/samples/bigdemo/wxStatusBar.rbw +128 -128
  98. data/samples/bigdemo/wxTextCtrl.rbw +151 -151
  99. data/samples/bigdemo/wxTextEntryDialog.rbw +34 -34
  100. data/samples/bigdemo/wxToggleButton.rbw +51 -51
  101. data/samples/bigdemo/wxToolBar.rbw +133 -133
  102. data/samples/bigdemo/wxTreeCtrl.rbw +192 -192
  103. data/samples/calendar/calendar.rb +275 -275
  104. data/samples/caret/caret.rb +286 -286
  105. data/samples/caret/mondrian.xpm +44 -44
  106. data/samples/controls/controls.rb +1140 -1140
  107. data/samples/controls/get_item_sample.rb +87 -87
  108. data/samples/controls/icons/choice.xpm +27 -27
  109. data/samples/controls/icons/combo.xpm +27 -27
  110. data/samples/controls/icons/gauge.xpm +27 -27
  111. data/samples/controls/icons/list.xpm +27 -27
  112. data/samples/controls/icons/radio.xpm +27 -27
  113. data/samples/controls/icons/stattext.xpm +24 -24
  114. data/samples/controls/icons/text.xpm +27 -27
  115. data/samples/controls/mondrian.xpm +44 -44
  116. data/samples/dialogs/dialogs.rb +724 -724
  117. data/samples/dialogs/tips.txt +18 -18
  118. data/samples/drawing/graphics_drawing.rb +232 -0
  119. data/samples/{images → drawing}/images.rb +48 -48
  120. data/samples/{images → drawing}/paperclip.png +0 -0
  121. data/samples/etc/activation.rb +108 -108
  122. data/samples/etc/choice.rb +72 -72
  123. data/samples/etc/miniframe.rb +84 -84
  124. data/samples/etc/sash.rb +135 -135
  125. data/samples/etc/scrollwin.rb +116 -116
  126. data/samples/etc/system_settings.rb +258 -258
  127. data/samples/etc/wizard.rb +79 -79
  128. data/samples/grid/grid.rb +1 -0
  129. data/samples/listbook/listbook.rb +181 -181
  130. data/samples/listbook/listbook.xrc +370 -370
  131. data/samples/mdi/mdi.rb +87 -87
  132. data/samples/media/mediactrl.rb +173 -0
  133. data/samples/minimal/minimal.rb +85 -85
  134. data/samples/minimal/nothing.rb +21 -21
  135. data/samples/opengl/cube.rb +123 -0
  136. data/samples/sockets/SocketPackets.rb +27 -0
  137. data/samples/sockets/res/message-new.png +0 -0
  138. data/samples/sockets/res/user.png +0 -0
  139. data/samples/sockets/wxClient.rb +395 -0
  140. data/samples/sockets/wxServer.rb +422 -0
  141. data/samples/sockets/wxSocketGUI.rb +97 -0
  142. data/samples/text/textctrl.rb +124 -124
  143. data/samples/text/unicode.rb +238 -238
  144. data/samples/text/utf8.txt +14 -14
  145. data/samples/treectrl/treectrl.rb +1180 -1181
  146. data/samples/xrc/samples.xrc +46 -46
  147. data/samples/xrc/xrc_sample.rb +107 -107
  148. metadata +26 -9
  149. 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