rndk 0.2.0 → 1.0.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.
- checksums.yaml +4 -4
- data/README.md +13 -4
- data/TODO +21 -1
- data/demos/appointment.rb +279 -299
- data/demos/clock.rb +13 -8
- data/demos/rss-reader.rb +84 -0
- data/examples/01-hello-world.rb +13 -11
- data/examples/02-colors.rb +14 -21
- data/examples/03-markup.rb +7 -7
- data/examples/04-quick-widgets.rb +2 -2
- data/examples/05-position-widget.rb +50 -31
- data/examples/06-callbacks.rb +77 -0
- data/examples/07-traverse.rb +90 -0
- data/examples/10-all-widgets.rb +165 -0
- data/examples/calendar.rb +20 -32
- data/examples/entry.rb +15 -20
- data/examples/label.rb +11 -11
- data/examples/scroll.rb +16 -60
- data/examples/slider.rb +18 -19
- data/examples/viewer.rb +65 -0
- data/lib/rndk.rb +28 -7
- data/lib/rndk/alphalist.rb +309 -313
- data/lib/rndk/button.rb +239 -157
- data/lib/rndk/buttonbox.rb +136 -103
- data/lib/rndk/calendar.rb +246 -203
- data/lib/rndk/core/color.rb +63 -13
- data/lib/rndk/core/display.rb +1 -1
- data/lib/rndk/core/draw.rb +11 -11
- data/lib/rndk/core/markup.rb +21 -21
- data/lib/rndk/core/quick_widgets.rb +75 -96
- data/lib/rndk/core/screen.rb +145 -102
- data/lib/rndk/core/traverse.rb +150 -136
- data/lib/rndk/core/utils.rb +5 -6
- data/lib/rndk/core/widget.rb +207 -191
- data/lib/rndk/core/widget_bind.rb +108 -0
- data/lib/rndk/dialog.rb +88 -56
- data/lib/rndk/entry.rb +79 -64
- data/lib/rndk/fscale.rb +38 -20
- data/lib/rndk/fslider.rb +38 -23
- data/lib/rndk/graph.rb +92 -53
- data/lib/rndk/itemlist.rb +80 -62
- data/lib/rndk/label.rb +111 -77
- data/lib/rndk/radio.rb +138 -128
- data/lib/rndk/scale.rb +123 -122
- data/lib/rndk/scroll.rb +444 -391
- data/lib/rndk/scroller.rb +21 -21
- data/lib/rndk/slider.rb +149 -140
- data/lib/rndk/template.rb +74 -61
- data/lib/rndk/version.rb +1 -1
- data/lib/rndk/viewer.rb +499 -298
- metadata +8 -14
- data/demos/fileview.rb +0 -141
- data/lib/rndk/dscale.rb +0 -13
- data/lib/rndk/fselect.rb +0 -938
- data/lib/rndk/histogram.rb +0 -412
- data/lib/rndk/marquee.rb +0 -244
- data/lib/rndk/matrix.rb +0 -1189
- data/lib/rndk/mentry.rb +0 -619
- data/lib/rndk/menu.rb +0 -478
- data/lib/rndk/selection.rb +0 -630
- data/lib/rndk/swindow.rb +0 -766
- data/lib/rndk/uscale.rb +0 -14
- data/lib/rndk/uslider.rb +0 -14
data/lib/rndk/core/color.rb
CHANGED
@@ -22,16 +22,42 @@ module RNDK
|
|
22
22
|
# color = RNDK::Color[:default_background]
|
23
23
|
# color = RNDK::Color[:foreground]
|
24
24
|
#
|
25
|
+
# Also, there are special color modifiers. They change how
|
26
|
+
# the color appears and can make some interesting effects:
|
27
|
+
#
|
28
|
+
# * RNDK::Color[:normal]
|
29
|
+
# * RNDK::Color[:bold]
|
30
|
+
# * RNDK::Color[:reverse]
|
31
|
+
# * RNDK::Color[:underline]
|
32
|
+
# * RNDK::Color[:blink]
|
33
|
+
# * RNDK::Color[:dim]
|
34
|
+
# * RNDK::Color[:invisible]
|
35
|
+
# * RNDK::Color[:standout]
|
36
|
+
#
|
37
|
+
# To apply them, "add" to the regular colors with the
|
38
|
+
# pipe ('|'):
|
39
|
+
#
|
40
|
+
# color = RNDK::Color[:red] | RNDK::Color[:bold]
|
41
|
+
#
|
25
42
|
# ## Examples
|
26
43
|
#
|
27
|
-
|
28
|
-
#
|
29
|
-
#
|
30
|
-
#
|
44
|
+
#```
|
45
|
+
# wb = Color[:white_black]
|
46
|
+
# gm = Color[:green_magenta]
|
47
|
+
# red = Color[:red]
|
48
|
+
# bl = Color[:default_black]
|
49
|
+
# x = RNDK::Color[:blue_yellow] | RNDK::Color[:reverse] # guess what?
|
50
|
+
# y = RNDK::Color[:cyan] | RNDK::Color[:invisible] # opps
|
51
|
+
#```
|
31
52
|
#
|
32
53
|
# ## Developer Notes
|
33
54
|
#
|
34
|
-
# Color#init creates 80 color pairs.
|
55
|
+
# Color#init creates 80 color pairs. Neat!
|
56
|
+
#
|
57
|
+
# Also, to extract attributes from a chtype (mix between
|
58
|
+
# characters and ncurses colors) use
|
59
|
+
#
|
60
|
+
# chtype & RNDK::Color[:extract]
|
35
61
|
#
|
36
62
|
module Color
|
37
63
|
|
@@ -43,6 +69,27 @@ module RNDK
|
|
43
69
|
# They're defined on Color#init.
|
44
70
|
@@colors = {}
|
45
71
|
|
72
|
+
# These special attributes exist even if no color
|
73
|
+
# were initialized.
|
74
|
+
#
|
75
|
+
# They modify the way colors show on the screen.
|
76
|
+
|
77
|
+
@@attributes = {
|
78
|
+
:normal => Ncurses::A_NORMAL,
|
79
|
+
:bold => Ncurses::A_BOLD,
|
80
|
+
:reverse => Ncurses::A_REVERSE,
|
81
|
+
:underline => Ncurses::A_UNDERLINE,
|
82
|
+
:blink => Ncurses::A_BLINK,
|
83
|
+
:dim => Ncurses::A_DIM,
|
84
|
+
:invisible => Ncurses::A_INVIS,
|
85
|
+
:standout => Ncurses::A_STANDOUT,
|
86
|
+
|
87
|
+
# To extract attributes from a chtype (mix between
|
88
|
+
# characters and ncurses colors) use
|
89
|
+
# `chtype & RNDK::Color[:extract]
|
90
|
+
:extract => Ncurses::A_ATTRIBUTES
|
91
|
+
}
|
92
|
+
|
46
93
|
# Start support for colors, initializing all color pairs.
|
47
94
|
def self.init
|
48
95
|
return unless self.has_colors?
|
@@ -117,18 +164,21 @@ module RNDK
|
|
117
164
|
Ncurses.has_colors
|
118
165
|
end
|
119
166
|
|
120
|
-
# Access individual color pairs.
|
167
|
+
# Access individual color pairs or attributes.
|
121
168
|
#
|
122
|
-
# If colors were not initialized
|
123
|
-
# over default background
|
169
|
+
# If colors were not initialized and user request colors,
|
170
|
+
# returns **white foreground over default background**.
|
124
171
|
#
|
125
|
-
# @return Ncurses `COLOR_PAIR` over `label` color.
|
126
172
|
def self.[] label
|
127
|
-
|
128
|
-
|
129
|
-
end
|
173
|
+
if @@attributes.include? label
|
174
|
+
@@attributes[label]
|
130
175
|
|
131
|
-
|
176
|
+
elsif @@colors.include? label
|
177
|
+
Ncurses.COLOR_PAIR @@colors[label]
|
178
|
+
|
179
|
+
else
|
180
|
+
Ncurses.COLOR_PAIR 0
|
181
|
+
end
|
132
182
|
end
|
133
183
|
|
134
184
|
end
|
data/lib/rndk/core/display.rb
CHANGED
data/lib/rndk/core/draw.rb
CHANGED
@@ -71,12 +71,12 @@ module RNDK
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
-
# Draw a box around the given window using the
|
74
|
+
# Draw a box around the given window using the widget's defined
|
75
75
|
# line-drawing characters
|
76
|
-
def Draw.drawObjBox(win,
|
76
|
+
def Draw.drawObjBox(win, widget)
|
77
77
|
Draw.attrbox(win,
|
78
|
-
|
79
|
-
|
78
|
+
widget.ULChar, widget.URChar, widget.LLChar, widget.LRChar,
|
79
|
+
widget.HZChar, widget.VTChar, widget.BXAttr)
|
80
80
|
end
|
81
81
|
|
82
82
|
# This draws a line on the given window. (odd angle lines not working yet)
|
@@ -135,14 +135,14 @@ module RNDK
|
|
135
135
|
y_hi = Ncurses.getmaxy(shadow_win) - 1
|
136
136
|
|
137
137
|
# Draw the line on the bottom.
|
138
|
-
Ncurses.mvwhline(shadow_win, y_hi, 1, Ncurses::ACS_HLINE |
|
138
|
+
Ncurses.mvwhline(shadow_win, y_hi, 1, Ncurses::ACS_HLINE | RNDK::Color[:dim], x_hi)
|
139
139
|
|
140
140
|
# Draw the line on teh right.
|
141
|
-
Ncurses.mvwvline(shadow_win, 0, x_hi, Ncurses::ACS_VLINE |
|
141
|
+
Ncurses.mvwvline(shadow_win, 0, x_hi, Ncurses::ACS_VLINE | RNDK::Color[:dim], y_hi)
|
142
142
|
|
143
|
-
Ncurses.mvwaddch(shadow_win, 0, x_hi, Ncurses::ACS_URCORNER |
|
144
|
-
Ncurses.mvwaddch(shadow_win, y_hi, 0, Ncurses::ACS_LLCORNER |
|
145
|
-
Ncurses.mvwaddch(shadow_win, y_hi, x_hi, Ncurses::ACS_LRCORNER |
|
143
|
+
Ncurses.mvwaddch(shadow_win, 0, x_hi, Ncurses::ACS_URCORNER | RNDK::Color[:dim])
|
144
|
+
Ncurses.mvwaddch(shadow_win, y_hi, 0, Ncurses::ACS_LLCORNER | RNDK::Color[:dim])
|
145
|
+
Ncurses.mvwaddch(shadow_win, y_hi, x_hi, Ncurses::ACS_LRCORNER | RNDK::Color[:dim])
|
146
146
|
Ncurses.wrefresh shadow_win
|
147
147
|
end
|
148
148
|
end
|
@@ -160,7 +160,7 @@ module RNDK
|
|
160
160
|
|
161
161
|
# This writes out a char string with no attributes
|
162
162
|
def Draw.writeChar(window, xpos, ypos, string, align, start, endn)
|
163
|
-
Draw.writeCharAttrib(window, xpos, ypos, string,
|
163
|
+
Draw.writeCharAttrib(window, xpos, ypos, string, RNDK::Color[:normal],
|
164
164
|
align, start, endn)
|
165
165
|
end
|
166
166
|
|
@@ -186,7 +186,7 @@ module RNDK
|
|
186
186
|
|
187
187
|
# This writes out a chtype string
|
188
188
|
def Draw.writeChtype (window, xpos, ypos, string, align, start, endn)
|
189
|
-
Draw.writeChtypeAttrib(window, xpos, ypos, string,
|
189
|
+
Draw.writeChtypeAttrib(window, xpos, ypos, string, RNDK::Color[:normal],
|
190
190
|
align, start, endn)
|
191
191
|
end
|
192
192
|
|
data/lib/rndk/core/markup.rb
CHANGED
@@ -150,6 +150,10 @@
|
|
150
150
|
|
151
151
|
module RNDK
|
152
152
|
|
153
|
+
def RNDK.char_of chtype
|
154
|
+
(chtype.ord & 255).chr
|
155
|
+
end
|
156
|
+
|
153
157
|
# Takes a String full of format markers and translates it
|
154
158
|
# into a chtype array.
|
155
159
|
#
|
@@ -166,7 +170,7 @@ module RNDK
|
|
166
170
|
# The original code makes two passes since it has to pre-allocate space but
|
167
171
|
# we should be able to make do with one since we can dynamically size it
|
168
172
|
adjust = 0
|
169
|
-
attrib =
|
173
|
+
attrib = RNDK::Color[:normal]
|
170
174
|
last_char = 0
|
171
175
|
start = 0
|
172
176
|
used = 0
|
@@ -188,7 +192,7 @@ module RNDK
|
|
188
192
|
|
189
193
|
# Pull out the bullet marker.
|
190
194
|
while x < string.size and string[x] != R_MARKER
|
191
|
-
result << (string[x].ord |
|
195
|
+
result << (string[x].ord | RNDK::Color[:bold])
|
192
196
|
x += 1
|
193
197
|
end
|
194
198
|
adjust = 1
|
@@ -386,10 +390,6 @@ module RNDK
|
|
386
390
|
end
|
387
391
|
end
|
388
392
|
|
389
|
-
def RNDK.CharOf chtype
|
390
|
-
(chtype.ord & 255).chr
|
391
|
-
end
|
392
|
-
|
393
393
|
# This returns a string from a chtype array
|
394
394
|
# Formatting codes are omitted.
|
395
395
|
def RNDK.chtype2Char(string)
|
@@ -397,7 +397,7 @@ module RNDK
|
|
397
397
|
|
398
398
|
unless string.nil?
|
399
399
|
string.each do |char|
|
400
|
-
newstring << RNDK.
|
400
|
+
newstring << RNDK.char_of(char)
|
401
401
|
end
|
402
402
|
end
|
403
403
|
|
@@ -448,17 +448,17 @@ module RNDK
|
|
448
448
|
mask << 0
|
449
449
|
case string[from + 1]
|
450
450
|
when 'B'
|
451
|
-
mask[0] =
|
451
|
+
mask[0] = RNDK::Color[:bold]
|
452
452
|
when 'D'
|
453
|
-
mask[0] =
|
453
|
+
mask[0] = RNDK::Color[:dim]
|
454
454
|
when 'K'
|
455
|
-
mask[0] =
|
455
|
+
mask[0] = RNDK::Color[:blink]
|
456
456
|
when 'R'
|
457
|
-
mask[0] =
|
457
|
+
mask[0] = RNDK::Color[:reverse]
|
458
458
|
when 'S'
|
459
|
-
mask[0] =
|
459
|
+
mask[0] = RNDK::Color[:standout]
|
460
460
|
when 'U'
|
461
|
-
mask[0] =
|
461
|
+
mask[0] = RNDK::Color[:underline]
|
462
462
|
end
|
463
463
|
|
464
464
|
if mask[0] != 0
|
@@ -494,19 +494,19 @@ module RNDK
|
|
494
494
|
# Also, alignment markers and tabs are lost.
|
495
495
|
def RNDK.decodeAttribute (string, from, oldattr, newattr)
|
496
496
|
table = {
|
497
|
-
'B' =>
|
498
|
-
'D' =>
|
499
|
-
'K' =>
|
500
|
-
'R' =>
|
501
|
-
'S' =>
|
502
|
-
'U' =>
|
497
|
+
'B' => RNDK::Color[:bold],
|
498
|
+
'D' => RNDK::Color[:dim],
|
499
|
+
'K' => RNDK::Color[:blink],
|
500
|
+
'R' => RNDK::Color[:reverse],
|
501
|
+
'S' => RNDK::Color[:standout],
|
502
|
+
'U' => RNDK::Color[:underline]
|
503
503
|
}
|
504
504
|
|
505
505
|
result = if string.nil? then '' else string end
|
506
506
|
base_len = result.size
|
507
|
-
tmpattr = oldattr &
|
507
|
+
tmpattr = oldattr & RNDK::Color[:extract]
|
508
508
|
|
509
|
-
newattr &=
|
509
|
+
newattr &= RNDK::Color[:extract]
|
510
510
|
if tmpattr != newattr
|
511
511
|
while tmpattr != newattr
|
512
512
|
found = false
|
@@ -7,9 +7,9 @@
|
|
7
7
|
#
|
8
8
|
# For example:
|
9
9
|
#
|
10
|
-
#
|
10
|
+
# screen = RNDK::Screen.new
|
11
11
|
# message = ["awesome quick label!"]
|
12
|
-
#
|
12
|
+
# screen.popup_label message
|
13
13
|
#
|
14
14
|
|
15
15
|
# Since I'm including a lot of widgets here, maybe I
|
@@ -44,17 +44,19 @@ module RNDK
|
|
44
44
|
# Creates a centered pop-up Label Widget that
|
45
45
|
# waits until the user hits a character.
|
46
46
|
#
|
47
|
-
# @note: `message` must be an
|
47
|
+
# @note: `message` must be a String or an Array of Strings.
|
48
48
|
def popup_label message
|
49
|
-
return if message.class != Array or message.empty?
|
50
|
-
|
51
49
|
self.cleanly do
|
52
|
-
popup = RNDK::Label.new(self,
|
53
|
-
|
50
|
+
popup = RNDK::Label.new(self, {
|
51
|
+
:x => RNDK::CENTER,
|
52
|
+
:y => RNDK::CENTER,
|
53
|
+
:text => message
|
54
|
+
})
|
55
|
+
popup.draw
|
54
56
|
|
55
57
|
# Wait for some input.
|
56
58
|
Ncurses.keypad(popup.win, true)
|
57
|
-
popup.getch
|
59
|
+
popup.getch
|
58
60
|
popup.destroy
|
59
61
|
end
|
60
62
|
end
|
@@ -63,18 +65,20 @@ module RNDK
|
|
63
65
|
# the background of the dialog.
|
64
66
|
#
|
65
67
|
# @note: `message` must be an array of strings.
|
66
|
-
def
|
67
|
-
return if message.class != Array or message.empty?
|
68
|
-
|
68
|
+
def popup_label_color(message, attrib)
|
69
69
|
self.cleanly do
|
70
|
-
popup = RNDK::Label.new(self,
|
71
|
-
|
72
|
-
|
70
|
+
popup = RNDK::Label.new(self, {
|
71
|
+
:x => RNDK::CENTER,
|
72
|
+
:y => RNDK::CENTER,
|
73
|
+
:text => message
|
74
|
+
})
|
75
|
+
|
76
|
+
popup.set_bg_color attrib
|
77
|
+
popup.draw
|
73
78
|
|
74
79
|
# Wait for some input
|
75
80
|
Ncurses.keypad(popup.win, true)
|
76
|
-
popup.getch
|
77
|
-
|
81
|
+
popup.getch
|
78
82
|
popup.destroy
|
79
83
|
end
|
80
84
|
end
|
@@ -87,22 +91,19 @@ module RNDK
|
|
87
91
|
#
|
88
92
|
# @note: `message` and `buttons` must be Arrays of Strings.
|
89
93
|
def popup_dialog(message, buttons)
|
90
|
-
return nil if message.
|
91
|
-
return nil if buttons.class != Array or buttons.empty?
|
94
|
+
return nil if message.empty? or buttons.empty?
|
92
95
|
|
93
96
|
choice = 0
|
94
97
|
self.cleanly do
|
95
|
-
popup = RNDK::
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
popup.draw(true)
|
105
|
-
choice = popup.activate('')
|
98
|
+
popup = RNDK::Dialog.new(self, {
|
99
|
+
:x => RNDK::CENTER,
|
100
|
+
:y => RNDK::CENTER,
|
101
|
+
:text => message,
|
102
|
+
:buttons => buttons
|
103
|
+
})
|
104
|
+
|
105
|
+
popup.draw
|
106
|
+
choice = popup.activate
|
106
107
|
popup.destroy
|
107
108
|
end
|
108
109
|
choice
|
@@ -124,27 +125,23 @@ module RNDK
|
|
124
125
|
selected = -1
|
125
126
|
|
126
127
|
# Create the file viewer to view the file selected.
|
127
|
-
viewer = RNDK::
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
true,
|
136
|
-
true)
|
128
|
+
viewer = RNDK::Viewer.new(self, {
|
129
|
+
:x => RNDK::CENTER,
|
130
|
+
:y => RNDK::CENTER,
|
131
|
+
:width => -6,
|
132
|
+
:height => -16,
|
133
|
+
:buttons => buttons,
|
134
|
+
:shadow => true
|
135
|
+
})
|
137
136
|
|
138
137
|
# Set up the viewer title, and the contents of the widget.
|
139
|
-
viewer.set(
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
true,
|
145
|
-
true)
|
138
|
+
viewer.set({
|
139
|
+
:title => title,
|
140
|
+
:items => info,
|
141
|
+
:hide_control_chars => hide_control_chars
|
142
|
+
})
|
146
143
|
|
147
|
-
selected = viewer.activate
|
144
|
+
selected = viewer.activate
|
148
145
|
|
149
146
|
# Make sure they exited normally.
|
150
147
|
if viewer.exit_type != :NORMAL
|
@@ -172,7 +169,7 @@ module RNDK
|
|
172
169
|
result = 0
|
173
170
|
|
174
171
|
# Open the file and read the contents.
|
175
|
-
lines = RNDK.read_file
|
172
|
+
lines = RNDK.read_file filename
|
176
173
|
|
177
174
|
# If we couldn't read the file, return an error.
|
178
175
|
if lines == -1
|
@@ -194,24 +191,16 @@ module RNDK
|
|
194
191
|
#
|
195
192
|
def select_file title
|
196
193
|
|
197
|
-
fselect = RNDK::
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
'</5>',
|
208
|
-
'</48>',
|
209
|
-
'</N>',
|
210
|
-
'</N>',
|
211
|
-
true,
|
212
|
-
false)
|
213
|
-
|
214
|
-
filename = fselect.activate([])
|
194
|
+
fselect = RNDK::Fselect.new(self, {
|
195
|
+
:x => RNDK::CENTER,
|
196
|
+
:y => RNDK::CENTER,
|
197
|
+
:width =>-20,
|
198
|
+
:height => -4,
|
199
|
+
:title => title,
|
200
|
+
:label => 'File: '
|
201
|
+
})
|
202
|
+
|
203
|
+
filename = fselect.activate
|
215
204
|
|
216
205
|
# Check the way the user exited the selector.
|
217
206
|
if fselect.exit_type != :NORMAL
|
@@ -254,24 +243,21 @@ module RNDK
|
|
254
243
|
width = [width, title.size].max
|
255
244
|
width += 5
|
256
245
|
|
257
|
-
scrollp = RNDK::Scroll.new(self,
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
Ncurses::A_REVERSE,
|
267
|
-
true,
|
268
|
-
false)
|
246
|
+
scrollp = RNDK::Scroll.new(self, {
|
247
|
+
:x => RNDK::CENTER,
|
248
|
+
:y => RNDK::CENTER,
|
249
|
+
:width => width,
|
250
|
+
:height => height,
|
251
|
+
:title => title,
|
252
|
+
:items => list,
|
253
|
+
:numbers => numbers
|
254
|
+
})
|
269
255
|
if scrollp.nil?
|
270
256
|
self.refresh
|
271
257
|
return -1
|
272
258
|
end
|
273
259
|
|
274
|
-
selected = scrollp.activate
|
260
|
+
selected = scrollp.activate
|
275
261
|
|
276
262
|
# Check how they exited.
|
277
263
|
if scrollp.exit_type != :NORMAL
|
@@ -290,23 +276,16 @@ module RNDK
|
|
290
276
|
# `title`, `label` and `initial_text` are passed to the Widget.
|
291
277
|
def get_string(title, label, initial_text="")
|
292
278
|
|
293
|
-
widget = RNDK::Entry.new(self,
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
5000,
|
304
|
-
true,
|
305
|
-
false)
|
306
|
-
|
307
|
-
widget.set_text(initial_text)
|
308
|
-
|
309
|
-
value = widget.activate([])
|
279
|
+
widget = RNDK::Entry.new(self, {
|
280
|
+
:x => RNDK::CENTER,
|
281
|
+
:y => RNDK::CENTER,
|
282
|
+
:title => title,
|
283
|
+
:label => label,
|
284
|
+
:field_width => 40,
|
285
|
+
:initial_text => initial_text
|
286
|
+
})
|
287
|
+
|
288
|
+
value = widget.activate
|
310
289
|
|
311
290
|
# Make sure they exited normally.
|
312
291
|
if widget.exit_type != :NORMAL
|