gtk2 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. checksums.yaml +7 -0
  2. data/README +2 -2
  3. data/Rakefile +5 -3
  4. data/ext/gtk2/extconf.rb +5 -2
  5. data/ext/gtk2/global.h +1 -8
  6. data/ext/gtk2/rbgdk.c +1 -16
  7. data/ext/gtk2/rbgdkcairo.c +0 -8
  8. data/ext/gtk2/rbgdkcolormap.c +0 -4
  9. data/ext/gtk2/rbgdkcursor.c +0 -18
  10. data/ext/gtk2/rbgdkdisplay.c +7 -45
  11. data/ext/gtk2/rbgdkdisplaymanager.c +0 -5
  12. data/ext/gtk2/rbgdkdragcontext.c +0 -13
  13. data/ext/gtk2/rbgdkdraw.c +2 -26
  14. data/ext/gtk2/rbgdkevent.c +631 -324
  15. data/ext/gtk2/rbgdkgc.c +0 -5
  16. data/ext/gtk2/rbgdkkeymap.c +2 -4
  17. data/ext/gtk2/rbgdkpango.c +0 -5
  18. data/ext/gtk2/rbgdkpangorenderer.c +0 -6
  19. data/ext/gtk2/rbgdkpixbuf.c +0 -3
  20. data/ext/gtk2/rbgdkpixmap.c +3 -18
  21. data/ext/gtk2/rbgdkproperty.c +0 -41
  22. data/ext/gtk2/rbgdkscreen.c +0 -22
  23. data/ext/gtk2/rbgdkselection.c +0 -13
  24. data/ext/gtk2/rbgdkvisual.c +0 -4
  25. data/ext/gtk2/rbgdkwindow.c +2 -71
  26. data/ext/gtk2/rbgdkx11.c +1 -6
  27. data/ext/gtk2/rbgtkaboutdialog.c +0 -5
  28. data/ext/gtk2/rbgtkaccelerator.c +0 -4
  29. data/ext/gtk2/rbgtkaccelgroup.c +0 -8
  30. data/ext/gtk2/rbgtkaccelmap.c +0 -15
  31. data/ext/gtk2/rbgtkaction.c +0 -14
  32. data/ext/gtk2/rbgtkactiongroup.c +0 -9
  33. data/ext/gtk2/rbgtkalignment.c +0 -4
  34. data/ext/gtk2/rbgtkassistant.c +0 -6
  35. data/ext/gtk2/rbgtkbbox.c +0 -4
  36. data/ext/gtk2/rbgtkbutton.c +0 -4
  37. data/ext/gtk2/rbgtkcalendar.c +0 -8
  38. data/ext/gtk2/rbgtkcelllayout.c +0 -5
  39. data/ext/gtk2/rbgtkcellrenderer.c +0 -8
  40. data/ext/gtk2/rbgtkcellrendereraccel.c +0 -6
  41. data/ext/gtk2/rbgtkcellrenderercombo.c +0 -6
  42. data/ext/gtk2/rbgtkcellrendererprogress.c +0 -6
  43. data/ext/gtk2/rbgtkcellrendererspin.c +0 -6
  44. data/ext/gtk2/rbgtkcellview.c +0 -5
  45. data/ext/gtk2/rbgtkclipboard.c +0 -48
  46. data/ext/gtk2/rbgtkcolorbutton.c +0 -6
  47. data/ext/gtk2/rbgtkcolorsel.c +0 -4
  48. data/ext/gtk2/rbgtkcombobox.c +0 -12
  49. data/ext/gtk2/rbgtkcomboboxentry.c +0 -6
  50. data/ext/gtk2/rbgtkconst.c +0 -2
  51. data/ext/gtk2/rbgtkdialog.c +0 -10
  52. data/ext/gtk2/rbgtkdrag.c +0 -24
  53. data/ext/gtk2/rbgtkentry.c +0 -4
  54. data/ext/gtk2/rbgtkentrycompletion.c +0 -10
  55. data/ext/gtk2/rbgtkexpander.c +0 -6
  56. data/ext/gtk2/rbgtkfilechooser.c +0 -10
  57. data/ext/gtk2/rbgtkfilechooserbutton.c +0 -6
  58. data/ext/gtk2/rbgtkfilechooserdialog.c +0 -8
  59. data/ext/gtk2/rbgtkfilechooserwidget.c +0 -6
  60. data/ext/gtk2/rbgtkfilefilter.c +0 -11
  61. data/ext/gtk2/rbgtkfilesystemerror.c +0 -2
  62. data/ext/gtk2/rbgtkfontbutton.c +0 -6
  63. data/ext/gtk2/rbgtkiconinfo.c +0 -5
  64. data/ext/gtk2/rbgtkiconsize.c +0 -4
  65. data/ext/gtk2/rbgtkicontheme.c +0 -11
  66. data/ext/gtk2/rbgtkiconview.c +0 -9
  67. data/ext/gtk2/rbgtkimage.c +0 -8
  68. data/ext/gtk2/rbgtkinvisible.c +0 -4
  69. data/ext/gtk2/rbgtklinkbutton.c +0 -5
  70. data/ext/gtk2/rbgtkliststore.c +0 -14
  71. data/ext/gtk2/rbgtkmenu.c +0 -12
  72. data/ext/gtk2/rbgtkmenubar.c +0 -2
  73. data/ext/gtk2/rbgtkmenushell.c +0 -4
  74. data/ext/gtk2/rbgtkmenutoolbutton.c +0 -5
  75. data/ext/gtk2/rbgtkmessagedialog.c +0 -4
  76. data/ext/gtk2/rbgtknotebook.c +0 -9
  77. data/ext/gtk2/rbgtkpagesetup.c +0 -5
  78. data/ext/gtk2/rbgtkpapersize.c +0 -6
  79. data/ext/gtk2/rbgtkprintcontext.c +0 -5
  80. data/ext/gtk2/rbgtkprintoperation.c +0 -5
  81. data/ext/gtk2/rbgtkprintoperationpreview.c +0 -5
  82. data/ext/gtk2/rbgtkprintsettings.c +0 -5
  83. data/ext/gtk2/rbgtkradioaction.c +0 -18
  84. data/ext/gtk2/rbgtkradiotoolbutton.c +0 -6
  85. data/ext/gtk2/rbgtkrange.c +0 -2
  86. data/ext/gtk2/rbgtkrc.c +0 -4
  87. data/ext/gtk2/rbgtkrecentchooser.c +0 -6
  88. data/ext/gtk2/rbgtkrecentchooserdialog.c +0 -5
  89. data/ext/gtk2/rbgtkrecentchoosermenu.c +0 -6
  90. data/ext/gtk2/rbgtkrecentchooserwidget.c +0 -5
  91. data/ext/gtk2/rbgtkrecentdata.c +0 -6
  92. data/ext/gtk2/rbgtkrecentfilter.c +0 -5
  93. data/ext/gtk2/rbgtkrecentfilterinfo.c +0 -6
  94. data/ext/gtk2/rbgtkrecentinfo.c +0 -5
  95. data/ext/gtk2/rbgtkrecentmanager.c +0 -5
  96. data/ext/gtk2/rbgtkscale.c +0 -6
  97. data/ext/gtk2/rbgtkscrolledwindow.c +0 -9
  98. data/ext/gtk2/rbgtkselection.c +0 -8
  99. data/ext/gtk2/rbgtkselectiondata.c +2 -14
  100. data/ext/gtk2/rbgtkseparatortoolitem.c +0 -6
  101. data/ext/gtk2/rbgtksettings.c +0 -4
  102. data/ext/gtk2/rbgtksizegroup.c +0 -5
  103. data/ext/gtk2/rbgtkstatusicon.c +0 -5
  104. data/ext/gtk2/rbgtkstock.c +0 -38
  105. data/ext/gtk2/rbgtkstyle.c +0 -8
  106. data/ext/gtk2/rbgtktargetlist.c +0 -34
  107. data/ext/gtk2/rbgtktextbuffer.c +0 -12
  108. data/ext/gtk2/rbgtktextiter.c +0 -8
  109. data/ext/gtk2/rbgtktextview.c +0 -4
  110. data/ext/gtk2/rbgtktoggleaction.c +0 -7
  111. data/ext/gtk2/rbgtktoggletoolbutton.c +0 -6
  112. data/ext/gtk2/rbgtktoolbar.c +0 -6
  113. data/ext/gtk2/rbgtktoolbutton.c +0 -6
  114. data/ext/gtk2/rbgtktoolitem.c +0 -9
  115. data/ext/gtk2/rbgtktooltips.c +0 -4
  116. data/ext/gtk2/rbgtktreeiter.c +0 -4
  117. data/ext/gtk2/rbgtktreemodelfilter.c +0 -5
  118. data/ext/gtk2/rbgtktreemodelsort.c +0 -4
  119. data/ext/gtk2/rbgtktreerowreference.c +0 -4
  120. data/ext/gtk2/rbgtktreeselection.c +0 -4
  121. data/ext/gtk2/rbgtktreestore.c +0 -19
  122. data/ext/gtk2/rbgtktreeview.c +0 -24
  123. data/ext/gtk2/rbgtktreeviewcolumn.c +0 -10
  124. data/ext/gtk2/rbgtkuimanager.c +0 -6
  125. data/ext/gtk2/rbgtkwidget.c +1 -31
  126. data/ext/gtk2/rbgtkwindow.c +2 -47
  127. data/sample/gtk-demo/common.rb +6 -1
  128. data/sample/gtk-demo/main.rb +89 -85
  129. data/test/test_gtk_icon_theme.rb +11 -6
  130. metadata +14 -22
@@ -178,7 +178,6 @@ rg_set_default(VALUE self, VALUE win)
178
178
  return self;
179
179
  }
180
180
 
181
- #if GTK_CHECK_VERSION(2,8,0)
182
181
  static VALUE
183
182
  rg_present(int argc, VALUE *argv, VALUE self)
184
183
  {
@@ -190,14 +189,6 @@ rg_present(int argc, VALUE *argv, VALUE self)
190
189
  }
191
190
  return self;
192
191
  }
193
- #else
194
- static VALUE
195
- gwin_present(VALUE self)
196
- {
197
- gtk_window_present(_SELF(self));
198
- return self;
199
- }
200
- #endif
201
192
 
202
193
  static VALUE
203
194
  rg_iconify(VALUE self)
@@ -241,7 +232,6 @@ rg_unmaximize(VALUE self)
241
232
  return self;
242
233
  }
243
234
 
244
- #if GTK_CHECK_VERSION(2,2,0)
245
235
  static VALUE
246
236
  rg_fullscreen(VALUE self)
247
237
  {
@@ -254,8 +244,7 @@ rg_unfullscreen(VALUE self)
254
244
  gtk_window_unfullscreen(_SELF(self));
255
245
  return self;
256
246
  }
257
- #endif
258
- #if GTK_CHECK_VERSION(2,4,0)
247
+
259
248
  static VALUE
260
249
  rg_set_keep_above(VALUE self, VALUE setting)
261
250
  {
@@ -268,7 +257,6 @@ rg_set_keep_below(VALUE self, VALUE setting)
268
257
  gtk_window_set_keep_below(_SELF(self), RVAL2CBOOL(setting));
269
258
  return self;
270
259
  }
271
- #endif
272
260
 
273
261
  static VALUE
274
262
  rg_begin_resize_drag(VALUE self, VALUE edge, VALUE button, VALUE root_x, VALUE root_y, VALUE timestamp)
@@ -372,13 +360,11 @@ rg_size(VALUE self)
372
360
  return rb_ary_new3(2, INT2NUM(width), INT2NUM(height));
373
361
  }
374
362
 
375
- #if GTK_CHECK_VERSION(2,10,0)
376
363
  static VALUE
377
364
  rg_group(VALUE self)
378
365
  {
379
366
  return GOBJ2RVAL(gtk_window_get_group(_SELF(self)));
380
367
  }
381
- #endif
382
368
 
383
369
  static VALUE
384
370
  rg_move(VALUE self, VALUE x, VALUE y)
@@ -419,7 +405,6 @@ rg_s_set_default_icon_list(G_GNUC_UNUSED VALUE self, VALUE rblist)
419
405
  return rblist;
420
406
  }
421
407
 
422
- #if GTK_CHECK_VERSION(2,2,0)
423
408
  static VALUE
424
409
  rg_s_set_default_icon(VALUE self, VALUE icon_or_filename)
425
410
  {
@@ -429,40 +414,28 @@ rg_s_set_default_icon(VALUE self, VALUE icon_or_filename)
429
414
  if (! ret)
430
415
  RAISE_GERROR(err);
431
416
  } else {
432
- #if GTK_CHECK_VERSION(2,4,0)
433
417
  gtk_window_set_default_icon(GDK_PIXBUF(RVAL2GOBJ(icon_or_filename)));
434
- #else
435
- rb_raise(rb_eArgError, "Invalid argument: %s, or you may need to use GTK+-2.4.x",
436
- rb_class2name(CLASS_OF(icon_or_filename)));
437
- #endif
438
418
  }
439
419
  return self;
440
420
  }
441
- #endif
442
421
 
443
- #if GTK_CHECK_VERSION(2,6,0)
444
422
  static VALUE
445
423
  rg_s_set_default_icon_name(VALUE self, VALUE name)
446
424
  {
447
425
  gtk_window_set_default_icon_name(RVAL2CSTR(name));
448
426
  return self;
449
427
  }
450
- #endif
451
428
 
452
429
  static VALUE
453
430
  gwin_set_icon(VALUE self, VALUE icon_or_filename)
454
431
  {
455
432
  if (TYPE(icon_or_filename) == T_STRING){
456
- #if GTK_CHECK_VERSION(2,2,0)
457
433
  GError* err;
458
434
  gboolean ret = gtk_window_set_icon_from_file(_SELF(self),
459
435
  RVAL2CSTR(icon_or_filename), &err);
460
436
  if (! ret)
461
437
  RAISE_GERROR(err);
462
- #else
463
- rb_raise(rb_eArgError, "Invalid argument: %s, or you may need to use GTK+-2.4.x",
464
- rb_class2name(CLASS_OF(icon_or_filename)));
465
- #endif
438
+
466
439
  } else {
467
440
  gtk_window_set_icon(_SELF(self), GDK_PIXBUF(RVAL2GOBJ(icon_or_filename)));
468
441
  }
@@ -483,14 +456,12 @@ rg_set_icon_list(VALUE self, VALUE rblist)
483
456
  return rblist;
484
457
  }
485
458
 
486
- #if GTK_CHECK_VERSION(2,2,0)
487
459
  static VALUE
488
460
  rg_s_set_auto_startup_notification(VALUE self, VALUE setting)
489
461
  {
490
462
  gtk_window_set_auto_startup_notification(RVAL2CBOOL(setting));
491
463
  return self;
492
464
  }
493
- #endif
494
465
 
495
466
  /* They are not public methods.
496
467
  static VALUE
@@ -556,25 +527,17 @@ Init_gtk_window(VALUE mGtk)
556
527
  RG_DEF_METHOD(focus, 0);
557
528
  RG_DEF_METHOD(set_focus, 1);
558
529
  RG_DEF_METHOD(set_default, 1);
559
- #if GTK_CHECK_VERSION(2,8,0)
560
530
  RG_DEF_METHOD(present, -1);
561
- #else
562
- RG_DEF_METHOD(present, 0);
563
- #endif
564
531
  RG_DEF_METHOD(iconify, 0);
565
532
  RG_DEF_METHOD(deiconify, 0);
566
533
  RG_DEF_METHOD(stick, 0);
567
534
  RG_DEF_METHOD(unstick, 0);
568
535
  RG_DEF_METHOD(maximize, 0);
569
536
  RG_DEF_METHOD(unmaximize, 0);
570
- #if GTK_CHECK_VERSION(2,2,0)
571
537
  RG_DEF_METHOD(fullscreen, 0);
572
538
  RG_DEF_METHOD(unfullscreen, 0);
573
- #endif
574
- #if GTK_CHECK_VERSION(2,4,0)
575
539
  RG_DEF_METHOD(set_keep_above, 1);
576
540
  RG_DEF_METHOD(set_keep_below, 1);
577
- #endif
578
541
  RG_DEF_METHOD(begin_resize_drag, 5);
579
542
  RG_DEF_METHOD(begin_move_drag, 4);
580
543
  RG_DEF_METHOD(set_frame_dimensions, 4);
@@ -588,25 +551,17 @@ Init_gtk_window(VALUE mGtk)
588
551
  RG_DEF_METHOD(mnemonic_modifier, 0);
589
552
  RG_DEF_METHOD(position, 0);
590
553
  RG_DEF_METHOD(size, 0);
591
- #if GTK_CHECK_VERSION(2,10,0)
592
554
  RG_DEF_METHOD(group, 0);
593
- #endif
594
555
  RG_DEF_METHOD(move, 2);
595
556
  RG_DEF_METHOD(parse_geometry, 1);
596
557
  RG_DEF_METHOD(reshow_with_initial_size, 0);
597
558
  RG_DEF_METHOD(resize, 2);
598
559
  RG_DEF_SMETHOD(set_default_icon_list, 1);
599
- #if GTK_CHECK_VERSION(2,2,0)
600
560
  RG_DEF_SMETHOD(set_default_icon, 1);
601
- #endif
602
- #if GTK_CHECK_VERSION(2,6,0)
603
561
  RG_DEF_SMETHOD(set_default_icon_name, 1);
604
- #endif
605
562
  G_REPLACE_SET_PROPERTY(RG_TARGET_NAMESPACE, "icon", gwin_set_icon, 1);
606
563
  RG_DEF_METHOD(set_icon_list, 1);
607
- #if GTK_CHECK_VERSION(2,2,0)
608
564
  RG_DEF_SMETHOD(set_auto_startup_notification, 1);
609
- #endif
610
565
 
611
566
  /*
612
567
  RG_DEF_METHOD(decorated_window_init, 0);
@@ -11,7 +11,12 @@ require 'gtk2'
11
11
 
12
12
  module Demo
13
13
  def self.find_file(basename)
14
- %w(. /usr/share/gtk-2.0/demo /usr/local/share/gtk-2.0/demo/).each do |dirname|
14
+ file_load_paths = [
15
+ File.dirname(__FILE__),
16
+ "/usr/share/gtk-2.0/demo",
17
+ "/usr/local/share/gtk-2.0/demo",
18
+ ]
19
+ file_load_paths.each do |dirname|
15
20
  path = File.join(dirname, basename)
16
21
  if File.exist?(path)
17
22
  return path
@@ -2,7 +2,7 @@
2
2
  =begin
3
3
  main.rb - Main class of gtk-demo.
4
4
 
5
- Copyright (c) 2003-2006 Ruby-GNOME2 Project Team
5
+ Copyright (c) 2003-2013 Ruby-GNOME2 Project Team
6
6
  This program is licenced under the same licence as Ruby-GNOME2.
7
7
 
8
8
  $Id: main.rb,v 1.20 2007/07/09 13:21:54 ggc Exp $
@@ -27,7 +27,7 @@ module Demo
27
27
 
28
28
  set_title('Ruby/GTK+ Code Demos')
29
29
  signal_connect('destroy') do
30
- Gtk.main_quit
30
+ Gtk.main_quit
31
31
  end
32
32
 
33
33
  signal_connect("key_press_event") do |widget, event|
@@ -51,10 +51,10 @@ module Demo
51
51
  hbox.pack_start(notebook, true, true, 0)
52
52
 
53
53
  notebook.append_page(create_text(@info_buffer, false),
54
- Gtk::Label.new('_Info', true))
54
+ Gtk::Label.new('_Info', true))
55
55
 
56
56
  notebook.append_page(create_text(@source_buffer, true),
57
- Gtk::Label.new('_Source', true))
57
+ Gtk::Label.new('_Source', true))
58
58
 
59
59
  @info_buffer.create_tag('title',
60
60
  {'font' => 'Sans 18'})
@@ -65,9 +65,9 @@ module Demo
65
65
  {'foreground' => 'ForestGreen'})
66
66
  @source_buffer.create_tag('string',
67
67
  {
68
- 'foreground' => 'RosyBrown',
68
+ 'foreground' => 'RosyBrown',
69
69
  'weight' => Pango::FontDescription::WEIGHT_BOLD
70
- })
70
+ })
71
71
  @source_buffer.create_tag('reserved',
72
72
  {'foreground' => 'purple'})
73
73
  end
@@ -95,21 +95,25 @@ module Demo
95
95
  end
96
96
 
97
97
  if not klass
98
- raise "File not found: #{path}. This script should be run from its directory."
98
+ raise "File not found: #{path}."
99
99
  end
100
100
 
101
101
  return title, klass.intern, depend
102
102
  end
103
103
 
104
104
  def generate_index
105
+ base_dir = File.dirname(__FILE__)
105
106
  # Target scripts
106
- scripts = Dir.glob('*.rb') - %w(common.rb main.rb)
107
+ scripts = Dir.glob(File.join(base_dir, '*.rb'))
107
108
 
108
109
  # Generate index tree
109
110
  children = {}
110
111
  index = []
111
112
 
113
+ not_script_base_names = %w(common.rb main.rb)
112
114
  scripts.each do |fn|
115
+ base_name = File.basename(fn)
116
+ next if not_script_base_names.include?(base_name)
113
117
  title, klass, depend = script_info(fn)
114
118
 
115
119
  if depend and not Gtk.const_defined?(depend)
@@ -169,7 +173,7 @@ module Demo
169
173
  cell = Gtk::CellRendererText.new
170
174
  cell.style = Pango::FontDescription::STYLE_ITALIC
171
175
  column = Gtk::TreeViewColumn.new("Widget (double click for demo)", cell,
172
- {
176
+ {
173
177
  'text' => TITLE_COLUMN,
174
178
  'style_set' => ITALIC_COLUMN,
175
179
  })
@@ -177,8 +181,8 @@ module Demo
177
181
  tree_view.append_column(column)
178
182
 
179
183
  selection.signal_connect('changed') do |selection|
180
- iter = selection.selected
181
- load_file(iter.get_value(FILENAME_COLUMN)) if iter
184
+ iter = selection.selected
185
+ load_file(iter.get_value(FILENAME_COLUMN)) if iter
182
186
  end
183
187
  tree_view.signal_connect('row_activated') do |tree_view, path, column|
184
188
  row_activated_cb(tree_view.model, path)
@@ -190,13 +194,13 @@ module Demo
190
194
 
191
195
  def append_children(model, source, parent = nil)
192
196
  source.each do |title, filename, klass, children|
193
- iter = model.append(parent)
197
+ iter = model.append(parent)
194
198
 
195
- [title, filename, klass].each_with_index do |value, i|
196
- if value
197
- iter.set_value(i, value)
198
- end
199
- end
199
+ [title, filename, klass].each_with_index do |value, i|
200
+ if value
201
+ iter.set_value(i, value)
202
+ end
203
+ end
200
204
  iter.set_value(ITALIC_COLUMN, false)
201
205
 
202
206
  if children
@@ -212,21 +216,21 @@ module Demo
212
216
  lib = iter.get_value(FILENAME_COLUMN)
213
217
  if lib
214
218
  require(lib)
215
-
219
+
216
220
  klass = Demo.const_get(iter.get_value(CLASS_COLUMN))
217
221
  window = klass.new
218
222
  window.signal_connect('destroy') do
219
223
  iter.set_value(ITALIC_COLUMN, false)
220
224
  end
221
225
  window.show_all
222
- @window = window
226
+ @window = window
223
227
  end
224
228
  end
225
229
 
226
230
  def create_text(buffer, is_source)
227
231
  scrolled_window = Gtk::ScrolledWindow.new
228
232
  scrolled_window.set_policy(Gtk::POLICY_AUTOMATIC,
229
- Gtk::POLICY_AUTOMATIC)
233
+ Gtk::POLICY_AUTOMATIC)
230
234
  scrolled_window.set_shadow_type(Gtk::SHADOW_IN)
231
235
 
232
236
  text_view = Gtk::TextView.new
@@ -238,35 +242,35 @@ module Demo
238
242
  scrolled_window.add(text_view)
239
243
 
240
244
  if is_source
241
- font_desc = Pango::FontDescription.new('Monospace 12')
242
- text_view.modify_font(font_desc)
245
+ font_desc = Pango::FontDescription.new('Monospace 12')
246
+ text_view.modify_font(font_desc)
243
247
 
244
- text_view.set_wrap_mode(Gtk::TextTag::WRAP_NONE)
248
+ text_view.set_wrap_mode(Gtk::TextTag::WRAP_NONE)
245
249
  else
246
- text_view.set_wrap_mode(Gtk::TextTag::WRAP_WORD)
247
- text_view.set_pixels_above_lines(2)
248
- text_view.set_pixels_below_lines(2)
250
+ text_view.set_wrap_mode(Gtk::TextTag::WRAP_WORD)
251
+ text_view.set_pixels_above_lines(2)
252
+ text_view.set_pixels_below_lines(2)
249
253
  end
250
254
 
251
255
  return scrolled_window
252
256
  end
253
257
 
254
258
  def fontify(start_iter = @source_buffer.start_iter,
255
- end_iter = @source_buffer.end_iter)
259
+ end_iter = @source_buffer.end_iter)
256
260
  str = @source_buffer.get_text(start_iter, end_iter, true)
257
261
 
258
262
  tokenizer = RubyTokonizer.new
259
263
  tokenizer.tokenize(str, start_iter.offset) do |tag, start, last|
260
- @source_buffer.apply_tag(tag.to_s,
261
- @source_buffer.get_iter_at_offset(start),
262
- @source_buffer.get_iter_at_offset(last))
264
+ @source_buffer.apply_tag(tag.to_s,
265
+ @source_buffer.get_iter_at_offset(start),
266
+ @source_buffer.get_iter_at_offset(last))
263
267
  end
264
268
  end
265
269
 
266
270
 
267
271
  def load_file(filename)
268
272
  if filename == @current_file
269
- return
273
+ return
270
274
  end
271
275
 
272
276
  @info_buffer.delete(*@info_buffer.bounds)
@@ -274,43 +278,43 @@ module Demo
274
278
  @source_buffer.delete(*@source_buffer.bounds)
275
279
 
276
280
  file = begin
277
- File.open(filename)
278
- rescue
279
- $stderr.puts "Cannot open: #{$!}" if $DEBUG
280
- return
281
- end
281
+ File.open(filename)
282
+ rescue
283
+ $stderr.puts "Cannot open: #{$!}" if $DEBUG
284
+ return
285
+ end
282
286
  start = @info_buffer.get_iter_at_offset(0)
283
287
  state = :before_header
284
288
 
285
289
  file.each do |line|
286
- case state
287
- when :before_header
288
- if line =~ /^=begin$/
289
- state = :in_header
290
- end
291
- when :in_header
292
- if line =~ /^=end$/
293
- state = :body
294
- start = @source_buffer.get_iter_at_offset(0)
295
- elsif line =~ /^=\s+(.*)$/
296
- title = $1
290
+ case state
291
+ when :before_header
292
+ if line =~ /^=begin$/
293
+ state = :in_header
294
+ end
295
+ when :in_header
296
+ if line =~ /^=end$/
297
+ state = :body
298
+ start = @source_buffer.get_iter_at_offset(0)
299
+ elsif line =~ /^=\s+(.*)$/
300
+ title = $1
297
301
  title.gsub!(/\s*\(.*\)$/, '') # Delete depend field
298
302
 
299
- last = start
303
+ last = start
300
304
 
301
- @info_buffer.insert(last, title)
302
- start = last.clone
305
+ @info_buffer.insert(last, title)
306
+ start = last.clone
303
307
 
304
- start.backward_chars(title.length)
305
- @info_buffer.apply_tag('title', start, last)
308
+ start.backward_chars(title.length)
309
+ @info_buffer.apply_tag('title', start, last)
306
310
 
307
- start = last
308
- else
309
- @info_buffer.insert(start, line)
310
- end
311
- when :body # Reading program body
312
- @source_buffer.insert(start, line)
313
- end
311
+ start = last
312
+ else
313
+ @info_buffer.insert(start, line)
314
+ end
315
+ when :body # Reading program body
316
+ @source_buffer.insert(start, line)
317
+ end
314
318
  end
315
319
 
316
320
  fontify
@@ -325,30 +329,30 @@ module Demo
325
329
 
326
330
  def tokenize(str, index = 0)
327
331
  until str.empty?
328
- tag = nil
329
-
330
- case str
331
- when /".+?"/, /'.+?'/
332
- tag = :string
333
- when /#.*$/
334
- tag = :comment
335
- when RESERVED_WORDS_PATTERN
336
- tag = :reserved
337
- when /[A-Z][A-Za-z0-9_]+/
338
- tag = :const
339
- end
340
-
341
- if tag
342
- tokenize($~.pre_match, index) do |*args|
332
+ tag = nil
333
+
334
+ case str
335
+ when /".+?"/, /'.+?'/
336
+ tag = :string
337
+ when /#.*$/
338
+ tag = :comment
339
+ when RESERVED_WORDS_PATTERN
340
+ tag = :reserved
341
+ when /[A-Z][A-Za-z0-9_]+/
342
+ tag = :const
343
+ end
344
+
345
+ if tag
346
+ tokenize($~.pre_match, index) do |*args|
343
347
  yield(*args)
344
- end
345
- yield(tag, index + $~.begin(0), index + $~.end(0))
346
- index += (str.length - $~.post_match.length)
347
- str = $~.post_match
348
- else
349
- index += str.length
350
- str = ''
351
- end
348
+ end
349
+ yield(tag, index + $~.begin(0), index + $~.end(0))
350
+ index += (str.length - $~.post_match.length)
351
+ str = $~.post_match
352
+ else
353
+ index += str.length
354
+ str = ''
355
+ end
352
356
  end
353
357
  end
354
358
  end
@@ -365,9 +369,9 @@ if target
365
369
  window.show_all
366
370
 
367
371
  class << window
368
- def quit
369
- Gtk.main_quit
370
- end
372
+ def quit
373
+ Gtk.main_quit
374
+ end
371
375
  end
372
376
 
373
377
  break