arcadia 0.12.2 → 0.13.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 +25 -14
- data/conf/LC/en-UK.LANG +3 -1
- data/conf/arcadia.conf +10 -0
- data/conf/arcadia.res.rb +29 -1
- data/ext/ae-editor/ae-editor.rb +239 -48
- data/ext/ae-file-history/ae-file-history.conf +11 -1
- data/ext/ae-file-history/ae-file-history.rb +120 -2
- data/ext/ae-ruby-debug/ae-ruby-debug.rb +6 -5
- data/ext/ae-subprocess-inspector/ae-subprocess-inspector.rb +7 -3
- data/ext/ae-term/ae-term.rb +1 -1
- data/lib/a-commons.rb +72 -56
- data/lib/a-contracts.rb +23 -1
- data/lib/a-core.rb +136 -41
- data/lib/a-tkcommons.rb +127 -36
- data/tcl/fsdialog/fsdialog.tcl +2 -2
- data/tcl/ptwidgets-1.1.0/COPYRIGHT +10 -0
- data/tcl/ptwidgets-1.1.0/ChangeLog +194 -0
- data/tcl/ptwidgets-1.1.0/README +50 -0
- data/tcl/ptwidgets-1.1.0/common/stacktrace.tcl +29 -0
- data/tcl/ptwidgets-1.1.0/common/tokenframe.tcl +200 -0
- data/tcl/ptwidgets-1.1.0/doc/img/toggleswitch_off.png +0 -0
- data/tcl/ptwidgets-1.1.0/doc/img/toggleswitch_on.png +0 -0
- data/tcl/ptwidgets-1.1.0/doc/img/tokenentry.png +0 -0
- data/tcl/ptwidgets-1.1.0/doc/img/tokensearch_popup_example.png +0 -0
- data/tcl/ptwidgets-1.1.0/doc/img/tokensearch_popup_example2.png +0 -0
- data/tcl/ptwidgets-1.1.0/doc/img/wmarkentry.png +0 -0
- data/tcl/ptwidgets-1.1.0/doc/toggleswitch.html +402 -0
- data/tcl/ptwidgets-1.1.0/doc/tokenentry.html +1366 -0
- data/tcl/ptwidgets-1.1.0/doc/tokensearch.html +1549 -0
- data/tcl/ptwidgets-1.1.0/doc/wmarkentry.html +634 -0
- data/tcl/ptwidgets-1.1.0/library/toggleswitch.tcl +432 -0
- data/tcl/ptwidgets-1.1.0/library/tokenentry.tcl +2208 -0
- data/tcl/ptwidgets-1.1.0/library/tokensearch.tcl +2488 -0
- data/tcl/ptwidgets-1.1.0/library/wmarkentry.tcl +630 -0
- data/tcl/ptwidgets-1.1.0/pkgIndex.tcl +10 -0
- data/tcl/ptwidgets-1.1.0/test/Makefile +3 -0
- data/tcl/ptwidgets-1.1.0/test/run.tcl +3 -0
- data/tcl/ptwidgets-1.1.0/test/test.tcl +89 -0
- data/tcl/ptwidgets-1.1.0/test/toggleswitch.test +562 -0
- data/tcl/ptwidgets-1.1.0/test/tokenentry.test +1023 -0
- data/tcl/ptwidgets-1.1.0/test/tokensearch.test +1023 -0
- data/tcl/ptwidgets-1.1.0/test/wmarkentry.test +1325 -0
- data/tcl/themes/altTheme.tcl +101 -0
- data/tcl/themes/aquaTheme.tcl +59 -0
- data/tcl/themes/clamTheme.tcl +140 -0
- data/tcl/themes/classicTheme.tcl +108 -0
- data/tcl/themes/pkgIndex.tcl +3 -0
- data/tcl/themes/ttk.tcl +176 -0
- data/tcl/themes/vistaTheme.tcl +224 -0
- data/tcl/themes/winTheme.tcl +80 -0
- data/tcl/themes/xpTheme.tcl +65 -0
- data/tcl/tkfbox/folder.gif +0 -0
- data/tcl/tkfbox/textfile.gif +0 -0
- data/tcl/tkfbox/tkfbox.tcl +1 -0
- data/tcl/tkfbox/tkfbox.tcl~ +1 -0
- data/tcl/tkfbox/updir.xbm +1 -0
- metadata +43 -2
data/lib/a-contracts.rb
CHANGED
@@ -115,6 +115,8 @@ class OpenBufferEvent < BufferEvent
|
|
115
115
|
end
|
116
116
|
|
117
117
|
class OpenBufferTransientEvent < OpenBufferEvent
|
118
|
+
# @transient is a boolean property setted to true during event elaboration if the file is considered transient
|
119
|
+
attr_accessor :transient
|
118
120
|
end
|
119
121
|
|
120
122
|
class CloseBufferEvent < BufferEvent
|
@@ -174,12 +176,32 @@ end
|
|
174
176
|
|
175
177
|
class BufferClosedEvent < BufferEvent
|
176
178
|
end
|
179
|
+
|
180
|
+
# +---------------------------------------------+
|
181
|
+
# Bookmark event
|
182
|
+
# +---------------------------------------------+
|
183
|
+
|
184
|
+
class BookmarkEvent < ArcadiaEvent
|
185
|
+
#range around row where event has effect
|
186
|
+
attr_accessor :id, :file, :row, :persistent, :range, :from_row, :to_row , :content
|
187
|
+
end
|
188
|
+
|
189
|
+
class SetBookmarkEvent < BookmarkEvent
|
190
|
+
end
|
191
|
+
|
192
|
+
class UnsetBookmarkEvent < BookmarkEvent
|
193
|
+
end
|
194
|
+
|
195
|
+
class ToggleBookmarkEvent < BookmarkEvent
|
196
|
+
end
|
197
|
+
|
198
|
+
|
177
199
|
# +---------------------------------------------+
|
178
200
|
# Debug event
|
179
201
|
# +---------------------------------------------+
|
180
202
|
|
181
203
|
class DebugEvent < ArcadiaEvent
|
182
|
-
attr_accessor :id, :file, :row, :active, :persistent
|
204
|
+
attr_accessor :id, :file, :row, :active, :persistent
|
183
205
|
end
|
184
206
|
|
185
207
|
class SetBreakpointEvent < DebugEvent
|
data/lib/a-core.rb
CHANGED
@@ -24,7 +24,7 @@ class Arcadia < TkApplication
|
|
24
24
|
super(
|
25
25
|
ApplicationParams.new(
|
26
26
|
'arcadia',
|
27
|
-
'0.
|
27
|
+
'0.13.0',
|
28
28
|
'conf/arcadia.conf',
|
29
29
|
'conf/arcadia.pers'
|
30
30
|
)
|
@@ -178,10 +178,16 @@ class Arcadia < TkApplication
|
|
178
178
|
end
|
179
179
|
|
180
180
|
def register(_ext)
|
181
|
+
if @@instance['exts_map'] == nil
|
182
|
+
@@instance['exts_map'] = Hash.new
|
183
|
+
end
|
181
184
|
@exts_i << _ext
|
185
|
+
@@instance['exts_map'][_ext.name]=_ext
|
182
186
|
end
|
183
187
|
|
184
188
|
def unregister(_ext)
|
189
|
+
@@instance['exts_map'][_ext.name] = nil
|
190
|
+
@@instance['exts_map'].delete(_ext.name)
|
185
191
|
@exts_i.delete(_ext)
|
186
192
|
end
|
187
193
|
|
@@ -367,7 +373,7 @@ class Arcadia < TkApplication
|
|
367
373
|
def do_make_clones
|
368
374
|
Array.new.concat(@exts_i).each{|ext|
|
369
375
|
if ext.kind_of?(ArcadiaExtPlus)
|
370
|
-
a = ext.conf_array("
|
376
|
+
a = ext.conf_array("clones")
|
371
377
|
a.each{|clone_name|
|
372
378
|
ext.clone(clone_name)
|
373
379
|
}
|
@@ -1253,6 +1259,12 @@ class Arcadia < TkApplication
|
|
1253
1259
|
end
|
1254
1260
|
end
|
1255
1261
|
|
1262
|
+
def Arcadia.extension(_name=nil)
|
1263
|
+
if _name && @@instance && @@instance['exts_map']
|
1264
|
+
return @@instance['exts_map'][_name]
|
1265
|
+
end
|
1266
|
+
end
|
1267
|
+
|
1256
1268
|
def Arcadia.runtime_error(_e, _title=Arcadia.text("main.e.runtime.title"))
|
1257
1269
|
ArcadiaProblemEvent.new(self, "type"=>ArcadiaProblemEvent::RUNTIME_ERROR_TYPE,"title"=>"#{_title} : [#{_e.class}] #{_e.message} at :", "detail"=>_e.backtrace).go!
|
1258
1270
|
end
|
@@ -1480,16 +1492,16 @@ class ArcadiaMainMenu < ArcadiaUserControl
|
|
1480
1492
|
end
|
1481
1493
|
end
|
1482
1494
|
|
1483
|
-
def
|
1484
|
-
|
1485
|
-
|
1486
|
-
i_end =
|
1495
|
+
def ArcadiaMainMenu.sub_menu(_menu, _title=nil)
|
1496
|
+
s_i = -1
|
1497
|
+
if _title
|
1498
|
+
i_end = _menu.index('end')
|
1487
1499
|
if i_end
|
1488
1500
|
0.upto(i_end){|j|
|
1489
|
-
type =
|
1501
|
+
type = _menu.menutype(j)
|
1490
1502
|
if type != 'separator'
|
1491
|
-
l =
|
1492
|
-
if l ==
|
1503
|
+
l = _menu.entrycget(j,'label')
|
1504
|
+
if l == _title && type == 'cascade'
|
1493
1505
|
s_i = j
|
1494
1506
|
break
|
1495
1507
|
end
|
@@ -1497,9 +1509,17 @@ class ArcadiaMainMenu < ArcadiaUserControl
|
|
1497
1509
|
}
|
1498
1510
|
end
|
1499
1511
|
end
|
1500
|
-
if s_i > -1
|
1501
|
-
sub =
|
1512
|
+
if s_i > -1
|
1513
|
+
sub = _menu.entrycget(s_i, 'menu')
|
1502
1514
|
else
|
1515
|
+
sub = nil
|
1516
|
+
end
|
1517
|
+
sub
|
1518
|
+
end
|
1519
|
+
|
1520
|
+
def get_sub_menu(menu_context, folder=nil)
|
1521
|
+
sub = ArcadiaMainMenu.sub_menu(menu_context, folder)
|
1522
|
+
if sub.nil?
|
1503
1523
|
sub = TkMenu.new(
|
1504
1524
|
:parent=>@pop_up,
|
1505
1525
|
:tearoff=>0
|
@@ -2493,6 +2513,7 @@ class ArcadiaLayout
|
|
2493
2513
|
p['sons'].each{|k,v|
|
2494
2514
|
if k == _extension
|
2495
2515
|
v.hinner_frame.raise
|
2516
|
+
#title_titled_frame(_domain, v.title)
|
2496
2517
|
p['root'].title(v.title)
|
2497
2518
|
p['root'].restore_caption(k)
|
2498
2519
|
p['root'].change_adapters_name(k)
|
@@ -3108,13 +3129,37 @@ class ArcadiaLayout
|
|
3108
3129
|
end
|
3109
3130
|
|
3110
3131
|
end
|
3132
|
+
|
3133
|
+
# def title_titled_frame(_domain, _text)
|
3134
|
+
# mb = @panels[_domain]['root'].menu_button('ext') if @panels[_domain]
|
3135
|
+
# if mb
|
3136
|
+
# #mb.configure('text'=>_text)
|
3137
|
+
# mb.cget('textvariable').value=_text
|
3138
|
+
# p "configuro #{_text}"
|
3139
|
+
# end
|
3140
|
+
# end
|
3111
3141
|
|
3112
3142
|
def build_titled_frame(domain)
|
3113
3143
|
if @panels[domain]
|
3114
3144
|
tframe = TkTitledFrameAdapter.new(@panels[domain]['root']).place('x'=>0, 'y'=>0,'relheight'=>1, 'relwidth'=>1)
|
3115
|
-
mb = tframe.add_fixed_menu_button('ext')
|
3145
|
+
# mb = tframe.add_fixed_menu_button('ext')
|
3146
|
+
|
3147
|
+
# mb = tframe.add_fixed_menu_button(
|
3148
|
+
# 'ext',
|
3149
|
+
# nil,
|
3150
|
+
# 'left',
|
3151
|
+
# {'relief'=>:flat,
|
3152
|
+
# 'borderwidth'=>1,
|
3153
|
+
# 'compound'=> 'left',
|
3154
|
+
# 'anchor'=>'w',
|
3155
|
+
# 'activebackground'=>Arcadia.conf('titlelabel.background'),
|
3156
|
+
# 'foreground' => Arcadia.conf('titlecontext.foreground'),
|
3157
|
+
# 'textvariable'=> TkVariable.new('')
|
3158
|
+
# })
|
3159
|
+
|
3116
3160
|
# add commons item
|
3117
|
-
menu = mb.cget('menu')
|
3161
|
+
# menu = mb.cget('menu')
|
3162
|
+
menu = tframe.title_menu
|
3118
3163
|
add_commons_menu_items(domain, menu)
|
3119
3164
|
@panels[domain]['root']= tframe
|
3120
3165
|
#-----------------------------------
|
@@ -3272,31 +3317,85 @@ class ArcadiaLayout
|
|
3272
3317
|
exist
|
3273
3318
|
end
|
3274
3319
|
|
3320
|
+
def menu_item_add(_menu, _dom, _ffw, _is_plus=false)
|
3321
|
+
if !menu_item_exist?(_menu, _ffw.title)
|
3322
|
+
ind = sorted_menu_index(_menu, _ffw.title)
|
3323
|
+
if _is_plus
|
3324
|
+
if Arcadia.extension(_ffw.name).main_instance?
|
3325
|
+
submenu_title = _ffw.title
|
3326
|
+
else
|
3327
|
+
submenu_title = Arcadia.extension(_ffw.name).main_instance.frame_title
|
3328
|
+
end
|
3329
|
+
submenu = nil
|
3330
|
+
newlabel = "New ..."
|
3331
|
+
if menu_item_exist?(_menu, submenu_title)
|
3332
|
+
submenu = ArcadiaMainMenu.sub_menu(_menu, submenu_title)
|
3333
|
+
end
|
3334
|
+
if submenu.nil?
|
3335
|
+
submenu = TkMenu.new(
|
3336
|
+
:parent=>_menu,
|
3337
|
+
:tearoff=>0,
|
3338
|
+
:title => submenu_title
|
3339
|
+
)
|
3340
|
+
submenu.extend(TkAutoPostMenu)
|
3341
|
+
submenu.configure(Arcadia.style('menu'))
|
3342
|
+
_menu.insert(ind,
|
3343
|
+
:cascade,
|
3344
|
+
:image=>Arcadia.image_res(ARROW_LEFT_GIF),
|
3345
|
+
:label=>submenu_title,
|
3346
|
+
:compound=>'left',
|
3347
|
+
:menu=>submenu,
|
3348
|
+
:hidemargin => false
|
3349
|
+
)
|
3350
|
+
submenu.insert('end',:command,
|
3351
|
+
:label=>newlabel,
|
3352
|
+
:image=>Arcadia.image_res(STAR_EMPTY_GIF),
|
3353
|
+
:compound=>'left',
|
3354
|
+
:command=>proc{Arcadia.extension(_ffw.name).main_instance.duplicate(nil, _dom)},
|
3355
|
+
:hidemargin => true
|
3356
|
+
)
|
3357
|
+
end
|
3358
|
+
submenu.insert(newlabel,:command,
|
3359
|
+
:label=>_ffw.title,
|
3360
|
+
:image=>Arcadia.image_res(ARROW_LEFT_GIF),
|
3361
|
+
:compound=>'left',
|
3362
|
+
:command=>proc{change_domain(_dom, _ffw.name)},
|
3363
|
+
:hidemargin => true
|
3364
|
+
)
|
3365
|
+
|
3366
|
+
else
|
3367
|
+
_menu.insert(ind,:command,
|
3368
|
+
:label=>_ffw.title,
|
3369
|
+
:image=>Arcadia.image_res(ARROW_LEFT_GIF),
|
3370
|
+
:compound=>'left',
|
3371
|
+
:command=>proc{change_domain(_dom, _ffw.name)},
|
3372
|
+
:hidemargin => true
|
3373
|
+
)
|
3374
|
+
end
|
3375
|
+
end
|
3376
|
+
end
|
3275
3377
|
|
3276
3378
|
def process_frame(_ffw)
|
3277
3379
|
#p "processo frame #{_ffw.title}"
|
3380
|
+
#-------
|
3381
|
+
is_plus = Arcadia.extension(_ffw.name).kind_of?(ArcadiaExtPlus)
|
3382
|
+
#-------
|
3278
3383
|
@panels.keys.each{|dom|
|
3279
3384
|
if dom != '_domain_root_' && dom != _ffw.domain && @panels[dom] && @panels[dom]['root']
|
3280
3385
|
titledFrame = @panels[dom]['root']
|
3281
3386
|
if titledFrame.instance_of?(TkTitledFrameAdapter)
|
3282
|
-
menu = @panels[dom]['root'].menu_button('ext').cget('menu')
|
3283
|
-
|
3284
|
-
|
3285
|
-
menu.insert(ind,:command,
|
3286
|
-
:label=>_ffw.title,
|
3287
|
-
:image=>Arcadia.image_res(ARROW_LEFT_GIF),
|
3288
|
-
:compound=>'left',
|
3289
|
-
:command=>proc{change_domain(dom, _ffw.name)},
|
3290
|
-
:hidemargin => true
|
3291
|
-
)
|
3292
|
-
end
|
3387
|
+
#menu = @panels[dom]['root'].menu_button('ext').cget('menu')
|
3388
|
+
menu = titledFrame.title_menu
|
3389
|
+
menu_item_add(menu, dom, _ffw, is_plus)
|
3293
3390
|
end
|
3294
3391
|
end
|
3295
3392
|
}
|
3296
3393
|
if @panels[_ffw.domain]
|
3297
3394
|
titledFrame = @panels[_ffw.domain]['root']
|
3298
3395
|
if titledFrame.instance_of?(TkTitledFrameAdapter)
|
3299
|
-
|
3396
|
+
#titledFrame.menu_button('ext').text("#{_ffw.title}::")
|
3397
|
+
#mymenu = titledFrame.menu_button('ext').cget('menu')
|
3398
|
+
mymenu = titledFrame.title_menu
|
3300
3399
|
index = mymenu.index('end').to_i
|
3301
3400
|
if @panels.keys.length > 2
|
3302
3401
|
i=index-3
|
@@ -3318,7 +3417,6 @@ class ArcadiaLayout
|
|
3318
3417
|
)
|
3319
3418
|
end
|
3320
3419
|
else
|
3321
|
-
# if raised_name(_ffw.domain) == _ffw.name
|
3322
3420
|
if !menu_item_exist?(mymenu, clabel)
|
3323
3421
|
mymenu.insert(index,:command,
|
3324
3422
|
:label=> clabel,
|
@@ -3328,18 +3426,7 @@ class ArcadiaLayout
|
|
3328
3426
|
:hidemargin => true
|
3329
3427
|
)
|
3330
3428
|
end
|
3331
|
-
|
3332
|
-
if !menu_item_exist?(mymenu, _ffw.title)
|
3333
|
-
ind = sorted_menu_index(mymenu, _ffw.title)
|
3334
|
-
mymenu.insert(ind,:command,
|
3335
|
-
:label=>_ffw.title,
|
3336
|
-
:image=>Arcadia.image_res(ARROW_LEFT_GIF),
|
3337
|
-
:compound=>'left',
|
3338
|
-
:command=>proc{change_domain(_ffw.domain, _ffw.name)},
|
3339
|
-
:hidemargin => true
|
3340
|
-
)
|
3341
|
-
end
|
3342
|
-
# end
|
3429
|
+
menu_item_add(mymenu, _ffw.domain, _ffw, is_plus)
|
3343
3430
|
end
|
3344
3431
|
end
|
3345
3432
|
end
|
@@ -3353,9 +3440,11 @@ class ArcadiaLayout
|
|
3353
3440
|
if dom != '_domain_root_' && @panels[dom] && @panels[dom]['root']
|
3354
3441
|
titledFrame = @panels[dom]['root']
|
3355
3442
|
if titledFrame.instance_of?(TkTitledFrameAdapter)
|
3356
|
-
menu = titledFrame.menu_button('ext').cget('menu')
|
3443
|
+
#menu = titledFrame.menu_button('ext').cget('menu')
|
3444
|
+
menu = titledFrame.title_menu
|
3357
3445
|
if refresh_commons_items
|
3358
|
-
|
3446
|
+
#@panels[dom]['root'].menu_button('ext').cget('menu').delete('0','end')
|
3447
|
+
@panels[dom]['root'].title_menu.delete('0','end')
|
3359
3448
|
add_commons_menu_items(dom, menu)
|
3360
3449
|
else
|
3361
3450
|
index = menu.index('end').to_i
|
@@ -3374,7 +3463,8 @@ class ArcadiaLayout
|
|
3374
3463
|
end
|
3375
3464
|
if i >= 0
|
3376
3465
|
end_index = i.to_s
|
3377
|
-
|
3466
|
+
#@panels[dom]['root'].menu_button('ext').cget('menu').delete('0',end_index)
|
3467
|
+
@panels[dom]['root'].title_menu.delete('0',end_index)
|
3378
3468
|
end
|
3379
3469
|
end
|
3380
3470
|
# index = menu.index('end').to_i
|
@@ -3404,6 +3494,7 @@ class ArcadiaLayout
|
|
3404
3494
|
num = pan['sons'].length
|
3405
3495
|
if @headed
|
3406
3496
|
root_frame = pan['root'].frame
|
3497
|
+
#title_titled_frame(_domain_name, _title)
|
3407
3498
|
pan['root'].title(_title)
|
3408
3499
|
pan['root'].restore_caption(_name)
|
3409
3500
|
pan['root'].change_adapters_name(_name)
|
@@ -3439,6 +3530,7 @@ class ArcadiaLayout
|
|
3439
3530
|
api.name,
|
3440
3531
|
'text'=>api.title,
|
3441
3532
|
'raisecmd'=>proc{
|
3533
|
+
#title_titled_frame(_domain_name, api.title)
|
3442
3534
|
pan['root'].title(api.title)
|
3443
3535
|
pan['root'].restore_caption(api.name)
|
3444
3536
|
pan['root'].change_adapters_name(api.name)
|
@@ -3459,6 +3551,7 @@ class ArcadiaLayout
|
|
3459
3551
|
_panel = pan['notebook'].insert('end',_name ,
|
3460
3552
|
'text'=>_title,
|
3461
3553
|
'raisecmd'=>proc{
|
3554
|
+
#title_titled_frame(_domain_name, _title)
|
3462
3555
|
pan['root'].title(_title)
|
3463
3556
|
pan['root'].restore_caption(_name)
|
3464
3557
|
pan['root'].change_adapters_name(_name)
|
@@ -3523,6 +3616,7 @@ class ArcadiaLayout
|
|
3523
3616
|
n = @panels[_domain_name][:raised_stack][-1]
|
3524
3617
|
w = @panels[_domain_name]['sons'][n].hinner_frame
|
3525
3618
|
t = @panels[_domain_name]['sons'][n].title
|
3619
|
+
#title_titled_frame(_domain_name, t)
|
3526
3620
|
@panels[_domain_name]['root'].title(t)
|
3527
3621
|
@panels[_domain_name]['root'].restore_caption(n)
|
3528
3622
|
@panels[_domain_name]['root'].shift_on if !@panels[_domain_name]['sons'][n].kind_of?(ArcadiaExtPlus)
|
@@ -3542,6 +3636,7 @@ class ArcadiaLayout
|
|
3542
3636
|
end
|
3543
3637
|
end
|
3544
3638
|
elsif @panels[_domain_name]['sons'].length == 0
|
3639
|
+
#title_titled_frame(_domain_name, '')
|
3545
3640
|
@panels[_domain_name]['root'].title('')
|
3546
3641
|
@panels[_domain_name]['root'].top_text_clear
|
3547
3642
|
end
|
data/lib/a-tkcommons.rb
CHANGED
@@ -969,7 +969,8 @@ class TkTitledFrame < TkBaseTitledFrame
|
|
969
969
|
@state = 'normal'
|
970
970
|
@title = title
|
971
971
|
@img = img
|
972
|
-
@left_label = create_left_label
|
972
|
+
# @left_label = create_left_label
|
973
|
+
@left_label = create_left_title
|
973
974
|
@right_label = create_right_label
|
974
975
|
@right_labels_text = Hash.new
|
975
976
|
@right_labels_image = Hash.new
|
@@ -979,29 +980,29 @@ class TkTitledFrame < TkBaseTitledFrame
|
|
979
980
|
@apw = Array.new
|
980
981
|
@aph = Array.new
|
981
982
|
@top.bind_append("Double-Button-1", proc{resize})
|
982
|
-
|
983
|
+
#@left_label.bind_append("Double-Button-1", proc{resize})
|
983
984
|
@right_label.bind_append("Double-Button-1", proc{resize})
|
984
985
|
end
|
985
986
|
|
986
|
-
def create_left_label
|
987
|
-
__create_left_label(@top)
|
988
|
-
end
|
987
|
+
# def create_left_label
|
988
|
+
# __create_left_label(@top)
|
989
|
+
# end
|
989
990
|
|
990
991
|
def create_right_label
|
991
992
|
__create_right_label(@top)
|
992
993
|
end
|
993
994
|
|
994
|
-
def __create_left_label(_frame)
|
995
|
-
@title.nil??_text_title ='':_text_title = @title+' :: '
|
996
|
-
_img=@img
|
997
|
-
TkLabel.new(_frame, Arcadia.style('titlelabel')){
|
998
|
-
text _text_title
|
999
|
-
anchor 'w'
|
1000
|
-
compound 'left'
|
1001
|
-
image TkAllPhotoImage.new('file' => _img) if _img
|
1002
|
-
pack('side'=> 'left','anchor'=> 'e')
|
1003
|
-
}
|
1004
|
-
end
|
995
|
+
# def __create_left_label(_frame)
|
996
|
+
# @title.nil??_text_title ='':_text_title = @title+' :: '
|
997
|
+
# _img=@img
|
998
|
+
# TkLabel.new(_frame, Arcadia.style('titlelabel')){
|
999
|
+
# text _text_title
|
1000
|
+
# anchor 'w'
|
1001
|
+
# compound 'left'
|
1002
|
+
# image TkAllPhotoImage.new('file' => _img) if _img
|
1003
|
+
# pack('side'=> 'left','anchor'=> 'e')
|
1004
|
+
# }
|
1005
|
+
# end
|
1005
1006
|
|
1006
1007
|
def __create_right_label(_frame)
|
1007
1008
|
TkLabel.new(_frame, Arcadia.style('titlelabel')){
|
@@ -1013,26 +1014,26 @@ class TkTitledFrame < TkBaseTitledFrame
|
|
1013
1014
|
}
|
1014
1015
|
end
|
1015
1016
|
|
1016
|
-
def shift_on
|
1017
|
-
@left_label.foreground(Arcadia.conf('titlelabel.foreground'))
|
1018
|
-
end
|
1019
|
-
|
1020
|
-
def shift_off
|
1021
|
-
@left_label.foreground(Arcadia.conf('titlelabel.disabledforeground'))
|
1022
|
-
end
|
1017
|
+
# def shift_on
|
1018
|
+
# @left_label.foreground(Arcadia.conf('titlelabel.foreground'))
|
1019
|
+
# end
|
1020
|
+
#
|
1021
|
+
# def shift_off
|
1022
|
+
# @left_label.foreground(Arcadia.conf('titlelabel.disabledforeground'))
|
1023
|
+
# end
|
1023
1024
|
|
1024
|
-
def title(_text=nil)
|
1025
|
-
if _text.nil?
|
1026
|
-
return @title
|
1027
|
-
else
|
1028
|
-
@title=_text
|
1029
|
-
if _text.strip.length == 0
|
1030
|
-
@left_label.text('')
|
1031
|
-
else
|
1032
|
-
@left_label.text(_text+'::')
|
1033
|
-
end
|
1034
|
-
end
|
1035
|
-
end
|
1025
|
+
# def title(_text=nil)
|
1026
|
+
# if _text.nil?
|
1027
|
+
# return @title
|
1028
|
+
# else
|
1029
|
+
# @title=_text
|
1030
|
+
# if _text.strip.length == 0
|
1031
|
+
# @left_label.text('')
|
1032
|
+
# else
|
1033
|
+
# @left_label.text(_text+'::')
|
1034
|
+
# end
|
1035
|
+
# end
|
1036
|
+
# end
|
1036
1037
|
|
1037
1038
|
def top_text_clear
|
1038
1039
|
@right_label.configure('text'=>'', 'image'=>nil)
|
@@ -1158,6 +1159,96 @@ class TkTitledFrame < TkBaseTitledFrame
|
|
1158
1159
|
end
|
1159
1160
|
|
1160
1161
|
|
1162
|
+
class TkLabelTitledFrame < TkTitledFrame
|
1163
|
+
|
1164
|
+
def create_left_title
|
1165
|
+
@left_label = __create_left_label(@top)
|
1166
|
+
@left_label.bind_append("Double-Button-1", proc{resize})
|
1167
|
+
end
|
1168
|
+
|
1169
|
+
def __create_left_label(_frame)
|
1170
|
+
@title.nil??_text_title ='':_text_title = @title+' :: '
|
1171
|
+
_img=@img
|
1172
|
+
TkLabel.new(_frame, Arcadia.style('titlelabel')){
|
1173
|
+
text _text_title
|
1174
|
+
anchor 'w'
|
1175
|
+
compound 'left'
|
1176
|
+
image TkAllPhotoImage.new('file' => _img) if _img
|
1177
|
+
pack('side'=> 'left','anchor'=> 'e')
|
1178
|
+
}
|
1179
|
+
end
|
1180
|
+
|
1181
|
+
def shift_on
|
1182
|
+
@left_label.foreground(Arcadia.conf('titlelabel.foreground'))
|
1183
|
+
end
|
1184
|
+
|
1185
|
+
def shift_off
|
1186
|
+
@left_label.foreground(Arcadia.conf('titlelabel.disabledforeground'))
|
1187
|
+
end
|
1188
|
+
|
1189
|
+
def title(_text=nil)
|
1190
|
+
if _text.nil?
|
1191
|
+
return @title
|
1192
|
+
else
|
1193
|
+
@title=_text
|
1194
|
+
if _text.strip.length == 0
|
1195
|
+
@left_label.text('')
|
1196
|
+
else
|
1197
|
+
@left_label.text(_text+'::')
|
1198
|
+
end
|
1199
|
+
end
|
1200
|
+
end
|
1201
|
+
end
|
1202
|
+
|
1203
|
+
class TkMenuTitledFrame < TkTitledFrame
|
1204
|
+
def create_left_title
|
1205
|
+
@left_menu_button = __create_left_menu_button(@top)
|
1206
|
+
@left_menu_button.bind_append("Double-Button-1", proc{resize})
|
1207
|
+
end
|
1208
|
+
|
1209
|
+
def title_menu
|
1210
|
+
@left_menu_button.cget('menu') if @left_menu_button
|
1211
|
+
end
|
1212
|
+
|
1213
|
+
def __create_left_menu_button(_frame)
|
1214
|
+
img=@img
|
1215
|
+
@left_menu_button = TkMenuButton.new(_frame, Arcadia.style('titlebutton')){|mb|
|
1216
|
+
menu TkMenu.new(mb, Arcadia.style('titlemenu'))
|
1217
|
+
if img
|
1218
|
+
indicatoron false
|
1219
|
+
image Arcadia.image_res(img)
|
1220
|
+
else
|
1221
|
+
indicatoron true
|
1222
|
+
end
|
1223
|
+
padx 0
|
1224
|
+
textvariable TkVariable.new('')
|
1225
|
+
pack('side'=> 'left','anchor'=> 'e')
|
1226
|
+
}
|
1227
|
+
|
1228
|
+
end
|
1229
|
+
|
1230
|
+
def shift_on
|
1231
|
+
@left_menu_button.foreground(Arcadia.conf('titlelabel.foreground'))
|
1232
|
+
end
|
1233
|
+
|
1234
|
+
def shift_off
|
1235
|
+
@left_menu_button.foreground(Arcadia.conf('titlelabel.disabledforeground'))
|
1236
|
+
end
|
1237
|
+
|
1238
|
+
def title(_text=nil)
|
1239
|
+
if _text.nil?
|
1240
|
+
return @title
|
1241
|
+
else
|
1242
|
+
@title=_text
|
1243
|
+
if _text.strip.length == 0
|
1244
|
+
@left_menu_button.textvariable.value=''
|
1245
|
+
else
|
1246
|
+
@left_menu_button.textvariable.value=_text+'::'
|
1247
|
+
end
|
1248
|
+
end
|
1249
|
+
end
|
1250
|
+
end
|
1251
|
+
|
1161
1252
|
|
1162
1253
|
#class TkFrameAdapterOld < TkFrame
|
1163
1254
|
# include TkMovable
|
@@ -1266,7 +1357,7 @@ end
|
|
1266
1357
|
#
|
1267
1358
|
#end
|
1268
1359
|
|
1269
|
-
class TkTitledFrameAdapter <
|
1360
|
+
class TkTitledFrameAdapter < TkMenuTitledFrame
|
1270
1361
|
attr_reader :transient_frame_adapter
|
1271
1362
|
|
1272
1363
|
def initialize(parent=nil, title=nil, img=nil , keys=nil)
|