arcadia 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +28 -22
- data/bin/arcadia +3 -3
- data/conf/arcadia.conf +87 -36
- data/conf/arcadia.res.rb +143 -5
- data/conf/theme-dark.conf +94 -0
- data/conf/theme-dark.res.rb +218 -0
- data/ext/ae-breakpoints/ae-breakpoints.rb +1 -0
- data/ext/ae-dir-projects/ae-dir-projects.rb +37 -9
- data/ext/ae-editor/ae-editor.conf +10 -9
- data/ext/ae-editor/ae-editor.rb +306 -127
- data/ext/ae-editor/langs/pers.lang.bind +1 -0
- data/ext/ae-editor/langs/rb.lang +6 -6
- data/ext/ae-editor/langs/tcl.lang +3 -0
- data/ext/ae-file-history/ae-file-history.rb +4 -11
- data/ext/ae-output/ae-output.rb +57 -38
- data/ext/ae-rad/ae-rad-inspector.rb +1 -1
- data/ext/ae-rad/ae-rad-palette.rb +2 -2
- data/ext/ae-rad/ae-rad.rb +7 -7
- data/ext/ae-rad/lib/tk/al-tk.rb +3 -3
- data/ext/ae-rad/lib/tk/al-tkcustom.rb +2 -2
- data/ext/ae-ruby-debug/ae-ruby-debug.conf +20 -1
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +69 -65
- data/ext/ae-search-in-files/ae-search-in-files.rb +2 -17
- data/ext/ae-shell/ae-shell.conf +7 -6
- data/ext/ae-shell/ae-shell.rb +211 -32
- data/ext/ae-subprocess-inspector/ae-subprocess-inspector.conf +11 -0
- data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +109 -0
- data/lib/a-commons.rb +74 -16
- data/lib/a-contracts.rb +18 -1
- data/lib/a-core.rb +410 -77
- data/lib/a-tkcommons.rb +338 -138
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ArrowButton.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/BWidget.html +2 -2
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Button.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ButtonBox.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ComboBox.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Dialog.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/DragSite.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/DropSite.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/DynamicHelp.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Entry.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Label.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/LabelEntry.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/LabelFrame.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ListBox.html +1 -4
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/MainFrame.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/MessageDlg.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/NoteBook.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/PagesManager.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/PanedWindow.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/PanelFrame.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/PasswdDlg.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ProgressBar.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ProgressDlg.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ScrollView.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ScrollableFrame.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/ScrolledWindow.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/SelectColor.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/SelectFont.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Separator.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/SpinBox.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/StatusBar.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/TitleFrame.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Tree.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/Widget.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/contents.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/index.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/navtree.html +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/BWman/options.htm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/CHANGES.txt +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/ChangeLog +70 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/LICENSE.txt +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/README.txt +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/arrow.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/bitmap.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/button.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/buttonbox.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/color.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/combobox.tcl +4 -4
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/basic.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/bwidget.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/demo.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/dnd.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/manager.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/select.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/tmpldlg.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/tree.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/demo/x1.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/dialog.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/dragsite.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/dropsite.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/dynhelp.tcl +25 -18
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/entry.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/font.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/bold.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/copy.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/cut.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/dragfile.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/dragicon.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/error.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/file.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/folder.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/hourglass.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/info.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/italic.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/minus.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/new.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/opcopy.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/open.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/openfold.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/oplink.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/opmove.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/overstrike.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/palette.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/passwd.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/paste.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/plus.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/print.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/question.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/redo.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/save.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/target.xbm +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/underline.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/undo.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/images/warning.gif +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/init.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/label.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/labelentry.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/labelframe.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/da.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/de.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/en.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/es.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/fr.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/hu.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/nl.rc +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/lang/no.rc +0 -0
- data/tcl/BWidget-1.9.2/lang/pl.rc +104 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/listbox.tcl +68 -35
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/mainframe.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/messagedlg.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/notebook.tcl +2 -2
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/pagesmgr.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/panedw.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/panelframe.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/passwddlg.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/pkgIndex.tcl +2 -2
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/progressbar.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/progressdlg.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/scrollframe.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/scrollview.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/scrollw.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/separator.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/spinbox.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/statusbar.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/tests/entry.test +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/titleframe.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/tree.tcl +6 -1
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/utils.tcl +27 -7
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/widget.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/wizard.tcl +0 -0
- data/tcl/{BWidget-1.9.0 → BWidget-1.9.2}/xpm2image.tcl +0 -0
- metadata +162 -153
@@ -0,0 +1 @@
|
|
1
|
+
bind=conf
|
data/ext/ae-editor/langs/rb.lang
CHANGED
@@ -18,11 +18,11 @@ re.comment=#
|
|
18
18
|
re_op.to_line_end=comment
|
19
19
|
|
20
20
|
# override global classes
|
21
|
-
hightlight.sel.foreground=>>>hightlight.1.foreground
|
22
|
-
hightlight.sel.background=>>>hightlight.1.background
|
23
|
-
hightlight.sel.borderwidth=>>>hightlight.1.borderwidth
|
24
|
-
hightlight.sel.relief=>>>hightlight.1.relief
|
25
|
-
hightlight.selected.background=>>>hightlight.2.background
|
21
|
+
#hightlight.sel.foreground=>>>hightlight.1.foreground
|
22
|
+
#hightlight.sel.background=>>>hightlight.1.background
|
23
|
+
#hightlight.sel.borderwidth=>>>hightlight.1.borderwidth
|
24
|
+
#hightlight.sel.relief=>>>hightlight.1.relief
|
25
|
+
#hightlight.selected.background=>>>hightlight.2.background
|
26
26
|
hightlight.tabs.foreground=>>>hightlight.3.foreground
|
27
27
|
hightlight.tabs.background=>>>hightlight.3.background
|
28
28
|
hightlight.tabs.borderwidth=>>>hightlight.3.borderwidth
|
@@ -70,4 +70,4 @@ re.hightlight.operator.style=bold
|
|
70
70
|
re.hightlight.symbol.foreground=>>>hightlight.15.foreground
|
71
71
|
re.hightlight.symbol.style=bold
|
72
72
|
|
73
|
-
@include=coderay.tokens
|
73
|
+
@include=coderay.tokens
|
@@ -144,16 +144,7 @@ class FilesHistrory < ArcadiaExt
|
|
144
144
|
selectcommand proc{ do_select_item.call(self) }
|
145
145
|
# place('relwidth' => 1,'relheight' => '1', 'x' => '0','y' => '22', 'height' => -22)
|
146
146
|
}
|
147
|
-
|
148
|
-
_wrapper.show(0,26)
|
149
|
-
_wrapper.show_v_scroll
|
150
|
-
_wrapper.show_h_scroll
|
151
|
-
# _scrollcommand = proc{|*args| @htree.yview(*args)}
|
152
|
-
# _scrollbar = TkScrollbar.new(self.frame.hinner_frame, Arcadia.style('scrollbar')){|s|
|
153
|
-
# width 8
|
154
|
-
# command _scrollcommand
|
155
|
-
# }.pack('side'=>'right', 'fill'=>'y')
|
156
|
-
# @htree.yscrollcommand proc{|first,last| _scrollbar.set(first,last)}
|
147
|
+
@htree.extend(TkScrollableWidget).show(0,26)
|
157
148
|
|
158
149
|
do_double_click = proc{
|
159
150
|
_selected = @htree.selection_get[0]
|
@@ -347,13 +338,15 @@ class FilesHistrory < ArcadiaExt
|
|
347
338
|
:tearoff=>0,
|
348
339
|
:title => 'Menu tree'
|
349
340
|
)
|
341
|
+
@pop_up_tree.extend(TkAutoPostMenu)
|
350
342
|
@pop_up_tree.configure(Arcadia.style('menu'))
|
351
343
|
#----- search submenu
|
352
344
|
sub_ref_search = TkMenu.new(
|
353
|
-
:parent=>@
|
345
|
+
:parent=>@pop_up_tree,
|
354
346
|
:tearoff=>0,
|
355
347
|
:title => 'Ref'
|
356
348
|
)
|
349
|
+
sub_ref_search.extend(TkAutoPostMenu)
|
357
350
|
sub_ref_search.configure(Arcadia.style('menu'))
|
358
351
|
sub_ref_search.insert('end',
|
359
352
|
:command,
|
data/ext/ae-output/ae-output.rb
CHANGED
@@ -27,9 +27,7 @@ class OutputView
|
|
27
27
|
@text = TkArcadiaText.new(right_frame,
|
28
28
|
{'wrap'=> 'none'}.update(Arcadia.style('edit'))
|
29
29
|
)
|
30
|
-
@text.show
|
31
|
-
@text.show_v_scroll
|
32
|
-
@text.show_h_scroll
|
30
|
+
@text.extend(TkScrollableWidget).show
|
33
31
|
|
34
32
|
@text.tag_configure('simple_msg',
|
35
33
|
# 'background' => '#d9d994',
|
@@ -44,18 +42,17 @@ class OutputView
|
|
44
42
|
)
|
45
43
|
@text.tag_configure('error_msg',
|
46
44
|
# 'background' => '#f6c9f6',
|
47
|
-
'foreground' => '
|
45
|
+
'foreground' => Arcadia.conf('hightlight.string.foreground'),
|
48
46
|
'borderwidth'=>1,
|
49
47
|
'relief'=> 'flat'
|
50
48
|
)
|
51
|
-
|
52
49
|
@text.tag_configure('bord_msg',
|
53
50
|
#'foreground' => '#b9b8b9'
|
54
|
-
'foreground' => '
|
51
|
+
'foreground' => Arcadia.conf('hightlight.comment.foreground')
|
55
52
|
)
|
56
53
|
@text.tag_configure('sel',
|
57
|
-
'background'=>
|
58
|
-
'foreground'=>
|
54
|
+
'background'=>Arcadia.conf('hightlight.sel.background'),
|
55
|
+
'foreground'=>Arcadia.conf('hightlight.sel.foreground')
|
59
56
|
)
|
60
57
|
pop_up_menu
|
61
58
|
end
|
@@ -66,6 +63,7 @@ class OutputView
|
|
66
63
|
:tearoff=>0,
|
67
64
|
:title => 'Menu'
|
68
65
|
)
|
66
|
+
@pop_up.extend(TkAutoPostMenu)
|
69
67
|
@pop_up.configure(Arcadia.style('menu'))
|
70
68
|
|
71
69
|
@pop_up.insert('end',
|
@@ -126,7 +124,6 @@ class OutputView
|
|
126
124
|
ensure
|
127
125
|
f.close unless f.nil?
|
128
126
|
end
|
129
|
-
#EditorContract.instance.file_saved(self,'file' =>@file)
|
130
127
|
end
|
131
128
|
end
|
132
129
|
|
@@ -162,45 +159,66 @@ class Output < ArcadiaExt
|
|
162
159
|
end
|
163
160
|
|
164
161
|
def on_msg(_event)
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
162
|
+
self.frame.show
|
163
|
+
if _event.mark
|
164
|
+
_index_begin = "#{@main_frame.text.index(_event.mark)} + 1 lines + 1 chars"
|
165
|
+
# _b = Tk::BWidget::Button.new(@main_frame.text,
|
166
|
+
# 'helptext'=>Time.now.strftime("-> %d-%b-%Y %H:%M:%S"),
|
167
|
+
# 'background'=>Arcadia.style('edit')['background'],
|
168
|
+
# 'borderwidth'=>0,
|
169
|
+
# 'image'=> TkPhotoImage.new('data' => ITEM_LOG_GIF),
|
170
|
+
# 'relief'=>'flat')
|
171
|
+
# TkTextWindow.new(@main_frame.text, _index_begin, 'window'=> _b)
|
172
|
+
# TkTextImage.new(@main_frame.text, _index_begin, 'padx'=>0, 'pady'=>0, 'image'=> TkPhotoImage.new('data' => ITEM_LOG_GIF))
|
173
|
+
else
|
174
|
+
@main_frame.text.insert("end","\n")
|
175
|
+
_index_begin = @main_frame.text.index('end')
|
176
|
+
TkTextImage.new(@main_frame.text, _index_begin, 'padx'=>0, 'pady'=>0, 'image'=> TkPhotoImage.new('data' => ITEM_START_LOG_GIF))
|
177
|
+
@main_frame.text.insert("end"," +--- #{format_time(_event.time)} ---+\n", 'bord_msg')
|
178
|
+
end
|
179
|
+
if _event.append
|
180
|
+
_index_begin = "#{@main_frame.text.index(_index_begin)} - 2 lines lineend"
|
181
|
+
_txt = _event.msg
|
182
|
+
elsif _event.msg[-1] == "\n"
|
183
|
+
_txt = _event.msg
|
184
|
+
else
|
185
|
+
_txt = "#{_event.msg}\n"
|
185
186
|
end
|
186
|
-
|
187
|
-
|
187
|
+
if _event.level == 'error'
|
188
|
+
TkTextImage.new(@main_frame.text, _index_begin, 'padx'=>0, 'pady'=>0, 'image'=> TkPhotoImage.new('data' => ERROR_9X9_GIF))
|
189
|
+
end
|
190
|
+
@main_frame.text.insert(_index_begin,_txt, "#{_event.level}_msg")
|
191
|
+
_index_end = @main_frame.text.index('end')
|
192
|
+
if ['debug','error'].include?(_event.level)
|
193
|
+
parse_debug(_index_begin.split('.')[0].to_i, _index_end.split('.')[0].to_i)
|
194
|
+
end
|
188
195
|
@main_frame.text.see(_index_end)
|
196
|
+
@main_frame.text.mark_unset(_event.mark)
|
197
|
+
_event.mark="mark-#{_index_end}"
|
198
|
+
@main_frame.text.mark_set(_event.mark, "#{_index_end} - 1 lines -1 chars")
|
199
|
+
# if _event.instance_of?(MsgRunEvent)
|
200
|
+
# _b = TkButton.new(@main_frame.text,
|
201
|
+
# 'command'=>proc{_event.abort_action.call;_b.destroy},
|
202
|
+
# 'image'=> TkPhotoImage.new('data' => CLOSE_GIF),
|
203
|
+
# 'relief'=>'groove')
|
204
|
+
# TkTextWindow.new(@main_frame.text, 'end', 'window'=> _b)
|
205
|
+
# end
|
189
206
|
end
|
190
207
|
|
191
|
-
def parse_debug(_from_row=0)
|
192
|
-
|
208
|
+
def parse_debug(_from_row=0, _to_row=-1)
|
209
|
+
return if _from_row == _to_row
|
210
|
+
_row = _from_row
|
193
211
|
@cursor = @main_frame.text.cget('cursor')
|
194
212
|
@j=0
|
195
213
|
file_tag=Hash.new
|
196
214
|
if String.method_defined?(:lines)
|
197
|
-
lines = @main_frame.text.value.lines
|
215
|
+
lines = @main_frame.text.value.lines.to_a[_from_row.._to_row]
|
198
216
|
else
|
199
|
-
lines = @main_frame.text.value
|
217
|
+
lines = @main_frame.text.value.to_a[_from_row.._to_row]
|
200
218
|
end
|
201
219
|
lines.each{|l|
|
202
220
|
_row = _row+1
|
203
|
-
if _row >= _from_row
|
221
|
+
#if _row >= _from_row
|
204
222
|
_end = 0
|
205
223
|
#m = /([\.\/]*[\/A-Za-z_\-\.]*[\.\/\w\d]*\.rb):(\d*)/.match(l)
|
206
224
|
re = Regexp.new('([\w\:]*[\.\/]*[\/A-Za-z_\-\.]*[\.\/\w\d]*):(\d*)')
|
@@ -223,14 +241,15 @@ class Output < ArcadiaExt
|
|
223
241
|
end
|
224
242
|
m = re.match(_txt)
|
225
243
|
end
|
226
|
-
end
|
244
|
+
#end
|
227
245
|
}
|
228
246
|
end
|
229
247
|
|
230
248
|
def file_binding(_file, _line, _ibegin, _iend)
|
249
|
+
_line = '0' if _line.nil? || _line.strip.length == 0
|
231
250
|
tag_name = "tag_#{@j}"
|
232
251
|
@main_frame.text.tag_configure(tag_name,
|
233
|
-
'foreground' => '
|
252
|
+
'foreground' => Arcadia.conf('hightlight.link.foreground'),
|
234
253
|
'borderwidth'=>0,
|
235
254
|
'relief'=>'flat',
|
236
255
|
'underline'=>true
|
@@ -3,8 +3,8 @@
|
|
3
3
|
# by Antonio Galeone <antonio-galeone@rubyforge.org>
|
4
4
|
#
|
5
5
|
|
6
|
-
require
|
7
|
-
require
|
6
|
+
require "#{Dir.pwd}/ext/ae-rad/ae-rad-libs"
|
7
|
+
require "#{Dir.pwd}/ext/ae-rad/lib/tk/al-tk"
|
8
8
|
require 'tk'
|
9
9
|
require 'tkmenubar'
|
10
10
|
require 'tkextlib/bwidget'
|
data/ext/ae-rad/ae-rad.rb
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
# by Antonio Galeone <antonio-galeone@rubyforge.org>
|
4
4
|
#
|
5
5
|
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
6
|
+
require "#{Dir.pwd}/ext/ae-rad/ae-rad-libs"
|
7
|
+
require "#{Dir.pwd}/ext/ae-rad/ae-rad-palette"
|
8
|
+
require "#{Dir.pwd}/ext/ae-rad/ae-rad-inspector"
|
9
9
|
|
10
10
|
class Rad < ArcadiaExt
|
11
11
|
attr_reader :libs
|
@@ -30,16 +30,16 @@ class Rad < ArcadiaExt
|
|
30
30
|
libs.each{|lib|
|
31
31
|
if lib
|
32
32
|
begin
|
33
|
-
require conf('libraries.'+lib+'.source')
|
33
|
+
require "#{Dir.pwd}/#{conf('libraries.'+lib+'.source')}"
|
34
34
|
@libs.add_lib(
|
35
35
|
ArcadiaLibs::ArcadiaLibParams.new(
|
36
36
|
conf('libraries.'+lib+'.name'),
|
37
|
-
conf('libraries.'+lib+'.source'),
|
37
|
+
"#{Dir.pwd}/#{conf('libraries.'+lib+'.source')}",
|
38
38
|
conf('libraries.'+lib+'.require'),
|
39
39
|
eval(conf('libraries.'+lib+'.collection.class')))
|
40
40
|
)
|
41
41
|
rescue Exception
|
42
|
-
msg =
|
42
|
+
msg = %Q{Loading lib "#{lib}" ("#{$!.class.to_s}") : #{$!.to_s} at : #{$@.to_s}}
|
43
43
|
if Tk.messageBox('icon' => 'error', 'type' => 'okcancel',
|
44
44
|
'title' => '(Rad) Libs',
|
45
45
|
'message' => msg) == 'cancel'
|
@@ -53,4 +53,4 @@ class Rad < ArcadiaExt
|
|
53
53
|
}
|
54
54
|
end
|
55
55
|
|
56
|
-
end
|
56
|
+
end
|
data/ext/ae-rad/lib/tk/al-tk.rb
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
#
|
5
5
|
|
6
6
|
require 'tk'
|
7
|
-
require
|
8
|
-
require "lib/a-tkcommons"
|
9
|
-
require "ext/ae-rad/lib/tk/al-tk.res"
|
7
|
+
require "#{Dir.pwd}/ext/ae-rad/ae-rad-libs"
|
8
|
+
require "#{Dir.pwd}/lib/a-tkcommons"
|
9
|
+
require "#{Dir.pwd}/ext/ae-rad/lib/tk/al-tk.res"
|
10
10
|
|
11
11
|
TkAllPhotoImage = TkPhotoImage
|
12
12
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
# by Antonio Galeone <antonio-galeone@rubyforge.org>
|
4
4
|
#
|
5
5
|
|
6
|
-
require
|
6
|
+
require "#{Dir.pwd}/ext/ae-rad/lib/tk/al-tk"
|
7
7
|
|
8
8
|
class TkLabelWatch < TkLabel
|
9
9
|
def show(_format="%I:%M:%S %p")
|
@@ -67,4 +67,4 @@ class ArcadiaLibTkCustom < ArcadiaLib
|
|
67
67
|
def register_classes
|
68
68
|
self.add_class(AGTkLabelWatch)
|
69
69
|
end
|
70
|
-
end
|
70
|
+
end
|
@@ -23,4 +23,23 @@ auto_resume_break_on_first_line=yes
|
|
23
23
|
#freebsd::font.bold=courier 10 bold
|
24
24
|
#win::font={Courier New} 8
|
25
25
|
#win::font.bold={Courier New} 8 bold
|
26
|
-
#========================================
|
26
|
+
#========================================
|
27
|
+
user_toolbar.contexts=debug
|
28
|
+
user_toolbar.debug.context_path=run
|
29
|
+
user_toolbar.debug=debugcurr,debuglast,debugquit
|
30
|
+
|
31
|
+
user_toolbar.debug.debugcurr.name=debug
|
32
|
+
user_toolbar.debug.debugcurr.hint=Debug current
|
33
|
+
user_toolbar.debug.debugcurr.image_data=!DEBUG_CURRENT_GIF
|
34
|
+
user_toolbar.debug.debugcurr.event_class=!StartDebugEvent
|
35
|
+
|
36
|
+
user_toolbar.debug.debuglast.name=debug
|
37
|
+
user_toolbar.debug.debuglast.hint=Debug last
|
38
|
+
user_toolbar.debug.debuglast.image_data=!DEBUG_LAST_GIF
|
39
|
+
user_toolbar.debug.debuglast.event_class=!StartDebugEvent
|
40
|
+
user_toolbar.debug.debuglast.event_args=!{'file'=>"*LAST"}
|
41
|
+
|
42
|
+
user_toolbar.debug.debugquit.name=debugquit
|
43
|
+
user_toolbar.debug.debugquit.hint=Quit debug
|
44
|
+
user_toolbar.debug.debugquit.image_data=!DEBUG_QUIT_GIF
|
45
|
+
user_toolbar.debug.debugquit.event_class=!StopDebugEvent
|
@@ -29,51 +29,51 @@ class RubyDebugView
|
|
29
29
|
# 'helptext'=>'step over',
|
30
30
|
# 'image'=> TkPhotoImage.new('dat' => D_NEXT_GIF)})
|
31
31
|
# )
|
32
|
-
@debug_button_box.add(
|
32
|
+
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
33
33
|
'name'=>'debug_over',
|
34
|
-
|
34
|
+
# 'background' => 'white',
|
35
35
|
'anchor' => 'nw',
|
36
36
|
'command'=>proc{self.debug_send(:step_over)},
|
37
37
|
'helptext'=>'step over',
|
38
38
|
'image'=> TkPhotoImage.new('dat' => D_NEXT_GIF),
|
39
|
-
'relief'=> _relief
|
39
|
+
'relief'=> _relief })
|
40
40
|
)
|
41
|
-
@debug_button_box.add(
|
41
|
+
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
42
42
|
'name'=>'debug_into',
|
43
|
-
|
43
|
+
# 'background' => 'white',
|
44
44
|
'anchor' => 'nw',
|
45
45
|
'command'=>proc{self.debug_send(:step_into)},
|
46
46
|
'helptext'=>'step into',
|
47
47
|
'image'=> TkPhotoImage.new('dat' => D_STEP_INTO_GIF),
|
48
|
-
'relief'=>_relief
|
48
|
+
'relief'=>_relief })
|
49
49
|
)
|
50
|
-
@debug_button_box.add(
|
50
|
+
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
51
51
|
'name'=>'debug_out',
|
52
|
-
|
52
|
+
# 'background' => 'white',
|
53
53
|
'anchor' => 'nw',
|
54
54
|
'helptext'=>'step out',
|
55
55
|
'command'=>proc{self.debug_send(:step_out)},
|
56
56
|
'image'=> TkPhotoImage.new('dat' => D_STEP_OUT_GIF),
|
57
|
-
'relief'=>_relief
|
57
|
+
'relief'=>_relief })
|
58
58
|
)
|
59
|
-
@debug_button_box.add(
|
59
|
+
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
60
60
|
'name'=>'debug_resume',
|
61
|
-
|
61
|
+
# 'background' => 'white',
|
62
62
|
'anchor' => 'nw',
|
63
63
|
'helptext'=>'resume',
|
64
64
|
'image'=> TkPhotoImage.new('dat' => D_RESUME_GIF),
|
65
65
|
'command'=>proc{self.debug_send(:resume)},
|
66
|
-
'relief'=>_relief
|
66
|
+
'relief'=>_relief })
|
67
67
|
)
|
68
68
|
|
69
|
-
@debug_button_box.add(
|
69
|
+
@debug_button_box.add(Arcadia.style('toolbarbutton').update({
|
70
70
|
'name'=>'debug_quit',
|
71
|
-
|
71
|
+
# 'background' => 'white',
|
72
72
|
'anchor' => 'nw',
|
73
73
|
'helptext'=>'quit',
|
74
74
|
'image'=> TkPhotoImage.new('dat' => D_QUIT_GIF),
|
75
75
|
'command'=>proc{self.debug_send(:quit)},
|
76
|
-
'relief'=>_relief
|
76
|
+
'relief'=>_relief })
|
77
77
|
)
|
78
78
|
|
79
79
|
# @debug_button_box.bind_append("KeyPress"){|e|
|
@@ -93,48 +93,34 @@ class RubyDebugView
|
|
93
93
|
background Arcadia.conf('panel.background')
|
94
94
|
}.place('height'=> _y)
|
95
95
|
|
96
|
-
@debug_frame = TkFrame.new(@frame, Arcadia.style('panel')){
|
97
|
-
border 2
|
98
|
-
place(
|
99
|
-
'y'=>_y,
|
100
|
-
'height'=> -_y,
|
101
|
-
'relheight'=> 1,
|
102
|
-
'relwidth'=> 1
|
103
|
-
)
|
104
|
-
}
|
96
|
+
# @debug_frame = TkFrame.new(@frame, Arcadia.style('panel')){
|
97
|
+
# border 2
|
98
|
+
# place(
|
99
|
+
# 'y'=>_y,
|
100
|
+
# 'height'=> -_y,
|
101
|
+
# 'relheight'=> 1,
|
102
|
+
# 'relwidth'=> 1
|
103
|
+
# )
|
104
|
+
# }
|
105
105
|
|
106
106
|
self.build_buttons_set
|
107
107
|
|
108
|
-
# sf = AGTkOSplittedFrames.new(@debug_frame,@debug_frame,70)
|
109
|
-
|
110
|
-
#-------------------------------------------------
|
111
108
|
build_process_panel(@frame_server)
|
112
|
-
# build_process_panel(sf.top_frame)
|
113
|
-
#-------------------------------------------------
|
114
|
-
|
115
|
-
@enb = Tk::BWidget::NoteBook.new(@debug_frame, Arcadia.style('tabpanel')){
|
116
|
-
tabbevelsize 0
|
117
|
-
internalborderwidth 2
|
118
|
-
place('relwidth' => 1,'relheight' => '1')
|
119
|
-
}
|
120
|
-
_tab_var = @enb.insert('end', 'vars' ,
|
121
|
-
'text'=> 'Variables',
|
122
|
-
'raisecmd'=>proc{}
|
123
|
-
)
|
124
|
-
# _tab_breakpoint = @enb.insert('end', 'Breakpoint' ,
|
125
|
-
# 'text'=> 'Breakpoints',
|
126
|
-
# 'raisecmd'=>proc{}
|
127
|
-
# )
|
128
109
|
|
129
|
-
#
|
130
|
-
#
|
110
|
+
# @enb = Tk::BWidget::NoteBook.new(@debug_frame, Arcadia.style('tabpanel')){
|
111
|
+
# tabbevelsize 0
|
112
|
+
# internalborderwidth 2
|
113
|
+
# place('relwidth' => 1,'relheight' => '1')
|
114
|
+
# }
|
115
|
+
#
|
116
|
+
# _tab_var = @enb.insert('end', 'vars' ,
|
117
|
+
# 'text'=> 'Variables',
|
131
118
|
# 'raisecmd'=>proc{}
|
132
119
|
# )
|
133
120
|
|
134
|
-
build_var_panel(
|
135
|
-
#build_break_panel(_tab_breakpoint)
|
121
|
+
build_var_panel(@frame)
|
136
122
|
@stack_nodes = Array.new
|
137
|
-
@enb.raise('vars')
|
123
|
+
# @enb.raise('vars')
|
138
124
|
|
139
125
|
end
|
140
126
|
|
@@ -196,17 +182,22 @@ class RubyDebugView
|
|
196
182
|
end
|
197
183
|
|
198
184
|
@tree_var = Tk::BWidget::Tree.new(_frame, Arcadia.style('treepanel')){
|
199
|
-
showlines
|
185
|
+
showlines false
|
200
186
|
deltay 15
|
201
187
|
opencmd _open_proc
|
202
|
-
}
|
188
|
+
}
|
189
|
+
|
190
|
+
#.place('relwidth' => 1,'relheight' => '1','bordermode' => 'inside')
|
203
191
|
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
192
|
+
@tree_var.extend(TkScrollableWidget).show(0,26)
|
193
|
+
|
194
|
+
|
195
|
+
# _scrollcommand = proc{|*args| @tree_var.yview(*args)}
|
196
|
+
# _scrollbar = TkScrollbar.new(_frame, Arcadia.style('scrollbar')){|s|
|
197
|
+
# width 8
|
198
|
+
# command _scrollcommand
|
199
|
+
# }.pack('side'=>'right', 'fill'=>'y')
|
200
|
+
# @tree_var.yscrollcommand proc{|first,last| _scrollbar.set(first,last)}
|
210
201
|
|
211
202
|
@tree_var.textbind("Double-ButtonPress-1", proc{
|
212
203
|
_selected = @tree_var.selection_get[0]
|
@@ -781,7 +772,8 @@ class RubyDebugServer
|
|
781
772
|
else
|
782
773
|
commandLine = "rdebug --host #{_host} --port #{_remote_port} -sw #{_filename}"
|
783
774
|
end
|
784
|
-
Arcadia.process_event(SystemExecEvent.new(self, 'command'=>commandLine))
|
775
|
+
#Arcadia.process_event(SystemExecEvent.new(self, 'command'=>commandLine))
|
776
|
+
Arcadia.process_event(RunCmdEvent.new(self, 'cmd'=>commandLine, 'file'=>_filename))
|
785
777
|
end
|
786
778
|
|
787
779
|
def is_alive?
|
@@ -816,7 +808,7 @@ class RubyDebugServer
|
|
816
808
|
Arcadia.console(self, 'msg'=>"#{$?.inspect}")
|
817
809
|
#Arcadia.new_msg(self,"#{$?.inspect}")
|
818
810
|
else
|
819
|
-
_event = Arcadia.process_event(
|
811
|
+
_event = Arcadia.process_event(RunCmdEvent.new(self, {'file'=>_filename}))
|
820
812
|
Arcadia.console(self, 'msg'=>"#{_event.results[0].output}", 'level'=>'debug')
|
821
813
|
#Arcadia.new_debug_msg(self,"#{_event.results[0].output}")
|
822
814
|
end
|
@@ -826,6 +818,19 @@ class RubyDebugServer
|
|
826
818
|
end
|
827
819
|
else
|
828
820
|
@pid = Process.fork do
|
821
|
+
# pid = Process.pid
|
822
|
+
# abort_action = proc{
|
823
|
+
# ArcadiaUtils.unix_child_pids(pid).each {|pid|
|
824
|
+
# Process.kill(9,pid.to_i)
|
825
|
+
# }
|
826
|
+
# Process.kill(9,pid.to_i)
|
827
|
+
# }
|
828
|
+
#
|
829
|
+
# alive_check = proc{
|
830
|
+
# num = `ps -p #{pid}|wc -l`
|
831
|
+
# num.to_i > 1
|
832
|
+
# }
|
833
|
+
# Arcadia.process_event(SubProcessEvent.new(self,'pid'=>pid, 'name'=>"debugging :#{_filename}",'abort_action'=>abort_action, 'alive_check'=>alive_check))
|
829
834
|
if Kernel.system(commandLine)
|
830
835
|
set_alive(false)
|
831
836
|
#p "alive=#{is_alive?}"
|
@@ -1295,9 +1300,9 @@ class RubyDebugClient
|
|
1295
1300
|
begin
|
1296
1301
|
#variables = read[1..-2].split(', ').collect!{|x| x[1..-2]}
|
1297
1302
|
to_eval = read("eval #{_type}")
|
1298
|
-
#Arcadia.
|
1303
|
+
#Arcadia.console(self,'msg'=>"to_eval=#{to_eval.to_s}")
|
1299
1304
|
variables = eval(to_eval)
|
1300
|
-
#Arcadia.
|
1305
|
+
#Arcadia.console(self,'msg'=>"variables=#{variables.to_s}")
|
1301
1306
|
rescue Exception => e
|
1302
1307
|
variables = []
|
1303
1308
|
#p "on command eval #{_type}:#{e.inspect}"
|
@@ -1306,12 +1311,12 @@ class RubyDebugClient
|
|
1306
1311
|
variables = [] if variables.nil?
|
1307
1312
|
variable_values = Hash.new
|
1308
1313
|
variables.each do |var|
|
1309
|
-
next if var=='$;'
|
1314
|
+
next if var.to_s=='$;'
|
1310
1315
|
# command("eval #{var}.to_s + '|||' + #{var}.class.to_s")
|
1311
1316
|
# _str = eval(read)
|
1312
1317
|
# _value, _class = _str.split('|||')
|
1313
1318
|
# variable_values[var] = Var.new(_value, _class)
|
1314
|
-
variable_values[var] = debug_eval(var)
|
1319
|
+
variable_values[var.to_s] = debug_eval(var.to_s)
|
1315
1320
|
end
|
1316
1321
|
return variable_values
|
1317
1322
|
end
|
@@ -1385,10 +1390,9 @@ class RubyDebug < ArcadiaExt
|
|
1385
1390
|
attr_reader :rdc
|
1386
1391
|
def on_before_build(_event)
|
1387
1392
|
if RubyWhich.new.which("rdebug") != []
|
1388
|
-
#ArcadiaContractListener.new(self, EditorContract, :do_editor_event)
|
1389
|
-
Arcadia.attach_listener(self, BufferEvent)
|
1390
1393
|
@breakpoints = Hash.new
|
1391
1394
|
@static_breakpoints = Array.new
|
1395
|
+
Arcadia.attach_listener(self, BufferEvent)
|
1392
1396
|
else
|
1393
1397
|
Arcadia.console(self, 'msg'=>"Warning: Extension ae-ruby-debug depend upon rdebug command (install it or update system path!)", 'level'=>'error')
|
1394
1398
|
#Arcadia.new_error_msg(self, "Warning: Extension ae-ruby-debug depend upon rdebug command (install it or update system path!)")
|
@@ -1495,7 +1499,7 @@ class RubyDebug < ArcadiaExt
|
|
1495
1499
|
end
|
1496
1500
|
|
1497
1501
|
def breakpoint_free_live
|
1498
|
-
@breakpoints.clear
|
1502
|
+
@breakpoints.clear if @breakpoints
|
1499
1503
|
#@rdv.break_list_free if @rdv
|
1500
1504
|
end
|
1501
1505
|
|