rbcurse 1.5.0 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (104) hide show
  1. data/Makefile +21 -0
  2. data/Manifest.txt +6 -0
  3. data/README.markdown +6 -4
  4. data/TODO +372 -0
  5. data/TODO2.txt +121 -0
  6. data/VERSION +1 -1
  7. data/examples/README.txt +67 -0
  8. data/examples/abasiclist.rb +33 -0
  9. data/examples/alpmenu.rb +42 -0
  10. data/examples/app.rb +859 -0
  11. data/examples/app.sample +17 -0
  12. data/examples/appdirtree.rb +74 -0
  13. data/examples/appemail.rb +191 -0
  14. data/examples/appemaillb.rb +308 -0
  15. data/examples/appgcompose.rb +315 -0
  16. data/examples/atree.rb +64 -0
  17. data/examples/common/file.rb +40 -0
  18. data/examples/common/rmail.rb +257 -0
  19. data/examples/data.txt +683 -0
  20. data/examples/data/README.markdown +9 -0
  21. data/examples/data/brew.txt +38 -0
  22. data/examples/data/color.2 +37 -0
  23. data/examples/data/gemlist.txt +60 -0
  24. data/examples/data/lotr.txt +12 -0
  25. data/examples/data/ports.txt +136 -0
  26. data/examples/data/tasks.txt +27 -0
  27. data/examples/data/todocsv.csv +28 -0
  28. data/examples/data/unix1.txt +21 -0
  29. data/examples/data/unix2.txt +11 -0
  30. data/examples/dbdemo.rb +495 -0
  31. data/examples/deprecated/appgmail.rb +952 -0
  32. data/examples/deprecated/splitp.rb +56 -0
  33. data/examples/deprecated/testscrolllb.rb +86 -0
  34. data/examples/deprecated/testscrollp.rb +88 -0
  35. data/examples/deprecated/testscrollta.rb +80 -0
  36. data/examples/deprecated/testscrolltable.rb +165 -0
  37. data/examples/deprecated/testsplit.rb +87 -0
  38. data/examples/deprecated/testsplit2.rb +123 -0
  39. data/examples/deprecated/testsplit3.rb +215 -0
  40. data/examples/deprecated/testsplit3_1.rb +244 -0
  41. data/examples/deprecated/testsplit3a.rb +215 -0
  42. data/examples/deprecated/testsplit3b.rb +237 -0
  43. data/examples/deprecated/testsplitta.rb +148 -0
  44. data/examples/deprecated/testsplittv.rb +142 -0
  45. data/examples/deprecated/testsplittvv.rb +144 -0
  46. data/examples/deprecated/testtpane.rb +215 -0
  47. data/examples/deprecated/testtpane2.rb +145 -0
  48. data/examples/deprecated/testtpanetable.rb +203 -0
  49. data/examples/dirtree.rb +88 -0
  50. data/examples/experimental/resultsetdemo.rb +280 -0
  51. data/examples/experimental/testmform.rb +35 -0
  52. data/examples/experimental/testscroller.rb +117 -0
  53. data/examples/experimental/teststackflow.rb +111 -0
  54. data/examples/menu1.rb +112 -0
  55. data/examples/multispl.rb +86 -0
  56. data/examples/newmessagebox.rb +131 -0
  57. data/examples/newtabbedwindow.rb +100 -0
  58. data/examples/newtesttabp.rb +121 -0
  59. data/examples/qdfilechooser.rb +68 -0
  60. data/examples/rfe.rb +1239 -0
  61. data/examples/rfe_renderer.rb +121 -0
  62. data/examples/sqlc.rb +454 -0
  63. data/examples/sqlm.rb +437 -0
  64. data/examples/sqlt.rb +408 -0
  65. data/examples/status.txt +68 -0
  66. data/examples/table1.rb +24 -0
  67. data/examples/term2.rb +84 -0
  68. data/examples/test1.rb +239 -0
  69. data/examples/test2.rb +674 -0
  70. data/examples/testapp.rb +44 -0
  71. data/examples/testapp2.rb +58 -0
  72. data/examples/testchars.rb +137 -0
  73. data/examples/testcombo.rb +91 -0
  74. data/examples/testkeypress.rb +66 -0
  75. data/examples/testlistbox.rb +113 -0
  76. data/examples/testmenu.rb +101 -0
  77. data/examples/testmulticomp.rb +70 -0
  78. data/examples/testmulticontainer.rb +94 -0
  79. data/examples/testmultispl.rb +199 -0
  80. data/examples/testree.rb +106 -0
  81. data/examples/testtable.rb +264 -0
  82. data/examples/testtabp.rb +107 -0
  83. data/examples/testtodo.rb +584 -0
  84. data/examples/testvimsplit.rb +112 -0
  85. data/examples/testwsshortcuts.rb +64 -0
  86. data/examples/testwsshortcuts2.rb +126 -0
  87. data/examples/todo.db +0 -0
  88. data/examples/todo.yml +191 -0
  89. data/examples/viewtodo.rb +574 -0
  90. data/lib/rbcurse/deprecated/README.markdown +12 -0
  91. data/lib/rbcurse/deprecated/rpad.rb +375 -0
  92. data/lib/rbcurse/deprecated/rscrollpane.rb +512 -0
  93. data/lib/rbcurse/deprecated/rsplitpane.rb +894 -0
  94. data/lib/rbcurse/deprecated/rsplitpane2.rb +1009 -0
  95. data/lib/rbcurse/deprecated/rviewport.rb +204 -0
  96. data/lib/rbcurse/deprecated/widgets/mapper.rb +130 -0
  97. data/lib/rbcurse/deprecated/widgets/rmessagebox.rb +348 -0
  98. data/lib/rbcurse/deprecated/widgets/rtabbedpane.rb +1158 -0
  99. data/lib/rbcurse/deprecated/widgets/rtabbedwindow.rb +167 -0
  100. data/lib/rbcurse/deprecated/widgets/scrollable.rb +301 -0
  101. data/lib/rbcurse/deprecated/widgets/stdscrwindow.rb +309 -0
  102. data/lib/ver/keyboard2.rb +170 -0
  103. data/test/test_rbcurse.rb +0 -0
  104. metadata +131 -9
@@ -0,0 +1,35 @@
1
+ require 'rbcurse/core/util/app'
2
+ require 'rbcurse/experimental/widgets/multiform'
3
+
4
+ App.new do
5
+ header = app_header "rbcurse #{Rbcurse::VERSION}", :text_center => "My Demo", :text_right =>"New Improved!", :color => :black, :bgcolor => :white, :attr => :bold
6
+ message "Press F10 to exit from here, F1 for help, F2 for menu"
7
+
8
+ stack :margin_top => 2, :margin => 5, :width => 30 do
9
+
10
+ mf = MultiForm.new @form do
11
+ row 2
12
+ col 2
13
+ height 15
14
+ width 50
15
+
16
+ add_form "first" do |f|
17
+ f1 = Field.new f, :name => "f1", :row => 1, :col => 10, :display_length => 15, :color => :red, :bgcolor => :white
18
+ f2 = Field.new f, :name => "f2", :row => 2, :col => 10, :display_length => 15, :color => :cyan, :bgcolor => :red
19
+ f1.set_buffer "ABCD"
20
+ f2.set_buffer "1234a"
21
+ #add_to(0, f1)
22
+ #add_to(0, f2)
23
+ end
24
+ add_form "second" do |f|
25
+ f1 = Field.new f, :name => "f1", :row => 2, :col => 10, :display_length => 15, :color => :white, :bgcolor => :blue
26
+ f2 = Field.new f, :name => "F2", :row => 4, :col => 10, :display_length => 15, :color => :yellow, :bgcolor => :blue
27
+ f1.set_buffer "alpha"
28
+ f2.set_buffer "roger"
29
+ #add_to(0, f1)
30
+ #add_to(0, f2)
31
+ end
32
+ end
33
+
34
+ end # stack
35
+ end # app
@@ -0,0 +1,117 @@
1
+ #$LOAD_PATH << "/Users/rahul/work/projects/rbcurse/"
2
+ # this program tests out various widgets.
3
+ require 'rubygems'
4
+ #require 'ncurses' # FFI
5
+ require 'logger'
6
+ require 'rbcurse'
7
+ require 'rbcurse/core/widgets/rwidget'
8
+ require 'rbcurse/experimental/widgets/rscrollform'
9
+ #require 'rbcurse/core/widgets/rtextarea'
10
+ #require 'rbcurse/core/widgets/rtextview'
11
+ #require 'rbcurse/core/widgets/rmenu'
12
+ #require 'rbcurse/core/widgets/rcombo'
13
+ #require 'rbcurse/core/include/listcellrenderer'
14
+ #require 'rbcurse/extras/include/checkboxcellrenderer'
15
+ #require 'rbcurse/extras/include/comboboxcellrenderer'
16
+ #require 'rbcurse/extras/include/celleditor'
17
+ #require 'qdfilechooser'
18
+ #require 'rbcurse/extras/widgets/rlistbox'
19
+ #require 'rbcurse/deprecated/widgets/rmessagebox'
20
+ if $0 == __FILE__
21
+ include RubyCurses
22
+
23
+ begin
24
+ # Initialize curses
25
+ VER::start_ncurses # this is initializing colors via ColorMap.setup
26
+ $log = Logger.new((File.join(ENV["LOGDIR"] || "./" ,"rbc13.log")))
27
+ $log.level = Logger::DEBUG
28
+
29
+ #@window = VER::Window.root_window
30
+ # Initialize few color pairs
31
+ # Create the window to be associated with the form
32
+ # Un post form and free the memory
33
+
34
+ catch(:close) do
35
+ colors = Ncurses.COLORS
36
+ $log.debug "START #{colors} colors testscroller.rb --------- #{@window} "
37
+ @form = ScrollForm.new @window
38
+ # pad coordinates - the virtual area larger than screen
39
+ h = 50
40
+ w = 150
41
+ row = 1
42
+ col = 1
43
+ @form.set_pad_dimensions(row, col, h, w)
44
+ # dimensions of screen area onto which pad will paint
45
+ @form.should_print_border(true)
46
+
47
+ #@window.print_border_only 0, 0, 20+2, 100+2, $datacolor
48
+ @window.printstring 0, 30, "Demo of ScrollForm ", $normalcolor, 'reverse'
49
+ r = row + 0; fc = 12;
50
+ #mnemonics = %w[ n l r p]
51
+ %w[ name detail descr password street city country zip hobbies homepage facebook twitter buzz gmail ].each_with_index do |w,i|
52
+ field = Field.new @form do
53
+ name w
54
+ row r
55
+ col fc
56
+ display_length 30
57
+ maxlen 30
58
+ #set_buffer "abcd "
59
+ #set_label Label.new @form, {'text' => w, 'color'=>'cyan','mnemonic'=> mnemonics[i]}
60
+ set_label Label.new @form, {'text' => w, 'color'=>'cyan'}
61
+ end
62
+ r += 3
63
+ end
64
+ r = row
65
+ fc = 120
66
+ # XXX while typing in a field, cursor goes off in this case
67
+ %w[ operating_system version application build release shell band instrument guitarist drummer ].each_with_index do |w,i|
68
+ field = Field.new @form do
69
+ name w
70
+ row r
71
+ col fc
72
+ display_length 30
73
+ maxlen 30
74
+ bgcolor 'white'
75
+ color 'black'
76
+ #set_buffer "abcd "
77
+ #set_label Label.new @form, {'text' => w, 'color'=>'cyan','mnemonic'=> mnemonics[i]}
78
+ set_label Label.new @form, {'text' => w, 'color'=>'cyan'}
79
+ end
80
+ field.overwrite_mode = true
81
+ r += 3
82
+ end
83
+
84
+ $message = Variable.new
85
+ $message.value = "Message Comes Here"
86
+ message_label = RubyCurses::Label.new @form, {'text_variable' => $message, "name"=>"message_label","row" => 27, "col" => 1, "display_length" => 60, "height" => 2, 'color' => 'cyan'}
87
+
88
+ # a special case required since another form (combo popup also modifies)
89
+ $message.update_command() { message_label.repaint }
90
+
91
+ @form.by_name["detail"].set_buffer "This form has more components"
92
+ @form.by_name["descr"].set_buffer "Use M-l/h and M-n/p for scrolling"
93
+
94
+ # a form level event, whenever any widget is focussed
95
+ @form.bind(:ENTER) { |f| f.label && f.label.bgcolor = 'red' if f.respond_to? :label}
96
+ @form.bind(:LEAVE) { |f| f.label && f.label.bgcolor = 'black' if f.respond_to? :label}
97
+
98
+ @form.repaint
99
+ @window.wrefresh
100
+ Ncurses::Panel.update_panels
101
+ while((ch = @window.getchar()) != KEY_F1 )
102
+ @form.handle_key(ch)
103
+ @form.repaint
104
+ @window.wrefresh
105
+ Ncurses::Panel.update_panels
106
+ end
107
+ end
108
+ rescue => ex
109
+ ensure
110
+ @window.destroy if !@window.nil?
111
+ VER::stop_ncurses
112
+ p ex if ex
113
+ p(ex.backtrace.join("\n")) if ex
114
+ $log.debug( ex) if ex
115
+ $log.debug(ex.backtrace.join("\n")) if ex
116
+ end
117
+ end
@@ -0,0 +1,111 @@
1
+ # #!/usr/bin/env ruby -w
2
+ =begin
3
+ * Name : teststackflow.rb
4
+ * Description : to test Container2.rb (to be renamed)
5
+ * :
6
+ * Author : rkumar http://github.com/rkumar/rbcurse/
7
+ * Date : 25.10.11 - 12:57
8
+ * License :
9
+ * Last update : Use ,,L to update
10
+ Same as Ruby's License (http://www.ruby-lang.org/LICENSE.txt)
11
+
12
+ =end
13
+
14
+
15
+ if __FILE__ == $PROGRAM_NAME
16
+ require 'rbcurse/core/util/app'
17
+ require 'rbcurse/extras/widgets/rlistbox'
18
+ require 'rbcurse/experimental/stackflow'
19
+ App.new do
20
+
21
+ lb = Listbox.new nil, :list => ["borodin","berlioz","bernstein","balakirev", "elgar"] , :name => "mylist"
22
+ lb1 = Listbox.new nil, :list => ["bach","beethoven","mozart","gorecki", "chopin","wagner","grieg","holst"] , :name => "mylist1"
23
+
24
+ lb2 = Listbox.new nil, :list => `gem list --local`.split("\n") , :name => "mylist2"
25
+
26
+ alist = %w[ ruby perl python java jruby macruby rubinius rails rack sinatra pylons django cakephp grails]
27
+ str = "Hello, people of Earth.\nI am HAL, a textbox.\nUse arrow keys, j/k/h/l/gg/G/C-a/C-e/C-n/C-p\n"
28
+ str << alist.join("\n")
29
+ require 'rbcurse/core/widgets/rtextview'
30
+ tv = TextView.new nil, :name => "text"
31
+ tv.set_content str
32
+ =begin
33
+ f1 = field "name", :maxlen => 20, :display_length => 20, :bgcolor => :white,
34
+ :color => :black, :text => "abc", :label => " Name: ", :label_color_pair => @datacolor
35
+ f2 = field "email", :display_length => 20, :bgcolor => :white,
36
+ :color => :blue, :text => "me@google.com", :label => "Email: ", :label_color_pair => @datacolor
37
+ f3 = radio :group => :grp, :text => "red", :value => "RED", :color => :red
38
+ f4 = radio :group => :grp, :text => "blue", :value => "BLUE", :color => :blue
39
+ f5 = radio :group => :grp, :text => "green", :value => "GREEN", :color => :green
40
+ =end
41
+
42
+ f1 = Field.new nil, :maxlen => 20, :display_length => 20, :bgcolor => :white,
43
+ :color => :black, :text => "abc", :label => " Name: ", :label_color_pair => @datacolor,
44
+ :valid_regex => /[A-Z][a-z]*/
45
+ f2 = Field.new nil, :display_length => 20, :bgcolor => :white,
46
+ :color => :blue, :text => "me@google.com", :label => "Email: ", :label_color_pair => @datacolor
47
+ f3 = Field.new nil, :display_length => 20, :bgcolor => :white,
48
+ :color => :blue, :text => "24", :label => "Age: ", :label_color_pair => @datacolor,
49
+ :valid_range => (20..100)
50
+ r = StackFlow.new @form, :row => 1, :col => 2, :width => 80, :height => 25, :title => "Stack n Flow with margins" do
51
+ #stack :margin_top => 2, :margin_left => 1 do
52
+ flow :margin_top => 0, :margin_left => 2, :margin_right => 0, :orientation => :right do #:weight => 49 do
53
+ add tv, :weight => 40
54
+ add lb2 , :weight => 50
55
+ end
56
+ stack :margin_top => 0, :orientation => :bottom do #stack :height => 12, :width => 78 do
57
+ add lb, :weight => 40, :margin_left => 1
58
+ add lb1 , :weight => 40
59
+ #add f1
60
+ #stack :weight => 30 do
61
+ #add f1
62
+ #add f2
63
+ #add f3
64
+ end
65
+ #end # stack
66
+ end # r
67
+ def increase_height
68
+ @r.height += 1
69
+ @r.repaint_all(true)
70
+ end
71
+ def increase_width
72
+ @r.width += 1
73
+ @r.repaint_all(true)
74
+ end
75
+ @r = r
76
+ @r.bind_key(?\M-w) {increase_width}
77
+ @r.bind_key(?\M-h) {increase_height}
78
+ @r.bind_key(0) {
79
+ f = @r.item_for tv
80
+ f1 = @r.item_for lb2
81
+ p = @r.parent_of tv
82
+ p1 = @r.parent_of lb2
83
+ $log.debug "XXX: ITEM_FOR tv is #{f}, #{f1} #{p} , #{p1} "
84
+ @ctr ||= 0
85
+ case @ctr
86
+ when 0
87
+ @r.components[0].orientation = :left
88
+ when 1
89
+ @r.components[0].orientation = :right
90
+ when 2
91
+ @r.components[1].orientation = :top
92
+ when 3
93
+ @r.components[1].orientation = :bottom
94
+ else
95
+ @ctr = -1
96
+ end
97
+ $status_message.value =" Flow: #{@r.components[0].orientation} | Stack #{@r.components[1].orientation}. Use C-Space to change "
98
+ @r.repaint_all(true)
99
+ @ctr += 1
100
+
101
+ }
102
+ $status_message.value =" Flow: #{@r.components[0].orientation} | Stack #{@r.components[1].orientation}. Use Ctrl-Space to change "
103
+
104
+ #r.add(f1)
105
+ #r.add(f2)
106
+ #r.add(f3,f4,f5)
107
+ #sl = status_line
108
+
109
+ st = status_line
110
+ end # app
111
+ end # if
data/examples/menu1.rb ADDED
@@ -0,0 +1,112 @@
1
+ require 'rbcurse/core/util/app'
2
+
3
+ #if $0 == __FILE__
4
+ App.new do
5
+ #title "Demo of Menu - rbcurse"
6
+ #subtitle "Hit F1 to quit, F2 for menubar toggle"
7
+ header = app_header "rbcurse #{Rbcurse::VERSION}", :text_center => "Menubar Demo", :text_right =>"enabled"
8
+ form = @form
9
+ mylabel = "a field"
10
+
11
+ # TODO accelerators and
12
+ # getting a handle for later use
13
+ mb = menubar do
14
+ #@toggle_key=KEY_F2
15
+ menu "File" do
16
+ item "Open", "O" do
17
+ accelerator "Ctrl-O"
18
+ command do
19
+ alert "HA!! you wanted to open a file?"
20
+ end
21
+ end
22
+ menu "QuickOpen" do
23
+ item_list do
24
+ Dir.glob("*.rb")
25
+ end
26
+ command do |menuitem, text|
27
+ #alert " We gots #{text} "
28
+ fld = form.by_name[mylabel]
29
+ fld.text =text
30
+ view text
31
+ end
32
+ end
33
+ menu "Close" do
34
+ item_list do
35
+ Dir.glob("t*.rb")
36
+ end
37
+ end
38
+ item "New", "N"
39
+ separator
40
+ item "Exit", "x" do
41
+ command do
42
+ throw(:close)
43
+ end
44
+ end
45
+ item "Cancel Menu" do
46
+ accelerator "Ctrl-g"
47
+ end
48
+
49
+ end # menu
50
+ menu "Window" do
51
+ item "Tile", "T"
52
+ menu "Find" do
53
+ item "More", "M"
54
+ $x = item "Less", "L" do
55
+ #accelerator "Ctrl-X"
56
+ command do
57
+ alert "You clickses on Less"
58
+ end
59
+ end
60
+ menu "Size" do
61
+ item "Zoom", "Z"
62
+ item "Maximize", "X"
63
+ item "Minimize", "N"
64
+ end
65
+ end
66
+ end
67
+ end # menubar
68
+ mb.toggle_key = FFI::NCurses::KEY_F2
69
+ mb.color = :white
70
+ mb.bgcolor = :blue
71
+ @form.set_menu_bar mb
72
+ stack :margin_top => 10, :margin => 5 do
73
+ field mylabel, :attr => 'reverse', :block_event => :CHANGE do |e|
74
+ message e.to_s
75
+
76
+ case e.text
77
+ when "d"
78
+ #alert("Me gots #{e.text} disabling menu item Window:Find: ")
79
+ #$x.enabled = false
80
+ when "e"
81
+ # TODO this alert shows data wrapped but overlaps border
82
+ #alert("Me gots #{e.text} enabling menu item Window:Find: Adding accel ")
83
+ #$x.enabled = true
84
+ $x.accelerator = "Ctrl-X"
85
+ end
86
+ end
87
+ @adock = nil
88
+ keyarray = [
89
+ ["F10" , "Exit"], nil,
90
+ ["F2", "Menu"], nil,
91
+ ["M-e", "Disable"], ["M-x", "XXXX"],
92
+ ["C-?", "Help"], nil
93
+ ]
94
+ @adock = dock keyarray
95
+ lbltext = "Click this to enable or disable menu option Window:Find:Less"
96
+ blank 1
97
+ hline :width => lbltext.length
98
+ label :text => lbltext
99
+ toggle :offvalue => " Enable ", :onvalue => " Disable ", :mnemonic => 'E', :value => true do |e|
100
+ $x.enabled = e.item.value
101
+ header.text_right = e.item.value ? "enabled" : "disabled"
102
+ if e.item.value
103
+ @adock.update_application_key_label "M-e", "M-e", "Disable"
104
+ else
105
+ @adock.update_application_key_label "M-e", "M-e", "Enable"
106
+ end
107
+ #@form.handle_key mb.toggle_key
108
+ end
109
+ link "a linkie"
110
+ end # stack
111
+ end # app
112
+ #end
@@ -0,0 +1,86 @@
1
+ require 'rbcurse/core/util/app'
2
+
3
+ App.new do
4
+ header = app_header "rbcurse #{Rbcurse::VERSION}", :text_center => "MultiSplit Demo", :text_right =>"ColumnBrowse pattern"
5
+ #message_row(27)
6
+ message "<TAB> and <BTAB> "
7
+ oo = :HORIZONTAL_SPLIT
8
+ oo = :VERTICAL_SPLIT
9
+
10
+ stack :margin_top => 2, :margin => 1, :width => FFI::NCurses.COLS-2 do
11
+ splp = multisplit "outer", :height => FFI::NCurses.LINES - 3 , :split_count => 2, :orientation => oo do |s|
12
+ #s.suppress_borders = false
13
+ lb = listbox "Classes",:list => `ri -f bs`.split("\n")
14
+ s.add lb
15
+
16
+ lb2 = listbox "Methods", :list => ["highline", "sqlite3-ruby", "thor", "ncurses"], :choose => ["thor"]
17
+ #lb2.suppress_borders true
18
+ s.add lb2
19
+ #sc = textarea "Edit"
20
+ #s.add sc
21
+ end # splp
22
+ c1 = splp[0]
23
+ c2 = splp[1]
24
+ #c1.bind_key(KEY_RETURN){
25
+ # listbox now traps key ENTER and fires PRESS event
26
+ c1.bind(:PRESS){
27
+ #m = Object::const_get(c1.text).public_instance_methods
28
+ lines = `ri -f bs #{c1.text} | tr -d ''`.split("\n")
29
+ i = lines.index "= CCllaassss mmeetthhooddss::"
30
+ m = nil
31
+ if i
32
+ lines[i] = "Class Methods:"
33
+ m = lines.slice(i..-1)
34
+ i = m.index "= IInnssttaannccee mmeetthhooddss::"
35
+ m[i] = "Instance Methods:" if i
36
+ else
37
+ i = lines.index "= IInnssttaannccee mmeetthhooddss::"
38
+ if i
39
+ lines[i] = "Instance Methods:"
40
+ m = lines.slice(i..-1)
41
+ end
42
+ end
43
+ if m
44
+ c2.remove_all
45
+ c2.insert 0, *m
46
+ c2.clear_selection # since we had put default value using choose
47
+ end
48
+ }
49
+
50
+
51
+ #blank
52
+ flow do
53
+ #toggle :onvalue => "Vertical", :offvalue => "Horizontal", :value => true do |e|
54
+ #message "pressed #{e.state}"
55
+ #case e.state
56
+ #when :DESELECTED
57
+ #$log.debug " about to call orientation with V"
58
+ #splp.orientation :VERTICAL_SPLIT
59
+ ##ret = splp.reset_to_preferred_sizes
60
+ #else
61
+ #$log.debug " about to call orientation with H"
62
+ #splp.orientation :HORIZONTAL_SPLIT
63
+ ##ret = splp.reset_to_preferred_sizes
64
+ #end
65
+ #end
66
+ fc = splp
67
+ # increase split size
68
+ button "+" do
69
+ #splp.set_divider_location(splp.divider_location+1)
70
+ #fc.set_divider_location(splp.divider_location+1)
71
+ fc.increase
72
+ end
73
+ # decrease split size
74
+ button "-" do
75
+ #fc.set_divider_location(splp.divider_location-1)
76
+ fc.decrease
77
+ end
78
+ # equalize split size
79
+ button "=" do
80
+ #splp.set_resize_weight(0.50)
81
+ fc.same
82
+ end
83
+ end
84
+
85
+ end # stack
86
+ end # app