223 lines
11 KiB
Plaintext
223 lines
11 KiB
Plaintext
2019-06-10 - version 1.2.1
|
|
[*] Trim only trailing spaces when loading text into TextView
|
|
[+] New Button property ShadowType = ShadowFull(default), ShadowHalf(bottom
|
|
part of shadow uses half-block), ShadowNone(no shadow at all)
|
|
|
|
2019-05-10 - version 1.2.0
|
|
[*] Dual license: MIT or BSD-2-Clause
|
|
[*] Window icons minimize and maximize are swapped
|
|
[*] UX improvement: minimize and maximize buttons moved to left side of
|
|
a window to avoid closing window accidentally after misclicking.
|
|
Old window title view:
|
|
╔Demo═══════[^_X]╗
|
|
New one:
|
|
╔[_^]═Demo════[X]╗
|
|
|
|
2019-05-7 - version 1.2.0
|
|
[*] Changed default window close icon from "O" to "■"
|
|
[*] Doc comments clean up
|
|
|
|
2019-03-16 - version 1.1.0
|
|
[!] TextReader renamed to TextDisplay to avoid confusion with io.Reader. In
|
|
library version 1.x TextReader is deprecated but still available - it is
|
|
just an alias for TextDisplay. In next major release TextReader will be
|
|
removed.
|
|
[*] Fix wrong window title for TextDisplay(TextReader) demo
|
|
|
|
2018-12-01 - version 1.0.0
|
|
[*] No changes. No bug reports. The version 1.0 is out
|
|
|
|
2018-11-09 - version 1.0.0 RC6
|
|
[*] If no error is found in the next few weeks, this release will become 1.0.
|
|
It is high time to release 1.0. Everything looks working.
|
|
[+] TableView new method VisibleArea - returns first visible column and row,
|
|
and the number of visible columns and rows. It can be useful to prepare
|
|
data beforehand to draw the data faster
|
|
[+] Table new event OnBeforeDraw(firstCol, firstRow, colCount, rowCount int).
|
|
The event is fired right before TableView is going to draw itself. So the
|
|
application can prepare all data in one step and then fetch them quickly
|
|
from the cache. The arguments of a callback are the same as returns values
|
|
of VisibleArea method
|
|
[+] Added new demo tableview-preload to show how to use new event
|
|
|
|
2018-10-08 - version 0.9.0 RC5
|
|
[*] Fix Frame border drawing
|
|
|
|
2018-09-30 - version 0.9.0 RC4
|
|
[+] New feature: borderless windows (thanks to Mark D Horn)
|
|
[+] ScrollTo API for scrollable frame
|
|
[*] Clipper fix
|
|
[*] ChildAt should skip hidden controls and skip a control if its parent
|
|
is invisible
|
|
[*] Enter key did not work in TableView control
|
|
|
|
2018-09-06 - version 0.9.0 RC3 (Thanks to Leandro Dorileo)
|
|
[+] New big feature: scrollable Frame
|
|
[+] Custom theme support: overriding theme colors with custom ones
|
|
[*] Fix bug in getLinearControlList
|
|
|
|
2018-08-13 - version 0.9.0 RC2
|
|
[+] New control: LoginDialog (a dialog with username and password fields)
|
|
|
|
2018-08-04 - version 0.9.0 RC1
|
|
[+] New control: File Picker (a dialog for file save/load operations)
|
|
[+] New property for Label: TextDisplay. It defines which part of Label title
|
|
is shown when the title is longer than the Label length:
|
|
- AlignLeft - the head of the Title is displayed
|
|
- AlignRight - the tail of the Title is displayed
|
|
[+] New ListBox functions:
|
|
- Item(index int) (title string, ok book) - returns a text of ListBox item
|
|
by its index. If the item does not exist then ok is set to false. The
|
|
function works similar Go 's, ok := map[key]'
|
|
- PartialFind(text string, caseSensitive bool) int - return the index of
|
|
the first item of ListBox that starts with the 'text'. If no item starts
|
|
with the 'text' then '-1' is returned
|
|
[*] Fix bug in EditField: when new Title was set the current display offset was
|
|
not reset. It might result in an application crash when new Title was
|
|
shorter than the old one
|
|
[*] Fix bug with ListBox 'select item' event: the event was not emitted after
|
|
pressing End, Home, PageUp, and PageDown
|
|
|
|
2018-07-17 - version 0.8.1
|
|
[+] New API functions SetColorMap and GetColorMap to change the current color
|
|
palette
|
|
[*] FindNextControl function improved
|
|
[*] Fix selecting next control with TAB: disabled and invisible controls
|
|
are skipped
|
|
[+] Next and previous control can be selected with Up and Down Arrow keys
|
|
[+] New event OnActive - is emitted when a control gains or lost focus
|
|
|
|
2018-04-07 - version 0.8.0
|
|
[+] New dialog type: SelectDialogEdit - a dialog with an edit box
|
|
[+] Added Control method destroy
|
|
[*] EditField event OnKeyPress now receives two arguments: key code and rune
|
|
|
|
2018-03-15 - version 0.8.0-RC3
|
|
[*] If active control is about to hide then the next control is activated
|
|
[*] Setting EditField content with SetTitle moves cursor to the end of line
|
|
|
|
2018-03-14 - version 0.8.0-RC2
|
|
[*] Fixed crash when the last Window is closed from a code call without user
|
|
interaction (e.g, when a Dialog button is pressed the button click handler
|
|
closes the Dialog and the application crashes if the Dialog is the last
|
|
Window in the screen)
|
|
|
|
2018-03-13 - version 0.8.0-RC1
|
|
[+] Added new property for all controls: Visible. It makes possible to show
|
|
and hide any control with its children(if there are any).
|
|
New Control interface methods: Visible and SetVisible
|
|
[+] A new event to support hiding/displaying controls: EventLayout with one
|
|
argument - Control that should handle the event. On receiving the event
|
|
the Control must recalculate and reposition all its children.
|
|
At this moment only Windows handle this event. Other kinds of Control
|
|
never receives the event
|
|
[+] Add a new simple demo to play with Control visibility: demos/visible
|
|
|
|
2018-01-26 - version 0.7.0
|
|
[+] Added new event handler for Window: set a callback OnScreenResize if you
|
|
want to handle terminal resize event
|
|
|
|
2018-01-25 - version 0.7.0
|
|
[+] Added new methods to Composer: BeginUpdate and EndUpdate to use in
|
|
multithreading application. Call BeginUpdate before creating a new Window or
|
|
manipulating Composer Windows if the code runs in separate thread. And
|
|
call EndUpdate right after all changes are done. Do not lock for a long
|
|
time because while lock is on the screen is not updated.
|
|
Another usage: create new Window inside various handlers (e.g, OnSelectItem
|
|
of ListBox)
|
|
|
|
2018-01-23 - version 0.7.0
|
|
[+] Added feature: Window method to set and read visible buttons in title bar
|
|
[+] Added feature: Window manual resizing and moving can be disabled
|
|
[*] Fix TableView scrollbars: both scrollbars did not response mouse clicks
|
|
if the last row or column were visible
|
|
[*] Fix crash after clicking the first TableView column that shows row numbers
|
|
[*] Made function to get internal composer public for low level access to
|
|
function that manipulates Windows. Function name is WindowManager
|
|
|
|
2018-01-13 - version 0.6.4
|
|
[*] Add a workaround for 'false' key presses fired after clicking mouse on OSX
|
|
|
|
2018-01-02 - version 0.6.3
|
|
[+] Add a new boolean property for EditField - PasswordMode. If PasswordMode is
|
|
true then the EditField text is hidden with 'stars'.
|
|
Please see demo demos/editfield for details
|
|
[+] Change a theme for object 'Edit' - added non-obligatory forth character
|
|
that is used as replacement for any character inside EditField when Password
|
|
mode is on. By default it is '*' in all included themes. Old themes that
|
|
miss forth character use '*' as well.
|
|
|
|
2017-12-01 - version 0.6.2
|
|
[*] Fix selecting the next control with TAB key
|
|
|
|
2017-11-28 - version 0.6.2
|
|
[*] Fix races (that racy tool shows). The work is not completed but all demos
|
|
and termfb2 application works without warnings
|
|
|
|
2017-09-07 - version 0.6.2
|
|
[*] Setting the first button of confirmation dialog as default one did not work
|
|
[*] TableView does not use 'go' to fire events that allows to create on the
|
|
fly any required dialog. That is useful, e.g., to create a simple
|
|
confirmation dialog to a user to approve a row deletion
|
|
|
|
2017-07-04 - Version 0.6.1
|
|
[*] Fix selection Window with mouse: clicking non-active Window makes the
|
|
Window active (unless the top Window is modal one)
|
|
[*] TableView does not fire OnSelectionChange event if a user clicked outside
|
|
the table. Before the fix a callback got selected index greater than
|
|
the total number of rows and might crash a callback
|
|
[+] Add a new feature to Windows: to keep all changes the Windows can be
|
|
hidden instead of destroying when a user clicks window close button. It
|
|
can be done with overriding OnClose and returning 'true' if Windows must
|
|
be kept. To remove the Window from screen use SetVisible(false)
|
|
[*] Window OnClose callback event now must return boolean. See change above
|
|
[*] Fix typo: TableView did not send TableDelete event if the selected Row
|
|
was Row number 1
|
|
|
|
2017-06-30 - Version 0.6.0
|
|
[+] Added new control TextReader - a virtual text view control with
|
|
built-in support of some hots keys to list the text
|
|
[+] Added a new global event to close active view
|
|
[+] Added a hotkey F4 to sort TableView by current column
|
|
[+] Added onKeyDown for Window
|
|
|
|
2016-10-13 - Version 0.5.0
|
|
|
|
[+] Added mouse move and mouse button release support:
|
|
Now all windows can be dragged and resized with mouse
|
|
[+] Added constants for dragging events - new type DragType
|
|
[+] Added new type of Event MouseClick: it is generated if a user does mouse
|
|
button down and mouse release at the same coordinates. In this case a
|
|
control receives 3 events: mouse down, mouse release, and mouse click
|
|
[+] Main loop moved to separate source file
|
|
[+] Added test for color parsing functions
|
|
|
|
[*] Logger moved to separate source file and it is global object now
|
|
[*] Windows do not have their own interface - all objects are derived from the
|
|
same interface
|
|
[*] Library initialization is made simpler: only one call is required, there
|
|
is no need to create composer, theme manager etc manually - everything is
|
|
created inside library initialization
|
|
[*] Because composer, theme manager and some other objects are hidden now then
|
|
a set of methods are just global library functions:
|
|
- Event processing functions like Stop(), PutEvent() etc
|
|
- Theme manager related functions like SysColor(), SysObject() etc
|
|
[*] All functions to create new objects New* are renamed to Create* functions.
|
|
Exclusion: CreateWindow is for internal use only: it creates a window but it
|
|
does not do anything else, so the window is not displayed and a user cannot
|
|
interact with it. Use AddWindow function instead of CreateWindow.
|
|
[*] All text output is colorized by default. Multicolor property is removed.
|
|
If you want to draw text as is then use DrawRaw* functions.
|
|
[*] Now all drawing function uses the current canvas colors, so all color
|
|
function arguments of all drawing functions are removed. Use global
|
|
functions SetTextColor and SetBackColor to change colors before drawing.
|
|
PopAttributes and PushAttributes may come handy to save/restore canvas
|
|
attributes between drawing calls
|
|
[*] Renamed a few constants to get rid of negative constructions:
|
|
DoNotScale -> Fixed
|
|
DoNotChange -> KeepValue
|
|
|
|
[-] The first argument view of all Create* functions is removed as obsolete.
|
|
Now library does not require to set parent Window. It is sufficient to set
|
|
only control's parent
|