-
Notifications
You must be signed in to change notification settings - Fork 3
/
Changes
849 lines (650 loc) · 29.8 KB
/
Changes
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
Changelog for the Curses::UI distribution:
Version 0.9609
==============
- Bugfix for crashing error in 0.9608
Version 0.9608
==============
- TextEditor doc patch from Zane C.B.
- Patch to allow mainloop to halt from Zane C.B.
- key handling fix from Scott McCoy
- Background color set patch from Miquel van Smoorenburg
- AIX fix from Shava Smallen
- Fix for prototypes warnings from Damyan Ivanov
Version 0.9607
==============
- Curses::UI::set_timer no longer calls int() on passed time value,
allowing Time::HiRes support, thanks to Gilmar Santos, Jr. (RT#29026)
- Fixed ancient bug in Popupmenu.pm, thanks to Davide Chiarini
and Michael Arlt (RT#38211,25885)
- POD testing bug introduced in last version now fixed
Version 0.9606
==============
- Patch to Notebook.pm from Dominque Dumont (RT#39915)
- Test::POD no longer required for install
Version 0.9605
==============
- MANIFEST in 0.9604 was bad, causing pertesters FAIL
Version 0.9604
==============
- MainLoop removal broke several examples. Fixed (thanks to
Antony Gelberg)
- Japanese localization added (thanks Takatoshi Kitano)
Version 0.9603
==============
- MainLoop has been removed (please use '$cui->mainloop')
- So the circular reference of $Curses::UI::rootobject has
been removed as well
- RT bugs 31919, 11925 (Notebook.pm testing failures) fixed,
again thanks to Russ Allbery
- UI.pm now uses strict and warnings(!)
- UI.pm's POD and layout being overhauled
- BUGS and TODO have been nuked (RT, googlecode)
Version 0.9602
==============
- Using Module::Install now
- Removed effectively null t/99template.t which was causing
FAILs for CPAN testers (to be replaced with more testing
at a later date)
- Apologies for the weird previous version number
Version 0.96_01
===============
- Fixed bug in C::UI::Checkbox->get (RT#31916, Russ Allbery)
- Fixed doc bug in Tutorial.pod (rt#31918, Russ Allbery)
- Fixed doc bug in Checkbox.pm (rt#31917, Russ Allbery)
- Began POD overhaul and code reformatting
Version 0.96
============
- Added -keydelay option to new()
- Fixed Listbox docs again
- Fixed focusing bug in connection with mouse support
- Applied patches by Vitaliy Sennikov
- Doc patches by Alexey Tourbin
- Slovak translation by Marek Grac
- Removed test.pl, added note on demos to INSTALL
- Removed COLOR_TODO
- Added Coverage (Devel::Cover report)
Version 0.95
============
- Fixes to the RT#6770 patch to unbreak listbox
- Updated Manifest
- Fixes to Dialog Colors by Antonio Gallo
- Notebook widget by George Theall
Version 0.94
============
- Some patches by Luke Closs (lukec@activestate.com):
- fixed 99template.t
- word wrap bug
- Language.pm fixes
- Dialog labels not-focusable
- toggle password mode for text editor
- Listbox id() method fix
- Query Dialog
- Buttonbox patch
- Listbox now take arrayrefs as well as
arrays as $l->values.
(Patch by domi@komarr.grenoble.hp.com RT#6770)
- tabbing over the last _enabled_ component did
not result in leaving the container if that
component was followed by a non focusable component
in the focusorder.
(Patch by William Barsse RT#7027)
- small changes to the pod tests
- event_onblur to fix Checkbox behaviour by
Joe Oppegaard and lots of POD fixes
Version 0.93
============
- New languages: Turkish, Spanish, Chinese
- Doc changes to the tutorial (after a nice
review by JC)
- Fixed the clear routine to use the build ins
(maybe a security issue, because it called
the system owns "clear" command)
- Added some methods to the Listbox widget
- Performance patch by Joe Oppegaard
Version 0.92
============
- Ok, blame me, I'll never ever release some
big changes again at "Karneval". I commented
out Xterm/Curses mouse support in 0.91. Should
work again
- Changes to the tests, added test to make 0.90
never happen again and fixed failing tests on
no screen platforms
Version 0.91
============
- fixed critical bug with call to a missing sub
that should have never happened.
Version 0.90
============
- got an excellent patch by Ralf S. Engelschall
to enable inline markup in Listbox and other
bugfixes.
- Patch by Rupert Northcote-Green and Scott Husek
for vertical aligned Buttonboxes
- Bugfixes for focusing
- Mouse hooks for Curses::UI::Mousehandler::GPM
- At least a little bit of resizing support
- Hocks for adding events to the mainloop
- Added insert_at and add_label to Listbox
Version 0.85
============
- new Widget: Dirbrowser
- new tutorial and some doc fixes
- italian language updated
- a couple of bugfixes
Version 0.80
============
- small fixes to avoid warnings
- workaround for a strange win32 compile bug
- fixes to polish translation
- more tests
- small changes to some widgets
- color support changes
- fixed colors in submenus
- fixed colors for status messages
- norwegian translation by Vlad Tepes
Version 0.75
============
2003-07-28 - WE GOT COLOR!!! see Curses::UI::Color for details and
the new color_editor demo
- added french and portuguese translation
- various small changes and fixes
- Some work by Raul Dias to fix some focus bugs
Version 0.74
============
2003-04-27 - Fixed critical bug that broke Menubar selection
Version 0.73
============
2003-03-28 - Added Russian, Polish, Italian and German language
pack
- Applied focusdelete and userdata patch by Raul Dias
- Fixed unselect for single selects in Listbox
- Fixed Solaris 8 Compile bug
- Did some documentation work
Version 0.72
============
2003-03-24 - Maintainer changed, new maintainer is now Marcus
Thiesen (MARCUS) <marcus@cpan.thiesenweb.de>
- Small bug fix to the delete call that will now
work right
- Mouse support is now optional
- Some additions to the Listbox widget
Version 0.71
============
2002-02-01 - Darn... the thing did not work correctly on non-
ncurses systems. Having things like
"BUTTON1_CLICKED" in the code does not work if
the Curses module does not have them defined. It
should be "BUTTON1_CLICKED()" to avoid warnings
like "Bareword "BUTTON1_CLICKED" not allowed..."
Solved this in all modules. Thanks to Nick
Slussar for noticing.
- Added mouse-support to the Calendar widget.
- Added language support, so the widget specific
language strings are configurable. The language
strings are in Curses::UI::Language::<language>.pm.
Extra languages can be created by adding a new
<language>.pm file over there. Currently I created
a Dutch and an English language module. I you create
a language module of your own, please send it to
me. I'll then include it in the distribution.
- Changed all year 2001 occurrances in the Changelog
to 2002. Thanks to Mark Overmeer (mr. Mail::Box) for
noticing that I was one year off ;-)
- Made sure that upon deleting a widget from a
container, its subwindows are deleted.
- Created calendar dialog (request made by Ravi Pina).
Also added a little demo to demo-widgets for this
new dialog type. The dialog is accessable via
Curses::UI ($cui->calendardialog).
- Changed the unpacking of mouse events a little
(thanks to William Setzer for the hint on
unpack("sx2i3l", $MEVENT) instead of
unpack("i5", $MEVENT)).
Version 0.70
============
2002-01-31 - After a lot of hacking on the resize code
I decided to leave it out for now. I can't get
things stable :-( I will try to look into this
at some other time.
- Made a start on the support of mouse events.
It's doable! :-) Most widgets now have some sort
of mouse event handler. Or widgets should try
to focus if clicked upon.
- Resolved a whole bunch of small bugs that
turned up while building mouse support.
2002-01-29 - Removed automatic resize control. This did not
work good on ncurses (crashes). Now, resizing
is done after a keypress.
- Fixed a bug in the char_read() method. The
returncode of the select() call is checked for
errors.
- Non interacting dialogs (status + progress) are
now not focusable anymore. This makes sure that
the current window is not blurred.
- Fixed bug: the horizontal positioning of the
first opened menulistbox from a menubar was
wrong.
- Renamed some "constants" to prevent future
namespace clashes:
KEY_ESCAPE => CUI_ESCAPE
KEY_SPACE => CUI_SPACE
KEY_TAB => CUI_TAB
2002-01-28 - Removed all demo-Curses::UI* examples from the
distribution and created a new widget demo:
examples/demo-widgets. In this demo all
widgets and dialogs are showed.
- If you do "make test INTERACTIVE_TEST=1", the
widget demo program will be started if all
tests were successful.
- Fixed examples/pop3_reader for use of the new
event system.
- <SHIFT-TAB> is now supported to focus the
previous object (this will not work on all
terminals, but it's a nice-to-have!).
- A lot of time is involved in debugging widgets.
So I added $Curses::UI::debug which can be set
using "new Curses::UI(-debug => 1)". Currently
only the pressed keys are sent to STDERR (so
you should write STDERR out to a file to use
the debugging), but more things might be
debugged later on.
- Fixed bug: schedule_draw is set to zero if an
object loses focus (else the schedule would
redraw a widget after the focus change if the
focus change was done by a binding routine).
- Made setprogress(), noprogress(), nostatus()
from Curses::UI flush the input keys. This
makes sure that on some systems the output is
not buffered as long as there is input waiting
and it is generally a good thing to ignore the
input that was done during the showing of
the dialog.
- Removed screenheight tampering from
Curses::UI::Widget->windowparameters() which was
used for automatically reserving space for the
menubar if the application had one. Now I
have moved this responsibility to the user.
The user should use "-padtop => <value>" if a
window should not overlap the menubar. This will
let Window centering be real Window centering. This
also makes it possible to create a "popup"
menubar by letting the main windows draw over
the menubar (the menubar will only be visible
if it gets the focus).
- Widgets now can focus another widget using their
event callback routines. Before, the widget would
always go to the next or previous widget, but now
loose_focus() won't do this if the focus is not on
the widget itself anymore. I'm not sure if it works
for all widgets already, but I needed it to be
able to use the menubar to shift focus between
windows.
2002-01-27 - Renamed the 'return' binding in all widgets to
'loose-focus'. This makes much more sense in
the new event system (in the old event system
a widget would actually return a value when
the 'return' binding was called).
- Renamed the '-homeonreturn' option for TextEditor
and its descendants to '-homeonblur' for the
same reason as mentioned above.
- The buttonbox will handle the TAB key different
than before. Now it will cycle through the buttons.
If the last button is selected and TAB is pressed,
the total Buttonbox will loose focus. This is much
more like the behaviour that a user would expect.
- Fixed a layout bug in Dialog::Basic (if the buttonwidth
was larger than the messagewidth, a 'screen not large
enough' error would show).
- Fixed a bug in FileBrowser.pm. The popupbox in the
FileBrowser window was still built for the old
event system. Now it has an -onchange event which
reloads the file list. Also, the focus will not
longer go to the buttons, but to the filelistbox
or the fileentry field if -editfilename is set
to a true value.
2002-01-26 - Reading keys is not done anymore using the halfdelay
function of curses. Now a select() call is used to
determine if there is input waiting.
- The timeout for reading a key is now depending
upon the smallest active timed event interval.
If there are no active timed events at all,
the timeout will be -1, which causes a full
blocking read. In this way as little as possible
resources are used.
- -windowscr, screenwidth and screenheight were a
little bit too cryptic I think. These are now
renamed to -canvasscr, canvaswidth and
canvasheight.
- Fixed bug in Searchable.pm (cursor was not visible
during search).
- Switched testing to Test::Harness (t/*.t)
- Buttonbox now also has Curses::UI->fatalerror() in
case of an illegal button definition.
- Curses::UI now checks if there is only one
instance of Curses:UI and it now exports
MainLoop() (just for fun, it is like the
Tk MainLoop function).
2002-01-25 - Fixed some problems with modal focused windows.
- The Popupmenu widget now also works. This widget
is partly rewritten to make it more clean and
make it fit in the new event system.
- New method: Curses::UI->fatalerror( [error] ).
This will display a fatal error to the user.
After pressing a key, the program will exit.
This is usefull in places where you would
otherwise use die() (or one of its Carp friends).
- Moved usemodule() from the Container package to
Curses::UI. This method now honours the %INC
hash, which means less on-the-fly loading of
modules will occur.
- Made searching through listboxes and textviewers
possible in the new event system.
- Fixed some -onchange event bugs in popupmenu.
till 2002-01-24 - The complete event structure is set upside-down.
By using this new event structure, timed routines
and mouse events are possibilities. Maybe even
integration with POE! :-) (but I haven't looked
into that enough to be sure). We also have a
Tk-like mainloop() now.
- Updated a lot of widgets to support the new event
structure (central mainloop in Curses::UI which
delegates events). This means that a widget has
a event_keypress() method, which handles
delegated keypresses.
Version 0.64
============
2002-01-19: - Started on building a complete new event handling
system. This should simplify a couple of things and
it should enable new features like some kind of
time loop and mouse events.
Version 0.63
============
2002-01-16: - Added a CLASS HIERARCHY section to the
documentation of each Curses::UI class.
- All focusable objects now have the following
event callbacks:
-onfocus / onFocus()
-onblur / onBlur()
- The Curses::UI::Calendar widget now fully
supports the years 0 - 9999, including the
transition from the Julian to the Gregorian
calendar (september 1752). This beats the
use of timelocal/localtime (which would
currently only support 1900 - 2038 IIRC).
- Added intellidraw() method to Curses::UI::Widget.
If this method is called, the widget is redrawn, but
only if it's visible (not hidden and in topwindow)
and if intellidraw is enabled (-intellidraw data
member has a true value).
This routine can be used to be able to redraw
widgets on a status change, without having to figure
out yourself if this wouldn't clutter up the screen.
The -intellidraw option is meant for widget
builders (see for example the Checkbox code).
- Incorporated intellidraw() method in:
- Curses::UI::Window
- Curses::UI::Label
- Curses::UI::Calendar
- Curses::UI::Buttonbox
- Curses::UI::Listbox (+ descendants)
- Curses::UI::Checkbox
- Curses::UI::Popupbox
- Curses::UI::Progressbar
- Curses::UI::TextEditor (+ descendants)
- Curses::UI::SearchEntry
- Added a little example application to demonstrate
the new intellidraw feature: examples/demo-intellidraw
2002-01-15: - Changed the displaying of the calendar widget
a little. The topbar showing a date is only
highlighted if the cursor is on the selected date.
- Renamed some widgets (now we still can). I think
there are too many capitals in them...
- Curses::UI::ListBox renamed to
Curses::UI::Listbox
- Curses::UI::CheckBox renamed to
Curses::UI::Checkbox
- Curses::UI::MenuBar renamed to
Curses::UI::Menubar
- Curses::UI::MenuListBox renamed to
Curses::UI::MenuListbox
- Curses::UI::PopupBox renamed to
Curses::UI::Popupmenu
- Curses::UI::ProgressBar renamed to
Curses::UI::Progressbar
- Curses::UI::ButtonBox renamed to
Curses::UI::Buttonbox
- Curses::UI::RadioButtonBox renamed to
Curses::UI::Radiobuttonbox
- Curses::UI::Dialog::FileBrowser renamed to
Curses::UI::Dialog::Filebrowser
- Added event callbacks to:
- Curses::UI::Calendar (-onchange / onChange())
- Curses::UI::Listbox (-onchange / onChange())
- Curses::UI::Checkbox (-onchange / onChange())
- Curses::UI::TextEditor (-onchange / onChange())
- Curses::UI::TextEntry (-onchange / onChange())
- Curses::UI::PasswordEntry (-onchange / onChange())
- Curses::UI::Popupmenu (-onchange / onChange())
- The options that can be passed to the new()
methods, are case insensitive now. So it is
perfectly okay to write:
$win->add(
'cb', 'Checkbox',
-Label => 'Demonstration widget',
-onChange => sub { exit() }
);
Version 0.62
============
2002-01-14: - Changed the Label widget. The text to
show on the widget may contain more than
one line of text (so newline characters
may be used). The status-dialog is changed
accordingly. Other widgets that use Labels
are not updated yet.
- Updated Curses::UI::Dialog::Progress for
use with the new Label widget.
- Fixed a layout bug in Curses::UI::Widget
(the available height and width were
incorrectly computed when using negative
-x and -y offsets).
- Renamed Curses::UI::Buttons to
Curses::UI::Buttonbox, which is more like
the naming of the rest of the widget set.
Updated all examples and wigets for this
change.
- Fixed some undefined value warnings in
Curses::UI::Dialog::Filebrowser.
- Incorporated multi-line label support in
the checkbox widget.
- Added new widgets + documentation:
- Curses::UI::PasswordEntry
- Curses::UI::Calendar
- Added new example applications:
- demo-Curses::UI::Calendar
2002-01-13: - Changed the way the buttons are defined
in Curses::UI::Buttons (all information
is now in the -buttons option and there
are predefined button types).
The documentation for Curses::UI::Buttons
is updated.
- Buttons can now have a -onpress event assigned
to them. This callback will execute after
the button is pressed and before the focus
is lost.
- All examples are updated for the changed
Curses::UI::Buttons class.
- Solved a warning for some versions of
perl about a prototype.
- Fixed some documentation typos.
Version 0.61
============
2002-01-13: - Extended the examples/basic_test file
to test the functionality of the basic
widgets (for now: Label, Buttons,
Checkbox, Listbox, Popupbox,
Progressbar and TextEditor). Directly
derived widgets are not tested (like
Radiobuttonbox and TextEntry) because
these will most probably work like
they should if the base class is okay.
- Changed the structure of the checkbox
widget. The layout() method would each
time re-add the label widget to the
checkbox widget. Now the checkbox is
a container derivate which always
contains the label.
- Fixed bug: The TextEditor class and
derivates didn't call check_for_resize()
during focus, so screen resize was
not detected.
2002-01-12: - Fixed some broken links in the
documentation.
- Removed "use Carp qw(confess)" from
the modules which do not use this
(anymore).
- Wrote documentation for:
- Curses::UI::Dialog::Basic
- Curses::UI::Dialog::Error
- Curses::UI::Dialog::Filebrowser
- Curses::UI::Dialog::Progress
- Curses::UI::Dialog::Status
- Added new example applications:
- demo-Curses::UI::Dialog::Filebrowser
- demo-Curses::UI::Dialog::Status
- Added the -clear_on_exit option
to Curses::UI. If this option is
set, a Curses::UI application will
call "clear" on exit.
Version 0.60
============
2002-01-11: - Wrote documentation for:
- Curses::UI::MenuListbox
- Curses::UI::Menubar
- Added new example application:
- demo-Curses::UI::Menubar
2002-01-10: - Wrote documentation for:
- Curses::UI::TextEditor
- Curses::UI::TextEntry
- Curses::UI::TextViewer
- Curses::UI::Common
- Curses::UI::Container
- Added new example applications:
- demo-Curses::UI::Dialog::Basic
- demo-Curses::UI::TextEditor
- New option for Curses::UI::Label: -paddingspaces
2002-01-09: - If the screen is too small for the application
to show, the program will no longer die.
Now it will show a message telling the user
that the screen should be bigger.
- Added the -compat option and compat() method
to Curses::UI. If -compat is set to a true
value, the Curses::UI widgets will be draw
using only basic characters, which should be
available on all terminals. This might be
a good option for terminals which do not
have characters like ACS_VLINE and ACS_HLINE.
- Changed the -viewmode of Curses::UI::TextEditor
to -readonly.
- The setpos() method of Curses::UI::Progressbar
has been renamed to pos(). The options
-showpercentage and -showcenterline have been
changed to -nopercentage and -nocenterline.
- Wrote documentation for:
- Curses::UI::Popupbox
- Curses::UI::Progressbar
- Curses::UI::SearchEntry
- Curses::UI::Searchable
- Added new example applications:
- demo-Curses::UI::Popupbox
- demo-Curses::UI::Progressbar
2002-01-08: - Deleted last references to the old mws (Maurice's
Widget Set) namespace from the modules.
- Wrote documentation for:
- Curses::UI::Checkbox
- Curses::UI::Label
- Curses::UI::Listbox
- Added new example applications:
- demo-Curses::UI::Checkbox
- demo-Curses::UI::Label
- demo-Curses::UI::Listbox
Version 0.56
============
2002-01-07: - Added new example applications:
- hello_world
- demo-Curses::UI::Buttons
- demo-Curses::UI::Dialog::Progress
- pop3_reader: a simple POP3 mail reader
- Wrote documentation for Curses::UI::Buttons
- New constants in Common.pm: KEY_TAB, KEY_SPACE
- Moved the following methods from Common.pm to
Widget.pm:
- clear_binding()
- set_routine()
- set_binding()
- process_bindings()
- generic_focus()
2002-01-07: - Dialogs are moved to their own namespace:
Curses::UI::Dialog.
- Curses::UI has two new filebrowser dialog methods:
loadfilebrowser() and savefilebrowser(). These
are filebrowser dialogs which are setup correctly
for loading and saving files. The savefilebrowser()
will also check if the file to save to does exist.
If it does it will show a confirmation dialog to
have the user confirm that the file may be
overwritten.
- The code for centering a Window is now in the
Curses::UI::Window class. If the option -centered
is set, the layout() method will center the
Window.
- The add() routines of the classes Curses::UI and
Curses::UI::Container will not also accept
"Dialog::*" as a shortcut for "Curses::UI::Dialog::*".
- Added a new dialog: Curses::UI::Dialog::Status and
added documentation and and example to Curses::UI.
- Added a new dialog: Curses::UI::Dialog::Progress and
added documentation and and example to Curses::UI.
- Curses::UI applications will now automatically
clear the screen on exit (by calling the 'clear'
program using a safe $PATH).
Version 0.55
============
2002-01-06: - Instead of:
$thingy->add('id', 'Curses::UI::WidgetType', %args)
You may now also write:
$thingy->add('id', 'WidgetType', %args)
If there are no double colons in the class name,
the sofware assumes the class is in Curses::UI.
- Wrote documentation for Curses::UI.
- Fixed some small bugs and did some code cleanup.
2002-01-05: - Included basic_test in test.pl, so a real use of the
package is tested.
- The Curses::UI::RootWindow does not exist anymore.
Now the rootlevel for Curses::UI is created using
"my $cui = new Curses::UI".
- Finished first version of documentation for
Curses::UI::Widget.
Version 0.54
============
2002-01-04: - Some small changes in the examples and a new example
(basic_test) added.
- Added -show_hidden option to the Filebrowser.
- Added ~ keybinding to the Filebrowser. If ~ is pressed in the
directory- or filebrowser, the Filebrowser will go to the
homedirectory of the current user.
- If at creation time of the Filebrowser, the -path is
not defined, the Filebrowser will start at the
homedirectory of the user.
- The Curses::UI::Frame class is now called Curses::UI::Widget.
- Solved a bug in Curses::UI::Common::delallwin() which
caused a segmentation fault on some systems (by doing
a delwin on an already deleted curses window).
- Made a test.pl to test the loading of all classes.
- Updated Makefile.PL, so required modules are checked.
- Made a start on documenting Curses::UI. The first bit
of documentation is in Curses::UI::Widget. More will
follow.
Version 0.53
============
2002-01-03: - Initial import to CPAN.