wxruby 1.9.1-i686-linux → 1.9.2-i686-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.
@@ -13,35 +13,45 @@ rescue LoadError => no_wx_err
13
13
  end
14
14
  end
15
15
 
16
- # The frame or self-contained window for this application
16
+ # This sample shows a fairly minimal Wx::App using a Frame, with a
17
+ # MenuBar and StatusBar but no controls. For the absolute minimum app,
18
+ # see nothing.rb
19
+
20
+ # A Wx::Frame is a self-contained, top-level Window that can contain
21
+ # controls, menubars, and statusbars
17
22
  class MinimalFrame < Wx::Frame
18
23
  def initialize(title)
19
-
20
- # A main application frame has no parent (nil)
24
+ # The main application frame has no parent (nil)
21
25
  super(nil, :title => title, :size => [ 400, 300 ])
22
26
 
23
- # PNG is a good choice for cross-platofrm icons
24
- icon_file = File.join( File.dirname(__FILE__), 'mondrian.png')
25
- self.icon = Wx::Icon.new(icon_file)
27
+ icon_file = File.join( File.dirname(__FILE__), "mondrian.png")
28
+ # PNG can be used on all platforms, but icon type must be specified
29
+ # to work on Windows; OS X doesn't have "Frame" icons.
30
+ self.icon = Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_PNG)
26
31
 
27
- menu_file = Wx::Menu.new()
28
- menu_help = Wx::Menu.new()
29
- # Using Wx::ID_ABOUT default id means the menu item will be placed
30
- # in the correct platform-specific place
31
- menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
32
+ menu_bar = Wx::MenuBar.new
33
+ # The "file" menu
34
+ menu_file = Wx::Menu.new
32
35
  menu_file.append(Wx::ID_EXIT, "E&xit\tAlt-X", "Quit this program")
33
- menu_bar = Wx::MenuBar.new()
34
36
  menu_bar.append(menu_file, "&File")
37
+
38
+ # The "help" menu
39
+ menu_help = Wx::Menu.new
40
+ # Using Wx::ID_ABOUT default id means the menu item will be placed
41
+ # in the correct platform-specific place - eg on OS X
42
+ menu_help.append(Wx::ID_ABOUT, "&About...\tF1", "Show about dialog")
35
43
  menu_bar.append(menu_help, "&Help")
36
- # Assign the menus to this frame
37
- set_menu_bar(menu_bar)
38
44
 
45
+ # Assign the menubar to this frame
46
+ self.menu_bar = menu_bar
47
+
48
+ # Create a status bar
39
49
  create_status_bar(2)
40
- set_status_text("Welcome to wxRuby!")
50
+ self.status_text = "Welcome to wxRuby!"
41
51
 
42
- # handle menu events
43
- evt_menu(Wx::ID_EXIT) { on_quit }
44
- evt_menu(Wx::ID_ABOUT) { on_about }
52
+ # Set it up to handle menu events using the relevant methods
53
+ evt_menu Wx::ID_EXIT, :on_quit
54
+ evt_menu Wx::ID_ABOUT, :on_about
45
55
  end
46
56
 
47
57
  # End the application; it should finish automatically when the last
@@ -58,26 +68,18 @@ class MinimalFrame < Wx::Frame
58
68
  # create a simple message dialog with OK button
59
69
  about_dlg = Wx::MessageDialog.new( self, msg, 'About Minimal',
60
70
  Wx::OK|Wx::ICON_INFORMATION )
71
+ # Display the dialog on top of and blocking other windows, until
72
+ # dismissed by clicking the 'OK' button
61
73
  about_dlg.show_modal
62
74
  end
63
75
  end
64
76
 
65
- # Wx::App is the container class for any wxruby app - only a single
66
- # instance is required
67
- class MinimalApp < Wx::App
68
- # This method is called when main_loop is entered; it should set up
69
- # the application's and display initial GUI windows.
70
- def on_init
71
- self.app_name = 'Minimal'
72
- frame = MinimalFrame.new("Minimal wxRuby App")
73
- # This is required,
74
- frame.show
75
- # on_init must return a true value else the app will not start
76
- true
77
- end
77
+ # Wx::App is the container class for any wxruby app. To start an
78
+ # application, either define a subclass of Wx::App, create an instance,
79
+ # and call its main_loop method, OR, simply call the Wx::App.run class
80
+ # method, as shown here.
81
+ Wx::App.run do
82
+ self.app_name = 'Minimal'
83
+ frame = MinimalFrame.new("Minimal wxRuby App")
84
+ frame.show
78
85
  end
79
-
80
- # Create an instance ...
81
- app = MinimalApp.new
82
- # ... and run the application
83
- app.main_loop()
Binary file
@@ -13,34 +13,9 @@ rescue LoadError => no_wx_err
13
13
  end
14
14
  end
15
15
 
16
- class MyFrame < Wx::Frame
17
- def initialize(title)
18
- super(nil, -1, title)
19
- end
16
+ # This is the minimum code to start a WxRuby app - create a Frame, and
17
+ # show it.
18
+ Wx::App.run do
19
+ frame = Wx::Frame.new(nil, :title => "Minimal wxRuby App")
20
+ frame.show
20
21
  end
21
-
22
- class NothingApp < Wx::App
23
- def on_init
24
- puts("in on_init")
25
- $frame = MyFrame.new("Minimal wxRuby App")
26
- puts("about to call show")
27
- $frame.show
28
- puts("returning from on_init")
29
- return true
30
- end
31
-
32
- def on_fatal_exception
33
- puts("on_fatal_exception")
34
- end
35
-
36
- def on_exit
37
- puts("on_exit")
38
- return super
39
- end
40
- end
41
-
42
- a = NothingApp.new
43
- a.main_loop()
44
- puts("back from main_loop...")
45
- GC.start
46
- puts("survived gc")
@@ -59,7 +59,6 @@ TreeTest_DecSpacing,
59
59
  TreeTest_ToggleIcon,
60
60
  TreeTest_Select,
61
61
  TreeTest_Unselect = (Wx::ID_HIGHEST..Wx::ID_HIGHEST+39).to_a
62
- TreeTest_Ctrl = 1000
63
62
 
64
63
  TreeCtrlIcon_File,
65
64
  TreeCtrlIcon_FileSelected,
@@ -68,8 +67,8 @@ TreeCtrlIcon_FolderSelected,
68
67
  TreeCtrlIcon_FolderOpened = 0,1,2,3,4
69
68
 
70
69
  class MyTreeCtrl < Wx::TreeCtrl
71
- def initialize(parent, id,pos, size,style)
72
- super(parent, id, pos, size, style)
70
+ def initialize(parent, args)
71
+ super
73
72
 
74
73
  @reverse_sort = false
75
74
 
@@ -79,26 +78,25 @@ class MyTreeCtrl < Wx::TreeCtrl
79
78
  add_test_items_to_tree(5, 2)
80
79
 
81
80
  # TreeCtrl supports a large number of different events...
82
- evt_tree_begin_drag(TreeTest_Ctrl) { | e | on_begin_drag(e) }
83
- evt_tree_begin_rdrag(TreeTest_Ctrl) { | e | on_begin_rdrag(e) }
84
- evt_tree_end_drag(TreeTest_Ctrl) { | e | on_end_drag(e) }
85
- evt_tree_begin_label_edit(TreeTest_Ctrl) { | e | on_begin_label_edit(e) }
86
- evt_tree_end_label_edit(TreeTest_Ctrl) { | e | on_end_label_edit(e) }
87
- evt_tree_delete_item(TreeTest_Ctrl) { | e | on_delete_item(e) }
88
- evt_tree_set_info(TreeTest_Ctrl) { | e | on_set_info(e) }
89
- evt_tree_item_expanded(TreeTest_Ctrl) { | e | on_item_expanded(e) }
90
- evt_tree_item_expanding(TreeTest_Ctrl) { | e | on_item_expanding(e) }
91
- evt_tree_item_collapsed(TreeTest_Ctrl) { | e | on_item_collapsed(e) }
92
- evt_tree_item_collapsing(TreeTest_Ctrl) { | e | on_item_collapsing(e) }
93
- evt_tree_item_right_click(TreeTest_Ctrl) { | e | on_item_right_click(e) }
94
-
95
- evt_right_up { | e | on_rmouse_up(e) }
96
- evt_tree_sel_changed(TreeTest_Ctrl) { | e | on_sel_changed(e) }
97
- evt_tree_sel_changing(TreeTest_Ctrl) { | e | on_sel_changing(e) }
98
- evt_tree_key_down(TreeTest_Ctrl) { | e | on_tree_key_down(e) }
99
- evt_tree_item_activated(TreeTest_Ctrl) { | e | on_item_activated(e) }
100
- evt_right_dclick { | e | on_rmouse_dclick(event) }
101
-
81
+ evt_tree_begin_drag self, :on_begin_drag
82
+ evt_tree_begin_rdrag self, :on_begin_rdrag
83
+ evt_tree_end_drag self, :on_end_drag
84
+ evt_tree_begin_label_edit self, :on_begin_label_edit
85
+ evt_tree_end_label_edit self, :on_end_label_edit
86
+ evt_tree_delete_item self, :on_delete_item
87
+ evt_tree_set_info self, :on_set_info
88
+ evt_tree_item_expanded self, :on_item_expanded
89
+ evt_tree_item_expanding self, :on_item_expanding
90
+ evt_tree_item_collapsed self, :on_item_collapsed
91
+ evt_tree_item_collapsing self, :on_item_collapsing
92
+ evt_tree_item_right_click self, :on_item_right_click
93
+ evt_tree_sel_changed self, :on_sel_changed
94
+ evt_tree_sel_changing self, :on_sel_changing
95
+ evt_tree_key_down self, :on_tree_key_down
96
+ evt_tree_item_activated self, :on_item_activated
97
+
98
+ evt_right_dclick :on_rmouse_dclick
99
+ evt_right_up :on_rmouse_up
102
100
  end
103
101
 
104
102
  def show_info(id)
@@ -131,7 +129,7 @@ class MyTreeCtrl < Wx::TreeCtrl
131
129
 
132
130
  def is_test_item(item)
133
131
  # the test item is the first child folder
134
- return get_item_parent(item) == get_root_item() && !get_prev_sibling(item)
132
+ return item_parent(item) == root_item && ! prev_sibling(item)
135
133
  end
136
134
 
137
135
  def create_image_list
@@ -143,16 +141,15 @@ class MyTreeCtrl < Wx::TreeCtrl
143
141
  Wx::BusyCursor.busy do
144
142
  icons = (1 .. 5).map do | i |
145
143
  icon_file = File.join(File.dirname(__FILE__), "icon#{i}.xpm")
146
- # Wx::Icon.new(icon_file, Wx::BITMAP_TYPE_XPM, 16, 16)
147
144
  Wx::Bitmap.new(icon_file, Wx::BITMAP_TYPE_XPM)
148
145
  end
149
146
  icons.each { | ic | images.add(ic) }
150
- set_image_list(images)
147
+ self.image_list = images
151
148
  end
152
149
  end
153
150
 
154
151
  def unset_image_list
155
- set_image_list(nil)
152
+ self.image_list = nil
156
153
  end
157
154
 
158
155
  def create_buttons_image_list()
@@ -165,19 +162,19 @@ class MyTreeCtrl < Wx::TreeCtrl
165
162
  Wx::Icon.new("icon3.xpm"), # closed
166
163
  Wx::Icon.new("icon3.xpm"), # closed, selected
167
164
  Wx::Icon.new("icon5.xpm"), # open
168
- Wx::Icon.new("icon5.xpm")] # open, selected
165
+ Wx::Icon.new("icon5.xpm") ] # open, selected
169
166
 
170
167
  icons.each do | ic |
171
168
  orig_size = ic.get_width()
172
169
  if size == orig_size
173
170
  images.add(ic)
174
171
  else
175
- resized = ic.convert_to_image().rescale(size, size)
172
+ resized = ic.convert_to_image.rescale(size, size)
176
173
  images.add( Wx::Bitmap.new(resized) )
177
174
  end
178
175
  end
179
176
 
180
- set_buttons_image_list(images)
177
+ self.buttons_image_list = images
181
178
  end
182
179
  end
183
180
 
@@ -203,7 +200,7 @@ class MyTreeCtrl < Wx::TreeCtrl
203
200
  end
204
201
  # here we pass to append_item() normal and selected item images (we
205
202
  # suppose that selected image follows the normal one in the enum)
206
- if Wx::get_app.show_images()
203
+ if Wx::THE_APP.show_images
207
204
  image = depth == 1 ? TreeCtrlIcon_File : TreeCtrlIcon_Folder
208
205
  imageSel = image + 1
209
206
  else
@@ -213,8 +210,8 @@ class MyTreeCtrl < Wx::TreeCtrl
213
210
 
214
211
  # and now we also set the expanded one (only for the folders)
215
212
  if has_children && Wx::get_app.show_images()
216
- set_item_image(id, TreeCtrlIcon_FolderOpened,
217
- Wx::TREE_ITEM_ICON_EXPANDED)
213
+ set_item_image( id, TreeCtrlIcon_FolderOpened,
214
+ Wx::TREE_ITEM_ICON_EXPANDED)
218
215
  end
219
216
 
220
217
  # remember the last child for OnEnsureVisible()
@@ -228,10 +225,10 @@ class MyTreeCtrl < Wx::TreeCtrl
228
225
  end
229
226
 
230
227
  def add_test_items_to_tree(num_children,depth)
231
- image = Wx::get_app.show_images ? TreeCtrlIcon_Folder : -1
228
+ image = Wx::THE_APP.show_images ? TreeCtrlIcon_Folder : -1
232
229
  root_id = add_root("Root",image, image)
233
230
  if image != -1
234
- set_item_image(root_id, TreeCtrlIcon_FolderOpened,
231
+ set_item_image( root_id, TreeCtrlIcon_FolderOpened,
235
232
  Wx::TREE_ITEM_ICON_EXPANDED)
236
233
  end
237
234
 
@@ -242,17 +239,18 @@ class MyTreeCtrl < Wx::TreeCtrl
242
239
  # that use the generic TreeCtrl - OS X and GTK, and only if
243
240
  # Wx::TR_HAS_VARIABLE_ROW_HEIGHT style was used in the constructor
244
241
  font = get_font
245
- font.set_style(Wx::FONTSTYLE_ITALIC)
242
+ font.style = Wx::FONTSTYLE_ITALIC
246
243
  set_item_font(root_id, font)
247
244
 
248
- id,cookie = get_first_child(root_id)
249
- set_item_text_colour(id, Wx::BLUE)
245
+ ids = get_children(root_id)
246
+
247
+ # make the first item blue
248
+ set_item_text_colour(ids[0], Wx::BLUE)
250
249
 
251
- id,cookie = get_next_child(root_id,cookie)
252
- id,cookie = get_next_child(root_id,cookie)
250
+ # make the third item red on grey
253
251
  if Wx::PLATFORM == "WXMSW"
254
- set_item_text_colour(id, Wx::RED)
255
- set_item_background_colour(id, Wx::LIGHT_GREY)
252
+ set_item_text_colour(ids[2], Wx::RED)
253
+ set_item_background_colour(ids[2], Wx::LIGHT_GREY)
256
254
  end
257
255
  end
258
256
 
@@ -266,7 +264,7 @@ class MyTreeCtrl < Wx::TreeCtrl
266
264
  return nil
267
265
  end
268
266
 
269
- text = get_item_text(id)
267
+ text = item_text(id)
270
268
  Wx::log_message(text)
271
269
 
272
270
  if item_has_children(id)
@@ -288,51 +286,51 @@ class MyTreeCtrl < Wx::TreeCtrl
288
286
 
289
287
  def on_begin_rdrag(event)
290
288
  Wx::log_message("OnBeginRDrag")
291
- event.skip()
289
+ event.skip
292
290
  end
293
291
 
294
292
  def on_delete_item(event)
295
293
  Wx::log_message("OnDeleteItem")
296
- event.skip()
294
+ event.skip
297
295
  end
298
296
 
299
297
  def on_get_info(event)
300
298
  Wx::log_message("OnGetInfo")
301
- event.skip()
299
+ event.skip
302
300
  end
303
301
 
304
302
  def on_set_info(event)
305
303
  Wx::log_message("OnSetInfo")
306
- event.skip()
304
+ event.skip
307
305
  end
308
306
 
309
307
  def on_item_expanded(event)
310
308
  Wx::log_message("OnItemExpanded")
311
- event.skip()
309
+ event.skip
312
310
  end
313
311
 
314
312
  def on_item_expanding(event)
315
313
  Wx::log_message("OnItemExpanding")
316
- event.skip()
314
+ event.skip
317
315
  end
318
316
 
319
317
  def on_item_collapsed(event)
320
318
  Wx::log_message("OnItemCollapsed")
321
- event.skip()
319
+ event.skip
322
320
  end
323
321
 
324
322
  def on_sel_changed(event)
325
323
  Wx::log_message("OnSelChanged")
326
- event.skip()
324
+ event.skip
327
325
  end
328
326
 
329
327
  def on_sel_changing(event)
330
328
  Wx::log_message("OnSelChanging")
331
- event.skip()
329
+ event.skip
332
330
  end
333
331
 
334
332
  def log_key_event(name,event)
335
- keycode = event.get_key_code()
333
+ keycode = event.key_code
336
334
 
337
335
  case keycode
338
336
  when Wx::K_BACK
@@ -548,26 +546,25 @@ class MyTreeCtrl < Wx::TreeCtrl
548
546
  end
549
547
 
550
548
  Wx::log_message( "%s event: %s (flags = %s%s%s%s)",
551
- name, key,
552
- event.control_down() ? 'C' : '-',
553
- event.alt_down() ? 'A' : '-',
554
- event.shift_down() ? 'S' : '-',
555
- event.meta_down() ? 'M' : '-')
549
+ name, key,
550
+ event.control_down() ? 'C' : '-',
551
+ event.alt_down() ? 'A' : '-',
552
+ event.shift_down() ? 'S' : '-',
553
+ event.meta_down() ? 'M' : '-')
556
554
  end
557
555
 
558
556
  def on_tree_key_down(event)
559
- log_key_event("Tree key down ", event.get_key_event())
560
-
561
- event.skip()
557
+ log_key_event("Tree key down ", event.key_event )
558
+ event.skip
562
559
  end
563
560
 
564
561
  def on_begin_drag(event)
565
562
  # need to explicitly allow drag
566
- if event.get_item() != get_root_item()
567
- @dragged_item = event.get_item()
568
- Wx::log_message("OnBeginDrag: started dragging %s",
569
- get_item_text(@dragged_item))
570
- event.allow()
563
+ if event.item != root_item()
564
+ @dragged_item = event.item
565
+ Wx::log_message( "OnBeginDrag: started dragging %s",
566
+ item_text(@dragged_item))
567
+ event.allow
571
568
  else
572
569
  Wx::log_message("OnBeginDrag: selected item can't be dragged.")
573
570
  end
@@ -575,12 +572,12 @@ class MyTreeCtrl < Wx::TreeCtrl
575
572
 
576
573
  def on_end_drag(event)
577
574
  src_item = @dragged_item
578
- dest_item = event.get_item()
575
+ dest_item = event.item
579
576
  @dragged_item = 0
580
577
 
581
578
  if dest_item.nonzero? && ! item_has_children(dest_item)
582
579
  # copy to the parent then
583
- dest_item = get_item_parent(dest_item)
580
+ dest_item = item_parent(dest_item)
584
581
  end
585
582
 
586
583
  unless dest_item.nonzero?()
@@ -588,9 +585,9 @@ class MyTreeCtrl < Wx::TreeCtrl
588
585
  return nil
589
586
  end
590
587
 
591
- text = get_item_text(src_item)
588
+ text = item_text(src_item)
592
589
  Wx::log_message("OnEndDrag: '%s' copied to '%s'.",
593
- text, get_item_text(dest_item))
590
+ text, item_text(dest_item))
594
591
 
595
592
  # just do append here - we could also insert it just before/after the item
596
593
  # on which it was dropped, but self requires slightly more work... we also
@@ -599,7 +596,7 @@ class MyTreeCtrl < Wx::TreeCtrl
599
596
  #
600
597
  # Finally, we only copy one item here but we might copy the entire tree if
601
598
  # we were dragging a folder.
602
- image = Wx::get_app().show_images() ? TreeCtrlIcon_File : -1
599
+ image = Wx::THE_APP.show_images() ? TreeCtrlIcon_File : -1
603
600
  append_item(dest_item, text, image)
604
601
  end
605
602
 
@@ -607,26 +604,25 @@ class MyTreeCtrl < Wx::TreeCtrl
607
604
  Wx::log_message("OnBeginLabelEdit")
608
605
 
609
606
  # for testing, prevent self item's label editing
610
- item_id = event.get_item()
611
- if is_test_item(item_id)
612
- message_box("The demo prevents you editing this item.")
607
+ if is_test_item(event.item)
608
+ Wx::message_box("The demo prevents you editing this item.")
613
609
  event.veto()
614
610
  end
615
611
  end
616
612
 
617
613
  def on_end_label_edit(event)
618
614
  Wx::log_message("OnEndLabelEdit")
619
- if event.is_edit_cancelled
615
+ if event.edit_cancelled?
620
616
  Wx::log_message("Label edit was cancelled by user")
621
617
  return
622
618
  end
623
619
 
624
620
  # For a demo, don't allow anything except letters in the labels
625
- if event.get_label =~ /[^\w.]/
621
+ if event.label =~ /[^\w.]/
626
622
  msg = "Only letters, numbers and full stops are allowed in the label."
627
- message_box(msg)
623
+ Wx::message_box(msg)
628
624
  Wx::log_message("Label edit was cancelled by demo")
629
- event.veto()
625
+ event.veto
630
626
  end
631
627
  end
632
628
 
@@ -634,28 +630,26 @@ class MyTreeCtrl < Wx::TreeCtrl
634
630
  Wx::log_message("OnItemCollapsing")
635
631
 
636
632
  # for testing, prevent the user from collapsing the first child folder
637
- item_id = event.get_item()
638
- if is_test_item(item_id)
639
- message_box("You can't collapse self item.")
640
-
641
- event.veto()
633
+ if is_test_item(event.item)
634
+ Wx::message_box("You can't collapse self item.")
635
+ event.veto
642
636
  end
643
637
  end
644
638
 
645
639
  # show some info about activated item
646
640
  def on_item_activated(event)
647
- if item_id = event.get_item()
641
+ if item_id = event.item
648
642
  show_info(item_id)
649
643
  end
650
644
  Wx::log_message("OnItemActivated")
651
645
  end
652
646
 
653
647
  def on_item_right_click(event)
654
- show_popup_menu(event.get_item(), event.get_point())
648
+ show_popup_menu(event.item, event.point)
655
649
  end
656
650
 
657
651
  def on_rmouse_up(event)
658
- pos = event.get_position()
652
+ pos = event.position
659
653
  item = hit_test(pos)
660
654
  show_popup_menu(item, pos)
661
655
  end
@@ -663,7 +657,7 @@ class MyTreeCtrl < Wx::TreeCtrl
663
657
  def show_popup_menu(id, pos)
664
658
  title = ""
665
659
  if id.nonzero?
666
- title << "Menu for " << get_item_text(id)
660
+ title << "Menu for " << item_text(id)
667
661
  else
668
662
  title = "Menu for no particular item"
669
663
  end
@@ -690,7 +684,7 @@ end
690
684
 
691
685
  class MyFrame < Wx::Frame
692
686
  def initialize(title, x, y, w, h)
693
- super(nil, -1, title, Wx::Point.new(x, y), Wx::Size.new(w, h))
687
+ super( nil, :title => title, :pos => [ x, y ], :size => [ w, h ] )
694
688
  @treectrl = nil
695
689
  @textctrl = nil
696
690
  @s_num = 0
@@ -698,7 +692,7 @@ class MyFrame < Wx::Frame
698
692
  # This reduces flicker effects - even better would be to define
699
693
  # OnEraseBackground to do nothing. When the tree control's scrollbars are
700
694
  # show or hidden, the frame is sent a background erase event.
701
- set_background_colour(Wx::Colour.new(255, 255, 255))
695
+ self.background_colour = Wx::WHITE
702
696
 
703
697
  # Make a menubar
704
698
  file_menu = Wx::Menu.new
@@ -782,13 +776,13 @@ class MyFrame < Wx::Frame
782
776
  menu_bar.append(style_menu, "&Style")
783
777
  menu_bar.append(tree_menu, "&Tree")
784
778
  menu_bar.append(item_menu, "&Item")
785
- set_menu_bar(menu_bar)
779
+ self.menu_bar = menu_bar
786
780
 
787
781
 
788
782
  # create the controls
789
- @textctrl = Wx::TextCtrl.new(self, -1, "",
790
- Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
791
- Wx::TE_MULTILINE|Wx::SUNKEN_BORDER)
783
+ @textctrl = Wx::TextCtrl.new( self,
784
+ :text => '',
785
+ :style => Wx::TE_MULTILINE|Wx::SUNKEN_BORDER)
792
786
 
793
787
  create_tree_with_default_style()
794
788
 
@@ -800,55 +794,54 @@ class MyFrame < Wx::Frame
800
794
 
801
795
  # set our text control as the log target
802
796
  logWindow = Wx::LogTextCtrl.new(@textctrl)
803
- Wx::Log::set_active_target(logWindow)
804
-
805
- evt_size {|event| on_size(event) }
806
-
807
- evt_menu(Wx::ID_EXIT) {|event| on_quit(event) }
808
- evt_menu(Wx::ID_ABOUT) {|event| on_about(event) }
809
-
810
- evt_menu(TreeTest_TogButtons) {|event| on_tog_buttons(event) }
811
- evt_menu(TreeTest_TogTwist) {|event| on_tog_twist(event) }
812
- evt_menu(TreeTest_TogLines) {|event| on_tog_lines(event) }
813
- evt_menu(TreeTest_TogEdit) {|event| on_tog_edit(event) }
814
- evt_menu(TreeTest_TogHideRoot) {|event| on_tog_hide_root(event) }
815
- evt_menu(TreeTest_TogRootLines) {|event| on_tog_root_lines(event) }
816
- evt_menu(TreeTest_TogBorder) {|event| on_tog_border(event) }
817
- evt_menu(TreeTest_TogFullHighlight) {|event| on_tog_full_highlight(event) }
818
- evt_menu(TreeTest_SetFgColour) {|event| on_set_fg_colour(event) }
819
- evt_menu(TreeTest_SetBgColour) {|event| on_set_bg_colour(event) }
820
- evt_menu(TreeTest_ResetStyle) {|event| on_reset_style(event) }
821
-
822
- evt_menu(TreeTest_Dump) {|event| on_dump(event) }
823
- evt_menu(TreeTest_DumpSelected) {|event| on_dump_selected(event) }
824
- evt_menu(TreeTest_Select) {|event| on_select(event) }
825
- evt_menu(TreeTest_Unselect) {|event| on_unselect(event) }
826
- evt_menu(TreeTest_ToggleSel) {|event| on_toggle_sel(event) }
827
- evt_menu(TreeTest_Rename) {|event| on_rename(event) }
828
- evt_menu(TreeTest_Count) {|event| on_count(event) }
829
- evt_menu(TreeTest_CountRec) {|event| on_count_rec(event) }
830
- evt_menu(TreeTest_Sort) {|event| on_sort(event) }
831
- evt_menu(TreeTest_SortRev) {|event| on_sort_rev(event) }
832
- evt_menu(TreeTest_SetBold) {|event| on_set_bold(event) }
833
- evt_menu(TreeTest_ClearBold) {|event| on_clear_bold(event) }
834
- evt_menu(TreeTest_Delete) {|event| on_delete(event) }
835
- evt_menu(TreeTest_DeleteChildren) {|event| on_delete_children(event) }
836
- evt_menu(TreeTest_DeleteAll) {|event| on_delete_all(event) }
837
- evt_menu(TreeTest_Recreate) {|event| on_recreate(event) }
838
- evt_menu(TreeTest_ToggleImages) {|event| on_toggle_images(event) }
839
- evt_menu(TreeTest_ToggleButtons) {|event| on_toggle_buttons(event) }
840
- evt_menu(TreeTest_SetImageSize) {|event| on_set_image_size(event) }
841
- evt_menu(TreeTest_CollapseAndReset) {|event| on_collapse_and_reset(event) }
842
- evt_menu(TreeTest_EnsureVisible) {|event| on_ensure_visible(event) }
843
- evt_menu(TreeTest_AddItem) {|event| on_add_item(event) }
844
- evt_menu(TreeTest_InsertItem) {|event| on_insert_item(event) }
845
- evt_menu(TreeTest_IncIndent) {|event| on_inc_indent(event) }
846
- evt_menu(TreeTest_DecIndent) {|event| on_dec_indent(event) }
847
- evt_menu(TreeTest_IncSpacing) {|event| on_inc_spacing(event) }
848
- evt_menu(TreeTest_DecSpacing) {|event| on_dec_spacing(event) }
849
- evt_menu(TreeTest_ToggleIcon) {|event| on_toggle_icon(event) }
850
-
851
- evt_close {|event| on_close(event) }
797
+ Wx::Log::active_target = logWindow
798
+
799
+ evt_size :on_size
800
+ evt_close :on_close
801
+
802
+ evt_menu Wx::ID_EXIT, :on_quit
803
+ evt_menu Wx::ID_ABOUT, :on_about
804
+
805
+ evt_menu TreeTest_TogButtons, :on_tog_buttons
806
+ evt_menu TreeTest_TogTwist, :on_tog_twist
807
+ evt_menu TreeTest_TogLines, :on_tog_lines
808
+ evt_menu TreeTest_TogEdit, :on_tog_edit
809
+ evt_menu TreeTest_TogHideRoot, :on_tog_hide_root
810
+ evt_menu TreeTest_TogRootLines, :on_tog_root_lines
811
+ evt_menu TreeTest_TogBorder, :on_tog_border
812
+ evt_menu TreeTest_TogFullHighlight, :on_tog_full_highlight
813
+ evt_menu TreeTest_SetFgColour, :on_set_fg_colour
814
+ evt_menu TreeTest_SetBgColour, :on_set_bg_colour
815
+ evt_menu TreeTest_ResetStyle, :on_reset_style
816
+
817
+ evt_menu TreeTest_Dump, :on_dump
818
+ evt_menu TreeTest_DumpSelected, :on_dump_selected
819
+ evt_menu TreeTest_Select, :on_select
820
+ evt_menu TreeTest_Unselect, :on_unselect
821
+ evt_menu TreeTest_ToggleSel, :on_toggle_sel
822
+ evt_menu TreeTest_Rename, :on_rename
823
+ evt_menu TreeTest_Count, :on_count
824
+ evt_menu TreeTest_CountRec, :on_count_rec
825
+ evt_menu TreeTest_Sort, :on_sort
826
+ evt_menu TreeTest_SortRev, :on_sort_rev
827
+ evt_menu TreeTest_SetBold, :on_set_bold
828
+ evt_menu TreeTest_ClearBold, :on_clear_bold
829
+ evt_menu TreeTest_Delete, :on_delete
830
+ evt_menu TreeTest_DeleteChildren, :on_delete_children
831
+ evt_menu TreeTest_DeleteAll, :on_delete_all
832
+ evt_menu TreeTest_Recreate, :on_recreate
833
+ evt_menu TreeTest_ToggleImages, :on_toggle_images
834
+ evt_menu TreeTest_ToggleButtons, :on_toggle_buttons
835
+ evt_menu TreeTest_SetImageSize, :on_set_image_size
836
+ evt_menu TreeTest_CollapseAndReset, :on_collapse_and_reset
837
+ evt_menu TreeTest_EnsureVisible, :on_ensure_visible
838
+ evt_menu TreeTest_AddItem, :on_add_item
839
+ evt_menu TreeTest_InsertItem, :on_insert_item
840
+ evt_menu TreeTest_IncIndent, :on_inc_indent
841
+ evt_menu TreeTest_DecIndent, :on_dec_indent
842
+ evt_menu TreeTest_IncSpacing, :on_inc_spacing
843
+ evt_menu TreeTest_DecSpacing, :on_dec_spacing
844
+ evt_menu TreeTest_ToggleIcon, :on_toggle_icon
852
845
  end
853
846
 
854
847
  def create_tree_with_default_style()
@@ -860,7 +853,7 @@ class MyFrame < Wx::Frame
860
853
 
861
854
  # as we don't know what Wx::TR_DEFAULT_STYLE could contain, test for
862
855
  # everything
863
- mbar = get_menu_bar()
856
+ mbar = menu_bar
864
857
  mbar.check(TreeTest_TogButtons, (style & Wx::TR_HAS_BUTTONS) != 0)
865
858
  mbar.check(TreeTest_TogButtons, (style & Wx::TR_TWIST_BUTTONS) != 0)
866
859
  mbar.check(TreeTest_TogLines, (style & Wx::TR_NO_LINES) == 0)
@@ -872,53 +865,51 @@ class MyFrame < Wx::Frame
872
865
  end
873
866
 
874
867
  def create_tree(style)
875
- @treectrl = MyTreeCtrl.new(self, TreeTest_Ctrl,
876
- Wx::DEFAULT_POSITION, Wx::DEFAULT_SIZE,
877
- style)
878
- resize()
868
+ @treectrl = MyTreeCtrl.new(self, :style => style)
869
+ resize
879
870
  end
880
871
 
881
872
  def tog_style(id,flag)
882
873
 
883
- style = @treectrl.get_window_style_flag() ^ flag
874
+ style = @treectrl.window_style_flag ^ flag
884
875
 
885
876
  # most treectrl styles can't be changed on the fly using the native
886
877
  # control and the tree must be recreated
887
878
  @treectrl.destroy
888
879
  create_tree(style)
889
- get_menu_bar().check(id, (style & flag) != 0)
880
+ menu_bar.check(id, (style & flag) != 0)
890
881
  end
891
882
 
892
883
  def on_tog_buttons(event)
893
- tog_style(event.get_id(), Wx::TR_HAS_BUTTONS)
884
+ tog_style(event.id, Wx::TR_HAS_BUTTONS)
894
885
  end
895
886
 
896
887
  def on_tog_twist(event)
897
- tog_style(event.get_id(), Wx::TR_TWIST_BUTTONS)
888
+ tog_style(event.id, Wx::TR_TWIST_BUTTONS)
898
889
  end
899
890
 
900
891
  def on_tog_lines(event)
901
- tog_style(event.get_id(), Wx::TR_NO_LINES)
892
+ tog_style(event.id, Wx::TR_NO_LINES)
902
893
  end
903
894
 
904
895
  def on_tog_edit(event)
905
- tog_style(event.get_id(), Wx::TR_EDIT_LABELS)
896
+ tog_style(event.id, Wx::TR_EDIT_LABELS)
906
897
  end
907
898
 
908
899
  def on_tog_hide_root(event)
909
- tog_style(event.get_id(), Wx::TR_HIDE_ROOT)
900
+ tog_style(event.id, Wx::TR_HIDE_ROOT)
910
901
  end
911
902
 
912
903
  def on_tog_root_lines(event)
913
- tog_style(event.get_id(), Wx::TR_LINES_AT_ROOT)
904
+ tog_style(event.id, Wx::TR_LINES_AT_ROOT)
914
905
  end
915
906
 
916
907
  def on_tog_border(event)
917
- tog_style(event.get_id(), Wx::TR_ROW_LINES)
908
+ tog_style(event.id, Wx::TR_ROW_LINES)
918
909
  end
919
910
 
920
911
  def on_tog_full_highlight(event)
921
- tog_style(event.get_id(), Wx::TR_FULL_ROW_HIGHLIGHT)
912
+ tog_style(event.id, Wx::TR_FULL_ROW_HIGHLIGHT)
922
913
  end
923
914
 
924
915
  def on_reset_style(event)
@@ -934,7 +925,7 @@ class MyFrame < Wx::Frame
934
925
  end
935
926
 
936
927
  def on_sort(event)
937
- do_sort()
928
+ do_sort
938
929
  end
939
930
 
940
931
  def on_sort_rev(event)
@@ -943,22 +934,19 @@ class MyFrame < Wx::Frame
943
934
 
944
935
  def on_size(event)
945
936
  if @treectrl && @textctrl
946
- resize()
937
+ resize
947
938
  end
948
-
949
- event.skip()
939
+ event.skip
950
940
  end
951
941
 
952
- def resize()
953
- my_size = get_client_size()
954
- tree_size = Wx::Size.new(my_size.x, 2*my_size.y/3)
955
- @treectrl.set_size( tree_size )
956
- @textctrl.set_dimensions(0, 2*my_size.y/3, my_size.x, my_size.y/3)
942
+ def resize
943
+ my_size = self.client_size
944
+ @treectrl.size = [ my_size.x, 2 * my_size.y / 3 ]
957
945
  end
958
946
 
959
947
  def on_close(event)
960
- Wx::Log::set_active_target(nil)
961
- destroy()
948
+ Wx::Log::active_target = nil
949
+ destroy
962
950
  end
963
951
 
964
952
  def on_quit(event)
@@ -966,15 +954,15 @@ class MyFrame < Wx::Frame
966
954
  end
967
955
 
968
956
  def on_about(event)
969
- Wx::message_box("Tree test sample\n" +
970
- "(c) Julian Smart 1997, Vadim Zeitlin 1998",
971
- "About tree test",
972
- Wx::OK|Wx::ICON_INFORMATION, self)
957
+ Wx::message_box( "Tree test sample\n" +
958
+ "(c) Julian Smart 1997, Vadim Zeitlin 1998",
959
+ "About tree test",
960
+ Wx::OK|Wx::ICON_INFORMATION, self)
973
961
  end
974
962
 
975
963
  def check_item(item)
976
964
  unless item.nonzero?
977
- message_box("Please select some item first!",
965
+ Wx::message_box("Please select some item first!",
978
966
  "Tree sample error",
979
967
  Wx::OK|Wx::ICON_EXCLAMATION, self)
980
968
  return false
@@ -983,51 +971,44 @@ class MyFrame < Wx::Frame
983
971
  end
984
972
 
985
973
  def on_rename(event)
986
- item = @treectrl.get_selection()
987
-
974
+ item = @treectrl.selection
988
975
  return nil unless check_item( item )
989
-
990
976
  # TODO demonstrate creating a custom edit control...
991
977
  @treectrl.edit_label(item)
992
978
  end
993
979
 
994
980
  def on_count(event)
995
- item = @treectrl.get_selection()
996
-
981
+ item = @treectrl.selection
997
982
  return nil unless check_item( item )
998
-
999
- i = @treectrl.get_children_count( item, false )
1000
-
983
+ i = @treectrl.children_count( item, false )
1001
984
  Wx::log_message("%d children", i)
1002
985
  end
1003
986
 
1004
987
  def on_count_rec(event)
1005
- item = @treectrl.get_selection()
988
+ item = @treectrl.selection
1006
989
  return nil unless check_item( item )
1007
- Wx::log_message("%d children", @treectrl.get_children_count( item ))
990
+ Wx::log_message("%d children", @treectrl.children_count( item ))
1008
991
  end
1009
992
 
1010
993
  def do_sort(reverse = false)
1011
- item = @treectrl.get_selection()
994
+ item = @treectrl.selection
1012
995
  return nil unless check_item( item )
1013
996
  @treectrl.do_sort_children(item, reverse)
1014
997
  end
1015
998
 
1016
999
  def on_dump(event)
1017
- root = @treectrl.get_selection()
1018
-
1000
+ root = @treectrl.selection
1019
1001
  return nil unless check_item( root )
1020
-
1021
1002
  @treectrl.get_items_recursively(root, -1)
1022
1003
  end
1023
1004
 
1024
1005
  def on_toggle_sel(event)
1025
- tog_style(event.get_id(), Wx::TR_MULTIPLE)
1006
+ tog_style(event.id, Wx::TR_MULTIPLE)
1026
1007
  end
1027
1008
 
1028
1009
  def on_dump_selected(event)
1029
- if ( @treectrl.get_window_style & Wx::TR_MULTIPLE ) == 0
1030
- item_id = @treectrl.get_selection
1010
+ if ( @treectrl.window_style & Wx::TR_MULTIPLE ) == 0
1011
+ item_id = @treectrl.selection
1031
1012
  if item_id.nonzero?
1032
1013
  Wx::log_message("<TreeItem '%s'>",
1033
1014
  @treectrl.get_item_text(item_id))
@@ -1046,7 +1027,7 @@ class MyFrame < Wx::Frame
1046
1027
  end
1047
1028
 
1048
1029
  def on_select(event)
1049
- @treectrl.select_item(@treectrl.get_selection())
1030
+ @treectrl.select_item(@treectrl.selection)
1050
1031
  end
1051
1032
 
1052
1033
  def on_unselect(event)
@@ -1054,26 +1035,20 @@ class MyFrame < Wx::Frame
1054
1035
  end
1055
1036
 
1056
1037
  def do_set_bold(bold = true)
1057
- item = @treectrl.get_selection()
1058
-
1038
+ item = @treectrl.selection
1059
1039
  return nil unless check_item( item )
1060
-
1061
1040
  @treectrl.set_item_bold(item, bold)
1062
1041
  end
1063
1042
 
1064
1043
  def on_delete(event)
1065
- item = @treectrl.get_selection()
1066
-
1044
+ item = @treectrl.selection
1067
1045
  return nil unless check_item( item )
1068
-
1069
1046
  @treectrl.delete(item)
1070
1047
  end
1071
1048
 
1072
1049
  def on_delete_children(event)
1073
- item = @treectrl.get_selection()
1074
-
1050
+ item = @treectrl.selection
1075
1051
  return nil unless check_item( item )
1076
-
1077
1052
  @treectrl.delete_children(item)
1078
1053
  end
1079
1054
 
@@ -1096,7 +1071,7 @@ class MyFrame < Wx::Frame
1096
1071
  end
1097
1072
 
1098
1073
  @treectrl.create_image_list(size)
1099
- Wx::get_app.show_images = true
1074
+ Wx::THE_APP.show_images = true
1100
1075
  end
1101
1076
 
1102
1077
  def on_toggle_images(event)
@@ -1121,46 +1096,42 @@ class MyFrame < Wx::Frame
1121
1096
  end
1122
1097
 
1123
1098
  def on_insert_item(event)
1124
- image = Wx::get_app.show_images() ? TreeCtrlIcon_File : -1
1125
- @treectrl.insert_item(@treectrl.get_root_item(), -1, "2nd item", image)
1099
+ image = Wx::THE_APP.show_images() ? TreeCtrlIcon_File : -1
1100
+ @treectrl.insert_item(@treectrl.root_item, -1, "2nd item", image)
1126
1101
  end
1127
1102
 
1128
1103
  def on_add_item(event)
1129
1104
  @s_num += 1
1130
1105
  text = sprintf("Item #%d", @s_num)
1131
- @treectrl.append_item(@treectrl.get_root_item(), text)
1106
+ @treectrl.append_item(@treectrl.root_item, text)
1132
1107
  end
1133
1108
 
1134
1109
  def on_inc_indent(event)
1135
- indent = @treectrl.get_indent()
1136
- if indent < 100
1137
- @treectrl.set_indent( indent+5 )
1110
+ if @treectrl.indent < 100
1111
+ @treectrl.indent += 5
1138
1112
  end
1139
1113
  end
1140
1114
 
1141
1115
  def on_dec_indent(event)
1142
- indent = @treectrl.get_indent()
1143
- if indent > 10
1144
- @treectrl.set_indent( indent-5 )
1116
+ if @treectrl.indent > 10
1117
+ @treectrl.indent -= 5
1145
1118
  end
1146
1119
  end
1147
1120
 
1148
1121
  def on_inc_spacing(event)
1149
- indent = @treectrl.get_spacing()
1150
- if indent < 100
1151
- @treectrl.set_spacing( indent+5 )
1122
+ if @treectrl.spacing < 100
1123
+ @treectrl.spacing += 5
1152
1124
  end
1153
1125
  end
1154
1126
 
1155
1127
  def on_dec_spacing(event)
1156
- indent = @treectrl.get_spacing()
1157
- if indent > 10
1158
- @treectrl.set_spacing( indent-5 )
1128
+ if @treectrl.spacing > 10
1129
+ @treectrl.spacing -= 5
1159
1130
  end
1160
1131
  end
1161
1132
 
1162
1133
  def on_toggle_icon(event)
1163
- item = @treectrl.get_selection()
1134
+ item = @treectrl.selection
1164
1135
  return nil unless check_item( item )
1165
1136
  @treectrl.do_toggle_icon(item)
1166
1137
  end
@@ -1169,9 +1140,9 @@ class MyFrame < Wx::Frame
1169
1140
  def on_set_fg_colour(event)
1170
1141
  Wx::log_message('NOT IMPLEMENTED')
1171
1142
  return
1172
- col = Wx::get_colour_from_user(self, @treectrl.get_foreground_colour())
1173
- if col.is_ok
1174
- @treectrl.set_foreground_colour(col)
1143
+ col = Wx::get_colour_from_user(self, @treectrl.foreground_colour)
1144
+ if col.ok?
1145
+ @treectrl.foreground_colour = col
1175
1146
  end
1176
1147
  end
1177
1148
 
@@ -1179,9 +1150,9 @@ class MyFrame < Wx::Frame
1179
1150
  def on_set_bg_colour(event)
1180
1151
  Wx::log_message('NOT IMPLEMENTED')
1181
1152
  return
1182
- col = Wx::get_colour_from_user(self, @treectrl.get_background_colour())
1183
- if col.is_ok
1184
- @treectrl.set_background_colour(col)
1153
+ col = Wx::get_colour_from_user(self, @treectrl.background_colour)
1154
+ if col.ok?
1155
+ @treectrl.background_colour = col
1185
1156
  end
1186
1157
  end
1187
1158
 
@@ -1198,7 +1169,7 @@ class MyApp < Wx::App
1198
1169
  def on_init
1199
1170
  # Create the main frame window
1200
1171
  frame = MyFrame.new("TreeCtrl Test", 50, 50, 450, 600)
1201
-
1172
+ gc_stress
1202
1173
  # show the frame
1203
1174
  frame.show(true)
1204
1175
  # set_top_window(frame)
@@ -1206,5 +1177,5 @@ class MyApp < Wx::App
1206
1177
  end
1207
1178
  end
1208
1179
 
1209
- a = MyApp.new
1210
- a.main_loop()
1180
+ app = MyApp.new
1181
+ app.main_loop