arcadia 0.6.0 → 0.7.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 +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
|
|