arcadia 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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