-
Notifications
You must be signed in to change notification settings - Fork 14
/
CHANGELOG
1994 lines (1462 loc) · 50.1 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
**2013-04-01**
## 0.0.14 rbcurse-core
* added module RubyCurses to various modules that were coming as top layer
Things could break !!!
* minor fix in rlist list()
**2013-03-29**
## 0.0.13 rbcurse-core
* textpad - support cases where dimension changes, or a row is updated
**2013-03-25**
## 0.0.12 rbcurse-core
* Minor tweaks and fixes to statusline (tested in ribhu gem)
**2013-03-22**
## 0.0.11 rbcurse-core
* Added textpad (tested in cygnus gem)
**2013-03-22**
## 0.0.10 rbcurse-core
* Added method_missing to chunkline, required for ribhu gem
**2013-03-21**
## 0.0.9 rbcurse-core
* Made several fixed so it works on 1.8.7 (thanks hramrach)
**2012-01- **
## 0.0.4 rbcurse-core
* added RESIZE event to form, so resizing app components is possible
when window/terminal is resized
* changes to ncurses setting as a result of above (wtimeout commented off)
* Moving help system to Form
* minor addition of define_prefix_command to Form - experimental
**2012-01-04**
## 0.0.3 rbcurse-core
* ActionManager added to widgets so actions can be
used from multiple places
* changes in ncurses setting cbreak and halfdelay etc
since C-c was crashing program out
* Added history to field
**2011-12-13**
## 0.0.2 rbcurse-core
Mostly refactoring of multi-row components
## 0.0.1 rbcurse-core
Added help system, and printing of key bindings
**2011-12-05**
## 0.0.0 rbcurse-core
1. Added a help system - on F1.
'?' reveals key-bindings for form and current widget.
2. bind_key includes string parameter which documents binding
3. KEY_RETURN and KEY_ENTER fixed (values switched)
4. textview can extend MultiBuffer (simple multibuffering)
5. Moving map_keys prior to super in constructor of widgets
so app can override keys.
6. textview: set_content second param is a Hash.
7. App.rb: shortcuts and stack flow removed and replaced
with widgetshortcuts.rb.
Now there should be an outer flow or stack. Earlier,
there could be two stacks with no outer stack or flow.
New implementation allows height_pc and width_pc.
Widgets can also have height_pc and width_pc if placed in stacks or flows
in an App. Please check samples to see.
8. Window has close event, to do any tidying up, releasing etc
Also a confirm_close option.
**2011-11-17**
## 1.5.0
### split rbcurse into core, extras and experimental
Now rbcurse is a meta-gem which includes the other three.
### major rehaul of directory structures
ilb/core/widgets, lib/core/include, lib/core/system etc
### class name changes
* rbasiclistbox -> rlist, shortcut: basic_list -> listbox
* rlistbox , shortcut: list_box -> edit_list
* rtable , shortcut: table -> edit_table
* rtabularwidget , shortcut: tabular_widget -> table (alias)
**2011-11-06**
## 1.4.1
### More cleanup of widget and form and window
### Rewrite of tabbedpane and messagebox but not replaced old classes
### Textview and Window and Statusline now can print colored text
Colored interface not yet final.
### Some experimental work that will trickle into core classes in 1.5.0
### Some standardization of core classes, more to follow.
**2011-10-06**
## 1.3.1 or 1.4.0
### Major cleanup of widget class
Scrollpane support (buffering stuff all removed)
### TabbedPane
Corrected, major changes
### dsl_accessor and dsl_property
Now return self so we can chain.
### return values of some keys (Class Form)
Earlier not returning anything meaningful or returning last_key
Now return NO_NEXT_FIELD or NO_PREVIOUS_FIELD
### j and k keys used for down and up where possible
e.g. button and its children including checkbox
### Miscellaneous
* Dynamic menuitems in menu (see menu1.tb)
* rework on menu and menubar, and keys using them
* FieldVetoException (see test2.rb)
* valid_range for Field (see test2.rb)
* fixed field's type method, earlier non-functional
* array and 4 integer constructor for Window
* StatusWindow class - 2 line window for alert, confirm and statuses as an
alternative to dialogs.
* status_dialog returning a handle so we can keep updating status then
close.
* many more minor adjustments, tweaks, issues
**2011-09-26**
## 1.3.0
### Moving to ffi-ncurses
Essentially code changes for ffi-ncurses. ncurses gem no longer supported
as it was painful to install. Required ffi-ncurses >= 0.4.0
Some bugfixes in demos and samples due to changes in 1.2.0, or ruby 1.9, which went
unnoticed.
### Deprecations
Some classes being deprecated:
- SplitPane (use vimsplit instead)
- ScrollPane (no substitute) Code supporting scrollpane will be removed
by 1.3.1 or 1.3.2 and this will not work.
### Tabbedpane
Not working correctly since moving to ffi-ncurses. Will be completely
rewritten by 1.3.2.
**2010-09-11**
## 1.2.0
### Additions
- App class that allows easy application development (like Shoes)
- MultiSplit class: Multicolumn widget (like SplitPane but allows many splits).
aka Column Browse pattern (like OSX Finder). See examples/testmultisplit.rb
- Added Progress Bar class
- Added methods to Menu (rmenu.rb), so easy creation through DSL. See
examples/menu1.rb
- Added VimSplit - can have multiple splits stacked and flowed
- Added Tree - tree control
- Added Scrollbar class
- Added Tabular - quick readonly tabular data generator that can be used with
listboxes or textviews.
- Added BasicList - a stripped down, readonly version of Listbox.
-
### Changes
- Field class now passes InputDataEvent when firing event, not self.
Earlier, user trapping :CHANGE would not know what happened (delete,
insert, etc) and what char was added, deleted.
- List and ListData and ListSelection listener
Many changes, new methods, def list(), space bar selects,
List listens to selection changes, selectionEvent contains List as source
not ListSelectionModel.
- Widget checks event names before firing and binding to save time in wrong
events.
- Listbox, some refactoring of `repaint`. Added convert_value_to_text since
we subclass this a lot.
- Listcellrenderer: refactoring and changes, will break extending classes!!
- Combolist - popup on spacebar
- replaced to_print_borders with suppress_borders in list related classes
### Bugfixes
- TextArea would crash if user entered long line with no space (line >
display length) - fixed
- Menu items will not show mnemonic highlighted, if disabled.
They will not fire if mnemonic key pressed, when disabled.
**2010-08-30 11:59**
## 1.1.4
- Some missing files such as tableextended.rb and vieditable
These got missed out in the gemspec.
- Added slice! to listdatamodel
- Also see ruby 1.9.2 changes below
**2010-08-23 11:50**
## ruby 1.9.2 related changes
Changes in 1.9.2 require the following changes:
- $: no longer includes ".".
Fixed 2 examples.
- hash_update: cannot update hash during iteration
Modified rwidget.rb and rtable.rb
(Ref http://svn.ruby-lang.org/repos/ruby/tags/v1_9_2_0/ChangeLog)
**2010-05-19 00:00**
## Table - added tableextended.rb for extended functions on tables
Currently, increase or decrease column width using numeric args.
You will have to bind the method to a key in your app.
**2010-05-13 00:00**
## Table - adding vim keys for navigation
If table is not editable, then j k l h gg G etc may be used for navigation.
**2010-03-01 00:00**
## Overhaul of tabbedpane
Simplified, and it more or less completely makes sense now.
A component may be added directly without creating a form
which allows the TP to set row, col, and height width.
At this moment, it no longer creates a form automatically, you have to call
tp.form(tab) to get a form associated with the tab. Check code for latest on
this. Or check samples: testtpane.rb and testtpane2.rb.
**2010-02-18 22:58**
## RFED16 new simplified buffering
Major changes. Most widgets redone (buffer part).
Containers majorly done. Table and TabbedPane still pending.
**2009-11-03 23:30**
## tabbedpanes ##
Now on first click of tabbed button, form is painted.
A form.repaint for the lower form was required.
frmincr200911032330.tgz
* * *
**2009-11-03 00:19**
## some progress on tabbedpanes ##
Ugly hacking and I really haven't a clue what's happening
since there's internal forms working.
Anyhow, its now showing up, can see form cursor moving.
Does not show up immediately, have to press key several times for form to display.
frmincr200911030018.tgz
* * *
**2009-11-02 13:15**
## before rtabbedpane ##
After all the changes, the new tabbedpane is not printing the form fields.
Working on that now.
frmincr200911021314.tgz
* * *
**2009-11-02 12:13**
## splitpane and scrollpane working ##
Both are working. Changes to copywin had caused issues. And printborder.
Decreasing comp width does not reduce pad size, but pad keeps printing larger size.
So in Splitpane it was overwriting. Now in Pad we maintain sheight as comp's height.
Major change in pad, but hope it works and doesn't bomb out somewhere.
frmincr200911021212.tgz
* * *
**2009-11-02 01:03**
## SplitPane retouching ##
began majorly misprinting after changes to printborder and copywin().
ALmost corrected. Still some issues in copywin which are making separator and border
to get eaten up.
frmincr200911020102.tgz
* * *
**2009-11-01 22:28**
## scrollbars in scrollpane ##
Added scrollbars in scrollpane. Sized and positioned nicely.
frmincr200911012228.tgz
* * *
**2009-11-01 01:05**
## scrollpane WIP ##
scrollpane with viewport and child object
i can see the child within. have to test scrolling now.
Issue is largely with copywin which gives errors.
frmincr200911010104.tgz
* * *
**2009-10-31 22:07**
## scrollpane WIP ##
,,,
frmincr200910312206.tgz
* * *
**2009-10-30 23:32**
## more testing with SplitPane and 2 splitpanes in it ##
vertical and horizontal
check against min sizes
frmincr200910302331.tgz
* * *
**2009-10-30 17:47**
## buffering ##
major change is buffering added (using pad)
height and width added to Widget
Splitpane added (midway)
frmincr200910301746.tgz
* * *
**2009-10-07 10:14**
## Prior to change in next_column ##
Currently, after last visible column tab goes to next row.
We want to scroll if more columns.
At present, table will not print if a col goes out of bounds. but this does not impact
first or last column to print variables.
frmincr200910071012.tgz
* * *
** 2009-10-05 11:00 **
## Horizontal scrolling in tables - some cleaning ##
When increasing the size of a column, other cols could write
outside the table. Fixed.
* * *
** 2009-10-05 00:00 **
## Making changes for 1.9 and testing ##
Mostly key related changes.
However, there could be some string index change lurking around
* * *
** 2009-02-22 20:48 **
## Released 0.1.2 ##
- search in textview with wrap, case insensitive, highlighting searched text
- table can have nil data
- tabbed pane has ok_cancel button, ok by default
- table autosizing - required for adhoc queries
- table horizontal scrolling
- editing when more columns than viewable in table
- confirm dialog, normal mnemonics for buttons
* * *
** 2009-02-17 12:10 **
## added table markers for data and columns before and after on border ##
also added putting space in intercell area, but today i am not getting any
junk there anywaym while scrolling etc.
* * *
** 2009-02-16 22:10 **
## added edit_length to TableColumn ##
This is max editable length of editor component in tables.
* * *
** 2009-02-13 13:48 **
## added button_type to tabbed pane ##
Now buttons at bottom of tabbed pane. Will return selected_index
to caller.
Uploaded to github, will be included in 0.1.2.
* * *
** 2009-02-12 22:48 **
## Code to stop table from printing a column if exceeding bounds ##
Uploaded to github, will be included in 0.1.2.
EXPERIMENTAL CODE: Affects only tables. Now table will not print a column or header
if columns width causes it to exceed width of table.
This means if you have a single column which is wider than table
then it wont print. In Listboxes we always truncate data and pass to
renderer. We could do that here, but it could get messy.
* * *
**2009-02-12 **
## Missed one parameter in Table's repaint, and some Table Cell Renderers
Fixed and uploaded as 0.1.1
* * *
**2009-02-11 00:57**
## Path changes in order to make first gem ##
the first gem is ready 0.1.0. So various path changes (removed all the lib's in require)
frmincr200902110056.tgz
* * *
**2009-01-21 18:30**
## Class Action ##
Added a class Action to centralize actions or behavior.
Popupmenu creates a jmenuitem with an action.
frmincr200901211826.tgz
* * *
**2009-01-20 22:50**
## Class PopupMenu ##
Based on menubar, a popup menu. Intended to be used with widgets / components.
frmincr200901202248.tgz
* * *
**2009-01-20 00:22**
## Application Header like Alpine ##
Similar application header made in applicationheader.rb
frmincr200901200022.tgz
* * *
**2009-01-19 21:41**
## Alpine Style Key Label Printing ##
See testtodo.rb for example.
Print Alpine Style labels at bottom
frmincr200901192140.tgz
* * *
**2009-01-19 15:53**
## Table Changed Event ##
One may either trap the CHANGED event of a component OR
a TABLE_EDITING_EVENT which gives us previous and new values, previous row and col.
This will fire for each cell exited, and on editing stopped (if a user presses ENTER after editing).
One example would be to set a date_modified if any column of a row changes.
Also am firing CHANGED from table for its cells.
frmincr200901191548.tgz
* * *
**2009-01-18 22:11**
## listbox, combo case insensitive match ##
Char matches use casecmp
Field was not calling process_key(ch) - now calling super in handle_key, so process_key is called
in handle_key.
frmincr200901182210.tgz
* * *
** 2009-01-18 12:37 **
## modified? and def modified tf##
changed fields modified? to check for change in field value
Field ESC puts back original value
TAB and BACKTAB in table. so you need to M-tab out of it.
**2009-01-17 01:56**
## Tables: editing options more polishing ##
also, columns may be marked as non-editable
calling on_leave of component
frmincr200901170155.tgz
* * *
**2009-01-16 20:13**
## Table - cyclic traversal to next column, auto editing of cells ##
Automatic editing on tabbing in and out on Table.
Trying this out. USe Alt-Tab for going to next cell if you are editing a cell.
If not editing then RIGHT and LEFT work.
frmincr200901162012.tgz
* * *
**2009-01-16 00:31**
## Tables: Events and Listeners implemented ##
on enter row, col and cell.
Table Column property change
Various others.
frmincr200901160030.tgz
* * *
**2009-01-15 01:23**
## Events in tables added ##
(just days backup)
frmincr200901150122.tgz
* * *
** 2009-01-15 00:17 **
Table on_enter and on_leave row, column and cell events
Also put key definitions for table and listbox in listkeys.rb
so they can be shared.
Fixed def handle_key of listbox so if key not handled, it still
tries further.
**2009-01-14 12:56**
## Forward and backward searching in Listbox ##
M-f to start a forward search (asks for regex)
M-F to start a backward search (asks for regex)
M-g to keep searching forward
M-G to reverse direction of search
* * *
**2009-01-13 23:29**
## Split messagebox and listbox to separate files ##
* * *
**2009-01-13 01:39**
## Table Editing ##
String, number, checkbox and combolist
frmincr200901130139.tgz
* * *
**2009-01-13 01:03**
## Table editing is on ##
Testing and working out visual glitch in checkbox edit.
One extra char displayed by editor but not by renderer.
So a white space gets left over.
frmincr200901130102.tgz
* * *
**2009-01-11 20:06**
## editable lists: check and combo boxes ##
Now you may edit a list of checkboxes or combo boxes
frmincr200901112006.tgz
* * *
**2009-01-11 16:32**
## combo box cell renderer in listbox ##
almost done. some touching up
frmincr200901111632.tgz
* * *
**2009-01-11 00:28**
## ComboBoxCellRenderer ##
For lists, to display combo boxes.
Althoght does not make much sense. THe normal list box already has
selection of rows. so its like a list which is now editable and selectable.
This has only checkboxes. How do i pass in text in addition to booleans
given that the method interface of renderers takes one value.
frmincr200901110026.tgz
* * *
**2009-01-10 23:18**
## About to move selector code up ##
To avoid duplication in renderers
frmincr200901102317.tgz
* * *
**2009-01-10 01:22**
## listbox editing ##
WIP, but i've got editing in.
To sort out key related issues. Editing keys are clashing with selection
and navig keys.
Touching up also.
frmincr200901100121.tgz
* * *
**2009-01-08 23:34**
## class Textarea moved to new scrollable ##
Thank God, done away with the old scrollable module.
Textarea is now in rtextarea.rb
frmincr200901082333.tgz
* * *
**2009-01-08 20:57**
## wrapping option in TextArea ##
WRAP_WORD passed with set_content
frmincr200901082057.tgz
* * *
**2009-01-08 19:21**
## New Listbox ##
Movement between selected items (using ' and ") and C-e to clear selection.
frmincr200901081921.tgz
* * *
**2009-01-08 14:38**
## before moving TextView to listscrollable ##
about to move
frmincr200901081438.tgz
* * *
**2009-01-08 01:41**
## firing property change and others ##
Some major changes (internal)
1. In order not to repaint the entire form each time, we must only repaint a widget when modified.
However, as can be seen, widgets are being modified by other widgets. Thus whenever a property
is changed, we need a flag to be set that repainting is required.
Thus, copied dsl_accessor and made dsl_property. Whenever, such props are modified, a property
change is now fired, and repaint_required is set to true.
I am currently changing this. What this means is that on startup, fire_prop_change will be called
many times, and i need to avoid this on first time instantiation. TODO.
2. The tricky part was text_variables. When there value changes any widget (such as label) auto
changes. When a text_variable is defined for field, internally that field, adds itself as a
dependent. When its value is changed, it fires a change to the dependent field.
3. The real worrisome part was this:
When user passes in a hash in the constructor, i was directly setting variables, NOT calling
methods. Tracked this down. Now i am calling methods and not setting variables. See rwidget.rb
instance_variable_set (top). Only throrough testing will tell how much this change
will affect stuff. Maybe not.
frmincr200901080133.tgz
* * *
**2009-01-07 23:35**
## New Listbox ##
with cleaner scrolling code, and cell renderer
Largely done.
frmincr200901072335.tgz
* * *
**2009-01-07 00:36**
## Field storing datatypes ##
1. set_buffer updates datatype of data
2. get_value reverts to original datatype (stored as a string since many methods
do check length etc
Widget binds_keys
Certain widgets like tables etc would like to bind_keys which could be used by other
widgets. Such as left and right keys or del key. So these should not be at the program
level, but only at widget level.
frmincr200901070034.tgz
* * *
**2009-01-05 01:51**
## rtable with scrolling ##
simple scrolling unlike scrollable which sucked biggie time
frmincr200901050150.tgz
* * *
**2009-01-05 01:21**
## rtable.rb ##
more wip
frmincr200901050121.tgz
* * *
**2009-01-04 01:01**
## table wip ##
frmincr200901040100.tgz
* * *
**2009-01-01 23:45**
## before change to textare ##
abot to put back \n and see
frmincr200901012345.tgz
* * *
**2009-01-01 13:01**
## Boolean buttons use "variable" not "text_variable" ##
That was a misunderstanding. Checkbutton, Toggle and Radio use "variable" which
updates or gets updated by any changes.
frmincr200901011300.tgz
* * *
**2008-12-31 23:46**
## Variable modifications ##
Had to move to get_value and set_value so that Variable could support a hash or array without
anything else changing.
That means if a set of checkboxes and radio buttons are based on one Variable which is a Hash,
they will continue working as before, since they always pass t heir name as a second parm to set_value
(whch is used as a key, if Variable is a hash).
Earlier i was using value= but that does not allow 2 params.
In the case of a hash, even retrieving requires the widgt name as key.
So seeing how many params are coming in does not work. Thus moving from value() and value= to get and set value.
Currently, its there as RVariable. Will be moved to Variable in a day or so.
frmincr200812312341.tgz
* * *
**2008-12-29 17:50**
## textarea bugfixes in wrap and wrapping ##
more bug fixes
also added wrap_para (see menu Wrap)
* * *
**2008-12-28 21:05**
## Textarea wrapping bugs fixed ##
I believe things are working now.
ALso added footers to the text area and view. That could help me in debugging too.
frmincr200812282104.tgz
* * *
**2008-12-28 01:25**
## WIP in Table ##
working
frmincr200812280125.tgz
* * *
**2008-12-27 01:07**
## bug fixes in textarea cursor movement ##
with respect to wrapping lines
backspace behaviour.
newlines
still some glitches.
* * *
**2008-12-26 20:07**
## Missed one case of wrapping in Textarea ##
Whene there IS data in next row. Fixed.
* * *
**2008-12-25 18:30**
## ACS_ boxes in TextArea and TextView ##
ACS_ used for boxes
* * *
**2008-12-25 18:22**
## better boxes using ACS_ for messagebox and Listbox ##
Using ACS_ code to get boxes.
* * *
**2008-12-24 20:20**
## InputDataEvent: firing events on changes in TextArea ##
Now reporting changes in text happening in TextArea via InputDataEvent
* * *
**2008-12-24 15:51**
## Alt-keys in TextArea and View were getting eaten up ##
Returning alt keys so buttons and mnemonics can process
* * *
**2008-12-24 15:40**
## vertical alignment of combolists ##
ABove, below, center, and same row as field.
* * *
**2008-12-24 13:00**
## added autoscroll to TextArea ##
Goes to end with each "<<" command.
Also fixed goto_end and goto_start. I had changed the names in TextArea but not in scrollable.
* * *
**2008-12-23 23:49**
## Migrated buttons to mnemonic and ampersand for hotkeys ##
Unerline will result in underline, overriding that created by ampersand, but not register key.
mnemonic will register alt-key and underline first occurence
Using ampersand will register and underline given occurrence.
frmincr200812232347.tgz
* * *
**2008-12-23 13:38**
## Added observers to events ##
An object can listen in to events of another. Could be a hack.
Helps if user creates an object which further creates others. User binds actioon to top level object.
But we want internal objects events to also fire action.
frmincr200812231337.tgz
* * *
## Multiple bindings for each event ##
Each object can bind its actions without fear of overwriting each other.
Variables update_command also stacked.
**2008-12-22 15:13**
## class Field: CHANGED event, triggered when tabbing out after changing ##
.
frmincr200812221513.tgz
* * *
**2008-12-22 12:52**
## Added null_allowed to class Field ##
if null_allowed, validation will be skipped if empty, however
LEAVE event will be triggered.
frmincr200812221251.tgz
* * *
**2008-12-22 02:02**
## xterm-color key hacks and vt100/200 fixes ##
F1..F4 hack for xterm color
in getchar().
Menu selection (highlighting) in rform.rb
frmincr200812220201.tgz
* * *
**2008-12-20 22:05**
## Removed CommonIO includes ##
replaced with @window.printstring
frmincr200812202204.tgz
* * *
**2008-12-20 13:23**
## toggle_key for menu bar ##
menu bar now can define and bind its toggle key.
frmincr200812201322.tgz
* * *
**2008-12-19 21:28**
## scrolling in edit box ##
Implemented horiz scrolling in single line edit box
Forgot to add:
Editable and non-editabl combo-boxes were also added the other day.
frmincr200812192127.tgz
* * *
**2008-12-15 14:16**
## tabbedpanes - with radio buttons ##
Much improved. Uses an extended radio button, so states of selected, focussed and unfocussed
are easy to display.
frmincr200812151415.tgz
* * *
**2008-12-14 16:50**
## tabbedpane-part2 ##
with panels and forms. but how to navigate between buttons and form.
frmincr200812141650.tgz
* * *
**2008-12-14 14:24**
## preliminary tabbed pane ##
need to create form earlier so user can get the form and set it.
frmincr200812141424.tgz
* * *
**2008-12-11 22:32**
## Popuplist in action ##
sample of popuplist called whenever cursor falls in User field.
Pressing Enter passes the value.
frmincr200812112231.tgz
* * *
**2008-12-11 01:27**
## class PopupList ##
wip but almost done.
pops up a list which can be selected from.
frmincr200812110126.tgz
* * *
**2008-12-03 20:13**
## Field accepts values() and valid_regex() ##
Restrict entry to values
Validate field against valid_regex.
frmincr200812032012.tgz
* * *
**2008-12-01 18:34**
## Messagebox takes list ##
Allow user to make a messagebox passing a list.
frmincr200812011834.tgz
* * *
**2008-11-30 00:58**
## friendly colors - under testing ##
Have implemented human friendly colors for foreground and background
Tested out on some widgets but not all. Need to totally test and clean code.
Is functioning. See radio buttons and their label, see checkbox which makes the label bold.
frmincr200811300056.tgz
* * *
**2008-11-29 21:10**
## experimental Colormap to make color definitions easy ##
Added a Colormap module that helps create and retrieve colors by human names
so we can define colors in widgets without reference to color_pairs.
frmincr200811292109.tgz
* * *
**2008-11-28 00:30**
## CheckBoxMenuItem ##
Implemented a checkbox menu item, works but i am not pleased, quite dirty.
Widgets are tied to a form, for ease of construction.
In the case of menus they are not, and menus print in a different manner.
Submenu should also have been a class, perhaps.
frmincr200811280026.tgz
* * *
**2008-11-27 20:11**
## ToggleButton ##
Now a togglebutton class that is extended by Radio and checkbox
Togglebutton is itself a toggleable button.
frmincr200811272010.tgz
* * *
**2008-11-27 18:54**
## extended radiobutton from checkbox ##
to reduce code.
Now i am thinkig both shuold extend one class. My ole Swing book gaves me a cool
name to call it. ToggleButton!
frmincr200811271853.tgz
* * *
**2008-11-27 12:13**
## menubar hotkey ##
Done handling of hotkey/mnemonic in menu
and closing of menubar when action complete
frmincr200811271212.tgz
* * *
**2008-11-27 00:24**
## Titles in all scrollable views. ##
Added titles and title attribs.
frmincr200811270023.tgz
* * *
**2008-11-26 23:32**
## horiz scrolling in TextView ##
Textview now can scroll horiz.
Ctrl-E and Ctrl-A behavior in cases of data exceeding width taken care of.
frmincr200811262331.tgz
* * *
**2008-11-26 22:26**