rbcurse 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +13 -0
- data/History.txt +12 -0
- data/Manifest.txt +19 -18
- data/README.txt +2 -1
- data/examples/sqlc.rb +34 -11
- data/lib/rbcurse.rb +1 -1
- data/lib/rbcurse/rlistbox.rb +3 -1
- data/lib/rbcurse/rtextarea.rb +1 -0
- metadata +20 -20
data/CHANGELOG
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
** 2009-02-22 20:48 **
|
2
|
+
|
3
|
+
## Released 0.1.2 ##
|
4
|
+
|
5
|
+
- search in textview with wrap, case insensitive, highlighting searched text
|
6
|
+
- table can have nil data
|
7
|
+
- tabbed pane has ok_cancel button, ok by default
|
8
|
+
- table autosizing - required for adhoc queries
|
9
|
+
- table horizontal scrolling
|
10
|
+
- editing when more columns than viewable in table
|
11
|
+
- confirm dialog, normal mnemonics for buttons
|
12
|
+
|
13
|
+
* * *
|
1
14
|
** 2009-02-17 12:10 **
|
2
15
|
## added table markers for data and columns before and after on border ##
|
3
16
|
|
data/History.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 0.1.2 / 2009-02-22
|
2
|
+
|
3
|
+
* Minor enhancements
|
4
|
+
|
5
|
+
* search in textview with wrap, case insensitive, highlighting searched text
|
6
|
+
* table can have nil data
|
7
|
+
* tabbed pane has ok_cancel button, ok by default
|
8
|
+
* table autosizing - required for adhoc queries
|
9
|
+
* table horizontal scrolling
|
10
|
+
* editing when more columns than viewable in table
|
11
|
+
* confirm dialog, normal mnemonics for buttons
|
12
|
+
|
1
13
|
=== 0.1.1 / 2009-02-12
|
2
14
|
|
3
15
|
* Bugfix
|
data/Manifest.txt
CHANGED
@@ -1,10 +1,25 @@
|
|
1
|
+
CHANGELOG
|
1
2
|
History.txt
|
2
3
|
Manifest.txt
|
3
4
|
README.txt
|
4
|
-
CHANGELOG
|
5
5
|
Rakefile
|
6
|
+
examples/qdfilechooser.rb
|
7
|
+
examples/rfe.rb
|
8
|
+
examples/rfe_renderer.rb
|
9
|
+
examples/sqlc.rb
|
10
|
+
examples/test1.rb
|
11
|
+
examples/test2.rb
|
12
|
+
examples/testcombo.rb
|
13
|
+
examples/testd.db
|
14
|
+
examples/testkeypress.rb
|
15
|
+
examples/testmenu.rb
|
16
|
+
examples/testtable.rb
|
17
|
+
examples/testtabp.rb
|
18
|
+
examples/testtodo.rb
|
19
|
+
examples/todocsv.csv
|
20
|
+
examples/viewtodo.rb
|
21
|
+
lib/rbcurse.rb
|
6
22
|
lib/rbcurse.rb
|
7
|
-
test/test_rbcurse.rb
|
8
23
|
lib/rbcurse/action.rb
|
9
24
|
lib/rbcurse/applicationheader.rb
|
10
25
|
lib/rbcurse/celleditor.rb
|
@@ -35,23 +50,9 @@ lib/rbcurse/scrollable.rb
|
|
35
50
|
lib/rbcurse/selectable.rb
|
36
51
|
lib/rbcurse/table/tablecellrenderer.rb
|
37
52
|
lib/rbcurse/table/tabledatecellrenderer.rb
|
38
|
-
lib/rbcurse.rb
|
39
53
|
lib/ver/keyboard.rb
|
40
54
|
lib/ver/keyboard2.rb
|
41
55
|
lib/ver/ncurses.rb
|
42
56
|
lib/ver/window.rb
|
43
|
-
|
44
|
-
|
45
|
-
examples/rfe_renderer.rb
|
46
|
-
examples/sqlc.rb
|
47
|
-
examples/test1.rb
|
48
|
-
examples/test2.rb
|
49
|
-
examples/testcombo.rb
|
50
|
-
examples/testd.db
|
51
|
-
examples/testkeypress.rb
|
52
|
-
examples/testmenu.rb
|
53
|
-
examples/testtable.rb
|
54
|
-
examples/testtabp.rb
|
55
|
-
examples/testtodo.rb
|
56
|
-
examples/todocsv.csv
|
57
|
-
examples/viewtodo.rb
|
57
|
+
test/test_rbcurse.rb
|
58
|
+
|
data/README.txt
CHANGED
@@ -50,8 +50,9 @@ Above may be created using DSL like syntax, or hashes.
|
|
50
50
|
|
51
51
|
== Sample programs:
|
52
52
|
|
53
|
+
* sqlc.rb is a ruby sql client demo
|
53
54
|
* rfe : file explorer or Finder like app
|
54
|
-
* testtodo.rb : a todo app based on a yaml file
|
55
|
+
* testtodo.rb : a todo app based on a yaml file (now csv)
|
55
56
|
* test2.rb most widgets (including menus)
|
56
57
|
* test1.rb various kinds of messageboxes (input, list, custom)
|
57
58
|
* testtabp.rb tabbed pane
|
data/examples/sqlc.rb
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
## rahul kumar, 2009
|
2
|
+
# to demonstrate usage of rbcurse
|
3
|
+
# Use C-q to quit
|
4
|
+
#
|
1
5
|
require 'rubygems'
|
2
6
|
require 'ncurses'
|
3
7
|
require 'logger'
|
@@ -143,7 +147,7 @@ class Sqlc
|
|
143
147
|
def run
|
144
148
|
title = "rbcurse"
|
145
149
|
@header = ApplicationHeader.new @form, title, {:text2=>"Demo", :text_center=>"SQL Client"}
|
146
|
-
status_row = RubyCurses::Label.new @form, {'text' => "", :row => Ncurses.LINES-4, :col => 0, :display_length=>
|
150
|
+
status_row = RubyCurses::Label.new @form, {'text' => "", :row => Ncurses.LINES-4, :col => 0, :display_length=>70}
|
147
151
|
@status_row = status_row
|
148
152
|
# setting ENTER across all objects on a form
|
149
153
|
@form.bind(:ENTER) {|f| status_row.text = f.help_text unless f.help_text.nil? }
|
@@ -190,23 +194,20 @@ class Sqlc
|
|
190
194
|
}
|
191
195
|
|
192
196
|
# using ampersand to set mnemonic
|
193
|
-
|
194
|
-
|
195
|
-
text "&
|
197
|
+
|
198
|
+
b_construct = Button.new @form do
|
199
|
+
text "Constr&uct"
|
196
200
|
row buttrow
|
197
201
|
col c+25
|
198
202
|
#bind(:ENTER) { status_row.text "Deletes focussed row" }
|
199
|
-
help_text ""
|
203
|
+
help_text "Select a table, select columns and press this to construct an SQL"
|
200
204
|
end
|
201
|
-
|
202
|
-
|
203
|
-
}
|
204
|
-
=end
|
205
|
-
Button.button_layout [b_run, b_clear], buttrow, startcol=5, cols=Ncurses.COLS-1, gap=5
|
205
|
+
|
206
|
+
Button.button_layout [b_run, b_clear, b_construct], buttrow, startcol=5, cols=Ncurses.COLS-1, gap=5
|
206
207
|
|
207
208
|
table_ht = 15
|
208
209
|
atable = Table.new @form do
|
209
|
-
name "
|
210
|
+
name "sqltable"
|
210
211
|
row buttrow+1
|
211
212
|
col c
|
212
213
|
width t_width
|
@@ -283,6 +284,7 @@ class Sqlc
|
|
283
284
|
#show_selector true
|
284
285
|
title "Tables"
|
285
286
|
title_attrib 'reverse'
|
287
|
+
help_text "Press ENTER to run * query, Space to select columns"
|
286
288
|
end
|
287
289
|
#tablelist.bind(:PRESS) { |alist| @status_row.text = "Selected #{alist.current_index}" }
|
288
290
|
tablelist.list_selection_model().bind(:LIST_SELECTION_EVENT,tablelist) { |lsm, alist| @status_row.text = "Selected #{alist.current_index}" }
|
@@ -301,6 +303,7 @@ class Sqlc
|
|
301
303
|
#show_selector true
|
302
304
|
title "Columns"
|
303
305
|
title_attrib 'reverse'
|
306
|
+
help_text "Press ENTER to append columns to sqlarea, Space to select"
|
304
307
|
end
|
305
308
|
tablelist.bind_key(32) {
|
306
309
|
@status_row.text = "Selected #{tablelist.get_content()[tablelist.current_index]}"
|
@@ -313,6 +316,26 @@ class Sqlc
|
|
313
316
|
table = "#{tablelist.get_content()[tablelist.current_index]}"
|
314
317
|
run_query "select * from #{table}"
|
315
318
|
}
|
319
|
+
columnlist.bind_key(13) {
|
320
|
+
# append column name to sqlarea if ENTER pressed
|
321
|
+
column = "#{columnlist.get_content()[columnlist.current_index]}"
|
322
|
+
sqlarea << "#{column},"
|
323
|
+
}
|
324
|
+
columnlist.bind_key(32) {
|
325
|
+
# select row
|
326
|
+
columnlist.toggle_row_selection
|
327
|
+
column = "#{columnlist.get_content()[columnlist.current_index]}"
|
328
|
+
}
|
329
|
+
b_construct.command {
|
330
|
+
table = "#{tablelist.get_content()[tablelist.current_index]}"
|
331
|
+
indexes = columnlist.selected_rows()
|
332
|
+
columns=[]
|
333
|
+
indexes.each do |i|
|
334
|
+
columns << columnlist.get_content()[i]
|
335
|
+
end
|
336
|
+
sql = "select #{columns.join(',')} from #{table}"
|
337
|
+
sqlarea << sql
|
338
|
+
}
|
316
339
|
|
317
340
|
|
318
341
|
@form.repaint
|
data/lib/rbcurse.rb
CHANGED
data/lib/rbcurse/rlistbox.rb
CHANGED
@@ -102,7 +102,9 @@ module RubyCurses
|
|
102
102
|
def delete obj
|
103
103
|
off0 = @list.index obj
|
104
104
|
return nil if off0.nil?
|
105
|
-
|
105
|
+
# 2009-11-04 11:33 next line corrected to delete_at
|
106
|
+
#ret=@list.delete off0
|
107
|
+
ret=@list.delete_at off0
|
106
108
|
lde = ListDataEvent.new(off0, off0, self, :INTERVAL_REMOVED)
|
107
109
|
fire_handler :LIST_DATA_EVENT, lde
|
108
110
|
return ret
|
data/lib/rbcurse/rtextarea.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbcurse
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rahul Kumar
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-11-04 00:00:00 +05:30
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version:
|
23
|
+
version: 2.3.3
|
24
24
|
version:
|
25
25
|
description: Ruby curses widgets for easy application development
|
26
26
|
email: sentinel.2001@gmx.com
|
@@ -33,13 +33,27 @@ extra_rdoc_files:
|
|
33
33
|
- Manifest.txt
|
34
34
|
- README.txt
|
35
35
|
files:
|
36
|
+
- CHANGELOG
|
36
37
|
- History.txt
|
37
38
|
- Manifest.txt
|
38
39
|
- README.txt
|
39
|
-
- CHANGELOG
|
40
40
|
- Rakefile
|
41
|
+
- examples/qdfilechooser.rb
|
42
|
+
- examples/rfe.rb
|
43
|
+
- examples/rfe_renderer.rb
|
44
|
+
- examples/sqlc.rb
|
45
|
+
- examples/test1.rb
|
46
|
+
- examples/test2.rb
|
47
|
+
- examples/testcombo.rb
|
48
|
+
- examples/testd.db
|
49
|
+
- examples/testkeypress.rb
|
50
|
+
- examples/testmenu.rb
|
51
|
+
- examples/testtable.rb
|
52
|
+
- examples/testtabp.rb
|
53
|
+
- examples/testtodo.rb
|
54
|
+
- examples/todocsv.csv
|
55
|
+
- examples/viewtodo.rb
|
41
56
|
- lib/rbcurse.rb
|
42
|
-
- test/test_rbcurse.rb
|
43
57
|
- lib/rbcurse/action.rb
|
44
58
|
- lib/rbcurse/applicationheader.rb
|
45
59
|
- lib/rbcurse/celleditor.rb
|
@@ -74,21 +88,7 @@ files:
|
|
74
88
|
- lib/ver/keyboard2.rb
|
75
89
|
- lib/ver/ncurses.rb
|
76
90
|
- lib/ver/window.rb
|
77
|
-
-
|
78
|
-
- examples/rfe.rb
|
79
|
-
- examples/rfe_renderer.rb
|
80
|
-
- examples/sqlc.rb
|
81
|
-
- examples/test1.rb
|
82
|
-
- examples/test2.rb
|
83
|
-
- examples/testcombo.rb
|
84
|
-
- examples/testd.db
|
85
|
-
- examples/testkeypress.rb
|
86
|
-
- examples/testmenu.rb
|
87
|
-
- examples/testtable.rb
|
88
|
-
- examples/testtabp.rb
|
89
|
-
- examples/testtodo.rb
|
90
|
-
- examples/todocsv.csv
|
91
|
-
- examples/viewtodo.rb
|
91
|
+
- test/test_rbcurse.rb
|
92
92
|
has_rdoc: true
|
93
93
|
homepage: http://rbcurse.rubyforge.org/
|
94
94
|
post_install_message:
|