arcadia 0.9.3 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (186) hide show
  1. data/README +11 -10
  2. data/bin/arcadia +3 -0
  3. data/conf/arcadia.conf +117 -75
  4. data/conf/arcadia.res.rb +219 -58
  5. data/conf/theme-dark.conf +11 -8
  6. data/conf/theme-dark.res.rb +81 -10
  7. data/ext/ae-breakpoints/ae-breakpoints.rb +1 -1
  8. data/ext/ae-dir-projects/ae-dir-projects.conf +2 -2
  9. data/ext/ae-dir-projects/ae-dir-projects.rb +84 -47
  10. data/ext/ae-editor/ae-editor.rb +541 -190
  11. data/ext/ae-editor/langs/coderay.tokens +1 -0
  12. data/ext/ae-editor/langs/conf.lang +5 -4
  13. data/ext/ae-editor/langs/java.lang +2 -1
  14. data/ext/ae-editor/langs/python.lang +4 -0
  15. data/ext/ae-editor/langs/rhtml.lang +2 -1
  16. data/ext/ae-editor/langs/ruby.lang +45 -0
  17. data/ext/ae-editor/langs/tcl.lang +80 -2
  18. data/ext/ae-editor/langs/text.lang +2 -0
  19. data/ext/ae-editor/langs/xml.lang +1 -0
  20. data/ext/ae-file-history/ae-file-history.conf +2 -2
  21. data/ext/ae-file-history/ae-file-history.rb +66 -20
  22. data/ext/ae-output/ae-output.conf +3 -3
  23. data/ext/ae-output/ae-output.rb +37 -23
  24. data/ext/ae-rad/ae-rad-palette.rb +3 -3
  25. data/ext/ae-ruby-debug/ae-ruby-debug.conf +2 -2
  26. data/ext/ae-ruby-debug/ae-ruby-debug.rb +38 -42
  27. data/ext/ae-search-in-files/ae-search-in-files.conf +2 -2
  28. data/ext/ae-search-in-files/ae-search-in-files.rb +20 -9
  29. data/ext/ae-search-in-files/ext/ack-in-files/ack-in-files.conf +2 -2
  30. data/ext/ae-shell/ae-shell.conf +1 -1
  31. data/ext/ae-shell/ae-shell.rb +57 -46
  32. data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +99 -46
  33. data/ext/ae-subprocess-inspector/process.res +0 -0
  34. data/lib/a-commons.rb +13 -9
  35. data/lib/a-contracts.rb +24 -1
  36. data/lib/a-core.rb +586 -196
  37. data/lib/a-tkcommons.rb +155 -55
  38. data/lib/anigif.rb +9 -0
  39. data/lib/ctags.exe +0 -0
  40. data/tcl/anigif/anigif.tcl +199 -0
  41. data/tcl/anigif/pkgIndex.tcl +3 -0
  42. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ArrowButton.html +0 -0
  43. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/BWidget.html +0 -0
  44. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Button.html +36 -2
  45. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ButtonBox.html +9 -7
  46. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ComboBox.html +0 -0
  47. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Dialog.html +5 -11
  48. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DragSite.html +0 -0
  49. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DropSite.html +0 -0
  50. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/DynamicHelp.html +0 -0
  51. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Entry.html +0 -0
  52. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Label.html +32 -1
  53. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/LabelEntry.html +0 -0
  54. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/LabelFrame.html +0 -0
  55. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ListBox.html +0 -0
  56. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/MainFrame.html +0 -0
  57. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/MessageDlg.html +0 -0
  58. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/NoteBook.html +0 -0
  59. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PagesManager.html +0 -0
  60. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PanedWindow.html +0 -0
  61. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PanelFrame.html +0 -0
  62. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/PasswdDlg.html +0 -0
  63. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ProgressBar.html +0 -0
  64. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ProgressDlg.html +0 -0
  65. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrollView.html +0 -0
  66. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrollableFrame.html +0 -0
  67. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/ScrolledWindow.html +13 -1
  68. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SelectColor.html +0 -0
  69. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SelectFont.html +0 -0
  70. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Separator.html +0 -0
  71. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/SpinBox.html +0 -0
  72. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/StatusBar.html +0 -0
  73. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/TitleFrame.html +0 -0
  74. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Tree.html +0 -0
  75. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/Widget.html +0 -0
  76. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/contents.html +12 -1
  77. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/index.html +0 -0
  78. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/navtree.html +0 -0
  79. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/BWman/options.htm +0 -0
  80. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/CHANGES.txt +0 -0
  81. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/ChangeLog +70 -0
  82. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/LICENSE.txt +0 -0
  83. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/README.txt +0 -0
  84. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/arrow.tcl +0 -0
  85. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/bitmap.tcl +0 -0
  86. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/button.tcl +121 -53
  87. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/buttonbox.tcl +10 -5
  88. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/color.tcl +0 -0
  89. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/combobox.tcl +0 -0
  90. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/basic.tcl +0 -0
  91. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/bwidget.xbm +0 -0
  92. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/demo.tcl +0 -0
  93. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/dnd.tcl +0 -0
  94. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/manager.tcl +0 -0
  95. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/select.tcl +0 -0
  96. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/tmpldlg.tcl +0 -0
  97. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/tree.tcl +0 -0
  98. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/demo/x1.xbm +0 -0
  99. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dialog.tcl +14 -2
  100. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dragsite.tcl +0 -0
  101. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dropsite.tcl +0 -0
  102. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/dynhelp.tcl +0 -0
  103. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/entry.tcl +0 -0
  104. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/font.tcl +0 -0
  105. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/bold.gif +0 -0
  106. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/copy.gif +0 -0
  107. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/cut.gif +0 -0
  108. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/dragfile.gif +0 -0
  109. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/dragicon.gif +0 -0
  110. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/error.gif +0 -0
  111. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/file.gif +0 -0
  112. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/folder.gif +0 -0
  113. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/hourglass.gif +0 -0
  114. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/info.gif +0 -0
  115. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/italic.gif +0 -0
  116. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/minus.xbm +0 -0
  117. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/new.gif +0 -0
  118. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/opcopy.xbm +0 -0
  119. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/open.gif +0 -0
  120. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/openfold.gif +0 -0
  121. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/oplink.xbm +0 -0
  122. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/opmove.xbm +0 -0
  123. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/overstrike.gif +0 -0
  124. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/palette.gif +0 -0
  125. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/passwd.gif +0 -0
  126. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/paste.gif +0 -0
  127. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/plus.xbm +0 -0
  128. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/print.gif +0 -0
  129. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/question.gif +0 -0
  130. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/redo.gif +0 -0
  131. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/save.gif +0 -0
  132. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/target.xbm +0 -0
  133. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/underline.gif +0 -0
  134. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/undo.gif +0 -0
  135. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/images/warning.gif +0 -0
  136. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/init.tcl +15 -1
  137. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/label.tcl +76 -18
  138. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/labelentry.tcl +0 -0
  139. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/labelframe.tcl +0 -0
  140. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/da.rc +0 -0
  141. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/de.rc +0 -0
  142. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/en.rc +0 -0
  143. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/es.rc +0 -0
  144. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/fr.rc +0 -0
  145. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/hu.rc +0 -0
  146. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/nl.rc +0 -0
  147. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/no.rc +0 -0
  148. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/lang/pl.rc +0 -0
  149. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/listbox.tcl +0 -0
  150. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/mainframe.tcl +3 -2
  151. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/messagedlg.tcl +0 -0
  152. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/notebook.tcl +0 -0
  153. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/pagesmgr.tcl +0 -0
  154. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/panedw.tcl +0 -0
  155. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/panelframe.tcl +0 -0
  156. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/passwddlg.tcl +0 -0
  157. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/pkgIndex.tcl +2 -2
  158. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/progressbar.tcl +0 -0
  159. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/progressdlg.tcl +0 -0
  160. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollframe.tcl +0 -0
  161. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollview.tcl +0 -0
  162. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/scrollw.tcl +37 -25
  163. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/separator.tcl +0 -0
  164. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/spinbox.tcl +0 -0
  165. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/statusbar.tcl +0 -0
  166. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/tests/entry.test +0 -0
  167. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/titleframe.tcl +0 -0
  168. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/tree.tcl +17 -9
  169. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/utils.tcl +0 -0
  170. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/widget.tcl +0 -0
  171. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/wizard.tcl +0 -0
  172. data/tcl/{BWidget-1.9.2 → bwidget-1.9.4}/xpm2image.tcl +0 -0
  173. data/tcl/fsdialog/de.msg +30 -0
  174. data/tcl/fsdialog/en.msg +31 -0
  175. data/tcl/fsdialog/fsdialog.tcl +1749 -0
  176. data/tcl/fsdialog/fsdlg-gif.tcl +259 -0
  177. data/tcl/fsdialog/fsdlg-png.tcl +265 -0
  178. data/tcl/fsdialog/sv.msg +32 -0
  179. data/tcl/fsdialog/tclIndex +6 -0
  180. metadata +179 -174
  181. data/ext/ae-editor/langs/erb.lang.bind +0 -1
  182. data/ext/ae-editor/langs/lang.lang.bind +0 -1
  183. data/ext/ae-editor/langs/pers.lang.bind +0 -1
  184. data/ext/ae-editor/langs/rb.lang +0 -73
  185. data/ext/ae-editor/langs/rbw.lang.bind +0 -1
  186. data/ext/ae-editor/langs/tokens.lang.bind +0 -1
@@ -96,7 +96,7 @@ class WrapperContainer < TkFrame
96
96
  frame = TkFrame.new(self, Arcadia.style('panel')).pack('side' =>'left', 'anchor'=>'n', :padx=>2, :pady=>2)
97
97
 
98
98
  @button_u = Tk::BWidget::Button.new(frame, Arcadia.style('toolbarbutton') ){
99
- image TkPhotoImage.new('dat' => CURSOR_GIF)
99
+ image Arcadia.image_res(CURSOR_GIF)
100
100
  helptext 'Select'
101
101
  text 'C'
102
102
  #foreground 'blue'
@@ -119,7 +119,7 @@ class WrapperContainer < TkFrame
119
119
  _self.new_wrapper if _owner.selected_wrapper.class.is_top
120
120
 
121
121
  }
122
- image TkPhotoImage.new('dat' => WIDGET_COPY_GIF)
122
+ image Arcadia.image_res(WIDGET_COPY_GIF)
123
123
  helptext 'Copy current selected'
124
124
  text 'C'
125
125
  #foreground 'blue'
@@ -231,7 +231,7 @@ class WrapperContainer < TkFrame
231
231
  }
232
232
  text value.class_wrapped.to_s
233
233
  helptext value.class_wrapped.to_s
234
- image TkPhotoImage.new( 'dat' => _image )
234
+ image Arcadia.image_res(_image)
235
235
  #foreground 'blue'
236
236
  command _command
237
237
  #font $arcadia['conf']['main.component.font']
@@ -30,12 +30,12 @@ user_toolbar.contexts=debug
30
30
  user_toolbar.debug.context_path=run
31
31
  user_toolbar.debug=debugcurr,debuglast,debugquit
32
32
 
33
- user_toolbar.debug.debugcurr.name=debug
33
+ user_toolbar.debug.debugcurr.name=debugcurr
34
34
  user_toolbar.debug.debugcurr.hint=Debug current
35
35
  user_toolbar.debug.debugcurr.image_data=!DEBUG_CURRENT_GIF
36
36
  user_toolbar.debug.debugcurr.event_class=!StartDebugEvent
37
37
 
38
- user_toolbar.debug.debuglast.name=debug
38
+ user_toolbar.debug.debuglast.name=debuglast
39
39
  user_toolbar.debug.debuglast.hint=Debug last
40
40
  user_toolbar.debug.debuglast.image_data=!DEBUG_LAST_GIF
41
41
  user_toolbar.debug.debuglast.event_class=!StartDebugEvent
@@ -35,7 +35,7 @@ class RubyDebugView
35
35
  'anchor' => 'nw',
36
36
  'command'=>proc{self.debug_send(:step_over)},
37
37
  'helptext'=>'step over',
38
- 'image'=> TkPhotoImage.new('dat' => D_NEXT_GIF),
38
+ 'image'=> Arcadia.image_res(D_NEXT_GIF),
39
39
  'relief'=> _relief })
40
40
  )
41
41
  @debug_button_box.add(Arcadia.style('toolbarbutton').update({
@@ -44,7 +44,7 @@ class RubyDebugView
44
44
  'anchor' => 'nw',
45
45
  'command'=>proc{self.debug_send(:step_into)},
46
46
  'helptext'=>'step into',
47
- 'image'=> TkPhotoImage.new('dat' => D_STEP_INTO_GIF),
47
+ 'image'=> Arcadia.image_res(D_STEP_INTO_GIF),
48
48
  'relief'=>_relief })
49
49
  )
50
50
  @debug_button_box.add(Arcadia.style('toolbarbutton').update({
@@ -53,7 +53,7 @@ class RubyDebugView
53
53
  'anchor' => 'nw',
54
54
  'helptext'=>'step out',
55
55
  'command'=>proc{self.debug_send(:step_out)},
56
- 'image'=> TkPhotoImage.new('dat' => D_STEP_OUT_GIF),
56
+ 'image'=> Arcadia.image_res(D_STEP_OUT_GIF),
57
57
  'relief'=>_relief })
58
58
  )
59
59
  @debug_button_box.add(Arcadia.style('toolbarbutton').update({
@@ -61,7 +61,7 @@ class RubyDebugView
61
61
  # 'background' => 'white',
62
62
  'anchor' => 'nw',
63
63
  'helptext'=>'resume',
64
- 'image'=> TkPhotoImage.new('dat' => D_RESUME_GIF),
64
+ 'image'=> Arcadia.image_res(D_RESUME_GIF),
65
65
  'command'=>proc{self.debug_send(:resume)},
66
66
  'relief'=>_relief })
67
67
  )
@@ -71,7 +71,7 @@ class RubyDebugView
71
71
  # 'background' => 'white',
72
72
  'anchor' => 'nw',
73
73
  'helptext'=>'quit',
74
- 'image'=> TkPhotoImage.new('dat' => D_QUIT_GIF),
74
+ 'image'=> Arcadia.image_res(D_QUIT_GIF),
75
75
  'command'=>proc{self.debug_send(:quit)},
76
76
  'relief'=>_relief })
77
77
  )
@@ -92,6 +92,7 @@ class RubyDebugView
92
92
  state 'disabled'
93
93
  background Arcadia.conf('panel.background')
94
94
  }.place('height'=> _y)
95
+ TkWinfo.parent(@debug_button_box).configure(:background => Arcadia.conf('panel.background'))
95
96
 
96
97
  # @debug_frame = TkFrame.new(@frame, Arcadia.style('panel')){
97
98
  # border 2
@@ -213,9 +214,9 @@ class RubyDebugView
213
214
  @class_state = B_STATE_ON
214
215
  @global_state = B_STATE_OFF
215
216
 
216
- _i_on = TkPhotoImage.new('dat' => ON_GIF)
217
- _i_off = TkPhotoImage.new('dat' => OFF_GIF)
218
- _i_freeze = TkPhotoImage.new('dat' => FREEZE_GIF)
217
+ _i_on = Arcadia.image_res(ON_GIF)
218
+ _i_off = Arcadia.image_res(OFF_GIF)
219
+ _i_freeze = Arcadia.image_res(FREEZE_GIF)
219
220
 
220
221
  _b_relief = 'groove'
221
222
  #------------------ loacal variables -------------------
@@ -606,7 +607,7 @@ class RubyDebugView
606
607
  if _hash['__CLASS__']=='Array'
607
608
  _sorted_keys = _hash.keys.collect!{|x| x.to_i}.sort.collect!{|x| x.to_s}
608
609
  else
609
- _sorted_keys = _hash.keys.sort
610
+ _sorted_keys = _hash.keys.collect!{|x| x.to_s}.sort
610
611
  end
611
612
  _sorted_keys.each{|k|
612
613
  #_hash.keys.sort.each{|k|
@@ -775,25 +776,13 @@ class RubyDebugServer
775
776
  ObserverCallback.new(self,_caller,:rdebug_server_update)
776
777
  end
777
778
  @arcadia = _arcadia
779
+ @rdebug_file = _caller.rdebug_file
778
780
  @quit_confirm_request = false
779
781
  @alive = false
780
782
  end
781
783
 
782
784
  def start_session_new(_filename, _host='localhost', _remote_port='8989')
783
- if Arcadia.is_windows?
784
- #if RubyWhich.new.which("rdebug.bat") != []
785
- if Arcadia.which("rdebug.bat")
786
- rdebug_cmd = "rdebug.bat"
787
- #elsif RubyWhich.new.which("rdebug.cmd") != []
788
- elsif Arcadia.which("rdebug.cmd")
789
- rdebug_cmd = "rdebug.cmd"
790
- else
791
- rdebug_cmd = "rdebug"
792
- end
793
- commandLine = "#{rdebug_cmd} --host #{_host} --port #{_remote_port} -sw #{_filename}"
794
- else
795
- commandLine = "rdebug --host #{_host} --port #{_remote_port} -sw #{_filename}"
796
- end
785
+ commandLine = "#{@rdebug_file} --host #{_host} --port #{_remote_port} -sw #{_filename}"
797
786
  #Arcadia.process_event(SystemExecEvent.new(self, 'command'=>commandLine))
798
787
  Arcadia.process_event(RunCmdEvent.new(self, 'cmd'=>commandLine, 'file'=>_filename))
799
788
  end
@@ -808,20 +797,8 @@ class RubyDebugServer
808
797
 
809
798
  def start_session(_debug_event, _host='localhost', _remote_port='8989')
810
799
  _filename = _debug_event.file
811
- if Arcadia.is_windows?
812
- #if RubyWhich.new.which("rdebug.bat") != []
813
- if Arcadia.which("rdebug.bat")
814
- rdebug_cmd = "rdebug.bat"
815
- #elsif RubyWhich.new.which("rdebug.cmd") != []
816
- elsif Arcadia.which("rdebug.cmd")
817
- rdebug_cmd = "rdebug.cmd"
818
- else
819
- rdebug_cmd = "rdebug"
820
- end
821
- commandLine = "#{rdebug_cmd} --host #{_host} --port #{_remote_port} -sw '#{_filename}'"
822
- else
823
- commandLine = "rdebug --host #{_host} --port #{_remote_port} -sw #{_filename}"
824
- end
800
+ commandLine = "#{Arcadia.ruby} #{@rdebug_file} --host #{_host} --port #{_remote_port} -sw '#{_filename}'"
801
+ #p commandLine
825
802
  begin
826
803
  @alive = true
827
804
  if Arcadia.is_windows?
@@ -840,7 +817,7 @@ class RubyDebugServer
840
817
  end
841
818
  set_alive(false)
842
819
  notify(RDS_QUIET)
843
- if _debug_event.persistent == false && _debug_event.file[-2..-1] == '~~'
820
+ if _debug_event.persistent == false && File.basename(_debug_event.file)[0..1] == '~~'
844
821
  File.delete(_debug_event.file) if File.exist?(_debug_event.file)
845
822
  end
846
823
 
@@ -860,13 +837,16 @@ class RubyDebugServer
860
837
  # num.to_i > 1
861
838
  # }
862
839
  # Arcadia.process_event(SubProcessEvent.new(self,'pid'=>pid, 'name'=>"debugging :#{_filename}",'abort_action'=>abort_action, 'alive_check'=>alive_check))
840
+ if File.basename(Arcadia.ruby) != 'ruby'
841
+ commandLine="export PATH=#{Arcadia.instance.local_dir}/bin:$PATH && #{commandLine}"
842
+ end
863
843
  if Kernel.system(commandLine)
864
844
  set_alive(false)
865
845
  #p "alive=#{is_alive?}"
866
846
  notify(RDS_QUIET)
867
847
  Kernel.system('y')
868
848
 
869
- if _debug_event.persistent == false && _debug_event.file[-2..-1] == '~~'
849
+ if _debug_event.persistent == false && File.basename(_debug_event.file)[0..1] == '~~'
870
850
  File.delete(_debug_event.file) if File.exist?(_debug_event.file)
871
851
  end
872
852
 
@@ -1428,11 +1408,25 @@ end
1428
1408
  class RubyDebug < ArcadiaExt
1429
1409
  attr_reader :rds
1430
1410
  attr_reader :rdc
1411
+ attr_reader :rdebug_file
1431
1412
  def on_before_build(_event)
1432
1413
  #if RubyWhich.new.which("rdebug") != []
1433
- if Arcadia.which("rdebug") || ((Arcadia.which("rdebug.bat") || Arcadia.which("rdebug.cmd"))&& Arcadia.is_windows?)
1434
- @breakpoints = Hash.new
1435
- @static_breakpoints = Array.new
1414
+ @breakpoints = Hash.new
1415
+ @static_breakpoints = Array.new
1416
+ if Arcadia.is_windows?
1417
+ @rdebug_file = Arcadia.which("rdebug.bat")
1418
+ if !@rdebug_file
1419
+ @rdebug_file = Arcadia.which("rdebug.cmd")
1420
+ end
1421
+ if !@rdebug_file
1422
+ @rdebug_file = Arcadia.which("rdebug")
1423
+ end
1424
+ else
1425
+ @rdebug_file = Arcadia.which("rdebug")
1426
+ end
1427
+
1428
+
1429
+ if @rdebug_file
1436
1430
  Arcadia.attach_listener(self, BufferEvent)
1437
1431
  else
1438
1432
  Arcadia.console(self, 'msg'=>"Warning: Extension ae-ruby-debug depend upon rdebug command (install it or update system path!)", 'level'=>'error')
@@ -1449,6 +1443,8 @@ class RubyDebug < ArcadiaExt
1449
1443
  case _event
1450
1444
  when BufferRaisedEvent
1451
1445
  @raised_file=_event.file
1446
+ debugcurr = Arcadia.toolbar_item('debugcurr')
1447
+ debugcurr.enable=_event.lang=='ruby' if debugcurr
1452
1448
  end
1453
1449
  end
1454
1450
 
@@ -12,5 +12,5 @@ color.background=#ffffff
12
12
  color.foreground=#000000
13
13
  freebsd::font=courier 12 italic
14
14
  freebsd::font.bold=courier 12 bold
15
- win::font={Courier New} 9
16
- win::font.bold={Courier New} 9 bold
15
+ win|mingw::font={Courier New} 9
16
+ win|mingw::font.bold={Courier New} 9 bold
@@ -107,20 +107,29 @@ class SearchInFilesListener
107
107
  #@progress_bar.on_cancel=proc{cancel}
108
108
  pattern = Regexp.new(@find.e_what.text)
109
109
  _files.each do |_filename|
110
- File.open(_filename) do |file|
111
- file.grep(pattern) do |line|
112
- @search_output.add_result(_node, _filename, file.lineno.to_s, line)
113
- break if progress_stop
110
+ next if File.ftype(_filename) != 'file'
111
+ begin
112
+ File.open(_filename) do |file|
113
+ file.grep(pattern) do |line|
114
+ @search_output.add_result(_node, _filename, file.lineno.to_s, line)
115
+ break if progress_stop
116
+ end
114
117
  end
118
+ rescue ArgumentError => e
119
+ # bynary file probably
120
+ rescue Exception => e
121
+ Arcadia.console(self, 'msg'=>"#{_filename} :#{e.class}: #{e.message}", 'level'=>'error')
122
+ ensure
123
+ progress_bar.progress
124
+ break if progress_stop
115
125
  end
116
- progress_bar.progress
117
- break if progress_stop
118
126
  end
119
127
  rescue Exception => e
120
128
  Arcadia.console(self, 'msg'=>e.message, 'level'=>'error')
121
129
  #Arcadia.new_error_msg(self, e.message)
122
130
  ensure
123
131
  progress_bar.destroy if progress_bar
132
+ @service.frame.show_anyway
124
133
  end
125
134
  end
126
135
  end
@@ -148,7 +157,7 @@ class SearchOutput
148
157
  _proc_clear = proc{clear_tree}
149
158
 
150
159
  @button_u = Tk::BWidget::Button.new(left_frame, Arcadia.style('toolbarbutton')){
151
- image TkPhotoImage.new('dat' => CLEAR_GIF)
160
+ image Arcadia.image_res(CLEAR_GIF)
152
161
  helptext 'Clear'
153
162
  foreground 'blue'
154
163
  command _proc_clear
@@ -249,7 +258,8 @@ class FindFrame < TkFloatTitledFrame
249
258
  }
250
259
  @e_what_entry = TkWinfo.children(@e_what)[0]
251
260
  # this means "after each key press
252
- @e_what_entry.bind_append("1",proc{Arcadia.process_event(InputEnterEvent.new(self,'receiver'=>@e_what_entry))})
261
+ #@e_what_entry.bind_append("1",proc{Arcadia.process_event(InputEnterEvent.new(self,'receiver'=>@e_what_entry))})
262
+ @e_what_entry.extend(TkInputThrow)
253
263
 
254
264
  y0 = y0 + d
255
265
  TkLabel.new(self.frame, Arcadia.style('label')){
@@ -268,7 +278,8 @@ class FindFrame < TkFloatTitledFrame
268
278
  place('relwidth' => 1, 'width'=>-16,'x' => 8,'y' => y0,'height' => 19)
269
279
  }
270
280
  @e_filter_entry = TkWinfo.children(@e_filter)[0]
271
- @e_filter_entry.bind_append("1",proc{Arcadia.process_event(InputEnterEvent.new(self,'receiver'=>@e_filter_entry))})
281
+ #@e_filter_entry.bind_append("1",proc{Arcadia.process_event(InputEnterEvent.new(self,'receiver'=>@e_filter_entry))})
282
+ @e_filter_entry.extend(TkInputThrow)
272
283
 
273
284
  @e_filter.insert('end', '*.*')
274
285
  @e_filter.insert('end', '*.rb')
@@ -11,5 +11,5 @@ color.background=#ffffff
11
11
  color.foreground=#000000
12
12
  freebsd::font=courier 12 italic
13
13
  freebsd::font.bold=courier 12 bold
14
- win::font={Courier New} 9
15
- win::font.bold={Courier New} 9 bold
14
+ win|mingw::font={Courier New} 9
15
+ win|mingw::font.bold={Courier New} 9 bold
@@ -4,7 +4,7 @@ require=ext/ae-shell/ae-shell
4
4
  class=Shell
5
5
  stdout_blocking=no
6
6
  stderr_blocking=yes
7
- win32::gems=win32-process,ruby-wmi
7
+ win|mingw::gems=win32-process,ruby-wmi
8
8
 
9
9
  #:::::::::::::::: output ::::::::::::::::::::::<begin>
10
10
  #ruby=ruby
@@ -24,7 +24,7 @@ class Shell < ArcadiaExt
24
24
  def on_system_exec(_event)
25
25
  begin
26
26
  _cmd_ = "#{_event.command}"
27
- if is_windows?
27
+ if Arcadia.is_windows?
28
28
  io = IO.popen(_cmd_)
29
29
  Arcadia.console(self,'msg'=>io.read, 'level'=>'debug')
30
30
  else
@@ -134,12 +134,13 @@ class Shell < ArcadiaExt
134
134
  @@next_number = 0
135
135
  def on_run_cmd(_event)
136
136
  if _event.cmd
137
+ #p "_event.cmd = #{_event.cmd}"
137
138
  begin
138
- output_mark = Arcadia.console(self,'msg'=>"Running #{_event.title}...", 'level'=>'debug') # info?
139
+ output_mark = Arcadia.console(self,'msg'=>"Running #{_event.title} as #{_event.lang}...", 'level'=>'debug') # info?
139
140
  start_time = Time.now
140
141
  @arcadia['pers']['run.file.last']=_event.file if _event.persistent
141
142
  @arcadia['pers']['run.cmd.last']=_event.cmd if _event.persistent
142
- if is_windows?
143
+ if Arcadia.is_windows?
143
144
  # use win32-process gem to startup a child process [not sure if linux needs something like this, too]
144
145
  require 'win32/process'
145
146
  require 'ruby-wmi'
@@ -222,13 +223,20 @@ class Shell < ArcadiaExt
222
223
 
223
224
  if stderr
224
225
  if @stderr_blocking
226
+ current_buffer = '<<current buffer>>'
225
227
  output_dump = stderr.read
226
228
  if output_dump && output_dump.length > 0
229
+ if !_event.persistent
230
+ output_dump.gsub!(_event.file, current_buffer)
231
+ end
227
232
  output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
228
233
  _event.add_result(self, 'output'=>output_dump)
229
234
  end
230
235
  else
231
236
  stderr.each do |output_dump|
237
+ if !_event.persistent
238
+ output_dump.gsub!(_event.file, current_buffer)
239
+ end
232
240
  output_mark = Arcadia.console(self,'msg'=>output_dump, 'level'=>'error', 'mark'=>output_mark)
233
241
  _event.add_result(self, 'output'=>output_dump)
234
242
  end
@@ -254,8 +262,15 @@ class Shell < ArcadiaExt
254
262
  # _event.add_result(self, 'output'=>_readed)
255
263
  # }
256
264
  #p "da cancellare #{ _event.file } #{_event.file[-2..-1] == '~~'} #{_event.persistent == false} #{File.exist?(_event.file)}"
257
- if _event.persistent == false && _event.file[-2..-1] == '~~'
258
- File.delete(_event.file) if File.exist?(_event.file)
265
+ if _event.persistent == false && File.exist?(_event.file)
266
+ if File.basename(_event.file)[0..1] == '~~'
267
+ File.delete(_event.file)
268
+ elsif File.basename(File.dirname(_event.file))[0..1] == '~~'
269
+ Dir["#{File.dirname(_event.file)}/*"].each{|file|
270
+ File.delete(file)
271
+ }
272
+ Dir.delete(File.dirname(_event.file))
273
+ end
259
274
  end
260
275
  rescue Exception => e
261
276
  output_mark = Arcadia.console(self,'msg'=>e.to_s, 'level'=>'debug', 'mark'=>output_mark)
@@ -286,7 +301,7 @@ class Shell < ArcadiaExt
286
301
  def on_system_exec_bo(_event)
287
302
  command = "#{_event.command} 2>&1"
288
303
  (RUBY_PLATFORM.include?('mswin32'))?_cmd="cmd":_cmd='sh'
289
- if is_windows?
304
+ if Arcadia.is_windows?
290
305
  Thread.new{
291
306
  Arcadia.console(self,'msg'=>'begin', 'level'=>'debug')
292
307
  #Arcadia.new_debug_msg(self, 'inizio')
@@ -310,45 +325,41 @@ class Shell < ArcadiaExt
310
325
  end
311
326
  end
312
327
 
313
- def is_windows?
314
- RUBY_PLATFORM =~ /mingw|mswin/
315
- end
316
-
317
- def run_last
318
- run($arcadia['pers']['run.file.last'])
319
- end
320
-
321
- def run_current
322
- current_editor = $arcadia['editor'].raised
323
- run(current_editor.file) if current_editor
324
- end
325
-
326
- def stop
327
- @run_threads.each{|t|
328
- if t.alive?
329
- t.kill
330
- end
331
- }
332
- debug_quit if @adw
333
- end
334
-
335
- def run(_filename=nil)
336
- if _filename
337
- begin
338
- @arcadia['pers']['run.file.last']=_filename
339
- @run_threads << Thread.new do
340
- _cmd_ = "|"+$arcadia['conf']['shell.ruby']+" "+_filename+" 2>&1"
341
- # Arcadia.new_debug_msg(self, _cmd_)
342
- @cmd = open(_cmd_,"r"){|f|
343
- Arcadia.console(self, 'msg'=>f.read ,'level'=>'debug')
344
- #Arcadia.new_debug_msg(self, f.read)
345
- }
346
- end
347
- rescue Exception => e
348
- Arcadia.console(self, 'msg'=>e ,'level'=>'debug')
349
- #Arcadia.new_debug_msg(self, e)
350
- end
351
- end
352
- end
328
+ # def run_last
329
+ # run($arcadia['pers']['run.file.last'])
330
+ # end
331
+ #
332
+ # def run_current
333
+ # current_editor = $arcadia['editor'].raised
334
+ # run(current_editor.file) if current_editor
335
+ # end
336
+ #
337
+ # def stop
338
+ # @run_threads.each{|t|
339
+ # if t.alive?
340
+ # t.kill
341
+ # end
342
+ # }
343
+ # debug_quit if @adw
344
+ # end
345
+ #
346
+ # def run(_filename=nil)
347
+ # if _filename
348
+ # begin
349
+ # @arcadia['pers']['run.file.last']=_filename
350
+ # @run_threads << Thread.new do
351
+ # _cmd_ = "|"+$arcadia['conf']['shell.ruby']+" "+_filename+" 2>&1"
352
+ # # Arcadia.new_debug_msg(self, _cmd_)
353
+ # @cmd = open(_cmd_,"r"){|f|
354
+ # Arcadia.console(self, 'msg'=>f.read ,'level'=>'debug')
355
+ # #Arcadia.new_debug_msg(self, f.read)
356
+ # }
357
+ # end
358
+ # rescue Exception => e
359
+ # Arcadia.console(self, 'msg'=>e ,'level'=>'debug')
360
+ # #Arcadia.new_debug_msg(self, e)
361
+ # end
362
+ # end
363
+ # end
353
364
 
354
365
  end