arcadia 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +40 -11
- data/conf/arcadia.conf +43 -3
- data/conf/arcadia.res.rb +201 -0
- data/ext/ae-dir-projects/ae-dir-projects.conf +18 -0
- data/ext/ae-dir-projects/ae-dir-projects.rb +880 -0
- data/ext/ae-editor/ae-editor.conf +3 -1
- data/ext/ae-editor/ae-editor.rb +380 -296
- data/ext/ae-file-history/ae-file-history.conf +2 -2
- data/ext/ae-file-history/ae-file-history.rb +20 -39
- data/ext/ae-search-in-files/ae-search-in-files.rb +2 -1
- data/lib/a-commons.rb +4 -0
- data/lib/a-contracts.rb +8 -0
- data/lib/a-core.rb +56 -28
- data/lib/a-tkcommons.rb +127 -88
- metadata +138 -144
@@ -1,5 +1,5 @@
|
|
1
1
|
name=file_history
|
2
|
-
frames=
|
2
|
+
frames=1.0
|
3
3
|
frames.labels=File history
|
4
4
|
frames.names=file_history
|
5
5
|
active=yes
|
@@ -7,7 +7,7 @@ require=ext/ae-file-history/ae-file-history
|
|
7
7
|
class=FilesHistrory
|
8
8
|
|
9
9
|
file.name=arcadia.history
|
10
|
-
length=
|
10
|
+
length=20
|
11
11
|
font=courier 11
|
12
12
|
font.bold=courier 11 bold
|
13
13
|
color.background=#ffffff
|
@@ -30,36 +30,6 @@ class TreeNode
|
|
30
30
|
self.label.strip <=> other.label.strip
|
31
31
|
end
|
32
32
|
|
33
|
-
# def path
|
34
|
-
# _path = @label
|
35
|
-
# if @parent != nil
|
36
|
-
# _path = @parent.path+_path
|
37
|
-
# end
|
38
|
-
# return _path
|
39
|
-
# end
|
40
|
-
|
41
|
-
def dir_old(_path)
|
42
|
-
node = nil
|
43
|
-
parent = self
|
44
|
-
sons.each{|_tree|
|
45
|
-
if _path[0.._tree.label.length-1] == _tree.label
|
46
|
-
res = _path[_tree.label.length.._path.length-1]
|
47
|
-
if ["\\","/"].include?(res[0,1])
|
48
|
-
parent = _tree
|
49
|
-
node= _tree.dir(res)
|
50
|
-
end
|
51
|
-
end
|
52
|
-
break if node != nil
|
53
|
-
}
|
54
|
-
if node == nil
|
55
|
-
node = TreeNode.new(parent,'KDir') do |_node|
|
56
|
-
_node.label=_path
|
57
|
-
_node.rif= parent.path+_path
|
58
|
-
end
|
59
|
-
end
|
60
|
-
return node
|
61
|
-
end
|
62
|
-
|
63
33
|
def dir(_path)
|
64
34
|
node = nil
|
65
35
|
parent = self
|
@@ -108,13 +78,10 @@ class FilesHistrory < ArcadiaExt
|
|
108
78
|
def sync_on
|
109
79
|
@sync = true
|
110
80
|
select_file_without_event(@last_file) if @last_file
|
111
|
-
|
112
|
-
#Arcadia.attach_listener(self, BufferRaisedEvent)
|
113
81
|
end
|
114
82
|
|
115
83
|
def sync_off
|
116
84
|
@sync = false
|
117
|
-
#Arcadia.detach_listener(self, BufferRaisedEvent)
|
118
85
|
end
|
119
86
|
|
120
87
|
def on_before_build(_event)
|
@@ -126,11 +93,18 @@ class FilesHistrory < ArcadiaExt
|
|
126
93
|
@cb_sync = TkCheckButton.new(self.frame.hinner_frame, Arcadia.style('checkbox')){
|
127
94
|
text 'Sync'
|
128
95
|
justify 'left'
|
129
|
-
|
130
|
-
|
131
|
-
|
96
|
+
indicatoron 0
|
97
|
+
offrelief 'raised'
|
98
|
+
image TkPhotoImage.new('dat' => SYNCICON20_GIF)
|
99
|
+
place('x' => 0,'y' => 0,'height' => 26)
|
132
100
|
}
|
133
101
|
|
102
|
+
Tk::BWidget::DynamicHelp::add(@cb_sync,
|
103
|
+
'text'=>'Link open editors with content in the Navigator')
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
134
108
|
do_check = proc {
|
135
109
|
if @cb_sync.cget('onvalue')==@cb_sync.cget('variable').value.to_i
|
136
110
|
sync_on
|
@@ -162,19 +136,26 @@ class FilesHistrory < ArcadiaExt
|
|
162
136
|
#EditorContract.instance.open_file(self,'file'=>_file)
|
163
137
|
end
|
164
138
|
}
|
165
|
-
|
166
|
-
|
139
|
+
|
140
|
+
do_open_folder = proc{|_node|
|
141
|
+
children = @htree.nodes(_node)
|
142
|
+
if children.length == 1
|
143
|
+
@htree.open_tree(children[0],false)
|
144
|
+
end
|
145
|
+
}
|
146
|
+
|
167
147
|
@font = Arcadia.conf('treeitem.font')
|
168
148
|
@font_b = "#{Arcadia.conf('treeitem.font')} bold"
|
169
149
|
|
170
150
|
@htree = Tk::BWidget::Tree.new(self.frame.hinner_frame, Arcadia.style('treepanel')){
|
171
151
|
showlines false
|
172
152
|
deltay 18
|
153
|
+
opencmd proc{|node| do_open_folder.call(node)}
|
173
154
|
selectcommand proc{ do_select_item.call(self) }
|
174
155
|
# place('relwidth' => 1,'relheight' => '1', 'x' => '0','y' => '22', 'height' => -22)
|
175
156
|
}
|
176
157
|
_wrapper = TkScrollWidget.new(@htree)
|
177
|
-
_wrapper.show(0,
|
158
|
+
_wrapper.show(0,26)
|
178
159
|
_wrapper.show_v_scroll
|
179
160
|
_wrapper.show_h_scroll
|
180
161
|
# _scrollcommand = proc{|*args| @htree.yview(*args)}
|
@@ -97,7 +97,7 @@ class SearchOutput
|
|
97
97
|
@results = {}
|
98
98
|
_open_file = proc do |tree, sel|
|
99
99
|
n_parent, n = sel.split('@@@')
|
100
|
-
Arcadia.process_event(
|
100
|
+
Arcadia.process_event(OpenBufferTransientEvent.new(self,'file'=>@results[n_parent][n][0], 'row'=>@results[n_parent][n][1])) if n && @results[n_parent][n]
|
101
101
|
#EditorContract.instance.open_file(self, 'file'=>@results[n_parent][n][0], 'line'=>@results[n_parent][n][1]) if n && @results[n_parent][n]
|
102
102
|
end
|
103
103
|
|
@@ -170,6 +170,7 @@ class SearchOutput
|
|
170
170
|
Tk.update
|
171
171
|
@results[_r_node]={}
|
172
172
|
@count = 0
|
173
|
+
@tree.set_focus
|
173
174
|
return _r_node
|
174
175
|
end
|
175
176
|
|
data/lib/a-commons.rb
CHANGED
@@ -614,6 +614,10 @@ class Application
|
|
614
614
|
def Application.conf(_property)
|
615
615
|
@@instance['conf'][_property] if @@instance
|
616
616
|
end
|
617
|
+
|
618
|
+
def conf(_property)
|
619
|
+
self['conf'][_property]
|
620
|
+
end
|
617
621
|
|
618
622
|
def sys_info
|
619
623
|
"[Platform = #{RUBY_PLATFORM}] [Ruby version = #{RUBY_VERSION}]"
|
data/lib/a-contracts.rb
CHANGED
@@ -58,6 +58,9 @@ end
|
|
58
58
|
class OpenBufferEvent < BufferEvent
|
59
59
|
end
|
60
60
|
|
61
|
+
class OpenBufferTransientEvent < OpenBufferEvent
|
62
|
+
end
|
63
|
+
|
61
64
|
class CloseBufferEvent < BufferEvent
|
62
65
|
end
|
63
66
|
|
@@ -68,6 +71,11 @@ class SaveAsBufferEvent < SaveBufferEvent
|
|
68
71
|
attr_accessor :new_file
|
69
72
|
end
|
70
73
|
|
74
|
+
class MoveBufferEvent < BufferEvent
|
75
|
+
attr_accessor :old_file
|
76
|
+
attr_accessor :new_file
|
77
|
+
end
|
78
|
+
|
71
79
|
class GoToLineBufferEvent < BufferEvent
|
72
80
|
attr_accessor :line
|
73
81
|
end
|
data/lib/a-core.rb
CHANGED
@@ -23,7 +23,7 @@ class Arcadia < TkApplication
|
|
23
23
|
super(
|
24
24
|
ApplicationParams.new(
|
25
25
|
'arcadia',
|
26
|
-
'0.
|
26
|
+
'0.7.0',
|
27
27
|
'conf/arcadia.conf',
|
28
28
|
'conf/arcadia.pers'
|
29
29
|
)
|
@@ -43,7 +43,9 @@ class Arcadia < TkApplication
|
|
43
43
|
title _title
|
44
44
|
withdraw
|
45
45
|
protocol( "WM_DELETE_WINDOW", $arcadia['action.on_exit'])
|
46
|
+
iconphoto(TkPhotoImage.new('dat'=>ARCADIA_RING_GIF))
|
46
47
|
}
|
48
|
+
|
47
49
|
@on_event = Hash.new
|
48
50
|
|
49
51
|
@main_menu_bar = TkMenubar.new(
|
@@ -69,7 +71,6 @@ class Arcadia < TkApplication
|
|
69
71
|
@splash.set_progress(50) if @splash
|
70
72
|
@splash.deiconify if @splash
|
71
73
|
Tk.update
|
72
|
-
#sleep(1)
|
73
74
|
@splash.next_step('..prepare') if @splash
|
74
75
|
prepare
|
75
76
|
@splash.last_step('..load finish') if @splash
|
@@ -406,7 +407,7 @@ class Arcadia < TkApplication
|
|
406
407
|
|
407
408
|
|
408
409
|
def do_exit
|
409
|
-
q1 = (Arcadia.dialog(self,
|
410
|
+
q1 = conf('confirm-on-exit')!='yes' || (Arcadia.dialog(self,
|
410
411
|
'type'=>'yes_no',
|
411
412
|
'msg'=>"Do you want exit?",
|
412
413
|
'title' => '(Arcadia) Exit',
|
@@ -816,6 +817,21 @@ class ArcadiaMainMenu < ArcadiaUserControl
|
|
816
817
|
@menu.add_menu(menu_spec_view)
|
817
818
|
@menu.add_menu(menu_spec_tools)
|
818
819
|
@menu.add_menu(menu_spec_help)
|
820
|
+
|
821
|
+
#@menu.bind_append("1", proc{
|
822
|
+
# chs = TkWinfo.children(@menu)
|
823
|
+
# hh = 25
|
824
|
+
# @last_post = nil
|
825
|
+
# chs.each{|ch|
|
826
|
+
# ch.bind_append("Enter", proc{|x,y,rx,ry|
|
827
|
+
# @last_post.unpost if @last_post
|
828
|
+
# ch.menu.post(x-rx,y-ry+hh)
|
829
|
+
# @last_post=ch.menu}, "%X %Y %x %y")
|
830
|
+
# ch.bind_append("Leave", proc{
|
831
|
+
# @last_post.unpost if @last_post
|
832
|
+
# })
|
833
|
+
# }
|
834
|
+
#})
|
819
835
|
end
|
820
836
|
|
821
837
|
end
|
@@ -869,6 +885,14 @@ class ArcadiaAboutSplash < TkToplevel
|
|
869
885
|
justify 'left'
|
870
886
|
place('width' => '120','x' => 150,'y' => 65,'height' => 19)
|
871
887
|
}
|
888
|
+
@tkLabel21 = TkLabel.new(self){
|
889
|
+
text 'by Antonio Galeone - 2004/2009'
|
890
|
+
background _bgcolor
|
891
|
+
foreground '#ffffff'
|
892
|
+
font Arcadia.instance['conf']['splash.credits.font']
|
893
|
+
justify 'left'
|
894
|
+
place('width' => '210','x' => 100,'y' => 95,'height' => 19)
|
895
|
+
}
|
872
896
|
@tkLabelStep = TkLabel.new(self){
|
873
897
|
text ''
|
874
898
|
background _bgcolor
|
@@ -876,20 +900,12 @@ class ArcadiaAboutSplash < TkToplevel
|
|
876
900
|
font Arcadia.instance['conf']['splash.banner.font']
|
877
901
|
justify 'left'
|
878
902
|
anchor 'w'
|
879
|
-
place('width'=>-5,'relwidth' => 1,'x' => 5,'y' =>
|
880
|
-
}
|
881
|
-
@tkLabel21 = TkLabel.new(self){
|
882
|
-
text 'by Antonio Galeone - 2004/2009'
|
883
|
-
background _bgcolor
|
884
|
-
foreground '#ffffff'
|
885
|
-
font Arcadia.instance['conf']['splash.credits.font']
|
886
|
-
justify 'left'
|
887
|
-
place('width' => '210','x' => 100,'y' => 146,'height' => 19)
|
903
|
+
place('width'=>-5,'relwidth' => 1,'x' => 5,'y' => 160,'height' => 19)
|
888
904
|
}
|
889
905
|
@progress = TkVariable.new
|
890
906
|
reset
|
891
907
|
_width = 340
|
892
|
-
_height =
|
908
|
+
_height = 200
|
893
909
|
#_width = 0;_height = 0
|
894
910
|
_x = TkWinfo.screenwidth(self)/2 - _width / 2
|
895
911
|
_y = TkWinfo.screenheight(self)/2 - _height / 2
|
@@ -908,11 +924,12 @@ class ArcadiaAboutSplash < TkToplevel
|
|
908
924
|
@max = _max
|
909
925
|
Tk::BWidget::ProgressBar.new(self, :width=>150, :height=>10,
|
910
926
|
:background=>'black',
|
911
|
-
:
|
927
|
+
:troughcolor=>'black',
|
928
|
+
:foreground=>'#a11934',
|
912
929
|
:variable=>@progress,
|
913
930
|
:borderwidth=>0,
|
914
931
|
:relief=>'flat',
|
915
|
-
:maximum=>_max).place('
|
932
|
+
:maximum=>_max).place('relwidth' => '1','y' => 146,'height' => 2)
|
916
933
|
end
|
917
934
|
|
918
935
|
def reset
|
@@ -961,25 +978,36 @@ class ArcadiaDialogManager
|
|
961
978
|
@arcadia = _arcadia
|
962
979
|
Arcadia.attach_listener(self, DialogEvent)
|
963
980
|
end
|
981
|
+
|
964
982
|
def on_dialog(_event)
|
983
|
+
type = _event.type
|
984
|
+
if !DialogEvent::TYPE_PATTERNS.include?(_event.type)
|
985
|
+
type = 'ok'
|
986
|
+
end
|
987
|
+
res_array = type.split('_')
|
988
|
+
icon = _event.level
|
989
|
+
tktype = type.gsub('_','').downcase
|
990
|
+
|
991
|
+
tkdialog = Tk::BWidget::MessageDlg.new(
|
992
|
+
'icon' => icon,
|
993
|
+
'bg' => Arcadia.conf('background'),
|
994
|
+
'fg' => Arcadia.conf('foreground'),
|
995
|
+
'type' => tktype,
|
996
|
+
'title' => _event.title,
|
997
|
+
'message' => _event.msg)
|
998
|
+
|
999
|
+
tkdialog.configure('font'=>'courier 6')
|
1000
|
+
res = tkdialog.create
|
1001
|
+
_event.add_result(self, 'value'=>res_array[res.to_i])
|
1002
|
+
end
|
1003
|
+
|
1004
|
+
|
1005
|
+
def on_dialog_old(_event)
|
965
1006
|
type = _event.type
|
966
1007
|
if !DialogEvent::TYPE_PATTERNS.include?(_event.type)
|
967
1008
|
type = 'ok'
|
968
1009
|
end
|
969
1010
|
icon = _event.level
|
970
|
-
# case _event
|
971
|
-
# when QuestionDialogEvent
|
972
|
-
# icon = 'question'
|
973
|
-
# when InfoDialogEvent
|
974
|
-
# icon = 'info'
|
975
|
-
# when WarningDialogEvent
|
976
|
-
# icon = 'warning'
|
977
|
-
# when ErrorDialogEvent
|
978
|
-
# icon = 'error'
|
979
|
-
# else
|
980
|
-
# icon = 'info'
|
981
|
-
# end
|
982
|
-
|
983
1011
|
tktype = type.gsub('_','').downcase
|
984
1012
|
|
985
1013
|
res = Tk.messageBox(
|
data/lib/a-tkcommons.rb
CHANGED
@@ -6,6 +6,46 @@
|
|
6
6
|
require "lib/a-commons"
|
7
7
|
require "tk/menu"
|
8
8
|
|
9
|
+
class MyBwTree < Tk::BWidget::Tree
|
10
|
+
|
11
|
+
def open?(node)
|
12
|
+
bool(self.itemcget(tagid(node), 'open'))
|
13
|
+
end
|
14
|
+
|
15
|
+
def areabind(context, *args)
|
16
|
+
if TkComm._callback_entry?(args[0]) || !block_given?
|
17
|
+
cmd = args.shift
|
18
|
+
else
|
19
|
+
cmd = Proc.new
|
20
|
+
end
|
21
|
+
_bind_for_event_class(Event_for_Items, [path, 'bindArea'],
|
22
|
+
context, cmd, *args)
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
def areabind_append(context, *args)
|
27
|
+
if TkComm._callback_entry?(args[0]) || !block_given?
|
28
|
+
cmd = args.shift
|
29
|
+
else
|
30
|
+
cmd = Proc.new
|
31
|
+
end
|
32
|
+
_bind_append_for_event_class(Event_for_Items, [path, 'bindArea'],
|
33
|
+
context, cmd, *args)
|
34
|
+
self
|
35
|
+
end
|
36
|
+
|
37
|
+
def areabind_remove(*args)
|
38
|
+
_bind_remove_for_event_class(Event_for_Items, [path, 'bindArea'], *args)
|
39
|
+
self
|
40
|
+
end
|
41
|
+
|
42
|
+
def areabindinfo(*args)
|
43
|
+
_bindinfo_for_event_class(Event_for_Items, [path, 'bindArea'], *args)
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
9
49
|
class TkApplication < Application
|
10
50
|
attr_reader :tcltk_info
|
11
51
|
def initialize(_application_params)
|
@@ -275,11 +315,7 @@ class AGTkVSplittedFrames < AGTkSplittedFrames
|
|
275
315
|
attr_reader :left_frame, :right_frame, :splitter_frame
|
276
316
|
def initialize(parent=nil, frame=nil, width=10, slen=5, perc=false, keys=nil)
|
277
317
|
super(parent, frame, width, slen, keys)
|
278
|
-
|
279
|
-
#self.pack(:expand=>true, :fill=>:both)
|
280
|
-
@left_frame = TkFrame.new(self, Arcadia.style('panel')){
|
281
|
-
#relief 'flat'
|
282
|
-
}
|
318
|
+
@left_frame = TkFrame.new(self, Arcadia.style('panel'))
|
283
319
|
@frame1 = @left_frame
|
284
320
|
if perc
|
285
321
|
p_width = TkWinfo.screenwidth(self)
|
@@ -303,10 +339,7 @@ class AGTkVSplittedFrames < AGTkSplittedFrames
|
|
303
339
|
@left_frame_obj.relwidth = 0
|
304
340
|
@left_frame_obj.relheight = 1
|
305
341
|
|
306
|
-
@splitter_frame = TkFrame.new(self, Arcadia.style('splitter'))
|
307
|
-
#relief 'raised'
|
308
|
-
#border 1
|
309
|
-
}
|
342
|
+
@splitter_frame = TkFrame.new(self, Arcadia.style('splitter'))
|
310
343
|
|
311
344
|
@splitter_frame.place(
|
312
345
|
'relx' => 0,
|
@@ -321,81 +354,99 @@ class AGTkVSplittedFrames < AGTkSplittedFrames
|
|
321
354
|
"ButtonRelease-1",
|
322
355
|
proc{do_resize}
|
323
356
|
)
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
proc{@splitter_frame.raise;@proc_unplace.call}
|
339
|
-
)
|
340
|
-
@@last_b_left = nil
|
341
|
-
@@last_b_right = nil
|
342
|
-
@b_left.bind_append('ButtonPress-1',proc{_self.hide_left;@proc_unplace.call})
|
343
|
-
@b_right.bind_append('ButtonPress-1',proc{_self.hide_right;@proc_unplace.call})
|
344
|
-
@proc_place = proc{|x,y|
|
345
|
-
if !TkWinfo.mapped?(@b_left)
|
346
|
-
_x = TkWinfo.pointerx(self) - 10
|
347
|
-
_y = TkWinfo.pointery(self) - 20
|
348
|
-
if @@last_b_left != nil
|
349
|
-
@@last_b_left.unplace
|
350
|
-
@@last_b_right.unplace
|
351
|
-
end
|
352
|
-
@b_left.place('x'=>_x,'y'=>_y,'border'=>'outside')
|
353
|
-
@b_right.place('x'=>_x,'y'=>_y+25,'border'=>'outside')
|
354
|
-
@b_left.raise
|
355
|
-
@b_right.raise
|
356
|
-
@@last_b_left = @b_left
|
357
|
-
@@last_b_right = @b_right
|
358
|
-
if @thread_unplace
|
359
|
-
@thread_unplace.kill
|
360
|
-
end
|
361
|
-
@thread_unplace= Thread.new {
|
362
|
-
sleep(5)
|
363
|
-
@proc_unplace.call
|
364
|
-
kill
|
365
|
-
}
|
366
|
-
end
|
367
|
-
}
|
368
|
-
|
369
|
-
@splitter_frame.bind_append(
|
370
|
-
'ButtonPress-1',
|
371
|
-
proc{|x,y|
|
372
|
-
@thread_place= Thread.new {
|
373
|
-
@proc_place.call(x,y)
|
374
|
-
}
|
375
|
-
}, "%x %y")
|
376
|
-
|
357
|
+
#-----
|
358
|
+
#-----
|
359
|
+
# _self = self
|
360
|
+
# @b_left = TkButton.new(nil, Arcadia.style('button')){
|
361
|
+
# image TkPhotoImage.new('dat'=>LEFT_SIDE_GIF)
|
362
|
+
# }
|
363
|
+
#
|
364
|
+
# @b_right = TkButton.new(nil, Arcadia.style('button')){
|
365
|
+
# image TkPhotoImage.new('dat'=>RIGHT_SIDE_GIF)
|
366
|
+
# }
|
367
|
+
# @proc_unplace = proc{
|
368
|
+
# @b_left.unplace
|
369
|
+
# @b_right.unplace
|
370
|
+
# }
|
377
371
|
# @splitter_frame.bind_append(
|
378
|
-
#
|
379
|
-
#
|
380
|
-
# @color_save = @splitter_frame.background
|
381
|
-
# @splitter_frame.background(Arcadia.conf('splitter.highlightbackground'))}
|
382
|
-
# #@splitter_frame.background('#9aa6a7')}
|
372
|
+
# "B1-Motion",
|
373
|
+
# proc{@splitter_frame.raise;@proc_unplace.call}
|
383
374
|
# )
|
375
|
+
# @@last_b_left = nil
|
376
|
+
# @@last_b_right = nil
|
377
|
+
# @b_left.bind_append('ButtonPress-1',proc{_self.hide_left;@proc_unplace.call})
|
378
|
+
# @b_right.bind_append('ButtonPress-1',proc{_self.hide_right;@proc_unplace.call})
|
379
|
+
# @proc_place = proc{|x,y|
|
380
|
+
# if !TkWinfo.mapped?(@b_left)
|
381
|
+
# _x = TkWinfo.pointerx(self) - 10
|
382
|
+
# _y = TkWinfo.pointery(self) - 20
|
383
|
+
# if @@last_b_left != nil
|
384
|
+
# @@last_b_left.unplace
|
385
|
+
# @@last_b_right.unplace
|
386
|
+
# end
|
387
|
+
# @b_left.place('x'=>_x,'y'=>_y,'border'=>'outside')
|
388
|
+
# @b_right.place('x'=>_x,'y'=>_y+25,'border'=>'outside')
|
389
|
+
# @b_left.raise
|
390
|
+
# @b_right.raise
|
391
|
+
# @@last_b_left = @b_left
|
392
|
+
# @@last_b_right = @b_right
|
393
|
+
# if @thread_unplace
|
394
|
+
# @thread_unplace.kill
|
395
|
+
# end
|
396
|
+
# @thread_unplace= Thread.new {
|
397
|
+
# sleep(5)
|
398
|
+
# @proc_unplace.call
|
399
|
+
# kill
|
400
|
+
# }
|
401
|
+
# end
|
402
|
+
# }
|
403
|
+
#
|
384
404
|
# @splitter_frame.bind_append(
|
385
|
-
#
|
386
|
-
#
|
387
|
-
#
|
405
|
+
# 'ButtonPress-1',
|
406
|
+
# proc{|x,y|
|
407
|
+
# @thread_place= Thread.new {
|
408
|
+
# @proc_place.call(x,y)
|
388
409
|
# }
|
389
|
-
# )
|
410
|
+
# }, "%x %y")
|
411
|
+
#-----
|
412
|
+
#-----
|
413
|
+
_xbutton = TkButton.new(@splitter_frame, Arcadia.style('toolbarbutton')){
|
414
|
+
background '#4966d7'
|
415
|
+
}
|
416
|
+
_xbutton.place(
|
417
|
+
'x' => 0,
|
418
|
+
'y' => 0,
|
419
|
+
'relwidth' => 1,
|
420
|
+
'bordermode' => 'outside',
|
421
|
+
'height' => 20
|
422
|
+
)
|
423
|
+
_xbutton.bind_append(
|
424
|
+
"ButtonPress-1",
|
425
|
+
proc{hide_left}
|
426
|
+
)
|
427
|
+
_ybutton = TkButton.new(@splitter_frame, Arcadia.style('toolbarbutton')){
|
428
|
+
background '#118124'
|
429
|
+
}
|
430
|
+
_ybutton.place(
|
431
|
+
'x' => 0,
|
432
|
+
'y' => 21,
|
433
|
+
'bordermode' => 'outside',
|
434
|
+
'height' => 20,
|
435
|
+
'relwidth' => 1
|
436
|
+
)
|
437
|
+
_ybutton.bind_append(
|
438
|
+
"ButtonPress-1",
|
439
|
+
proc{hide_right}
|
440
|
+
)
|
441
|
+
#-----
|
442
|
+
#-----
|
390
443
|
@splitter_frame_obj = AGTkObjPlace.new(@splitter_frame, 'x')
|
391
444
|
@splitter_frame_obj.width = @slen
|
392
445
|
@splitter_frame_obj.height = 0
|
393
446
|
@splitter_frame_obj.relwidth = 0
|
394
447
|
@splitter_frame_obj.relheight = 1
|
395
448
|
x = x + @slen
|
396
|
-
@right_frame = TkFrame.new(self, Arcadia.style('panel'))
|
397
|
-
#relief 'flat'
|
398
|
-
}
|
449
|
+
@right_frame = TkFrame.new(self, Arcadia.style('panel'))
|
399
450
|
@frame2 = @right_frame
|
400
451
|
@right_frame.place(
|
401
452
|
'relwidth' => 1,
|
@@ -506,15 +557,6 @@ class AGTkOSplittedFrames < AGTkSplittedFrames
|
|
506
557
|
attr_reader :top_frame, :bottom_frame, :splitter_frame
|
507
558
|
def initialize(parent=nil, frame=nil, height=10, slen=5, perc=false, keys=nil)
|
508
559
|
super(parent, frame, height, slen, keys)
|
509
|
-
# self.place(
|
510
|
-
# 'relwidth' => 1,
|
511
|
-
# 'relx' => 0,
|
512
|
-
# 'x' => 0,
|
513
|
-
# 'y' => 0,
|
514
|
-
# 'relheight' => 1,
|
515
|
-
# 'rely' => 0,
|
516
|
-
# 'bordermode' => 'inside'
|
517
|
-
# )
|
518
560
|
@top_frame = TkFrame.new(self, Arcadia.style('panel')){
|
519
561
|
# relief 'flat'
|
520
562
|
}
|
@@ -584,8 +626,6 @@ class AGTkOSplittedFrames < AGTkSplittedFrames
|
|
584
626
|
@bottom_frame_obj.relheight = 1
|
585
627
|
_xbutton = TkButton.new(@splitter_frame, Arcadia.style('toolbarbutton')){
|
586
628
|
background '#4966d7'
|
587
|
-
#overrelief 'raised'
|
588
|
-
#relief 'flat'
|
589
629
|
}
|
590
630
|
_xbutton.place(
|
591
631
|
'x' => 0,
|
@@ -600,8 +640,6 @@ class AGTkOSplittedFrames < AGTkSplittedFrames
|
|
600
640
|
)
|
601
641
|
_ybutton = TkButton.new(@splitter_frame, Arcadia.style('toolbarbutton')){
|
602
642
|
background '#118124'
|
603
|
-
#overrelief 'raised'
|
604
|
-
#relief 'flat'
|
605
643
|
}
|
606
644
|
_ybutton.place(
|
607
645
|
'x' => 21,
|
@@ -1172,7 +1210,8 @@ end
|
|
1172
1210
|
class TclTkInfo
|
1173
1211
|
attr_reader :level
|
1174
1212
|
def initialize
|
1175
|
-
@level =
|
1213
|
+
@level = Tk.tk_call( "eval", "info patchlevel")
|
1214
|
+
# @level = TclTkIp.new._eval "info patchlevel"
|
1176
1215
|
end
|
1177
1216
|
end
|
1178
1217
|
|