arcadia 0.4.0 → 0.5.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.
- data/README +8 -10
- data/bin/arcadia +13 -13
- data/bin/arcadia.bat +0 -0
- data/conf/arcadia.conf +35 -18
- data/conf/arcadia.init.rb +0 -0
- data/conf/arcadia.res.rb +10 -0
- data/ext/ae-breakpoints/ae-breakpoints.conf +0 -0
- data/ext/ae-breakpoints/ae-breakpoints.rb +368 -349
- data/ext/ae-editor/ae-editor.conf +2 -2
- data/ext/ae-editor/ae-editor.rb +1248 -445
- data/ext/ae-editor/langs/conf.lang +0 -0
- data/ext/ae-editor/langs/lang.lang.bind +0 -0
- data/ext/ae-editor/langs/rb.lang +0 -0
- data/ext/ae-editor/langs/rbw.lang.bind +0 -0
- data/ext/ae-file-history/ae-file-history.conf +1 -1
- data/ext/ae-file-history/ae-file-history.rb +23 -17
- data/ext/ae-output/ae-output.conf +0 -0
- data/ext/ae-output/ae-output.rb +262 -200
- data/ext/ae-rad/ae-rad-inspector.rb +34 -26
- data/ext/ae-rad/ae-rad-libs.rb +0 -0
- data/ext/ae-rad/ae-rad-palette.rb +0 -0
- data/ext/ae-rad/ae-rad.conf +0 -0
- data/ext/ae-rad/ae-rad.rb +0 -0
- data/ext/ae-rad/lib/tk/al-tk.rb +6 -2
- data/ext/ae-rad/lib/tk/al-tk.res.rb +0 -0
- data/ext/ae-rad/lib/tk/al-tkarcadia.rb +0 -0
- data/ext/ae-rad/lib/tk/al-tkcustom.rb +0 -0
- data/ext/ae-rad/lib/tkext/al-bwidget.rb +0 -0
- data/ext/ae-rad/lib/tkext/al-iwidgets.rb +0 -0
- data/ext/ae-rad/lib/tkext/al-tile.rb +0 -0
- data/ext/ae-rad/lib/tkext/al-tktable.rb +0 -0
- data/ext/ae-ruby-debug/ae-ruby-debug.conf +0 -0
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +1 -0
- data/ext/ae-search-in-files/ae-search-in-files.conf +0 -0
- data/ext/ae-search-in-files/ae-search-in-files.rb +14 -10
- data/ext/ae-shell/ae-shell.conf +0 -0
- data/ext/ae-shell/ae-shell.rb +1 -1
- data/ext/ae-shell/sh.rb +0 -0
- data/lib/a-commons.rb +5 -1
- data/lib/a-contracts.rb +1 -0
- data/lib/a-core.rb +40 -9
- data/lib/a-tkcommons.rb +229 -1
- data/tcl/BWidget-1.8.0/BWman/ArrowButton.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/BWidget.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Button.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ButtonBox.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ComboBox.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Dialog.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/DragSite.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/DropSite.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/DynamicHelp.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Entry.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Label.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/LabelEntry.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/LabelFrame.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ListBox.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/MainFrame.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/MessageDlg.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/NoteBook.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/PagesManager.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/PanedWindow.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/PanelFrame.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/PasswdDlg.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ProgressBar.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ProgressDlg.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ScrollView.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ScrollableFrame.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/ScrolledWindow.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/SelectColor.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/SelectFont.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Separator.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/SpinBox.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/StatusBar.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/TitleFrame.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Tree.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/Widget.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/contents.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/index.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/navtree.html +0 -0
- data/tcl/BWidget-1.8.0/BWman/options.htm +0 -0
- data/tcl/BWidget-1.8.0/CHANGES.txt +0 -0
- data/tcl/BWidget-1.8.0/ChangeLog +0 -0
- data/tcl/BWidget-1.8.0/LICENSE.txt +0 -0
- data/tcl/BWidget-1.8.0/README.txt +0 -0
- data/tcl/BWidget-1.8.0/arrow.tcl +0 -0
- data/tcl/BWidget-1.8.0/bitmap.tcl +0 -0
- data/tcl/BWidget-1.8.0/button.tcl +0 -0
- data/tcl/BWidget-1.8.0/buttonbox.tcl +0 -0
- data/tcl/BWidget-1.8.0/color.tcl +0 -0
- data/tcl/BWidget-1.8.0/combobox.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/basic.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/bwidget.xbm +0 -0
- data/tcl/BWidget-1.8.0/demo/demo.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/dnd.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/manager.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/select.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/tmpldlg.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/tree.tcl +0 -0
- data/tcl/BWidget-1.8.0/demo/x1.xbm +0 -0
- data/tcl/BWidget-1.8.0/dialog.tcl +0 -0
- data/tcl/BWidget-1.8.0/dragsite.tcl +0 -0
- data/tcl/BWidget-1.8.0/dropsite.tcl +0 -0
- data/tcl/BWidget-1.8.0/dynhelp.tcl +0 -0
- data/tcl/BWidget-1.8.0/entry.tcl +0 -0
- data/tcl/BWidget-1.8.0/font.tcl +0 -0
- data/tcl/BWidget-1.8.0/images/bold.gif +0 -0
- data/tcl/BWidget-1.8.0/images/copy.gif +0 -0
- data/tcl/BWidget-1.8.0/images/cut.gif +0 -0
- data/tcl/BWidget-1.8.0/images/dragfile.gif +0 -0
- data/tcl/BWidget-1.8.0/images/dragicon.gif +0 -0
- data/tcl/BWidget-1.8.0/images/error.gif +0 -0
- data/tcl/BWidget-1.8.0/images/file.gif +0 -0
- data/tcl/BWidget-1.8.0/images/folder.gif +0 -0
- data/tcl/BWidget-1.8.0/images/hourglass.gif +0 -0
- data/tcl/BWidget-1.8.0/images/info.gif +0 -0
- data/tcl/BWidget-1.8.0/images/italic.gif +0 -0
- data/tcl/BWidget-1.8.0/images/minus.xbm +0 -0
- data/tcl/BWidget-1.8.0/images/new.gif +0 -0
- data/tcl/BWidget-1.8.0/images/opcopy.xbm +0 -0
- data/tcl/BWidget-1.8.0/images/open.gif +0 -0
- data/tcl/BWidget-1.8.0/images/openfold.gif +0 -0
- data/tcl/BWidget-1.8.0/images/oplink.xbm +0 -0
- data/tcl/BWidget-1.8.0/images/opmove.xbm +0 -0
- data/tcl/BWidget-1.8.0/images/overstrike.gif +0 -0
- data/tcl/BWidget-1.8.0/images/palette.gif +0 -0
- data/tcl/BWidget-1.8.0/images/passwd.gif +0 -0
- data/tcl/BWidget-1.8.0/images/paste.gif +0 -0
- data/tcl/BWidget-1.8.0/images/plus.xbm +0 -0
- data/tcl/BWidget-1.8.0/images/print.gif +0 -0
- data/tcl/BWidget-1.8.0/images/question.gif +0 -0
- data/tcl/BWidget-1.8.0/images/redo.gif +0 -0
- data/tcl/BWidget-1.8.0/images/save.gif +0 -0
- data/tcl/BWidget-1.8.0/images/target.xbm +0 -0
- data/tcl/BWidget-1.8.0/images/underline.gif +0 -0
- data/tcl/BWidget-1.8.0/images/undo.gif +0 -0
- data/tcl/BWidget-1.8.0/images/warning.gif +0 -0
- data/tcl/BWidget-1.8.0/init.tcl +0 -0
- data/tcl/BWidget-1.8.0/label.tcl +0 -0
- data/tcl/BWidget-1.8.0/labelentry.tcl +0 -0
- data/tcl/BWidget-1.8.0/labelframe.tcl +0 -0
- data/tcl/BWidget-1.8.0/lang/da.rc +0 -0
- data/tcl/BWidget-1.8.0/lang/de.rc +0 -0
- data/tcl/BWidget-1.8.0/lang/en.rc +0 -0
- data/tcl/BWidget-1.8.0/lang/es.rc +0 -0
- data/tcl/BWidget-1.8.0/lang/fr.rc +0 -0
- data/tcl/BWidget-1.8.0/listbox.tcl +0 -0
- data/tcl/BWidget-1.8.0/mainframe.tcl +0 -0
- data/tcl/BWidget-1.8.0/messagedlg.tcl +0 -0
- data/tcl/BWidget-1.8.0/notebook.tcl +0 -0
- data/tcl/BWidget-1.8.0/pagesmgr.tcl +0 -0
- data/tcl/BWidget-1.8.0/panedw.tcl +0 -0
- data/tcl/BWidget-1.8.0/panelframe.tcl +0 -0
- data/tcl/BWidget-1.8.0/passwddlg.tcl +0 -0
- data/tcl/BWidget-1.8.0/pkgIndex.tcl +0 -0
- data/tcl/BWidget-1.8.0/progressbar.tcl +0 -0
- data/tcl/BWidget-1.8.0/progressdlg.tcl +0 -0
- data/tcl/BWidget-1.8.0/scrollframe.tcl +0 -0
- data/tcl/BWidget-1.8.0/scrollview.tcl +0 -0
- data/tcl/BWidget-1.8.0/scrollw.tcl +0 -0
- data/tcl/BWidget-1.8.0/separator.tcl +0 -0
- data/tcl/BWidget-1.8.0/spinbox.tcl +0 -0
- data/tcl/BWidget-1.8.0/statusbar.tcl +0 -0
- data/tcl/BWidget-1.8.0/tests/entry.test +0 -0
- data/tcl/BWidget-1.8.0/titleframe.tcl +0 -0
- data/tcl/BWidget-1.8.0/tree.tcl +0 -0
- data/tcl/BWidget-1.8.0/utils.tcl +0 -0
- data/tcl/BWidget-1.8.0/widget.tcl +0 -0
- data/tcl/BWidget-1.8.0/wizard.tcl +0 -0
- data/tcl/BWidget-1.8.0/xpm2image.tcl +0 -0
- metadata +2 -25
- data/ext/ae-complete-code/ae-complete-code.conf +0 -6
- data/ext/ae-complete-code/ae-complete-code.rb +0 -74
- data/ext/ae-doc-code/ae-doc-code.conf +0 -15
- data/ext/ae-doc-code/ae-doc-code.rb +0 -300
- data/ext/ae-event-log/ae-event-log.conf +0 -5
- data/ext/ae-event-log/ae-event-log.rb +0 -46
- data/ext/ae-flag/ae-flag.conf +0 -6
- data/ext/ae-flag/ae-flag.rb +0 -12
- data/ext/ae-output-event/ae-output-event.conf +0 -15
|
@@ -275,12 +275,13 @@ class ValueRap
|
|
|
275
275
|
'anchor' => 'w',
|
|
276
276
|
#'width'=>15,
|
|
277
277
|
#'font'=> $arcadia['conf']['inspectors.inspector.value.font'],
|
|
278
|
-
|
|
278
|
+
'borderwidth'=>'1',
|
|
279
|
+
'relief'=>'groove'
|
|
279
280
|
}))
|
|
280
281
|
|
|
281
282
|
TkTextWindow.new(@parent.right_text, 'end', 'window'=> @labelkey)
|
|
282
283
|
|
|
283
|
-
|
|
284
|
+
@labelkey.pack('fill'=>'x',:padx=>0, :pady=>0)
|
|
284
285
|
|
|
285
286
|
@parent.right_text.insert('end',"\n")
|
|
286
287
|
|
|
@@ -356,15 +357,14 @@ class PropLine
|
|
|
356
357
|
@propkey = TkLabel.new(@parent.left_text, Arcadia.style('label')){
|
|
357
358
|
text _name
|
|
358
359
|
justify 'right'
|
|
359
|
-
#font $arcadia['conf']['inspectors.inspector.key.font']
|
|
360
360
|
anchor 'w'
|
|
361
|
-
|
|
361
|
+
borderwidth '1'
|
|
362
|
+
relief 'groove'
|
|
362
363
|
}
|
|
363
364
|
|
|
364
|
-
TkTextWindow.new(@parent.left_text, 'end',
|
|
365
|
-
|
|
365
|
+
TkTextWindow.new(@parent.left_text, 'end', 'window'=> @propkey)
|
|
366
|
+
@propkey.pack('fill'=>'x',:padx=>0, :pady=>0)
|
|
366
367
|
@parent.left_text.insert('end',"\n")
|
|
367
|
-
|
|
368
368
|
if !defined? _prop['type']
|
|
369
369
|
_prop['type'] = 'StringType'
|
|
370
370
|
end
|
|
@@ -544,11 +544,16 @@ class InspectList
|
|
|
544
544
|
attr_writer :lasthandlervalue, :family
|
|
545
545
|
attr_reader :lasthandlervalue
|
|
546
546
|
attr_reader :left_text, :right_text
|
|
547
|
-
def initialize(_family, _host, _left_width = 85)
|
|
547
|
+
def initialize(_family, _host, _left_width = 85, show_scrollbar=true)
|
|
548
548
|
@lasthandlervalue = 0;
|
|
549
549
|
@family = _family
|
|
550
|
-
|
|
550
|
+
#@pwind = AGTkVSplittedFrames.new(_host,_left_width)
|
|
551
|
+
if show_scrollbar
|
|
552
|
+
# @pwind.place('width' => -15)
|
|
553
|
+
@bar = TkScrollbar.new(_host, Arcadia.style('scrollbar')).pack('side'=>'right', 'fill'=>'y')
|
|
554
|
+
end
|
|
551
555
|
@pwind = AGTkVSplittedFrames.new(_host,_left_width)
|
|
556
|
+
|
|
552
557
|
background = _host.cget('background')
|
|
553
558
|
common_properties = {'relief'=>'flat','state'=>'disabled', 'borderwidth'=>0, 'background'=>background}
|
|
554
559
|
@left_text = TkText.new(@pwind.left_frame, common_properties).pack('expand'=>'yes', 'fill'=>'both')
|
|
@@ -556,18 +561,19 @@ class InspectList
|
|
|
556
561
|
|
|
557
562
|
@left_text.configure('selectbackground'=>@left_text.cget('background'))
|
|
558
563
|
@right_text.configure('selectbackground'=>@right_text.cget('background'))
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
564
|
+
|
|
565
|
+
if show_scrollbar
|
|
566
|
+
@bar.command(proc { |*args|
|
|
567
|
+
@left_text.yview(*args)
|
|
568
|
+
@right_text.yview(*args)
|
|
569
|
+
})
|
|
570
|
+
@left_text.yscrollcommand(proc { |first, last|
|
|
571
|
+
@bar.set(first, last)
|
|
572
|
+
})
|
|
573
|
+
@right_text.yscrollcommand(proc { |first, last|
|
|
574
|
+
@bar.set(first, last)
|
|
575
|
+
})
|
|
576
|
+
end
|
|
571
577
|
@right_text.bind("Configure",
|
|
572
578
|
proc{
|
|
573
579
|
new_width = new_right_width
|
|
@@ -989,12 +995,14 @@ class TkMenuButtonObjBoard < ObjBoard
|
|
|
989
995
|
:underline=>0,
|
|
990
996
|
:direction=>:flush,
|
|
991
997
|
#:font=>$arcadia['conf']['inspectors.inspector.tree.font'],
|
|
992
|
-
|
|
998
|
+
:relief=>:groove,
|
|
999
|
+
:borderwidth=> '1',
|
|
1000
|
+
|
|
993
1001
|
#:background=> :white,
|
|
994
1002
|
:justify=> :left})){|mb|
|
|
995
1003
|
menu TkMenu.new(Arcadia.style('menu').update({
|
|
996
1004
|
:parent=>mb,
|
|
997
|
-
:tearoff=>
|
|
1005
|
+
:tearoff=>0
|
|
998
1006
|
#:font=>$arcadia['conf']['inspectors.inspector.tree.font'],
|
|
999
1007
|
#:background=> :white,:relief=>'flat'
|
|
1000
1008
|
}))
|
|
@@ -1021,7 +1029,7 @@ class TkMenuButtonObjBoard < ObjBoard
|
|
|
1021
1029
|
_space = _space + ' '
|
|
1022
1030
|
end
|
|
1023
1031
|
if _agobj.ag_parent != nil
|
|
1024
|
-
_result = _space + '
|
|
1032
|
+
_result = _space + '¦'+_result
|
|
1025
1033
|
end
|
|
1026
1034
|
return _result
|
|
1027
1035
|
end
|
|
@@ -1479,11 +1487,11 @@ class AGTkInspector < AGInspector
|
|
|
1479
1487
|
@top_panel = TkFrame.new(@ojts_layout, Arcadia.style('panel')){
|
|
1480
1488
|
place('x'=>0, 'y'=>0, 'relheight'=>1, 'relwidth'=>1)
|
|
1481
1489
|
}
|
|
1482
|
-
@tabs['LayoutType'] = InspectList.new('layout_man', @top_panel)
|
|
1490
|
+
@tabs['LayoutType'] = InspectList.new('layout_man', @top_panel,85,false)
|
|
1483
1491
|
@mid_panel = TkFrame.new(@ojts_layout, Arcadia.style('panel')){
|
|
1484
1492
|
place('x'=>0, 'y'=>20,'relheight'=>1, 'relwidth'=>1)
|
|
1485
1493
|
}
|
|
1486
|
-
@tabs['Layout'] = InspectList.new('...',@mid_panel)
|
|
1494
|
+
@tabs['Layout'] = InspectList.new('...',@mid_panel, 85)
|
|
1487
1495
|
|
|
1488
1496
|
@ojts_winfo = _host.insert('end','winfo','text'=>'Winfo')
|
|
1489
1497
|
@tabs['Winfo'] = InspectList.new('winfo', @ojts_winfo)
|
data/ext/ae-rad/ae-rad-libs.rb
CHANGED
|
File without changes
|
|
File without changes
|
data/ext/ae-rad/ae-rad.conf
CHANGED
|
File without changes
|
data/ext/ae-rad/ae-rad.rb
CHANGED
|
File without changes
|
data/ext/ae-rad/lib/tk/al-tk.rb
CHANGED
|
@@ -1176,6 +1176,7 @@ include WrapBind
|
|
|
1176
1176
|
class Revparsel
|
|
1177
1177
|
|
|
1178
1178
|
def initialize(_code, _filename=nil)
|
|
1179
|
+
#p "-------- revparsel ------------"
|
|
1179
1180
|
_code.gsub!('TkScrollbar','QTkScrollbar')
|
|
1180
1181
|
_code.gsub!('bind(','wbind(')
|
|
1181
1182
|
if $arcadia.objects('code')
|
|
@@ -1185,7 +1186,7 @@ class Revparsel
|
|
|
1185
1186
|
end
|
|
1186
1187
|
@filename = _filename
|
|
1187
1188
|
_re_string = ''
|
|
1188
|
-
['TkToplevel','TkRoot','TkToplevelLayer'].each{|top|
|
|
1189
|
+
['TkToplevel','Tk::Toplevel','TkRoot','TkToplevelLayer'].each{|top|
|
|
1189
1190
|
if _re_string.length > 0
|
|
1190
1191
|
_re_string = _re_string+'|'
|
|
1191
1192
|
end
|
|
@@ -1197,13 +1198,16 @@ class Revparsel
|
|
|
1197
1198
|
_obj_name = _class_name.sub(/^./) { $&.downcase}
|
|
1198
1199
|
cod = _code + "\n@"+ _obj_name + "="+ _class_name+".new('class'=>"+_class+")\n"
|
|
1199
1200
|
cod = cod +"Tk.update\n"
|
|
1201
|
+
#p cod
|
|
1200
1202
|
eval(cod)
|
|
1201
1203
|
cod = ''
|
|
1202
|
-
cod = cod + '@ag'+ _obj_name + "="+'AG'+ _class+".new(nil,@"+_obj_name+"){\n"
|
|
1204
|
+
cod = cod + '@ag'+ _obj_name + "="+'AG'+ _class.sub('::','')+".new(nil,@"+_obj_name+"){\n"
|
|
1203
1205
|
cod = cod + "|_self|\n"
|
|
1204
1206
|
cod = cod + " _self.i_name='"+_obj_name+"' \n"
|
|
1205
1207
|
cod = cod + " _self.i_ag='"+'ag'+_obj_name+"' \n"
|
|
1206
1208
|
cod = cod + '}'+"\n"
|
|
1209
|
+
#p "-------------------"
|
|
1210
|
+
#p cod
|
|
1207
1211
|
eval(cod)
|
|
1208
1212
|
end
|
|
1209
1213
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1532,6 +1532,7 @@ class RubyDebug < ArcadiaExt
|
|
|
1532
1532
|
|
|
1533
1533
|
@rdc = RubyDebugClient.new(self, conf('server.host'), conf('server.port'), conf('server.timeout')) if @rdc.nil?
|
|
1534
1534
|
@rdv = RubyDebugView.new(self.frame.hinner_frame, self) if @rdv.nil?
|
|
1535
|
+
self.frame.show
|
|
1535
1536
|
@rdv.start_process(_filename)
|
|
1536
1537
|
if @rdc.start_session
|
|
1537
1538
|
@static_breakpoints.each{|_b|
|
|
File without changes
|
|
@@ -43,7 +43,7 @@ class SearchInFilesListener
|
|
|
43
43
|
Tk.callback_break
|
|
44
44
|
end
|
|
45
45
|
}
|
|
46
|
-
|
|
46
|
+
@find.title("Search in files")
|
|
47
47
|
end
|
|
48
48
|
private :create_find
|
|
49
49
|
|
|
@@ -251,23 +251,20 @@ class FindFrame < TkFloatTitledFrame
|
|
|
251
251
|
autocomplete 'true'
|
|
252
252
|
expand 'tab'
|
|
253
253
|
takefocus 'true'
|
|
254
|
-
#pack('side'=>'left','fill'=>'x')
|
|
255
254
|
pack('fill'=>'x')
|
|
255
|
+
#pack('fill'=>'x')
|
|
256
256
|
#place('relwidth' => 1, 'width'=>-16,'x' => 8,'y' => y0,'height' => 19)
|
|
257
257
|
}
|
|
258
258
|
@e_dir.text(Dir.pwd)
|
|
259
|
-
@b_dir = TkButton.new(
|
|
259
|
+
@b_dir = TkButton.new(@e_dir, Arcadia.style('button') ){
|
|
260
260
|
compound 'none'
|
|
261
261
|
default 'disabled'
|
|
262
262
|
text '...'
|
|
263
|
-
|
|
264
|
-
#
|
|
265
|
-
pack('side'=>'right','ipadx'=>5, 'padx'=>5)
|
|
263
|
+
pack('side'=>'right')
|
|
264
|
+
#pack('side'=>'right','ipadx'=>5, 'padx'=>5)
|
|
266
265
|
}.bind('1', proc{
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
@e_dir.text(_d)
|
|
270
|
-
end
|
|
266
|
+
change_dir
|
|
267
|
+
Tk.callback_break
|
|
271
268
|
})
|
|
272
269
|
|
|
273
270
|
y0 = y0 + d
|
|
@@ -284,6 +281,13 @@ class FindFrame < TkFloatTitledFrame
|
|
|
284
281
|
}
|
|
285
282
|
place('x'=>100,'y'=>100,'height'=> 220,'width'=> 300)
|
|
286
283
|
end
|
|
284
|
+
|
|
285
|
+
def change_dir
|
|
286
|
+
_d = Tk.chooseDirectory('initialdir'=>@e_dir.text,'mustexist'=>true)
|
|
287
|
+
if _d && _d.strip.length > 0
|
|
288
|
+
@e_dir.text(_d)
|
|
289
|
+
end
|
|
290
|
+
end
|
|
287
291
|
|
|
288
292
|
def show
|
|
289
293
|
super
|
data/ext/ae-shell/ae-shell.conf
CHANGED
|
File without changes
|
data/ext/ae-shell/ae-shell.rb
CHANGED
|
@@ -49,7 +49,7 @@ class Shell < ArcadiaExt
|
|
|
49
49
|
_filename = @arcadia['pers']['run.file.last'] if _filename == "*LAST"
|
|
50
50
|
if _filename && File.exists?(_filename)
|
|
51
51
|
begin
|
|
52
|
-
@arcadia['pers']['run.file.last']=_filename
|
|
52
|
+
@arcadia['pers']['run.file.last']=_filename if _event.persistent
|
|
53
53
|
_cmd_ = "|"+@arcadia['conf']['shell.ruby']+" "+_filename+" 2>&1"
|
|
54
54
|
open(_cmd_,"r"){|f|
|
|
55
55
|
_readed = f.read
|
data/ext/ae-shell/sh.rb
CHANGED
|
File without changes
|
data/lib/a-commons.rb
CHANGED
|
@@ -95,6 +95,10 @@ class FixedFrameWrapper < AbstractFrameWrapper
|
|
|
95
95
|
def hide
|
|
96
96
|
end
|
|
97
97
|
|
|
98
|
+
def raised?
|
|
99
|
+
@arcadia.layout.raised?(@point, @name)
|
|
100
|
+
end
|
|
101
|
+
|
|
98
102
|
def free
|
|
99
103
|
@arcadia.layout.unregister_panel(@point, @name)
|
|
100
104
|
@fixed_frame = nil
|
|
@@ -522,7 +526,7 @@ end
|
|
|
522
526
|
|
|
523
527
|
module Persistable
|
|
524
528
|
def override_persistent(_persist_file, _persistent_hash)
|
|
525
|
-
if FileTest::exist?(_persist_file)
|
|
529
|
+
if FileTest::exist?(_persist_file) && File.stat(_persist_file).writable?
|
|
526
530
|
f = File.new(_persist_file, "w")
|
|
527
531
|
begin
|
|
528
532
|
if f
|
data/lib/a-contracts.rb
CHANGED
data/lib/a-core.rb
CHANGED
|
@@ -2,12 +2,20 @@
|
|
|
2
2
|
# a-core.rb - Arcadia Ruby ide
|
|
3
3
|
# by Antonio Galeone <antonio-galeone@rubyforge.org>
|
|
4
4
|
#
|
|
5
|
+
# §require_dir_ref=..
|
|
6
|
+
# §require_omissis=conf/arcadia.init
|
|
7
|
+
# §require_omissis=tk
|
|
8
|
+
# §require_omissis=tk/label
|
|
9
|
+
# §require_omissis=tk/toplevel
|
|
10
|
+
|
|
11
|
+
|
|
5
12
|
|
|
6
13
|
require "conf/arcadia.res"
|
|
7
14
|
require 'tkextlib/bwidget'
|
|
8
15
|
require "lib/a-tkcommons"
|
|
9
16
|
require "lib/a-contracts"
|
|
10
17
|
require "observer"
|
|
18
|
+
|
|
11
19
|
class Arcadia < TkApplication
|
|
12
20
|
include Observable
|
|
13
21
|
attr_reader :layout
|
|
@@ -15,7 +23,7 @@ class Arcadia < TkApplication
|
|
|
15
23
|
super(
|
|
16
24
|
ApplicationParams.new(
|
|
17
25
|
'arcadia',
|
|
18
|
-
'0.
|
|
26
|
+
'0.5.0',
|
|
19
27
|
'conf/arcadia.conf',
|
|
20
28
|
'conf/arcadia.pers'
|
|
21
29
|
)
|
|
@@ -283,7 +291,12 @@ class Arcadia < TkApplication
|
|
|
283
291
|
publish('main.action.edit_copy',proc{$arcadia['editor'].raised.text.text_copy()})
|
|
284
292
|
publish('main.action.edit_paste',proc{$arcadia['editor'].raised.text.text_paste()})
|
|
285
293
|
@splash.next_step('... load actions') if @splash
|
|
286
|
-
|
|
294
|
+
#provvisorio
|
|
295
|
+
@keytest = KeyTest.new
|
|
296
|
+
@keytest.on_close=proc{@keytest.hide}
|
|
297
|
+
@keytest.hide
|
|
298
|
+
@keytest.title("Keys test")
|
|
299
|
+
publish('action.test.keys', proc{@keytest.show})
|
|
287
300
|
publish('action.get.font', proc{Tk::BWidget::SelectFont::Dialog.new.create})
|
|
288
301
|
@splash.next_step if @splash
|
|
289
302
|
publish('action.show_about', proc{ArcadiaAboutSplash.new.deiconify})
|
|
@@ -874,6 +887,12 @@ class ArcadiaAboutSplash < TkToplevel
|
|
|
874
887
|
geometry = _width.to_s+'x'+_height.to_s+'+'+_x.to_s+'+'+_y.to_s
|
|
875
888
|
Tk.tk_call('wm', 'geometry', self, geometry )
|
|
876
889
|
bind("Double-Button-1", proc{self.destroy})
|
|
890
|
+
info = "Ruby version = #{RUBY_VERSION} - TclTk version = #{Arcadia.instance.tcltk_info.level}"
|
|
891
|
+
set_sysinfo(info)
|
|
892
|
+
end
|
|
893
|
+
|
|
894
|
+
def set_sysinfo(_info)
|
|
895
|
+
@tkLabelStep.text(_info)
|
|
877
896
|
end
|
|
878
897
|
|
|
879
898
|
def set_progress(_max=10)
|
|
@@ -967,9 +986,9 @@ end
|
|
|
967
986
|
class ArcadiaLayout
|
|
968
987
|
include Observable
|
|
969
988
|
ArcadiaPanelInfo = Struct.new( "ArcadiaPanelInfo",
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
989
|
+
:name,
|
|
990
|
+
:title,
|
|
991
|
+
:frame
|
|
973
992
|
)
|
|
974
993
|
|
|
975
994
|
def initialize(_arcadia, _frame, _autotab=true)
|
|
@@ -997,7 +1016,21 @@ class ArcadiaLayout
|
|
|
997
1016
|
p = @panels[_domain]
|
|
998
1017
|
if p && p['notebook'] != nil
|
|
999
1018
|
p['notebook'].raise(_extension)
|
|
1019
|
+
p['notebook'].see(_extension)
|
|
1020
|
+
end
|
|
1021
|
+
end
|
|
1022
|
+
|
|
1023
|
+
# def raise_panel(_domain_name, _name)
|
|
1024
|
+
# @panels[_domain_name]['notebook'].raise(_name) if @panels[_domain_name] && @panels[_domain_name]['notebook']
|
|
1025
|
+
# end
|
|
1026
|
+
|
|
1027
|
+
def raised?(_domain, _extension)
|
|
1028
|
+
ret = false
|
|
1029
|
+
p = @panels[_domain]
|
|
1030
|
+
if p && p['notebook'] != nil
|
|
1031
|
+
ret=p['notebook'].raise == _extension
|
|
1000
1032
|
end
|
|
1033
|
+
ret
|
|
1001
1034
|
end
|
|
1002
1035
|
|
|
1003
1036
|
def _prepare_rows(_row,_col, _height, _perc=false, _top_name=nil, _bottom_name=nil)
|
|
@@ -1176,10 +1209,6 @@ class ArcadiaLayout
|
|
|
1176
1209
|
#p "unregister #{_name} ------> 5"
|
|
1177
1210
|
end
|
|
1178
1211
|
|
|
1179
|
-
def raise_panel(_domain_name, _name)
|
|
1180
|
-
@panels[_domain_name]['notebook'].raise(_name) if @panels[_domain_name] && @panels[_domain_name]['notebook']
|
|
1181
|
-
end
|
|
1182
|
-
|
|
1183
1212
|
def [](_row, _col)
|
|
1184
1213
|
@frames[_row][_col]
|
|
1185
1214
|
end
|
|
@@ -1206,3 +1235,5 @@ class ArcadiaLayout
|
|
|
1206
1235
|
return _frame
|
|
1207
1236
|
end
|
|
1208
1237
|
end
|
|
1238
|
+
|
|
1239
|
+
|
data/lib/a-tkcommons.rb
CHANGED
|
@@ -226,7 +226,7 @@ class AGTkVSplittedFrames < AGTkSplittedFrames
|
|
|
226
226
|
attr_reader :left_frame, :right_frame, :splitter_frame
|
|
227
227
|
def initialize(parent=nil, width=10, slen=5, perc=false, keys=nil)
|
|
228
228
|
super(parent, width, slen, keys)
|
|
229
|
-
|
|
229
|
+
#self.place('relheight'=>1, 'relwidth'=>1, 'bordermode'=>'outside' )
|
|
230
230
|
self.pack(:expand=>true, :fill=>:both)
|
|
231
231
|
@left_frame = TkFrame.new(self, Arcadia.style('panel')){
|
|
232
232
|
#relief 'flat'
|
|
@@ -816,6 +816,19 @@ class TkTitledScrollFrame < TkTitledFrame
|
|
|
816
816
|
|
|
817
817
|
end
|
|
818
818
|
|
|
819
|
+
class TkResizingTitledFrame < TkFrame
|
|
820
|
+
include TkResizable
|
|
821
|
+
def initialize(parent=nil, *args)
|
|
822
|
+
super(parent, *args)
|
|
823
|
+
@resizing_label=TkLabel.new(self, Arcadia.style('label')){
|
|
824
|
+
text '-'
|
|
825
|
+
image TkPhotoImage.new('dat'=>EXPAND_LIGHT_GIF)
|
|
826
|
+
}.pack('side'=> 'right','anchor'=> 's')
|
|
827
|
+
start_resizing(@resizing_label, self)
|
|
828
|
+
end
|
|
829
|
+
end
|
|
830
|
+
|
|
831
|
+
|
|
819
832
|
class TkFloatTitledFrame < TkBaseTitledFrame
|
|
820
833
|
include TkMovable
|
|
821
834
|
include TkResizable
|
|
@@ -965,3 +978,218 @@ class TclTkInfo
|
|
|
965
978
|
@level = TclTkIp.new._eval "info patchlevel"
|
|
966
979
|
end
|
|
967
980
|
end
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
class TkScrollText < TkText
|
|
984
|
+
def initialize(parent=nil, keys={})
|
|
985
|
+
super(parent, keys)
|
|
986
|
+
@scroll_width = 15
|
|
987
|
+
@v_scroll_on = false
|
|
988
|
+
@h_scroll_on = false
|
|
989
|
+
@v_scroll = TkScrollbar.new(parent,{
|
|
990
|
+
'orient'=>'vertical'}.update(Arcadia.style('scrollbar'))
|
|
991
|
+
)
|
|
992
|
+
@v_scroll.command(proc{|*args|
|
|
993
|
+
self.yview *args
|
|
994
|
+
})
|
|
995
|
+
self.yscrollcommand(proc{|first,last|
|
|
996
|
+
self.do_yscrollcommand(first,last)
|
|
997
|
+
})
|
|
998
|
+
|
|
999
|
+
@h_scroll = TkScrollbar.new(parent,{
|
|
1000
|
+
'orient'=>'horizontal'}.update(Arcadia.style('scrollbar'))
|
|
1001
|
+
)
|
|
1002
|
+
@h_scroll.command(proc{|*args|
|
|
1003
|
+
self.xview *args
|
|
1004
|
+
})
|
|
1005
|
+
self.xscrollcommand(proc{|first,last|
|
|
1006
|
+
self.do_xscrollcommand(first,last)
|
|
1007
|
+
})
|
|
1008
|
+
end
|
|
1009
|
+
def add_yscrollcommand(cmd=Proc.new)
|
|
1010
|
+
@v_scroll_command = cmd
|
|
1011
|
+
end
|
|
1012
|
+
def do_yscrollcommand(first,last)
|
|
1013
|
+
#p "do_yscrollcommand first=#{first} last=#{last}"
|
|
1014
|
+
@v_scroll.set(first,last)
|
|
1015
|
+
@v_scroll_command.call(first,last) if !@v_scroll_command.nil?
|
|
1016
|
+
end
|
|
1017
|
+
def add_xscrollcommand(cmd=Proc.new)
|
|
1018
|
+
@h_scroll_command = cmd
|
|
1019
|
+
end
|
|
1020
|
+
def do_xscrollcommand(first,last)
|
|
1021
|
+
#p "do_xscrollcommand first=#{first} last=#{last}"
|
|
1022
|
+
@h_scroll.set(first,last)
|
|
1023
|
+
@h_scroll_command.call(first,last) if !@h_scroll_command.nil?
|
|
1024
|
+
end
|
|
1025
|
+
|
|
1026
|
+
def show(_x=0,_y=0,_border_mode='outside')
|
|
1027
|
+
@x=_x
|
|
1028
|
+
@y=_y
|
|
1029
|
+
place(
|
|
1030
|
+
'x'=>@x,
|
|
1031
|
+
'y'=>@y,
|
|
1032
|
+
'width' => -@x,
|
|
1033
|
+
'height' => -@y,
|
|
1034
|
+
'relheight'=>1,
|
|
1035
|
+
'relwidth'=>1,
|
|
1036
|
+
'bordermode'=>_border_mode
|
|
1037
|
+
)
|
|
1038
|
+
if @v_scroll_on
|
|
1039
|
+
show_v_scroll
|
|
1040
|
+
end
|
|
1041
|
+
if @h_scroll_on
|
|
1042
|
+
show_h_scroll
|
|
1043
|
+
end
|
|
1044
|
+
end
|
|
1045
|
+
|
|
1046
|
+
def show_v_scroll
|
|
1047
|
+
self.place('width' => -@scroll_width-@x)
|
|
1048
|
+
@v_scroll.pack('side' => 'right', 'fill' => 'y')
|
|
1049
|
+
@v_scroll_on = true
|
|
1050
|
+
end
|
|
1051
|
+
|
|
1052
|
+
def show_h_scroll
|
|
1053
|
+
self.place('height' => -@scroll_width-@y)
|
|
1054
|
+
@h_scroll.pack('side' => 'bottom', 'fill' => 'x')
|
|
1055
|
+
@h_scroll_on = true
|
|
1056
|
+
end
|
|
1057
|
+
|
|
1058
|
+
def hide_v_scroll
|
|
1059
|
+
self.place('width' => 0)
|
|
1060
|
+
@v_scroll.unpack
|
|
1061
|
+
@v_scroll_on = false
|
|
1062
|
+
end
|
|
1063
|
+
|
|
1064
|
+
def hide_h_scroll
|
|
1065
|
+
self.place('height' => 0)
|
|
1066
|
+
@h_scroll.unpack
|
|
1067
|
+
@h_scroll_on = false
|
|
1068
|
+
end
|
|
1069
|
+
|
|
1070
|
+
end
|
|
1071
|
+
|
|
1072
|
+
class TkScrollWidget
|
|
1073
|
+
def initialize(widget)
|
|
1074
|
+
@widget = widget
|
|
1075
|
+
@parent = TkWinfo.parent(@widget)
|
|
1076
|
+
@scroll_width = 15
|
|
1077
|
+
@v_scroll_on = false
|
|
1078
|
+
@h_scroll_on = false
|
|
1079
|
+
@v_scroll = TkScrollbar.new(@parent,{
|
|
1080
|
+
'orient'=>'vertical'}.update(Arcadia.style('scrollbar'))
|
|
1081
|
+
)
|
|
1082
|
+
@v_scroll.command(proc{|*args|
|
|
1083
|
+
@widget.yview *args
|
|
1084
|
+
})
|
|
1085
|
+
@widget.yscrollcommand(proc{|first,last|
|
|
1086
|
+
do_yscrollcommand(first,last)
|
|
1087
|
+
})
|
|
1088
|
+
|
|
1089
|
+
@h_scroll = TkScrollbar.new(@parent,{
|
|
1090
|
+
'orient'=>'horizontal'}.update(Arcadia.style('scrollbar'))
|
|
1091
|
+
)
|
|
1092
|
+
@h_scroll.command(proc{|*args|
|
|
1093
|
+
@widget.xview *args
|
|
1094
|
+
})
|
|
1095
|
+
@widget.xscrollcommand(proc{|first,last|
|
|
1096
|
+
do_xscrollcommand(first,last)
|
|
1097
|
+
})
|
|
1098
|
+
end
|
|
1099
|
+
|
|
1100
|
+
def add_yscrollcommand(cmd=Proc.new)
|
|
1101
|
+
@v_scroll_command = cmd
|
|
1102
|
+
end
|
|
1103
|
+
|
|
1104
|
+
def do_yscrollcommand(first,last)
|
|
1105
|
+
@v_scroll.set(first,last)
|
|
1106
|
+
@v_scroll_command.call(first,last) if !@v_scroll_command.nil?
|
|
1107
|
+
end
|
|
1108
|
+
|
|
1109
|
+
def add_xscrollcommand(cmd=Proc.new)
|
|
1110
|
+
@h_scroll_command = cmd
|
|
1111
|
+
end
|
|
1112
|
+
|
|
1113
|
+
def do_xscrollcommand(first,last)
|
|
1114
|
+
@h_scroll.set(first,last)
|
|
1115
|
+
@h_scroll_command.call(first,last) if !@h_scroll_command.nil?
|
|
1116
|
+
end
|
|
1117
|
+
|
|
1118
|
+
def show(_x=0,_y=0,_border_mode='outside')
|
|
1119
|
+
@x=_x
|
|
1120
|
+
@y=_y
|
|
1121
|
+
@widget.place(
|
|
1122
|
+
'x'=>@x,
|
|
1123
|
+
'y'=>@y,
|
|
1124
|
+
'width' => -@x,
|
|
1125
|
+
'height' => -@y,
|
|
1126
|
+
'relheight'=>1,
|
|
1127
|
+
'relwidth'=>1,
|
|
1128
|
+
'bordermode'=>_border_mode
|
|
1129
|
+
)
|
|
1130
|
+
if @v_scroll_on
|
|
1131
|
+
show_v_scroll
|
|
1132
|
+
end
|
|
1133
|
+
if @h_scroll_on
|
|
1134
|
+
show_h_scroll
|
|
1135
|
+
end
|
|
1136
|
+
end
|
|
1137
|
+
|
|
1138
|
+
def hide
|
|
1139
|
+
@widget.unplace
|
|
1140
|
+
@v_scroll.unpack
|
|
1141
|
+
@h_scroll.unpack
|
|
1142
|
+
end
|
|
1143
|
+
|
|
1144
|
+
def show_v_scroll
|
|
1145
|
+
@widget.place('width' => -@scroll_width-@x)
|
|
1146
|
+
@v_scroll.pack('side' => 'right', 'fill' => 'y')
|
|
1147
|
+
@v_scroll_on = true
|
|
1148
|
+
end
|
|
1149
|
+
|
|
1150
|
+
def show_h_scroll
|
|
1151
|
+
@widget.place('height' => -@scroll_width-@y)
|
|
1152
|
+
@h_scroll.pack('side' => 'bottom', 'fill' => 'x')
|
|
1153
|
+
@h_scroll_on = true
|
|
1154
|
+
end
|
|
1155
|
+
|
|
1156
|
+
def hide_v_scroll
|
|
1157
|
+
@widget.place('width' => 0)
|
|
1158
|
+
@v_scroll.unpack
|
|
1159
|
+
@v_scroll_on = false
|
|
1160
|
+
end
|
|
1161
|
+
|
|
1162
|
+
def hide_h_scroll
|
|
1163
|
+
@widget.place('height' => 0)
|
|
1164
|
+
@h_scroll.unpack
|
|
1165
|
+
@h_scroll_on = false
|
|
1166
|
+
end
|
|
1167
|
+
|
|
1168
|
+
end
|
|
1169
|
+
|
|
1170
|
+
class KeyTest < TkFloatTitledFrame
|
|
1171
|
+
attr_reader :ttest
|
|
1172
|
+
def initialize(_parent=nil)
|
|
1173
|
+
_parent = Arcadia.instance.layout.root if _parent.nil?
|
|
1174
|
+
super(_parent)
|
|
1175
|
+
|
|
1176
|
+
#Tk.tk_call('wm', 'title', self, '...hello' )
|
|
1177
|
+
#Tk.tk_call('wm', 'geometry', self, '638x117+200+257' )
|
|
1178
|
+
|
|
1179
|
+
@ttest = TkText.new(self.frame){
|
|
1180
|
+
background '#FFF454'
|
|
1181
|
+
#place('relwidth' => '1','relx' => 0,'x' => '0','y' => '0','relheight' => '1','rely' => 0,'height' => '0','bordermode' => 'inside','width' => '0')
|
|
1182
|
+
}.bind("KeyPress"){|e|
|
|
1183
|
+
@ttest.insert('end'," "+e.keysym+" ")
|
|
1184
|
+
break
|
|
1185
|
+
}
|
|
1186
|
+
_wrapper = TkScrollWidget.new(@ttest)
|
|
1187
|
+
_wrapper.show
|
|
1188
|
+
_wrapper.show_v_scroll
|
|
1189
|
+
_wrapper.show_h_scroll
|
|
1190
|
+
place('x'=>100,'y'=>100,'height'=> 220,'width'=> 500)
|
|
1191
|
+
end
|
|
1192
|
+
end
|
|
1193
|
+
|
|
1194
|
+
|
|
1195
|
+
|