wxruby-ruby19 1.9.8-x86-darwin-9 → 1.9.10-x86-darwin-9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/LICENSE +53 -0
- data/README +297 -0
- data/lib/wx.rb +2 -2
- data/lib/wx/accessors.rb +7 -1
- data/lib/wx/classes/app.rb +10 -4
- data/lib/wx/classes/bitmap.rb +29 -1
- data/lib/wx/classes/clipboard.rb +19 -3
- data/lib/wx/classes/colour.rb +6 -4
- data/lib/wx/classes/data_object.rb +14 -0
- data/lib/wx/classes/data_object_simple.rb +6 -0
- data/lib/wx/classes/dataformat.rb +23 -0
- data/lib/wx/classes/evthandler.rb +79 -4
- data/lib/wx/classes/genericdirctrl.rb +36 -0
- data/lib/wx/classes/grid.rb +8 -0
- data/lib/wx/classes/hboxsizer.rb +6 -0
- data/lib/wx/classes/icon.rb +12 -1
- data/lib/wx/classes/image.rb +13 -1
- data/lib/wx/classes/listctrl.rb +12 -0
- data/lib/wx/classes/point.rb +8 -0
- data/lib/wx/classes/rect.rb +10 -1
- data/lib/wx/classes/richtextctrl.rb +63 -0
- data/lib/wx/classes/size.rb +9 -0
- data/lib/wx/classes/sizer.rb +18 -3
- data/lib/wx/classes/standardpaths.rb +9 -0
- data/lib/wx/classes/texturlevent.rb +14 -2
- data/lib/wx/classes/toolbar.rb +4 -6
- data/lib/wx/classes/vboxsizer.rb +6 -0
- data/lib/wx/classes/window.rb +7 -0
- data/lib/wx/classes/xmlresource.rb +17 -0
- data/lib/wx/helpers.rb +16 -1
- data/lib/wx/keyword_ctors.rb +3 -2
- data/lib/wx/keyword_defs.rb +56 -5
- data/lib/wx/version.rb +1 -1
- data/lib/wxruby2.bundle +0 -0
- data/samples/SAMPLES-LICENSE.TXT +18 -0
- data/samples/aui/aui.rb +1356 -0
- data/samples/bigdemo/About.rbw +39 -0
- data/samples/bigdemo/ColorPanel.rbw +23 -0
- data/samples/bigdemo/GridSimple.rbw +78 -0
- data/samples/bigdemo/MDIDemo.rbw +57 -0
- data/samples/bigdemo/PopupMenu.rbw +149 -0
- data/samples/bigdemo/ShapedWindow.rbw +131 -0
- data/samples/bigdemo/Sizers.rbw +543 -0
- data/samples/bigdemo/bigdemo.rb +823 -0
- data/samples/bigdemo/demoTemplate.rbw +33 -0
- data/samples/bigdemo/helpfile.htb +0 -0
- data/samples/bigdemo/icons/Test 015.jpg +0 -0
- data/samples/bigdemo/icons/Test 015.png +0 -0
- data/samples/bigdemo/icons/choice.bmp +0 -0
- data/samples/bigdemo/icons/choice.xpm +27 -0
- data/samples/bigdemo/icons/combo.bmp +0 -0
- data/samples/bigdemo/icons/combo.xpm +27 -0
- data/samples/bigdemo/icons/copy.xpm +25 -0
- data/samples/bigdemo/icons/cut.xpm +24 -0
- data/samples/bigdemo/icons/gauge.bmp +0 -0
- data/samples/bigdemo/icons/gauge.xpm +27 -0
- data/samples/bigdemo/icons/help.xpm +25 -0
- data/samples/bigdemo/icons/list.bmp +0 -0
- data/samples/bigdemo/icons/list.xpm +27 -0
- data/samples/bigdemo/icons/mondrian.ico +0 -0
- data/samples/bigdemo/icons/mondrian.xpm +44 -0
- data/samples/bigdemo/icons/new.xpm +24 -0
- data/samples/bigdemo/icons/ogl.ico +0 -0
- data/samples/bigdemo/icons/ogl.xpm +45 -0
- data/samples/bigdemo/icons/open.xpm +26 -0
- data/samples/bigdemo/icons/paste.bmp +0 -0
- data/samples/bigdemo/icons/paste.xpm +38 -0
- data/samples/bigdemo/icons/pointy.png +0 -0
- data/samples/bigdemo/icons/preview.xpm +26 -0
- data/samples/bigdemo/icons/print.xpm +26 -0
- data/samples/bigdemo/icons/radio.bmp +0 -0
- data/samples/bigdemo/icons/radio.xpm +27 -0
- data/samples/bigdemo/icons/robert.xpm +415 -0
- data/samples/bigdemo/icons/ruby.png +0 -0
- data/samples/bigdemo/icons/sashtest.ico +0 -0
- data/samples/bigdemo/icons/save.xpm +25 -0
- data/samples/bigdemo/icons/smiles.bmp +0 -0
- data/samples/bigdemo/icons/smiles.xpm +39 -0
- data/samples/bigdemo/icons/smiley.ico +0 -0
- data/samples/bigdemo/icons/smiley.xpm +42 -0
- data/samples/bigdemo/icons/stattext.xpm +24 -0
- data/samples/bigdemo/icons/test2.bmp +0 -0
- data/samples/bigdemo/icons/test2.png +0 -0
- data/samples/bigdemo/icons/test2.xpm +79 -0
- data/samples/bigdemo/icons/text.bmp +0 -0
- data/samples/bigdemo/icons/text.xpm +27 -0
- data/samples/bigdemo/icons/tog1.bmp +0 -0
- data/samples/bigdemo/icons/tog1.xpm +38 -0
- data/samples/bigdemo/icons/tog2.bmp +0 -0
- data/samples/bigdemo/icons/tog2.xpm +38 -0
- data/samples/bigdemo/icons/wxwin.ico +0 -0
- data/samples/bigdemo/icons/wxwin16x16.png +0 -0
- data/samples/bigdemo/icons/wxwin16x16.xpm +25 -0
- data/samples/bigdemo/icons/wxwin32x32.png +0 -0
- data/samples/bigdemo/icons/wxwin48x48.png +0 -0
- data/samples/bigdemo/run.rb +90 -0
- data/samples/bigdemo/tips.txt +7 -0
- data/samples/bigdemo/utils.rb +12 -0
- data/samples/bigdemo/wxArtProvider.rbw +281 -0
- data/samples/bigdemo/wxBitmapButton.rbw +65 -0
- data/samples/bigdemo/wxButton.rbw +64 -0
- data/samples/bigdemo/wxCalendarCtrl.rbw +60 -0
- data/samples/bigdemo/wxCheckBox.rbw +50 -0
- data/samples/bigdemo/wxCheckListBox.rbw +65 -0
- data/samples/bigdemo/wxChoice.rbw +47 -0
- data/samples/bigdemo/wxChoicebook.rbw +78 -0
- data/samples/bigdemo/wxColourDialog.rbw +31 -0
- data/samples/bigdemo/wxComboBox.rbw +77 -0
- data/samples/bigdemo/wxCursor.rbw +136 -0
- data/samples/bigdemo/wxDialog.rbw +74 -0
- data/samples/bigdemo/wxDirDialog.rbw +29 -0
- data/samples/bigdemo/wxDragImage.rbw +70 -0
- data/samples/bigdemo/wxFileDialog.rbw +37 -0
- data/samples/bigdemo/wxFileDialog_Save.rbw +35 -0
- data/samples/bigdemo/wxFindReplaceDialog.rbw +82 -0
- data/samples/bigdemo/wxFontDialog.rbw +173 -0
- data/samples/bigdemo/wxFrame.rbw +53 -0
- data/samples/bigdemo/wxGauge.rbw +71 -0
- data/samples/bigdemo/wxGenericDirCtrl.rbw +74 -0
- data/samples/bigdemo/wxGrid.rbw +66 -0
- data/samples/bigdemo/wxHtmlHelpController.rbw +52 -0
- data/samples/bigdemo/wxListBox.rbw +140 -0
- data/samples/bigdemo/wxListCtrl_virtual.rbw +112 -0
- data/samples/bigdemo/wxMDIWindows.rbw +50 -0
- data/samples/bigdemo/wxMenu.rbw +236 -0
- data/samples/bigdemo/wxMessageDialog.rbw +27 -0
- data/samples/bigdemo/wxMiniFrame.rbw +70 -0
- data/samples/bigdemo/wxMultipleChoiceDialog.rbw +32 -0
- data/samples/bigdemo/wxNotebook.rbw +136 -0
- data/samples/bigdemo/wxProgressDialog.rbw +43 -0
- data/samples/bigdemo/wxRadioBox.rbw +72 -0
- data/samples/bigdemo/wxRadioButton.rbw +125 -0
- data/samples/bigdemo/wxSashWindow.rbw +141 -0
- data/samples/bigdemo/wxScrolledMessageDialog.rbw +57 -0
- data/samples/bigdemo/wxScrolledWindow.rbw +199 -0
- data/samples/bigdemo/wxSingleChoiceDialog.rbw +33 -0
- data/samples/bigdemo/wxSlider.rbw +42 -0
- data/samples/bigdemo/wxSpinButton.rbw +50 -0
- data/samples/bigdemo/wxSpinCtrl.rbw +51 -0
- data/samples/bigdemo/wxSplitterWindow.rbw +63 -0
- data/samples/bigdemo/wxStaticBitmap.rbw +51 -0
- data/samples/bigdemo/wxStaticText.rbw +55 -0
- data/samples/bigdemo/wxStatusBar.rbw +126 -0
- data/samples/bigdemo/wxTextCtrl.rbw +149 -0
- data/samples/bigdemo/wxTextEntryDialog.rbw +31 -0
- data/samples/bigdemo/wxToggleButton.rbw +49 -0
- data/samples/bigdemo/wxToolBar.rbw +131 -0
- data/samples/bigdemo/wxTreeCtrl.rbw +191 -0
- data/samples/calendar/calendar.rb +256 -0
- data/samples/caret/caret.rb +282 -0
- data/samples/caret/mondrian.xpm +44 -0
- data/samples/controls/controls.rb +1136 -0
- data/samples/controls/get_item_sample.rb +87 -0
- data/samples/controls/icons/choice.xpm +27 -0
- data/samples/controls/icons/combo.xpm +27 -0
- data/samples/controls/icons/gauge.xpm +27 -0
- data/samples/controls/icons/list.xpm +27 -0
- data/samples/controls/icons/radio.xpm +27 -0
- data/samples/controls/icons/stattext.xpm +24 -0
- data/samples/controls/icons/text.xpm +27 -0
- data/samples/controls/mondrian.ico +0 -0
- data/samples/controls/mondrian.xpm +44 -0
- data/samples/controls/test2.bmp +0 -0
- data/samples/dialogs/dialogs.rb +797 -0
- data/samples/dialogs/tips.txt +18 -0
- data/samples/dragdrop/dragdrop.rb +177 -0
- data/samples/drawing/graphics_drawing.rb +235 -0
- data/samples/drawing/images.rb +37 -0
- data/samples/drawing/paperclip.png +0 -0
- data/samples/etc/activation.rb +102 -0
- data/samples/etc/choice.rb +67 -0
- data/samples/etc/miniframe.rb +79 -0
- data/samples/etc/sash.rb +130 -0
- data/samples/etc/scrollwin.rb +110 -0
- data/samples/etc/system_settings.rb +252 -0
- data/samples/etc/threaded.rb +72 -0
- data/samples/etc/toolbar_sizer_additem.rb +55 -0
- data/samples/etc/wizard.rb +74 -0
- data/samples/event/event.rb +182 -0
- data/samples/event/update_ui_event.rb +70 -0
- data/samples/grid/grid.rb +198 -0
- data/samples/grid/gridtablebase.rb +148 -0
- data/samples/html/html.rb +262 -0
- data/samples/listbook/listbook.rb +174 -0
- data/samples/listbook/listbook.xrc +370 -0
- data/samples/mdi/mdi.rb +85 -0
- data/samples/media/mediactrl.rb +167 -0
- data/samples/minimal/minimal.rb +77 -0
- data/samples/minimal/mondrian.ico +0 -0
- data/samples/minimal/mondrian.png +0 -0
- data/samples/minimal/nothing.rb +16 -0
- data/samples/opengl/cube.rb +117 -0
- data/samples/printing/mondrian.ico +0 -0
- data/samples/printing/mondrian.xpm +44 -0
- data/samples/printing/printing.rb +487 -0
- data/samples/sockets/SocketPackets.rb +27 -0
- data/samples/sockets/res/message-new.png +0 -0
- data/samples/sockets/res/user.png +0 -0
- data/samples/sockets/wxClient.rb +395 -0
- data/samples/sockets/wxServer.rb +422 -0
- data/samples/sockets/wxSocketGUI.rb +97 -0
- data/samples/text/format-text-bold.png +0 -0
- data/samples/text/format-text-italic.png +0 -0
- data/samples/text/format-text-underline.png +0 -0
- data/samples/text/mondrian.ico +0 -0
- data/samples/text/mondrian.xpm +44 -0
- data/samples/text/rich_textctrl.rb +98 -0
- data/samples/text/scintilla.rb +169 -0
- data/samples/text/textctrl.rb +111 -0
- data/samples/text/unicode.rb +242 -0
- data/samples/text/utf8.txt +15 -0
- data/samples/treectrl/icon1.xpm +79 -0
- data/samples/treectrl/icon2.xpm +53 -0
- data/samples/treectrl/icon3.xpm +79 -0
- data/samples/treectrl/icon4.xpm +43 -0
- data/samples/treectrl/icon5.xpm +79 -0
- data/samples/treectrl/treectrl.rb +1166 -0
- data/samples/xrc/samples.xrc +46 -0
- data/samples/xrc/xrc_sample.rb +76 -0
- metadata +17 -3
@@ -0,0 +1,74 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
class TestDialog < Wx::Dialog
|
13
|
+
def initialize(parent, id, title)
|
14
|
+
super(parent, id, title)
|
15
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
16
|
+
label = Wx::StaticText.new(self, :label => "This is a wxDialog")
|
17
|
+
#label.set_help_text("This is the help text for the label")
|
18
|
+
sizer.add(label, 0, Wx::ALIGN_CENTER | Wx::ALL, 5)
|
19
|
+
|
20
|
+
box = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
21
|
+
|
22
|
+
label = Wx::StaticText.new(self, :label => "Field #1")
|
23
|
+
#label.set_help_text("This is the help text for the label")
|
24
|
+
box.add(label, 0, Wx::ALIGN_CENTER|Wx::ALL, 5)
|
25
|
+
|
26
|
+
text = Wx::TextCtrl.new(self, :value => "", :size => [80,-1])
|
27
|
+
#text.set_help_text("Here's some help text for field #1")
|
28
|
+
box.add(text, 1, Wx::ALIGN_CENTER|Wx::ALL, 5)
|
29
|
+
sizer.add(box, 0, Wx::GROW|Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
|
30
|
+
|
31
|
+
box = Wx::BoxSizer.new(Wx::HORIZONTAL)
|
32
|
+
|
33
|
+
label = Wx::StaticText.new(self, :label => "Field #2")
|
34
|
+
#label.set_help_text("This is the help text for the label")
|
35
|
+
box.add(label, 0, Wx::ALIGN_CENTER|Wx::ALL, 5)
|
36
|
+
|
37
|
+
text = Wx::TextCtrl.new(self, :value => "", :size => [80,-1])
|
38
|
+
#text.set_help_text("Here's some help text for field #2")
|
39
|
+
box.add(text, 1, Wx::ALIGN_CENTER|Wx::ALL, 5)
|
40
|
+
sizer.add(box, 0, Wx::GROW|Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
|
41
|
+
|
42
|
+
# This convenience method creates a sizer containing the chosen
|
43
|
+
# buttons (in this case, OK and Cancel). The buttons will be given
|
44
|
+
# the correct layout and labels for the platform.
|
45
|
+
button_sizer = create_button_sizer(Wx::OK|Wx::CANCEL)
|
46
|
+
sizer.add(button_sizer, 0, Wx::ALIGN_CENTER_VERTICAL|Wx::ALL, 5)
|
47
|
+
self.sizer = sizer
|
48
|
+
sizer.fit(self)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
module Demo
|
53
|
+
def Demo.run(frame, nb, log)
|
54
|
+
win = TestDialog.new(frame, -1, "This is a wxDialog")
|
55
|
+
win.center_on_screen(Wx::BOTH)
|
56
|
+
# Show the dialog and await the user's response
|
57
|
+
val = win.show_modal()
|
58
|
+
if val == Wx::ID_OK
|
59
|
+
log.write_text("You pressed OK")
|
60
|
+
else
|
61
|
+
log.write_text("You pressed Cancel")
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def Demo.overview
|
66
|
+
return "Welcome to the wxRuby Dialog Demo!"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
if __FILE__ == $0
|
71
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
72
|
+
load run_solo_lib
|
73
|
+
run File.basename($0)
|
74
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
module Demo
|
13
|
+
def Demo.run(frame, nb, log)
|
14
|
+
dlg = Wx::DirDialog.new(frame, "Choose a directory:")
|
15
|
+
if dlg.show_modal() == Wx::ID_OK
|
16
|
+
log.write_text("You selected: " + dlg.get_path())
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def Demo.overview
|
21
|
+
return "Welcome to the wxRuby DirDialog demo!"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
if __FILE__ == $0
|
26
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
27
|
+
load run_solo_lib
|
28
|
+
run File.basename($0)
|
29
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
class DragPanel < Wx::Panel
|
13
|
+
|
14
|
+
def initialize(parent, log)
|
15
|
+
super(parent, -1)
|
16
|
+
Wx::StaticText.new(self, -1, "Click and drag to see the drag image.")
|
17
|
+
evt_left_down { | e | on_start_drag(e) }
|
18
|
+
evt_left_up { | e | on_end_drag(e) }
|
19
|
+
evt_motion { | e | on_mouse_move(e) }
|
20
|
+
evt_leave_window { | e | on_end_drag(e) }
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
def on_start_drag(event)
|
25
|
+
bmp_file = File.join( File.dirname(__FILE__), 'icons', 'smiley.xpm')
|
26
|
+
bmp = Wx::Bitmap.new(bmp_file, Wx::BITMAP_TYPE_XPM)
|
27
|
+
@drag_img = Wx::DragImage.new(bmp, Wx::CROSS_CURSOR)
|
28
|
+
|
29
|
+
@drag_img.begin_drag(Wx::Point.new(16, 16), self)
|
30
|
+
@drag_img.move(event.get_position)
|
31
|
+
@drag_img.show()
|
32
|
+
event.skip
|
33
|
+
end
|
34
|
+
|
35
|
+
def on_mouse_move(event)
|
36
|
+
if @drag_img
|
37
|
+
@drag_img.move(event.get_position)
|
38
|
+
end
|
39
|
+
event.skip
|
40
|
+
end
|
41
|
+
|
42
|
+
def on_end_drag(event)
|
43
|
+
if @drag_img
|
44
|
+
@drag_img.hide
|
45
|
+
@drag_img.end_drag
|
46
|
+
@drag_img = false
|
47
|
+
end
|
48
|
+
event.skip
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
module Demo
|
53
|
+
def Demo.run(frame,nb,log)
|
54
|
+
win = DragPanel.new(nb, log)
|
55
|
+
return win
|
56
|
+
end
|
57
|
+
|
58
|
+
def Demo.overview
|
59
|
+
"Drag images are used to allow smooth dragging of images across
|
60
|
+
canvasses. To see this in action, click and hold down the left mouse button and
|
61
|
+
move the mouse around the panel"
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
if __FILE__ == $0
|
67
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
68
|
+
load run_solo_lib
|
69
|
+
run File.basename($0)
|
70
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
$wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|All files (*.*)|*.*"
|
13
|
+
|
14
|
+
module Demo
|
15
|
+
def Demo.run(frame, nb, log)
|
16
|
+
log.write_text("CWD: " + Dir.getwd() + "\n")
|
17
|
+
dlg = Wx::FileDialog.new(frame, "Choose a file", Dir.getwd(), "", $wildcard, Wx::OPEN | Wx::MULTIPLE)
|
18
|
+
if dlg.show_modal() == Wx::ID_OK
|
19
|
+
paths = dlg.get_paths()
|
20
|
+
log.write_text("You selected %d files" % + paths.length)
|
21
|
+
paths.each {|path| log.write_text("CWD: " + path)}
|
22
|
+
log.write_text("CWD: " + Dir.getwd())
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def Demo.overview
|
27
|
+
return "Welcome to the wxFileDialog Demo!"
|
28
|
+
end
|
29
|
+
|
30
|
+
|
31
|
+
end
|
32
|
+
|
33
|
+
if __FILE__ == $0
|
34
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
35
|
+
load run_solo_lib
|
36
|
+
run File.basename($0)
|
37
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
$wildcard = "Ruby Source (*.rb)|*.rb|RubyW Source (*.rbw)|*.rbw|SPAM files (*.spam)|*.spam|Egg file (*.egg)|*.egg|All Files (*.*)|*.*"
|
13
|
+
|
14
|
+
module Demo
|
15
|
+
def Demo.run(frame, nb, log)
|
16
|
+
log.write_text("CWD: " + Dir.getwd())
|
17
|
+
dlg = Wx::FileDialog.new(frame, "Save file as...", Dir.getwd(), "", $wildcard, Wx::SAVE)
|
18
|
+
dlg.set_filter_index(2)
|
19
|
+
if dlg.show_modal() == Wx::ID_OK
|
20
|
+
path = dlg.get_path()
|
21
|
+
log.write_text("You selected " + path)
|
22
|
+
log.write_text("CWD: " + Dir.getwd())
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def Demo.overview
|
27
|
+
return "Welcome to the wxRuby FileDialog_Save demo!"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
if __FILE__ == $0
|
32
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
33
|
+
load run_solo_lib
|
34
|
+
run File.basename($0)
|
35
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
class TestPanel < Wx::Panel
|
13
|
+
def initialize(parent, log)
|
14
|
+
super(parent, -1)
|
15
|
+
@log = log
|
16
|
+
|
17
|
+
b = Wx::Button.new(self, -1, "Show Find Dialog", Wx::Point.new(25, 50))
|
18
|
+
evt_button(b.get_id()) {|event| on_show_find(event)}
|
19
|
+
|
20
|
+
b = Wx::Button.new(self, -1, "Show Find && Replace Dialog", Wx::Point.new(25, 90))
|
21
|
+
evt_button(b.get_id()) {|event| on_show_find_replace(event)}
|
22
|
+
|
23
|
+
evt_find(-1) {|event| on_find(event)}
|
24
|
+
evt_find_next(-1) {|event| on_find(event)}
|
25
|
+
evt_find_replace(-1) {|event| on_find(event)}
|
26
|
+
evt_find_replace_all(-1) {|event| on_find(event)}
|
27
|
+
evt_find_close(-1) {|event| on_find_close(event)}
|
28
|
+
end
|
29
|
+
|
30
|
+
def on_show_find(evt)
|
31
|
+
data = Wx::FindReplaceData.new()
|
32
|
+
dlg = Wx::FindReplaceDialog.new(self, data, "Find")
|
33
|
+
#dlg.data = data # save a reference to it
|
34
|
+
dlg.show(true)
|
35
|
+
end
|
36
|
+
|
37
|
+
def on_show_find_replace(evt)
|
38
|
+
data = Wx::FindReplaceData.new()
|
39
|
+
dlg = Wx::FindReplaceDialog.new(self, data, "Find & Replace", Wx::FR_REPLACEDIALOG)
|
40
|
+
#dlg.data = data # save a reference to it
|
41
|
+
dlg.show(true)
|
42
|
+
end
|
43
|
+
|
44
|
+
def on_find(evt)
|
45
|
+
map = {Wx::EVT_COMMAND_FIND => "FIND", Wx::EVT_COMMAND_FIND_NEXT => "FIND_NEXT", Wx::EVT_COMMAND_FIND_REPLACE => "REPLACE",
|
46
|
+
Wx::EVT_COMMAND_FIND_REPLACE_ALL => "REPLACE_ALL"}
|
47
|
+
map.default = "**Unknown Event Type**"
|
48
|
+
et = evt.get_event_type()
|
49
|
+
evtType = map[et]
|
50
|
+
|
51
|
+
if et == Wx::EVT_COMMAND_FIND_REPLACE or et == Wx::EVT_COMMAND_FIND_REPLACE_ALL
|
52
|
+
replaceTxt = "Replace text: " + evt.get_replace_string()
|
53
|
+
else
|
54
|
+
replaceTxt = ""
|
55
|
+
end
|
56
|
+
|
57
|
+
@log.write_text(evtType.to_s + " -- Find text: " + evt.get_find_string() + " " + replaceTxt + " Flags: " + evt.get_flags.to_s)
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
def on_find_close(evt)
|
62
|
+
@log.write_text("Wx::FindReplaceDialog closing...")
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
module Demo
|
68
|
+
def Demo.run(frame, nb, log)
|
69
|
+
win = TestPanel.new(nb, log)
|
70
|
+
return win
|
71
|
+
end
|
72
|
+
|
73
|
+
def Demo.overview
|
74
|
+
return "A generic find and replace dialog"
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
if __FILE__ == $0
|
79
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
80
|
+
load run_solo_lib
|
81
|
+
run File.basename($0)
|
82
|
+
end
|
@@ -0,0 +1,173 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
|
3
|
+
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
|
4
|
+
begin
|
5
|
+
require 'rubygems'
|
6
|
+
rescue LoadError
|
7
|
+
end
|
8
|
+
require 'wx'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
class FontTestPanel < Wx::Panel
|
13
|
+
def initialize(parent, log)
|
14
|
+
super(parent, -1)
|
15
|
+
@log = log
|
16
|
+
btn = Wx::Button.new(self, -1, "Select Font")
|
17
|
+
evt_button(btn.get_id()) {|event| on_select_font(event)}
|
18
|
+
|
19
|
+
@sampleText = Wx::TextCtrl.new(self, -1, "Sample Text")
|
20
|
+
@curFont = @sampleText.get_font()
|
21
|
+
@curClr = Wx::BLACK
|
22
|
+
|
23
|
+
fgs = Wx::FlexGridSizer.new(2,2, 5, 5)
|
24
|
+
fgs.add_growable_col(1)
|
25
|
+
fgs.add_growable_row(0)
|
26
|
+
|
27
|
+
fgs.add(btn, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
28
|
+
fgs.add(@sampleText, 10, Wx::ADJUST_MINSIZE | Wx::GROW)
|
29
|
+
|
30
|
+
fgs.add(15, 15)
|
31
|
+
fgs.add(15, 15) # an empty row
|
32
|
+
|
33
|
+
fgs.add(Wx::StaticText.new(self, -1, "PointSize: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
34
|
+
@ps = Wx::StaticText.new(self, -1, "")
|
35
|
+
font = @ps.get_font()
|
36
|
+
font.set_weight(Wx::BOLD)
|
37
|
+
@ps.set_font(font)
|
38
|
+
fgs.add(@ps, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
39
|
+
|
40
|
+
fgs.add(Wx::StaticText.new(self, -1, "Family: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
41
|
+
@family = Wx::StaticText.new(self, -1, "")
|
42
|
+
@family.set_font(font)
|
43
|
+
fgs.add(@family, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
44
|
+
|
45
|
+
fgs.add(Wx::StaticText.new(self, -1, "Style: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
46
|
+
@style = Wx::StaticText.new(self, -1, "")
|
47
|
+
@style.set_font(font)
|
48
|
+
fgs.add(@style, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
49
|
+
|
50
|
+
fgs.add(Wx::StaticText.new(self, -1, "Weight: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
51
|
+
@weight = Wx::StaticText.new(self, -1, "")
|
52
|
+
@weight.set_font(font)
|
53
|
+
fgs.add(@weight, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
54
|
+
|
55
|
+
fgs.add(Wx::StaticText.new(self, -1, "Face: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
56
|
+
@face = Wx::StaticText.new(self, -1, "")
|
57
|
+
@face.set_font(font)
|
58
|
+
fgs.add(@face, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
59
|
+
|
60
|
+
fgs.add(15, 15)
|
61
|
+
fgs.add(15, 15) # an empty row
|
62
|
+
|
63
|
+
fgs.add(Wx::StaticText.new(self, -1, "Wx::NativeFontInfo: "), 0, Wx::ALIGN_CENTRE_VERTICAL)
|
64
|
+
@nfi = Wx::StaticText.new(self, -1, "")
|
65
|
+
@nfi.set_font(font)
|
66
|
+
fgs.add(@nfi, 0, Wx::ALIGN_CENTRE_VERTICAL)
|
67
|
+
|
68
|
+
# give it some border space
|
69
|
+
|
70
|
+
sizer = Wx::BoxSizer.new(Wx::VERTICAL)
|
71
|
+
sizer.add(fgs, 0, Wx::GROW | Wx::ADJUST_MINSIZE | Wx::ALL, 25)
|
72
|
+
|
73
|
+
set_sizer(sizer)
|
74
|
+
sizer.fit(self)
|
75
|
+
@sizer = fgs
|
76
|
+
update_ui()
|
77
|
+
end
|
78
|
+
|
79
|
+
def update_ui()
|
80
|
+
@sampleText.set_font(@curFont)
|
81
|
+
# layout() is called so that if the user changes the size of the Font, the text control will be properly displayed
|
82
|
+
# to show the whole font - just comment out this line, to see the font size change without corresponding changes
|
83
|
+
# to the text control :-)
|
84
|
+
# As a postscript, it is interesting to note that if I call layout() at the end of this method, it causes all of the
|
85
|
+
# labels to appear BLANK, showing nothing. Through trial and error, I moved it here, and found that it resized the
|
86
|
+
# text control properly and set the text of the labels too - I don't know why that is though?
|
87
|
+
@sizer.layout()
|
88
|
+
@ps.set_label(@curFont.get_point_size().to_s)
|
89
|
+
@family.set_label(map_font_value_to_name(@curFont.get_family()) )
|
90
|
+
@style.set_label(map_font_value_to_name(@curFont.get_style()))
|
91
|
+
@weight.set_label(map_font_value_to_name(@curFont.get_weight()))
|
92
|
+
@face.set_label(@curFont.get_face_name())
|
93
|
+
@nfi.set_label(@curFont.get_native_font_info_desc().to_s)
|
94
|
+
|
95
|
+
|
96
|
+
end
|
97
|
+
|
98
|
+
def on_select_font(evt)
|
99
|
+
data = Wx::FontData.new()
|
100
|
+
#data.enable_effects(true)
|
101
|
+
data.set_colour(@curClr) #set colour
|
102
|
+
data.set_initial_font(@curFont)
|
103
|
+
|
104
|
+
dlg = Wx::FontDialog.new(self, data)
|
105
|
+
if dlg.show_modal() == Wx::ID_OK
|
106
|
+
data = dlg.get_font_data()
|
107
|
+
font = data.get_chosen_font()
|
108
|
+
colour = data.get_colour()
|
109
|
+
@log.write_text("You selected: " + font.get_face_name() + ", " + font.get_point_size().to_s + " points, color (" +
|
110
|
+
get_rgb_string(colour))
|
111
|
+
@curFont = font
|
112
|
+
@curClr = colour
|
113
|
+
update_ui()
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
def map_font_value_to_name(constant)
|
118
|
+
case constant
|
119
|
+
when Wx::DEFAULT
|
120
|
+
return "Wx::DEFAULT"
|
121
|
+
when Wx::DECORATIVE
|
122
|
+
return "Wx::DECORATIVE"
|
123
|
+
when Wx::ROMAN
|
124
|
+
return "Wx::ROMAN"
|
125
|
+
when Wx::SCRIPT
|
126
|
+
return "Wx::SCRIPT"
|
127
|
+
when Wx::SWISS
|
128
|
+
return "Wx::SWISS"
|
129
|
+
when Wx::MODERN
|
130
|
+
return "Wx::MODERN"
|
131
|
+
when Wx::TELETYPE
|
132
|
+
return "Wx::TELETYPE"
|
133
|
+
when Wx::NORMAL
|
134
|
+
return "Wx::NORMAL"
|
135
|
+
when Wx::SLANT
|
136
|
+
return "Wx::SLANT"
|
137
|
+
when Wx::ITALIC
|
138
|
+
return "Wx::ITALIC"
|
139
|
+
when Wx::LIGHT
|
140
|
+
return "Wx::LIGHT"
|
141
|
+
when Wx::BOLD
|
142
|
+
return "Wx::BOLD"
|
143
|
+
else
|
144
|
+
return "Unknown"
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def get_rgb_string(color)
|
149
|
+
red = color.red().to_s()
|
150
|
+
green = color.green().to_s()
|
151
|
+
blue = color.blue().to_s()
|
152
|
+
return "(%s, %s, %s)" % [red, green, blue]
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
module Demo
|
157
|
+
def Demo.run(frame, nb, log)
|
158
|
+
win = FontTestPanel.new(nb, log)
|
159
|
+
return win
|
160
|
+
|
161
|
+
end
|
162
|
+
|
163
|
+
def Demo.overview
|
164
|
+
return "This class allows you to use the system font chooser dialog."
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
|
169
|
+
if __FILE__ == $0
|
170
|
+
run_solo_lib = File.join( File.dirname(__FILE__), 'run.rb')
|
171
|
+
load run_solo_lib
|
172
|
+
run File.basename($0)
|
173
|
+
end
|