rbcurse 1.3.0 → 1.4.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/CHANGELOG +33 -0
- data/README.markdown +7 -1
- data/TODO2.txt +21 -15
- data/VERSION +1 -1
- data/examples/abasiclist.rb +2 -2
- data/examples/alpmenu.rb +1 -1
- data/examples/app.rb +0 -1
- data/examples/appdirtree.rb +4 -2
- data/examples/appemail.rb +7 -3
- data/examples/appemaillb.rb +1 -1
- data/examples/appgcompose.rb +2 -2
- data/examples/appgmail.rb +1 -1
- data/examples/appmethods.rb +20 -2
- data/examples/atree.rb +9 -1
- data/examples/dbdemo.rb +460 -0
- data/examples/dirtree.rb +1 -1
- data/examples/menu1.rb +37 -5
- data/examples/multispl.rb +1 -1
- data/examples/rfe.rb +9 -2
- data/examples/splitp.rb +1 -1
- data/examples/sqlc.rb +6 -10
- data/examples/sqlm.rb +2 -20
- data/examples/sqlt.rb +408 -0
- data/examples/term2.rb +1 -1
- data/examples/test2.rb +169 -97
- data/examples/testapp.rb +1 -1
- data/examples/testapp2.rb +1 -1
- data/examples/testkeypress.rb +4 -2
- data/examples/testtable.rb +6 -0
- data/examples/testtpane.rb +35 -23
- data/examples/testvimsplit.rb +3 -2
- data/lib/rbcurse.rb +1 -1
- data/lib/rbcurse/action.rb +8 -0
- data/lib/rbcurse/app.rb +39 -23
- data/lib/rbcurse/extras/bottomline.rb +101 -13
- data/lib/rbcurse/extras/directorylist.rb +14 -5
- data/lib/rbcurse/extras/divider.rb +1 -1
- data/lib/rbcurse/extras/listselectable.rb +42 -8
- data/lib/rbcurse/extras/masterdetail.rb +2 -2
- data/lib/rbcurse/extras/scrollbar.rb +11 -2
- data/lib/rbcurse/extras/statusline.rb +56 -0
- data/lib/rbcurse/extras/stdscrwindow.rb +11 -0
- data/lib/rbcurse/extras/tabular.rb +2 -1
- data/lib/rbcurse/extras/tabularwidget.rb +60 -17
- data/lib/rbcurse/extras/viewer.rb +16 -4
- data/lib/rbcurse/keylabelprinter.rb +34 -4
- data/lib/rbcurse/listeditable.rb +5 -1
- data/lib/rbcurse/listkeys.rb +1 -1
- data/lib/rbcurse/listscrollable.rb +15 -8
- data/lib/rbcurse/rbasiclistbox.rb +44 -23
- data/lib/rbcurse/rcommandwindow.rb +8 -14
- data/lib/rbcurse/rdialogs.rb +187 -2
- data/lib/rbcurse/rlistbox.rb +38 -19
- data/lib/rbcurse/rmenu.rb +313 -93
- data/lib/rbcurse/rmessagebox.rb +3 -2
- data/lib/rbcurse/rmulticontainer.rb +5 -3
- data/lib/rbcurse/rmultisplit.rb +2 -11
- data/lib/rbcurse/rmultitextview.rb +4 -5
- data/lib/rbcurse/rtabbedpane.rb +223 -69
- data/lib/rbcurse/rtable.rb +6 -10
- data/lib/rbcurse/rtextarea.rb +57 -36
- data/lib/rbcurse/rtextview.rb +12 -15
- data/lib/rbcurse/rtree.rb +79 -22
- data/lib/rbcurse/rvimsplit.rb +16 -25
- data/lib/rbcurse/rwidget.rb +376 -523
- data/lib/rbcurse/tree/treecellrenderer.rb +24 -11
- data/lib/rbcurse/tree/treemodel.rb +1 -1
- data/lib/ver/window.rb +130 -66
- metadata +5 -3
- data/examples/term.rb +0 -48
@@ -20,11 +20,14 @@ module RubyCurses
|
|
20
20
|
dsl_accessor :color, :bgcolor
|
21
21
|
dsl_accessor :row, :col
|
22
22
|
dsl_accessor :parent #usuall the table to get colors and other default info
|
23
|
+
attr_reader :actual_length
|
24
|
+
attr_accessor :pcol
|
23
25
|
|
24
26
|
def initialize text="", config={}, &block
|
25
27
|
@text = text
|
26
28
|
@editable = false
|
27
29
|
@focusable = false
|
30
|
+
@actual_length = 0
|
28
31
|
config_setup config # @config.each_pair { |k,v| variable_set(k,v) }
|
29
32
|
instance_eval &block if block_given?
|
30
33
|
init_vars
|
@@ -86,17 +89,6 @@ module RubyCurses
|
|
86
89
|
prepare_default_colors focussed, selected
|
87
90
|
|
88
91
|
value=value.to_s # ??
|
89
|
-
if @height && @height > 1
|
90
|
-
else
|
91
|
-
# ensure we do not exceed
|
92
|
-
if !@display_length.nil?
|
93
|
-
if value.length > @display_length
|
94
|
-
value = value[0..@display_length-1]
|
95
|
-
end
|
96
|
-
end
|
97
|
-
#lablist << value
|
98
|
-
end
|
99
|
-
len = @display_length || value.length
|
100
92
|
#icon = object.is_leaf? ? "-" : "+"
|
101
93
|
#icon = leaf ? "-" : "+"
|
102
94
|
|
@@ -116,7 +108,28 @@ module RubyCurses
|
|
116
108
|
end
|
117
109
|
end
|
118
110
|
# adding 2 to level, that's the size of icon
|
111
|
+
# XXX FIXME if we put the icon here, then when we scroll right, the icon will show, it shoud not
|
112
|
+
# FIXME we ignore truncation etc on previous level and take the object as is !!!
|
119
113
|
_value = "%*s %s" % [ level+2, icon, node.user_object ]
|
114
|
+
@actual_length = _value.length
|
115
|
+
pcol = @pcol
|
116
|
+
if pcol > 0
|
117
|
+
_len = @display_length || @parent.width-2
|
118
|
+
_value = _value[@pcol..@pcol+_len-1]
|
119
|
+
end
|
120
|
+
_value ||= ""
|
121
|
+
if @height && @height > 1
|
122
|
+
else
|
123
|
+
# ensure we do not exceed
|
124
|
+
if !@display_length.nil?
|
125
|
+
if _value.length > @display_length
|
126
|
+
@actual_length = _value.length
|
127
|
+
_value = _value[0..@display_length-1]
|
128
|
+
end
|
129
|
+
end
|
130
|
+
#lablist << value
|
131
|
+
end
|
132
|
+
len = @display_length || _value.length
|
120
133
|
graphic.printstring r, c, "%-*s" % [len, _value], @color_pair,@attr
|
121
134
|
#_height = @height || 1
|
122
135
|
#0.upto(_height-1) { |i|
|
data/lib/ver/window.rb
CHANGED
@@ -3,23 +3,36 @@ require 'ver/panel'
|
|
3
3
|
module VER
|
4
4
|
class Window
|
5
5
|
attr_reader :width, :height, :top, :left
|
6
|
-
attr_accessor :layout
|
6
|
+
attr_accessor :layout # hash containing hwtl
|
7
7
|
attr_reader :panel # reader requires so he can del it in end
|
8
8
|
attr_reader :window_type # window or pad to distinguish 2009-11-02 23:11
|
9
9
|
attr_accessor :name # more for debugging log files. 2010-02-02 19:58
|
10
10
|
attr_accessor :modified # has it been modified and may need a refresh
|
11
11
|
attr_reader :bottomline # experimental here 2010-11-03 22:19
|
12
12
|
|
13
|
-
|
13
|
+
# @param [Array, Hash] window coordinates (ht, w, top, left)
|
14
|
+
# or
|
15
|
+
# @param [int, int, int, int] window coordinates (ht, w, top, left)
|
16
|
+
# 2011-09-21 allowing array, or 4 ints, in addition to hash @since 1.3.1
|
17
|
+
def initialize(*args)
|
18
|
+
|
19
|
+
case args.size
|
20
|
+
when 1
|
21
|
+
case args[0]
|
22
|
+
when Array, Hash
|
23
|
+
layout = args[0]
|
24
|
+
else
|
25
|
+
raise ArgumentError, "Window expects 4 ints, array of 4 ints, or Hash in constructor"
|
26
|
+
end
|
27
|
+
when 4
|
28
|
+
layout = { :height => args[0], :width => args[1], :top => args[2], :left => args[3] }
|
29
|
+
end
|
30
|
+
|
14
31
|
@visible = true
|
15
32
|
reset_layout(layout)
|
16
33
|
|
17
|
-
|
18
|
-
#@window = Ncurses.newwin(height, width, top, left) # added FFI 2011-09-6
|
19
|
-
@window = FFI::NCurses.newwin(height, width, top, left) # added FFI 2011-09-6
|
20
|
-
#@panel = Ncurses::Panel.new_panel(@window)
|
34
|
+
@window = FFI::NCurses.newwin(@height, @width, @top, @left) # added FFI 2011-09-6
|
21
35
|
@panel = Ncurses::Panel.new(@window) # added FFI 2011-09-6
|
22
|
-
## eeks XXX next line will wreak havoc when multiple windows opened like a mb or popup
|
23
36
|
#$error_message_row = $status_message_row = Ncurses.LINES-1
|
24
37
|
$error_message_row ||= Ncurses.LINES-1
|
25
38
|
$error_message_col ||= 1 # ask (bottomline) uses 0 as default so you can have mismatch. XXX
|
@@ -34,7 +47,7 @@ module VER
|
|
34
47
|
@name ||="#{self}"
|
35
48
|
@modified = true
|
36
49
|
$catch_alt_digits ||= false # is this where is should put globals ? 2010-03-14 14:00 XXX
|
37
|
-
init_bottomline
|
50
|
+
#init_bottomline # bottomline to creates its own window 2011-10-8
|
38
51
|
end
|
39
52
|
##
|
40
53
|
# this is an alternative constructor
|
@@ -51,6 +64,7 @@ module VER
|
|
51
64
|
# not used as yet
|
52
65
|
# this is an alternative constructor
|
53
66
|
# created if you don't want to create a hash first
|
67
|
+
# 2011-09-21 V1.3.1 You can now send an array to Window constructor
|
54
68
|
def self.create_window(h=0, w=0, t=0, l=0)
|
55
69
|
layout = { :height => h, :width => w, :top => t, :left => l }
|
56
70
|
@window = Window.new(layout)
|
@@ -175,22 +189,23 @@ module VER
|
|
175
189
|
end
|
176
190
|
def print(string, width = width)
|
177
191
|
return unless visible?
|
178
|
-
|
192
|
+
waddnstr(string.to_s, width) # changed 2011 dts
|
179
193
|
end
|
180
194
|
|
181
195
|
def print_yx(string, y = 0, x = 0)
|
182
|
-
|
196
|
+
mvwaddnstr(y, x, string, width) # changed 2011 dts
|
183
197
|
end
|
184
198
|
|
185
199
|
def print_empty_line
|
186
200
|
return unless visible?
|
187
|
-
|
201
|
+
printw(' ' * width)
|
188
202
|
end
|
189
203
|
|
190
204
|
def print_line(string)
|
191
205
|
print(string.ljust(width))
|
192
206
|
end
|
193
207
|
|
208
|
+
# @unused, pls remove
|
194
209
|
def show_colored_chunks(chunks)
|
195
210
|
return unless visible?
|
196
211
|
chunks.each do |color, chunk|
|
@@ -235,10 +250,22 @@ module VER
|
|
235
250
|
3 # is C-c
|
236
251
|
end
|
237
252
|
|
253
|
+
# 2011-09-23 @since 1.3.1
|
254
|
+
# Added more combinations here. These 2 are just indicative
|
255
|
+
SPECIAL_KEYS = {
|
256
|
+
[27, 79, 50, 81] => 20014, # 'F14',
|
257
|
+
[27, 79, 50, 82] => 20015 # 'F15',
|
258
|
+
}
|
259
|
+
|
238
260
|
# returns control, alt, alt+ctrl, alt+control+shift, F1 .. etc
|
239
261
|
# ALT combinations also send a 27 before the actual key
|
240
262
|
# Please test with above combinations before using on your terminal
|
241
263
|
# added by rkumar 2008-12-12 23:07
|
264
|
+
# 2011-09-23 Redone Control-left, right, and Shift-F5..F10.
|
265
|
+
# Checking for quick press of Alt-Sh-O followed by Alt or printable char
|
266
|
+
# Checking for quick press of Alt-[ followed by Alt or printable char
|
267
|
+
# I attempted keeping a hash of combination arrays but it fails in the above
|
268
|
+
# 2 cases, so abandoned.
|
242
269
|
def getchar
|
243
270
|
while 1
|
244
271
|
ch = getch
|
@@ -252,21 +279,16 @@ module VER
|
|
252
279
|
when 1
|
253
280
|
@stack.clear
|
254
281
|
return 27
|
255
|
-
when 2 # basically a ALT-O, this will be really slow since it waits for -1
|
282
|
+
when 2 # basically a ALT-O, or alt-[ (79 or 91) this will be really slow since it waits for -1
|
256
283
|
ch = 128 + @stack.last
|
257
284
|
@stack.clear
|
258
285
|
return ch
|
259
|
-
|
260
|
-
|
286
|
+
else
|
287
|
+
# check up a hash of special keys
|
288
|
+
ret = SPECIAL_KEYS(@stack)
|
289
|
+
return ret if ret
|
290
|
+
$log.warn "INVALID UNKNOWN KEY: SHOULD NOT COME HERE getchar():#{@stack}"
|
261
291
|
end
|
262
|
-
#elsif [181, 179, 178].include? @stack.first
|
263
|
-
elsif @stack == [181] || @stack == [179] || @stack == [178]
|
264
|
-
ch = @stack.first
|
265
|
-
@stack.clear
|
266
|
-
return ch
|
267
|
-
elsif @stack == [179,49] # someone trying to spoof S-F9 with M3, 1
|
268
|
-
ch = @stack.shift
|
269
|
-
return ch
|
270
292
|
end
|
271
293
|
# possibly a 49 left over from M3-1
|
272
294
|
unless @stack.empty?
|
@@ -284,7 +306,7 @@ module VER
|
|
284
306
|
# this is the ALT combination
|
285
307
|
if @stack.first == 27
|
286
308
|
# experimental. 2 escapes in quick succession to make exit faster
|
287
|
-
if ch == 27
|
309
|
+
if @stack.size == 1 && ch == 27
|
288
310
|
@stack.clear
|
289
311
|
return ch
|
290
312
|
end
|
@@ -306,55 +328,72 @@ module VER
|
|
306
328
|
ch = KEY_F3
|
307
329
|
when 83
|
308
330
|
ch = KEY_F4
|
331
|
+
#when 27 # another alt-char following Alt-Sh-O
|
332
|
+
else
|
333
|
+
@stack.clear
|
334
|
+
@stack << ch
|
335
|
+
return 128 + 79
|
336
|
+
|
309
337
|
end
|
310
338
|
@stack.clear
|
311
339
|
return ch
|
312
340
|
elsif @stack == [27, 91]
|
341
|
+
# XXX 27, 91 also is Alt-[
|
313
342
|
if ch == 90
|
314
343
|
@stack.clear
|
315
344
|
return KEY_BTAB # backtab
|
345
|
+
elsif ch == 53 || ch == 50 || ch == 51
|
346
|
+
# control left, right and shift function
|
347
|
+
@stack << ch
|
348
|
+
next
|
349
|
+
elsif ch == 27 # another alt-char immediately after Alt-[
|
350
|
+
$log.debug "getchar in 27, will return 128+91 " if $log.debug?
|
351
|
+
@stack.clear
|
352
|
+
@stack << ch
|
353
|
+
return 128 + 91
|
354
|
+
else
|
355
|
+
$log.debug "getchar in other, will return 128+91: #{ch} " if $log.debug?
|
356
|
+
# other cases Alt-[ followed by some char or key - merge with previous
|
357
|
+
@stack.clear
|
358
|
+
@stack << ch
|
359
|
+
return 128 + 91
|
360
|
+
end
|
361
|
+
elsif @stack == [27, 91, 53]
|
362
|
+
if ch == 68
|
363
|
+
@stack.clear
|
364
|
+
return C_LEFT # control-left
|
365
|
+
elsif ch == 67
|
366
|
+
@stack.clear
|
367
|
+
return C_RIGHT # -control-rt
|
368
|
+
end
|
369
|
+
elsif @stack == [27, 91, 51]
|
370
|
+
if ch == 49 && getch()== 126
|
371
|
+
@stack.clear
|
372
|
+
return 20009 # sh_f9
|
373
|
+
end
|
374
|
+
elsif @stack == [27, 91, 50]
|
375
|
+
if ch == 50 && getch()== 126
|
376
|
+
@stack.clear
|
377
|
+
return 20010 # sh-F10
|
378
|
+
end
|
379
|
+
if ch == 57 && getch()== 126
|
380
|
+
@stack.clear
|
381
|
+
return 20008 # sh-F8
|
382
|
+
elsif ch == 56 && getch()== 126
|
383
|
+
@stack.clear
|
384
|
+
return 20007 # sh-F7
|
385
|
+
elsif ch == 54 && getch()== 126
|
386
|
+
@stack.clear
|
387
|
+
return 20006 # sh-F6
|
388
|
+
elsif ch == 53 && getch()== 126
|
389
|
+
@stack.clear
|
390
|
+
return 20005 # sh-F5
|
316
391
|
end
|
317
392
|
end
|
318
|
-
# the usual Meta combos. (alt)
|
393
|
+
# the usual Meta combos. (alt) - this is screwing it up, just return it in some way
|
319
394
|
ch = 128 + ch
|
320
395
|
@stack.clear
|
321
|
-
# these correspond to M-5, M2 and M3 but can also be C-left. C-rt. S-F5-S-F10
|
322
|
-
if ch == 181 || ch == 178 || ch == 179
|
323
|
-
@stack << ch
|
324
|
-
next
|
325
|
-
end
|
326
396
|
return ch
|
327
|
-
elsif @stack.first == 181
|
328
|
-
if ch == 68
|
329
|
-
ch = C_LEFT
|
330
|
-
@stack.clear; return ch
|
331
|
-
elsif ch == 67
|
332
|
-
ch = C_RIGHT
|
333
|
-
@stack.clear; return ch
|
334
|
-
else
|
335
|
-
$log.error "We ate a key 181 M-5 expecting C-L or C-r, but got #{ch}. I can only return one "
|
336
|
-
@stack.clear; # should we ungetch the ch FIXME
|
337
|
-
return 181
|
338
|
-
end
|
339
|
-
elsif @stack == [179, 49]
|
340
|
-
if ch == 126
|
341
|
-
@stack.clear;
|
342
|
-
return S_F9
|
343
|
-
else
|
344
|
-
# FIXME
|
345
|
-
$log.error "getchar: We ate 2 keys 179 M-?, 49 expecting S-F9, but got #{ch}. I can only return one "
|
346
|
-
end
|
347
|
-
elsif sf == 179
|
348
|
-
if ch == 49
|
349
|
-
@stack << ch
|
350
|
-
next
|
351
|
-
else
|
352
|
-
#@stack.clear; # should i ungetch FIXME
|
353
|
-
@stack.shift # some combination like M-3 2
|
354
|
-
@stack << ch
|
355
|
-
return 179
|
356
|
-
end
|
357
|
-
elsif sf == 178
|
358
397
|
end # stack.first == 27
|
359
398
|
# append a 27 to stack, actually one can use a flag too
|
360
399
|
if ch == 27
|
@@ -365,6 +404,7 @@ module VER
|
|
365
404
|
end # while
|
366
405
|
end # def
|
367
406
|
|
407
|
+
# doesn't seem to work, clears first line, not both
|
368
408
|
def clear
|
369
409
|
# return unless visible?
|
370
410
|
move 0, 0
|
@@ -373,10 +413,13 @@ module VER
|
|
373
413
|
|
374
414
|
# setup and reset
|
375
415
|
|
416
|
+
## allow user to send an array
|
417
|
+
# I am tired of the hash layout (taken from ver).
|
376
418
|
def reset_layout(layout)
|
377
419
|
case layout
|
378
420
|
when Array
|
379
421
|
@height, @width, @top, @left = *layout
|
422
|
+
@layout = { :height => @height, :width => @width, :top => @top, :left => @top }
|
380
423
|
when Hash
|
381
424
|
@layout = layout
|
382
425
|
|
@@ -446,6 +489,7 @@ module VER
|
|
446
489
|
Ncurses::Panel.del_panel(@panel.pointer) if !@panel.nil? # ADDED FFI pointer 2011-09-7
|
447
490
|
#@window.delwin(@window) if !@window.nil? # added FFI 2011-09-7
|
448
491
|
delwin() if !@window.nil? # added FFI 2011-09-7
|
492
|
+
Ncurses::Panel.update_panels # added so below window does not need to do this 2011-10-1
|
449
493
|
$log.debug "win destroy end"
|
450
494
|
end
|
451
495
|
##
|
@@ -489,6 +533,16 @@ module VER
|
|
489
533
|
mvwprintw(r, c, "%s", :string, string);
|
490
534
|
wattroff(Ncurses.COLOR_PAIR(color) | att)
|
491
535
|
end
|
536
|
+
# @deprecated
|
537
|
+
def print_error_message text=$error_message.get_value
|
538
|
+
alert text
|
539
|
+
end
|
540
|
+
# added by rk 2008-11-29 19:01
|
541
|
+
# @deprecated. use global method of same name in rdialog
|
542
|
+
def print_status_message text=$status_message
|
543
|
+
#VER::print_status_message text
|
544
|
+
alert text
|
545
|
+
end
|
492
546
|
# added by rk 2008-11-29 19:01
|
493
547
|
# Since these methods write directly to window they are not advised
|
494
548
|
# since clearing previous message we don't know how much to clear.
|
@@ -496,7 +550,7 @@ module VER
|
|
496
550
|
# 2010-09-13 00:22 WE should not use these any longer.
|
497
551
|
# Application should create a label and map a Variable named
|
498
552
|
# $errormessage to it. We should only update the Variable
|
499
|
-
def
|
553
|
+
def DEPRECATED_print_error_message text=$error_message.get_value
|
500
554
|
r = $error_message_row || Ncurses.LINES-1
|
501
555
|
c = $error_message_col || (Ncurses.COLS-text.length)/2
|
502
556
|
|
@@ -506,7 +560,8 @@ module VER
|
|
506
560
|
$error_message_clear_pending = true
|
507
561
|
end
|
508
562
|
# added by rk 2008-11-29 19:01
|
509
|
-
|
563
|
+
# @deprecated. use global method of same name
|
564
|
+
def DEPRECATED_print_status_message text=$status_message
|
510
565
|
r = $status_message_row || Ncurses.LINES-1
|
511
566
|
clear_error r, $datacolor
|
512
567
|
# print it in centre
|
@@ -515,7 +570,7 @@ module VER
|
|
515
570
|
# Clear error message printed
|
516
571
|
# I am not only clearing if something was printed. This is since
|
517
572
|
# certain small forms like TabbedForm top form throw an error on printstring.
|
518
|
-
#
|
573
|
+
# @deprecated
|
519
574
|
def clear_error r = $error_message_row, color = $datacolor
|
520
575
|
return unless $error_message_clear_pending
|
521
576
|
c = $error_message_col || (Ncurses.COLS-text.length)/2
|
@@ -524,7 +579,7 @@ module VER
|
|
524
579
|
$error_message_clear_pending = false
|
525
580
|
end
|
526
581
|
##
|
527
|
-
#
|
582
|
+
# NOTE : FOR MESSAGEBOXES ONLY !!!!
|
528
583
|
def print_border_mb row, col, height, width, color, attr
|
529
584
|
mvwaddch row, col, Ncurses::ACS_ULCORNER
|
530
585
|
mvwhline( row, col+1, Ncurses::ACS_HLINE, width-6)
|
@@ -591,7 +646,7 @@ module VER
|
|
591
646
|
wattroff(Ncurses.COLOR_PAIR(color) | att)
|
592
647
|
end
|
593
648
|
# added RK 2009-10-08 23:57 for tabbedpanes
|
594
|
-
# THIS IS EXPERIMENTAL -
|
649
|
+
# THIS IS EXPERIMENTAL - XXX CLEANUP REMOVE
|
595
650
|
# Acco to most sources, derwin and subwin are not thoroughly tested, avoid usage
|
596
651
|
# subwin moving and resizing not functioning.
|
597
652
|
def derwin(layout)
|
@@ -600,6 +655,7 @@ module VER
|
|
600
655
|
$log.debug " #{self} EXP: returning a subwin in derwin: #{v} "
|
601
656
|
return v
|
602
657
|
end
|
658
|
+
## REMOVE CLEANUP UNUSED
|
603
659
|
def _subwin(layout)
|
604
660
|
t = @layout[:top]
|
605
661
|
l = @layout[:left]
|
@@ -641,12 +697,14 @@ module VER
|
|
641
697
|
end
|
642
698
|
end
|
643
699
|
end
|
700
|
+
#-------------------------------- deprecated stuff ------------------ #
|
644
701
|
##
|
645
702
|
# added RK 2009-10-08 23:57 for tabbedpanes
|
646
703
|
# THIS IS EXPERIMENTAL -
|
647
704
|
# I have not called super in the initializer so any methods you try on subwin
|
648
705
|
# that exist in the superclass which use @window will bomb
|
649
|
-
# @since 0.1.3
|
706
|
+
# @since 0.1.3 REMOVE UNUSED.
|
707
|
+
# @deprecated
|
650
708
|
class SubWindow < VER::Window
|
651
709
|
attr_reader :width, :height, :top, :left
|
652
710
|
attr_accessor :layout
|
@@ -702,6 +760,7 @@ module VER
|
|
702
760
|
# but we keep printing an extra row in copywin. so Pad needs to maintain comp height
|
703
761
|
# and padheight.
|
704
762
|
# @since 0.1.3
|
763
|
+
# NOTE used only by TabbedPane. If we rewrite without using it in 1.3.1 then scrap.
|
705
764
|
class Pad < VER::Window
|
706
765
|
# top and left correspond to screen's top and left wich will mostly be fixed
|
707
766
|
attr_accessor :top, :left
|
@@ -857,6 +916,8 @@ module VER
|
|
857
916
|
# also assuming only one win so, window not passed as param
|
858
917
|
# @return return value of copywin which should be 0 (-1 is ERR)
|
859
918
|
def copy_pad_to_win
|
919
|
+
$log.warn " DEPRECATED copy_pad_to_win" # CLEANUP
|
920
|
+
raise "DEPREC copy_pad_to_win deprecated. Will be removed. Let me know if it is needed"
|
860
921
|
# check that we don't exceed other windows height/maxrow
|
861
922
|
smr = smaxrow()
|
862
923
|
# SHIT, this means the otherwin has to be a Pad, cannot be a window
|
@@ -930,7 +991,10 @@ module VER
|
|
930
991
|
@modified = false
|
931
992
|
return ret
|
932
993
|
end
|
994
|
+
# @deprecated
|
933
995
|
def copy_win_to_pad
|
996
|
+
$log.warn " DEPRECATED copy_win_to_pad" # CLEANUP 2011-09-29
|
997
|
+
raise "DEPREC copy_win_to_pad deprecated. Will be removed. Let me know if it is needed"
|
934
998
|
smr = smaxrow()
|
935
999
|
if smr >= @window.smaxrow()
|
936
1000
|
smr = @window.smaxrow()-1
|