finalcut/ChangeLog

1313 lines
46 KiB
Plaintext

2019-01-02 Markus Gans <guru.mail@muenster.de>
* Improved PC encoding for Cygwin and Linux
2018-12-31 Markus Gans <guru.mail@muenster.de>
* Use the override specifier
2018-12-30 Markus Gans <guru.mail@muenster.de>
* Cygwin compiled fix for C++11
2018-12-29 Markus Gans <guru.mail@muenster.de>
* Text scrolling in FTextView was broken since February 17th!
* Replace redundant FString code with templates
2018-12-28 Markus Gans <guru.mail@muenster.de>
* Add the assignment operator (=) for FButton to set the button text
* Corrected shortening of overlong texts in the title bar of FDialog
* Add a "signals and callbacks" chapter into the first steps document
2018-12-25 Markus Gans <guru.mail@muenster.de>
* Add a "event processing" chapter into the first steps document
2018-12-24 Markus Gans <guru.mail@muenster.de>
* Events can not only be sent to FWidgets, but also to FObjects
* New event FUserEvent for user-defined events
2018-12-19 Markus Gans <guru.mail@muenster.de>
* Use of smart pointers
* Add a "memory management" chapter into the first steps document
2018-12-17 Markus Gans <guru.mail@muenster.de>
* Improve FButton mouse click animation
* Minor data type corrections
* Reactivate the event queue
2018-12-15 Markus Gans <guru.mail@muenster.de>
* Use of the C++11 auto specifier in the program code
* Code reduction by using of range-based for loop
* The example program for video attributes now replaces
the switch statement with a vector of lambda expressions
2018-12-09 Markus Gans <guru.mail@muenster.de>
* Better handling of the scrollbar maximum
* Deactivate copy constructor and assignment operator with "= delete"
* Use nullptr instead of 0 to initialize a pointer values
2018-12-06 Markus Gans <guru.mail@muenster.de>
* Easier handling of fc::SpecialCharacter
2018-12-01 Markus Gans <guru.mail@muenster.de>
* Switched to the language standard C++11
* Use delegated constructors and in-class default member initializers
2018-12-01 Markus Gans <guru.mail@muenster.de>
* Improved gpm wheel mouse support
* Fix compile in optimization level 2 for newer gcc
2018-11-27 Markus Gans <guru.mail@muenster.de>
* Correct vertical scrollbar position after sorting in FListView
2018-11-25 Markus Gans <guru.mail@muenster.de>
* Version 0.5.0
* Namespace fix in FTermFreeBSD and FTermOpenBSD
* Fix compiler warning on non-x86 architectures
2018-11-24 Markus Gans <guru.mail@muenster.de>
* Improved Sun Microsystems workstation console quirks
* Handling environment variables with numbers in FTerm
* Memory management fix in example program transparent
2018-11-21 Markus Gans <guru.mail@muenster.de>
* New type FKey for key inputs
* The integer type of FPoint and FRect changed from short to int
2018-11-18 Markus Gans <guru.mail@muenster.de>
* The FListViewItem class now provides checkable list view items
* Adding the checklist example to demonstrate the checkable
FListViewItems
* A checkable FListViewItem now shows the input cursor
2018-11-12 Markus Gans <guru.mail@muenster.de>
* Clicking on the column header in FListView now changes the sort order
2018-11-10 Markus Gans <guru.mail@muenster.de>
* FListView now has a sort indicator to display the sort order
2018-11-07 Markus Gans <guru.mail@muenster.de>
* Use new type FColor for color values
2018-11-05 Markus Gans <guru.mail@muenster.de>
* FButton now uses the widget flags directly
2018-11-04 Markus Gans <guru.mail@muenster.de>
* Widget flags are now stored in a bit field
2018-11-03 Markus Gans <guru.mail@muenster.de>
* New method rgb2ColorIndex() to converts a 24-bit RGB color
to a 256-color compatible approximation
2018-11-01 Markus Gans <guru.mail@muenster.de>
* Moved FTerm debug access methods to FTermDebugData
2018-10-29 Markus Gans <guru.mail@muenster.de>
* FTerm is now a data member of FVTerm
* Fix FListBox prevListItem()
* Setting the value can_change_color_palette in FTermcapQuirks
2018-10-26 Markus Gans <guru.mail@muenster.de>
* Building Fix for a negative value check (gcc < 4.8)
* Adding the capacity() method to the FString class
2018-10-21 Markus Gans <guru.mail@muenster.de>
* Moving static attributes from FApplication to FWidget
2018-10-17 Markus Gans <guru.mail@muenster.de>
* Changed more variables from int to std::size_t
2018-10-14 Markus Gans <guru.mail@muenster.de>
* A width or height can not be negative.
For that reason the change from int to std::size_t
* FString fix for 32-bit architectures
2018-10-13 Markus Gans <guru.mail@muenster.de>
* Avoid using dynamic_cast so that you can compile Final Cut
without Run-Time Type Information (RTTI).
Thanks to user1095108 for reporting that.
2018-10-11 Markus Gans <guru.mail@muenster.de>
* FKeyboard now uses references for keyboard buffer passing
2018-10-09 Markus Gans <guru.mail@muenster.de>
* Terminal detection for newer vte libraries (>= 0.53.0)
2018-10-08 Markus Gans <guru.mail@muenster.de>
* Move all termcap code into FTermcap
* Some small code splits
2018-10-05 Markus Gans <guru.mail@muenster.de>
* Remove redundant program code from FString
2018-10-03 Markus Gans <guru.mail@muenster.de>
* At the end of the lifetime of an FMenuItem object,
delete its entry from the object list of the parent object
* Reduce the use of the new operators in the examples
* Adding a unit test for the FTermData class
2018-10-01 Markus Gans <guru.mail@muenster.de>
* Extract FTerm data members into the data class FTermData
2018-09-28 Markus Gans <guru.mail@muenster.de>
* FListView now has the ability to sort by columns
2018-09-27 Markus Gans <guru.mail@muenster.de>
* Move time event processing from FApplication to FObject
2018-09-26 Markus Gans <guru.mail@muenster.de>
* The FListViewItem class now has a getData() and a setData() method
similar to the FListBoxItem class.
2018-09-24 Markus Gans <guru.mail@muenster.de>
* Stricter use of the keyword virtual
* Add a first steps document
2018-09-20 Markus Gans <guru.mail@muenster.de>
* Added pkg-config file finalcut.pc
* The entire library source code is now encapsulated under
the namespace finalcut. All examples and tests have been
modified to fit the namespace.
2018-09-16 Markus Gans <guru.mail@muenster.de>
* Implement a ttytype test for the FTermDetection unit test
2018-09-14 Markus Gans <guru.mail@muenster.de>
* Added unit test for FTermDetection with a terminal simulation
for common terminals
* Some minor terminal detection bug fixes
2018-09-12 Markus Gans <guru.mail@muenster.de>
* Removes the deprecated keyword "register"
from the source code
2018-09-02 Markus Gans <guru.mail@muenster.de>
* Fix mouse wheel behavior over horizontal scroll bars
in FTextView
* Some small code improvements
2018-09-01 Markus Gans <guru.mail@muenster.de>
* Compiles now with newer gcc
2018-08-31 Markus Gans <guru.mail@muenster.de>
* Fixed a problem for a non-debug compilation
2018-08-08 Markus Gans <guru.mail@muenster.de>
* Added unit test for FTermcapQuirks
2018-07-29 Markus Gans <guru.mail@muenster.de>
* Added numeric Keypad [/], [*], [-], [+] support
* Handling of keys that are substrings of other keys
* More tests in FKeyboard unit test
2018-07-27 Markus Gans <guru.mail@muenster.de>
* The array for keyboard input of UTF-8 characters was
not long enough for 4 bytes of UTF-8 codes.
* More tests in FKeyboard unit test
2018-07-22 Markus Gans <guru.mail@muenster.de>
* Added unit test for FKeyboard
2018-07-15 Markus Gans <guru.mail@muenster.de>
* Keyboard functions are now in a separate class
* Fix Parameter passing in term::init_OptiAttr
2018-07-08 Markus Gans <guru.mail@muenster.de>
* Extension of the unit test of FOptiMove
2018-07-01 Markus Gans <guru.mail@muenster.de>
* All in FOptiMove required termcap values can now be passed
with a single struct
2018-06-25 Markus Gans <guru.mail@muenster.de>
* All termcap values required in FOptiAttr can now be passed
with a single struct
2018-06-17 Markus Gans <guru.mail@muenster.de>
* Added special console options for FreeBSD, NetBSD and OpenBSD
2018-06-12 Markus Gans <guru.mail@muenster.de>
* Linux functions from FTerm moved into the FTermLinux class
2018-05-27 Markus Gans <guru.mail@muenster.de>
* Move FreeBSD, NetBSD and OpenBSD functions to separate classes
2018-05-20 Markus Gans <guru.mail@muenster.de>
* Methods outsourcing from FTerm to FTermXTerminal
2018-05-06 Markus Gans <guru.mail@muenster.de>
* Some protected data members in FTerm moved to private
2018-05-03 Markus Gans <guru.mail@muenster.de>
* Fix resetColorMap in FTerm
2018-05-02 Markus Gans <guru.mail@muenster.de>
* Outsourcing of data from FTerm to the classes FTermios,
FTermDetection and FTermcapQuirks
2018-04-19 Markus Gans <guru.mail@muenster.de>
* Placing the terminal types in FTerm in a separate structure
2018-04-15 Markus Gans <guru.mail@muenster.de>
* Fake-reverse bugfix in FOptiAttr
* Strict use of fc::colornames in FOptiAttr
* Stream support for FPoint and FRect
2018-04-11 Markus Gans <guru.mail@muenster.de>
* Remove Cygwin bold color quirks fix in FOptiAttr
* Added unit test for FOptiAttr
2018-04-08 Markus Gans <guru.mail@muenster.de>
* Improved Linux terminal quirks
* Improvement in class FOptiAttr
2018-04-02 Markus Gans <guru.mail@muenster.de>
* Improved cygwin terminal quirks
* Optimized character set switching in FOptiAttr
2018-03-30 Markus Gans <guru.mail@muenster.de>
* Added unit test for FOptiMove
2018-03-28 Markus Gans <guru.mail@muenster.de>
* Add boundary check to FOptiMove
2018-03-25 Markus Gans <guru.mail@muenster.de>
* Added unit test for the mouse classes
* Fixed small parsing errors with mouse events
2018-03-17 Markus Gans <guru.mail@muenster.de>
* Added unit test for FObject
* Some minor bug fixes in FObject
2018-03-13 Markus Gans <guru.mail@muenster.de>
* Added unit test for FRect
2018-03-11 Markus Gans <guru.mail@muenster.de>
* Added unit test for FPoint
2018-03-10 Markus Gans <guru.mail@muenster.de>
* Unit tests for the FString class completed
* Minor bug fixes in FString
2018-02-25 Markus Gans <guru.mail@muenster.de>
* First CppUnit tests implemented
2018-02-22 Markus Gans <guru.mail@muenster.de>
* Generalize mouse event passing in FMenuItem
2018-02-19 Markus Gans <guru.mail@muenster.de>
* Refactoring FTerm::init_termcaps
* Refactoring FTerm::init_encoding
2018-02-18 Markus Gans <guru.mail@muenster.de>
* Avoid scroll bar overshooting
* Refactoring FListView::onMouseMove
* Refactoring FDialog::initDialogMenu
2018-02-17 Markus Gans <guru.mail@muenster.de>
* Generalize scroll functions in FTextView
* Refactoring FButtonGroup::drawLabel
* Refactoring FToggleButton::drawLabel
2018-02-11 Markus Gans <guru.mail@muenster.de>
* Refactoring FWidget::focusNextChild and FWidget::focusPrevChild
* Refactoring FListView::onWheel
* Refactoring FListView::drawColumnLabels
* Refactoring FTerm::getSystemTermType
* Rename getTermName() to getTermFileName()
2018-02-10 Markus Gans <guru.mail@muenster.de>
* Refactoring FOptiMove::verticalMove and FOptiMove::horizontalMove
* Refactoring FVTerm::getCharacter
* Refactoring FWidget::drawBorder
2018-02-02 Markus Gans <guru.mail@muenster.de>
* Avoids flickering when redrawing a focused widget
2018-01-31 Markus Gans <guru.mail@muenster.de>
* Refactoring FSwitch::drawCheckButton
* Refactoring FWidget::redraw
* Refactoring FMessageBox::init
* Refactoring FFileDialog::init
2018-01-30 Markus Gans <guru.mail@muenster.de>
* Refactoring FLabel::draw
* Refactoring FFileDialog::readDir
2018-01-28 Markus Gans <guru.mail@muenster.de>
* Refactoring FApplication::processKeyboardEvent
* Shorter methods and a fix for recreating new windows
in the window example
2018-01-25 Markus Gans <guru.mail@muenster.de>
* UTF-8 fix for Solaris
2018-01-24 Markus Gans <guru.mail@muenster.de>
* Fixes compiler errors for latest Cygwin versions
* Widget color scheme settings moved to a separate class
* The color palette redefinition now has its own class
2018-01-21 Markus Gans <guru.mail@muenster.de>
* The Final Cut can now also be compiled under Cygwin
* Fixed bug in FScrollView::scrollTo
* Refactoring FStatusBar::drawKeys
* Refactoring FListView::drawListLine
2018-01-17 Markus Gans <guru.mail@muenster.de>
* Small array optimizations in the examples
2018-01-14 Markus Gans <guru.mail@muenster.de>
* Mouse functions are now in a separate class
2018-01-05 Markus Gans <guru.mail@muenster.de>
* Refactoring FVTerm::restoreVTerm
* Fixed buffer size in FOptiMove
2018-01-03 Markus Gans <guru.mail@muenster.de>
* Refactoring FOptiMove::relativeMove
* Refactoring attribute settings in FOptiAttr
* Refactoring FTerm::parseKeyString and timeout settings
2018-01-02 Markus Gans <guru.mail@muenster.de>
* Refactoring of secondary device attributes parsing
* Small menu improvements
2017-12-31 Markus Gans <guru.mail@muenster.de>
* Refactoring of the FListBox mouse event handler
* Refactoring of the FMenuBar mouse event handler
* Replace the switch-case in the calculator example by an STL map
with method pointers
2017-12-29 Markus Gans <guru.mail@muenster.de>
* Refactoring of the FDialog mouse event handler
2017-12-27 Markus Gans <guru.mail@muenster.de>
* Generalize scroll functions in FScrollView
* Refactoring FScrollbar::drawBar
* Refactoring FLineEdit::onKeyPress
* Refactoring FMenu::onKeyPress
* Refactoring FDialog::onKeyPress
* Refactoring FDialog::drawTitleBar
* New FDialog methods moveUp(), moveDown(), moveLeft(),
moveRight(), reduceHeight(), expandHeight(), reduceWidth(),
and expandWidth()
2017-12-25 Markus Gans <guru.mail@muenster.de>
* Refactoring FButton::draw
* Passing more strings by reference
2017-12-21 Markus Gans <guru.mail@muenster.de>
* Refactoring FMenuBar::drawItems
* (de)allocation functions in FTerm
2017-12-19 Markus Gans <guru.mail@muenster.de>
* Refactoring FMenu::drawItems
2017-12-17 Markus Gans <guru.mail@muenster.de>
* The Final Cut now also compiles under Solaris
2017-12-14 Markus Gans <guru.mail@muenster.de>
* Add Sun Microsystems workstation console support
2017-12-10 Markus Gans <guru.mail@muenster.de>
* Refactoring of the FMenu mouse event handler
2017-12-08 Markus Gans <guru.mail@muenster.de>
* More individual arithmetic operations methods in
the implementation of the calculator example
2017-12-05 Markus Gans <guru.mail@muenster.de>
* Refactoring FApplication::processMouseEvent
* Refactoring FApplication::processKeyboardEvent
2017-12-02 Markus Gans <guru.mail@muenster.de>
* Refactoring FListBox::drawList and FListBox::onKeyPress
* Refactoring FWidget::event
2017-12-02 Markus Gans <guru.mail@muenster.de>
* Refactoring FApplication::linuxModifierKeyCorrection and
FVTerm::updateVTerm
* Fix getLinuxModifierKey() subcode value as non-const
2017-11-30 Markus Gans <guru.mail@muenster.de>
* Refactoring FVTerm::updateTerminalLine
2017-11-26 Markus Gans <guru.mail@muenster.de>
* Better code readability by splitting FOptiMove::moveCursor
into sub-functions
* Improved alignment of the code by changing the indentation
in Boolean expressions
2017-11-25 Markus Gans <guru.mail@muenster.de>
* Splitting quirks in serperate methods
2017-11-24 Markus Gans <guru.mail@muenster.de>
* Detects Linux console font with 512 characters and
reduces the number of colors to 8
* Color palette defined for 8 colors
2017-11-23 Markus Gans <guru.mail@muenster.de>
* Remove duplicated code from FOptiAttr::changeAttribute
2017-11-22 Markus Gans <guru.mail@muenster.de>
* Remove duplicated code in FVTerm::print
2017-11-19 Markus Gans <guru.mail@muenster.de>
* Splitting the FString example into sub-functions to make
the code more comprehensible
2017-11-18 Markus Gans <guru.mail@muenster.de>
* Improved command line paramenter handling
* New command line paramenter --no-terminal-detection
* New command line paramenter --no-color-change
* Splitting init_termcaps() into multiple submethods
2017-11-11 Markus Gans <guru.mail@muenster.de>
* Improved code coverage tests
2017-11-08 Markus Gans <guru.mail@muenster.de>
* Simulate invisible characters on terminals that do not
support this attribute
2017-11-04 Markus Gans <guru.mail@muenster.de>
* Version 0.4.0
* Change license from GPL v3 to LGPL v3
2017-11-03 Markus Gans <guru.mail@muenster.de>
* Small NewFont improvements
* Fixed bug: The window example called a callback method after
the child data was deleted
2017-11-02 Markus Gans <guru.mail@muenster.de>
* Move fonts into the root directory
2017-10-30 Markus Gans <guru.mail@muenster.de>
* Fix scrollview functionality with new inheritance structure
* Add a standardized close confirmation dialog
* Only <final/final.h> can now be directly integrated in programs
2017-10-29 Markus Gans <guru.mail@muenster.de>
* Adaptation of the inheritance diagrams in the header files
* Add a standardized cb_exitApp callback method to FApplication
2017-10-27 Markus Gans <guru.mail@muenster.de>
* FWidget now inherits directly from FObject
2017-10-23 Markus Gans <guru.mail@muenster.de>
* A FListView tree branch can now be expand and collapsed
with a single click
2017-10-19 Markus Gans <guru.mail@muenster.de>
* Optimized Color palette (less saturated colors)
2017-10-18 Markus Gans <guru.mail@muenster.de>
* Expand or collapse a tree element with a double-click
* FListView::adjustViewport() improved
2017-10-15 Markus Gans <guru.mail@muenster.de>
* FObject double free prevention of fc::empty_string
2017-10-14 Markus Gans <guru.mail@muenster.de>
* Fixed a bug in the FObject check of parent objects
* Replace the deprecated readdir_r function (CVE-2013-4237)
* First implementation of a tree view in the FListView
class (alpha state)
2017-10-02 Markus Gans <guru.mail@muenster.de>
* DECSCUSR - Set Cursor Style support for VTE >= 0.40.0 and
gnome-terminal >= 3.16
* Checks if the FScrollview viewport fits into the print area
2017-10-02 Markus Gans <guru.mail@muenster.de>
* SGR and URXVT mouse support for coordinates greater-than
255 columns or lines
* Add copyright information to the source files
2017-09-21 Markus Gans <guru.mail@muenster.de>
* New data type FStringList introduced
* Stream and assignment operator support for FLineEdit
2017-09-20 Markus Gans <guru.mail@muenster.de>
* FString has now got its own streaming functionality for
inbound and outbound type conversion
* Added stream and assignment operator support for FLabel
2017-09-19 Markus Gans <guru.mail@muenster.de>
* The command line help text is now available in all applications
2017-09-17 Markus Gans <guru.mail@muenster.de>
* FObject has received the iterator child access methods
begin() and end()
* All include files were moved to a separate directory
* std::scanf used now fields with width limit
2017-09-15 Markus Gans <guru.mail@muenster.de>
* Fix byte access in data type char_data
2017-09-11 Markus Gans <guru.mail@muenster.de>
* Some code improvements
* Fix handling of negative numbers in FString::toLong()
2017-09-09 Markus Gans <guru.mail@muenster.de>
* Wrong UTF-8 string length fixed when attaching to FString
2017-09-07 Markus Gans <guru.mail@muenster.de>
* Type definition exported into a separate header file
2017-09-03 Markus Gans <guru.mail@muenster.de>
* Fixes wrong maximum line width in FListView
2017-08-26 Markus Gans <guru.mail@muenster.de>
* Improve code readability through spaces between
the operands and the operators
2017-08-24 Markus Gans <guru.mail@muenster.de>
* Rename fapp.{cpp,h} to fapplication.{cpp,h}
2017-08-20 Markus Gans <guru.mail@muenster.de>
* Screen characters got a union structure for a faster
attribute compare operation
2017-08-11 Markus Gans <guru.mail@muenster.de>
* Some code changes for GCC 7
* Implementation of a copy constructor for FPoint and FRect
2017-08-06 Markus Gans <guru.mail@muenster.de>
* Fix GNU Screen support for vte/gnome-terminals
* Advanced streaming functionality for FTermBuffer
and FVTerm::print()
2017-07-31 Markus Gans <guru.mail@muenster.de>
* New methods to retrieve or modify FListViewItem text or
a FListView column text for a specific column
2017-07-28 Markus Gans <guru.mail@muenster.de>
* Possibility for a FListView column to set
the alignment (left, center or right)
2017-07-23 Markus Gans <guru.mail@muenster.de>
* Check an object with isInstanceOf(...) whether it is
an instance of a specified class
2017-07-18 Markus Gans <guru.mail@muenster.de>
* New Widget class FListView (filled with FListViewItem)
to allow a multi-column data view
* Add the listview example to demonstrate FListView
2017-07-11 Markus Gans <guru.mail@muenster.de>
* New class FTermBuffer to buffer terminal outputs
* Add the possibility to print from the terminal buffer
2017-07-03 Markus Gans <guru.mail@muenster.de>
* Use more static const variables where it makes sense
2017-06-26 Markus Gans <guru.mail@muenster.de>
* FString::rtrim() and FString::left() now return an FString
object with the correct character length
2017-06-18 Markus Gans <guru.mail@muenster.de>
* Move the dragScroll enumeration into the fc namespace
2017-06-11 Markus Gans <guru.mail@muenster.de>
* New method FObject::isWidget()
* Non-widget objects inherit from FObjects will no longer
affect the widget lists
2017-06-05 Markus Gans <guru.mail@muenster.de>
* The focus and active flag is set centrally in FWidget
2017-05-20 Markus Gans <guru.mail@muenster.de>
* Recalculate the horizontal FListBox scroll bar size
on lazy conversion
2017-05-19 Markus Gans <guru.mail@muenster.de>
* FListBox: Import of data from a container via
"lazy conversion" during item print
2017-04-23 Markus Gans <guru.mail@muenster.de>
* Import of data from a standard container in FListBox
is now possible
* The new "listbox" example shows the handling with
standard containers
2017-04-17 Markus Gans <guru.mail@muenster.de>
* Speed up FString::setNumber() by using a decimal
string lookup table
* FString allocates no new memory if the size is sufficient
2017-04-15 Markus Gans <guru.mail@muenster.de>
* Fix unsigned integer underflow in FString::_insert()
2017-04-14 Markus Gans <guru.mail@muenster.de>
* The Final Cut compiles also under OpenBSD
* The alt key now always generates an esc prefix
on an OpenBSD and a NetBSD console
2017-04-11 Markus Gans <guru.mail@muenster.de>
* Enable xterm "metaSendsEscape" switch
2017-04-09 Markus Gans <guru.mail@muenster.de>
* The Final Cut compiles now also under NetBSD
* Rename preprocessor macro names with leading underscore
2017-04-08 Markus Gans <guru.mail@muenster.de>
* Looking in /etc/ttys for the type of terminal
2017-04-06 Markus Gans <guru.mail@muenster.de>
* Change cursor style on a FreeBSD console
2017-04-05 Markus Gans <guru.mail@muenster.de>
* Replace non-printable characters for Tera Term and
Cygwin terminal directly at start-up. Special cases
in the code are no longer necessary.
* New method setInsertCursorStyle() to change the appearance
of a cursor
2017-04-02 Markus Gans <guru.mail@muenster.de>
* Remap the meta key to left alt key at runtime
on the FreeBSD console for the accelerator key access
(Console switching is still possible with
Ctrl-Alt-F1 through Ctrl-Alt-F8)
* Avoid non-printable ASCII codes < 0x1c on a FreeBSD console
2017-03-30 Markus Gans <guru.mail@muenster.de>
* Fixed bug: termcap "me" does not reset
the alternate character set
2017-03-28 Markus Gans <guru.mail@muenster.de>
* Improved graphic charset pairs (vt100)
for FreeBSD console
2017-03-26 Markus Gans <guru.mail@muenster.de>
* The Final Cut compiles now under FreeBSD
* A new test program to show the termcap variables
2017-03-19 Markus Gans <guru.mail@muenster.de>
* Add the "mouse" example to illustrate mouse programming
2017-03-17 Markus Gans <guru.mail@muenster.de>
* More constant character pointers
2017-03-13 Markus Gans <guru.mail@muenster.de>
* Corrects directly the input cursor position on window moving
2017-03-12 Markus Gans <guru.mail@muenster.de>
* The FButtonGroup now has a scrolling area
with on-demand scroll bars
* Add the "choice" example to demonstrate the FButtonGroup
auto-adjusting with on-demand scroll bars
* FRect can now combine two FRect objects
* The FButtonGroup got the possibility of index access
to a child button.
* Fixed bug in FString copy constructor
2017-03-08 Markus Gans <guru.mail@muenster.de>
* Improve input cursor positioning in FScrollView
2017-02-24 Markus Gans <guru.mail@muenster.de>
* Corrected swapped top and left offset variables
in the class FVTerm
2017-02-24 Markus Gans <guru.mail@muenster.de>
* FListBox gets the option to save a data pointer for
every FListBoxItem element
* Fixes incorrect return value of FString::toString()
2017-02-19 Markus Gans <guru.mail@muenster.de>
* New FWidget methods setMinimumWidth(), setMinimumHeight(),
setMaximumWidth() and setMaximumHeight()
* FButtonGroup now inherits from FScrollView. This supports
many buttons to be displayed in a smaller frame.
2017-02-18 Markus Gans <guru.mail@muenster.de>
* Allows a window to have more than one FScrollView widget
2017-02-07 Markus Gans <guru.mail@muenster.de>
* Uses termcap capability U8 to identify terminals that
can't display vt100 line-drawing in UTF-8 mode
2017-01-28 Markus Gans <guru.mail@muenster.de>
* Allow to change the focus out from FScrollView to another widget
2017-01-26 Markus Gans <guru.mail@muenster.de>
* FScrollView now scrolls automatically to the focused widget
2017-01-22 Markus Gans <guru.mail@muenster.de>
* A FScrollView object can now have client widgets
on the scrolling area
2017-01-15 Markus Gans <guru.mail@muenster.de>
* Virtual window gets a preprocessing handler. This allows
a preprocessing method to be called before the vterm is updated.
2017-01-07 Markus Gans <guru.mail@muenster.de>
* Add scrollTo and scrollBy methods to FScrollView
2017-01-03 Markus Gans <guru.mail@muenster.de>
* FScrollView now has on-demand scroll bars
* Arrow keys support for FScrollView viewport scrolling
2017-01-02 Markus Gans <guru.mail@muenster.de>
* The new FScrollView widget provides a scrollable viewport
to change the area of interest
* The scrollview example illustrates the use of FScrollView class
2016-12-28 Markus Gans <guru.mail@muenster.de>
* Reduce public methods in FVTerm
2016-12-27 Markus Gans <guru.mail@muenster.de>
* Avoid non-working tab-cursor-movements on Linux terminals
with activated PC or VT100 encoding
2016-12-26 Markus Gans <guru.mail@muenster.de>
* Add the ability to stream text into a widget's virtual window
with print() << '#' << 5; or *this << ...
2016-12-22 Markus Gans <guru.mail@muenster.de>
* VTerm marks printed characters for a correct determination
of unchanged characters
* Correct gpm detection in configure script
2016-12-18 Markus Gans <guru.mail@muenster.de>
* Only perform VTerm updates on terminal updates
* Skipping the print of characters without changes
* Combined scrollAreaForward and scrollAreaReverse
with terminal scroll sequences
2016-12-15 Markus Gans <guru.mail@muenster.de>
* Reduce the character output by using character erase
and character repeat
2016-12-11 Markus Gans <guru.mail@muenster.de>
* Accelerates text line drawing by clear with CSI sequences
to begin or to end of the current line.
2016-11-29 Markus Gans <guru.mail@muenster.de>
* Restore the xterm window title and font
only if it could be read before
2016-11-27 Markus Gans <guru.mail@muenster.de>
* Some minor bug fixes
* Version 0.3.0
2016-11-26 Markus Gans <guru.mail@muenster.de>
* Improvements for ansi terminal emulators
* Add the opti-move test program
* Optimized the terminal clear screen
2016-11-20 Markus Gans <guru.mail@muenster.de>
* Increase speed on cygwin terminals
* Improve tty settings
2016-11-13 Markus Gans <guru.mail@muenster.de>
* Do not draw shadows on a Linux console if not
all characters are available
2016-11-12 Markus Gans <guru.mail@muenster.de>
* Better support for Linux terminals with 8 colors
* Optimized input cursor positioning for terminals without
hidden cursor
* Switch locale name from "en_US" to "C"
* Fix FString toLong()
2016-11-06 Markus Gans <guru.mail@muenster.de>
* The adjustment of xterm default colors now is configurable
2016-11-05 Markus Gans <guru.mail@muenster.de>
* Determine xterm maximum number of colors via OSC 4
* The method clearArea can now fill the background
with certain character
2016-11-03 Markus Gans <guru.mail@muenster.de>
* xterm should be able to use at least 16 colors
2016-11-01 Markus Gans <guru.mail@muenster.de>
* The class declaration now has a consistent order
2016-10-17 Markus Gans <guru.mail@muenster.de>
* Refactor the VGA attribute controller access code
2016-10-15 Markus Gans <guru.mail@muenster.de>
* Each virtual window gets its own virtual print cursor
2016-10-14 Markus Gans <guru.mail@muenster.de>
* Virtual windows can now store their own offset information
* Correct implementation of the move() method
2016-10-13 Markus Gans <guru.mail@muenster.de>
* Reduces in the code the number of friend classes
2016-10-11 Markus Gans <guru.mail@muenster.de>
* Separate the virtual terminal into a own class vterm
2016-10-09 Markus Gans <guru.mail@muenster.de>
* Remove some duplicate code
2016-10-08 Markus Gans <guru.mail@muenster.de>
* Add the possibility to scroll text up and down
in a virtual window
2016-10-06 Markus Gans <guru.mail@muenster.de>
* The input cursor is now controlled by the virtual terminal
2016-10-02 Markus Gans <guru.mail@muenster.de>
* FStatusBar and FMenuBar use now the always-on-top
window option
2016-10-01 Markus Gans <guru.mail@muenster.de>
* Add an always-on-top mode for window objects
* New FToolTip widget to show assisted information
2016-09-30 Markus Gans <guru.mail@muenster.de>
* Using arrow keys to move or to resize a window
2016-09-28 Markus Gans <guru.mail@muenster.de>
* The size is now dynamically changeable with the mouse
in a resizable window.
2016-09-26 Markus Gans <guru.mail@muenster.de>
* FLabel now transmits the Click events to the parent widget
2016-09-25 Markus Gans <guru.mail@muenster.de>
* Splitting gotoxy in printPos (local position)
and printPosTerm (global terminal position)
* Replacing the widget position variables by FRect objects
* Rename getGeometryShadow() to getGeometryWithShadow()
* Rename getGeometryGlobal() to getTermGeometry()
* Rename getGeometryGlobalShadow() to getTermGeometryWithShadow()
* Rename globalToLocalPos() to termToWidgetPos()
* Rename getGlobalX() to getTermX()
* Rename getGlobalY() to getTermY()
* Rename getGlobalPos() to getTermPos()
* setColor() without parameters sets the default widget colors
* New methods setMinimumSize(), setMaximumSize(), setFixedSize()
and setSize()
2016-09-12 Markus Gans <guru.mail@muenster.de>
* Activate the title bar menu with ctrl+^
2016-09-11 Markus Gans <guru.mail@muenster.de>
* New zoom interaction-elements to maximize a FDialog
2016-09-08 Markus Gans <guru.mail@muenster.de>
* Different color when focusing the title bar button
* Move clearArea() from FWidget to FTerm
* Move setWidth(), setHeight() and setGeometry from
FDialog to FWindow
2016-09-04 Markus Gans <guru.mail@muenster.de>
* FButton, FLineEdit and FProgressbar has shadow now enabled
by default
* FDialog has now transparent shadow as default
2016-09-03 Markus Gans <guru.mail@muenster.de>
* The method clearFlatBorder() replace now a double flatline
with a single flatline
* Add the possibility to set the double_flatline_mask for
every position on all sides
2016-09-02 Markus Gans <guru.mail@muenster.de>
* Method setGeometry assigns now the full widget size to
the double_flatline_mask (previously, it was the adjust size)
2016-08-28 Markus Gans <guru.mail@muenster.de>
* Remove obsolete code from FDialog
* An incorrect parameter can now return an error message
on program exit
* Termcap S2 and S3 fallback only for the vte/gnome-terminal
and the Linux terminal
2016-08-27 Markus Gans <guru.mail@muenster.de>
* A new inherit background option for characters
* Use inherit background for the simple shadows
* Updating the transparent example program
2016-08-25 Markus Gans <guru.mail@muenster.de>
* Use the new transparent shadow option in drawShadow()
2016-08-21 Markus Gans <guru.mail@muenster.de>
* Improved transparent shadow background
* Add "transparent" example to demonstrate transparency
2016-08-20 Markus Gans <guru.mail@muenster.de>
* Switch back to the own dialog when you closing a dialog menu
* switchToPrevWindow() is looking for another window
if no previous window was found
2016-08-14 Markus Gans <guru.mail@muenster.de>
* Screen characters now have a transparent
and a transparent shadow option
2016-07-31 Markus Gans <guru.mail@muenster.de>
* Rename setUpdateVTerm to updateVTerm
* Rename clrscr to clearArea
* The widget clearing method updates now only non-covered
characters on the virtual terminal.
2016-07-31 Markus Gans <guru.mail@muenster.de>
* Resetting the local window widget focus at
the end of the lifetime of a widget.
* Fix method setPos in the class FRect
* Add the windows example to show the window behavior
2016-07-30 Markus Gans <guru.mail@muenster.de>
* Delete all callbacks from a widget with delCallbacks()
* Remove dialog list item callback from the associated window
2016-07-28 Markus Gans <guru.mail@muenster.de>
* Improvements for the window focus
2016-07-24 Markus Gans <guru.mail@muenster.de>
* Add missing null pointer check in FOptiAttr before dereferencing
* Remove callbacks and accelerator keys from FDialogListMenu
on closing of a dialog window
* Execute accelerator keys only once
* Improved window focus behavior
2016-07-23 Markus Gans <guru.mail@muenster.de>
* Add a modifier key correction for the Linux tty
* Support to read meta+enter from keyboard
2016-07-16 Markus Gans <guru.mail@muenster.de>
* Support to read meta+tab from keyboard
2016-07-16 Markus Gans <guru.mail@muenster.de>
* Switch to a specific dialog with meta key + 1..9
* Add more meta key escape sequences (for putty)
2016-07-14 Markus Gans <guru.mail@muenster.de>
* Adding a dialog list with the entries in the chronological
order of the generation
2016-07-13 Markus Gans <guru.mail@muenster.de>
* Bind accelerator key from the FMenuItem to the root widget
2016-07-12 Markus Gans <guru.mail@muenster.de>
* The status bar and the menu bar insert now the accelerator keys
into the global scope of the root widget
2016-07-10 Markus Gans <guru.mail@muenster.de>
* Remove obsolete code from FDialog destructor
* FDialog focus fix
2016-07-08 Markus Gans <guru.mail@muenster.de>
* Better code readability: control structures (if/else, while, switch)
are now separated by a blank line.
2016-07-06 Markus Gans <guru.mail@muenster.de>
* Stop terminal updates during processCloseWidget() is working
2016-07-03 Markus Gans <guru.mail@muenster.de>
* Add the new class FDialogListMenu to switch between dialog menus
* More consistent method names:
rename parentWidget() to getParentWidget()
2016-06-27 Markus Gans <guru.mail@muenster.de>
* Fix the use-after-free bug for previous_widget
2016-06-26 Markus Gans <guru.mail@muenster.de>
* Bug fix for FWindow::activatePrevWindow()
2016-06-25 Markus Gans <guru.mail@muenster.de>
* Move processNextEvent() code into sub functions
2016-06-22 Markus Gans <guru.mail@muenster.de>
* Adding required updateTerminal() calls for FMenuBar
2016-06-19 Markus Gans <guru.mail@muenster.de>
* Clear status bar text in FMenuBar::leaveMenuBar()
* Fixes some status bar update issues and focus problems
2016-06-18 Markus Gans <guru.mail@muenster.de>
* Improved status bar text updating at window change
2016-06-16 Markus Gans <guru.mail@muenster.de>
* Bug fix in FTerm updateVTerm() for updates from vdesktop
* Bug fix in FDialog onWindowActive() for combined setFocus()
and activateWindow()
2016-06-13 Markus Gans <guru.mail@muenster.de>
* Improved title bar menu integration
2016-06-12 Markus Gans <guru.mail@muenster.de>
* Add a title bar menu to close dialogs
2016-05-24 Markus Gans <guru.mail@muenster.de>
* Use nl_langinfo to determine the numeric thousands separator
for Fstring::setFormatedNumber as default parameter
2016-05-22 Markus Gans <guru.mail@muenster.de>
* Fix for menus in modal dialogs
2016-05-16 Markus Gans <guru.mail@muenster.de>
* Improve adjustSize()
* Implement adjustSizeGlobal() for all widgets
* Don't focus menus with focusFirstChild() and focusLastChild()
* Remove duplicate code
2016-05-01 Markus Gans <guru.mail@muenster.de>
* Better terminal identification
2016-04-30 Markus Gans <guru.mail@muenster.de>
* Improve 256 color terminal detection
2016-04-19 Markus Gans <guru.mail@muenster.de>
* Fix the missing typecast for SpecialCharacter in "ui.cpp"
2016-02-04 Markus Gans <guru.mail@muenster.de>
* KDE Konsole detection improved
* OSC sequence support for GNU Screen and tmux
2016-01-31 Markus Gans <guru.mail@muenster.de>
* Better escape sequences readability through
symbolic names like ESC, CSI or OSC
2016-01-24 Markus Gans <guru.mail@muenster.de>
* Moving widget flags into the class fc
2016-01-17 Markus Gans <guru.mail@muenster.de>
* Moving events into the class fc
* Avoid height and width underflow in adjustSize()
* Fix default color handling on Cygwin and Linux terminals
2016-01-10 Markus Gans <guru.mail@muenster.de>
* Better default color handling in FOptiAttr
2016-01-07 Markus Gans <guru.mail@muenster.de>
* Add the new class FOptiAttr to control video attributes and colors
for output on terminals
2015-12-23 Markus Gans <guru.mail@muenster.de>
* Add video attribute support for dim (half-bright) and italic
* An example program to test video attributes on your terminal
2015-12-20 Markus Gans <guru.mail@muenster.de>
* Add the possibility to switch off the cursor optimization
for bad ANSI-terminal implementations like HyperTerminal
(e.g. horizontal absolute position (ch) has there no function)
* Now you can activate the menu with ctrl+space, too.
(For terminals with no meta key support)
2015-12-20 Markus Gans <guru.mail@muenster.de>
* Bug fix in FTerm updateVTerm() for updates from vdesktop
* Add raiseWindow() to FMenuBar::leaveMenuBar()
* Fix allocation of null strings with the FString = operator
* Fix for non printable characters in Cygwin and TeraTerm
* Fix missing eat_newline_glitch (xn) in TeraTerm
2015-12-19 Markus Gans <guru.mail@muenster.de>
* Add delOwnTimer() for FObject
* Close sub-menu on right and middle click
* Version 0.2.0
2015-12-18 Markus Gans <guru.mail@muenster.de>
* Optimize menu example
* More string types for FString relational operators
2015-12-16 Markus Gans <guru.mail@muenster.de>
* Avoid to show menus outside of the screen
2015-12-12 Markus Gans <guru.mail@muenster.de>
* Improve sub-sub-menu handling
2015-12-10 Markus Gans <guru.mail@muenster.de>
* PC encoding: Avoid to print ASCII sign 0x00..0x1f in xterm
* Newfont Bullet sign
2015-12-08 Markus Gans <guru.mail@muenster.de>
* Add "menu" example to demonstrate the behavior from FMenuBar,
FMenu, FMenuItem, FCheckMenuItem and FRadioMenuItem widgets.
* Show status bar messages, if no keys are available.
2015-11-29 Markus Gans <guru.mail@muenster.de>
* Better handling of empty strings in FLineEdit and FButton
* Add a sub-menu to the "ui.cpp" example
2015-11-25 Markus Gans <guru.mail@muenster.de>
* Small menu improvements
2015-11-24 Markus Gans <guru.mail@muenster.de>
* Improved mouse and keyboard handling in sub-menus
2015-11-22 Markus Gans <guru.mail@muenster.de>
* Add sub-menu support
2015-11-19 Markus Gans <guru.mail@muenster.de>
* Add the missing resetXTermHighlightBackground method
2015-11-15 Markus Gans <guru.mail@muenster.de>
* Add two new classes FCheckMenuItem and FRadioMenuItem
for menu check marks and menu option marks (bullets)
2015-11-12 Markus Gans <guru.mail@muenster.de>
* Improve menu accelerator keys
* Shows accelerator keys on the right side of the FMenu.
2015-11-08 Markus Gans <guru.mail@muenster.de>
* Activate the previous window in case if the menu is open and
the mouse click has activated no window.
2015-11-07 Markus Gans <guru.mail@muenster.de>
* Improved menu focus handling
* Menu supports newfont
2015-11-05 Markus Gans <guru.mail@muenster.de>
* Menu bar navigation without menu drop down
2015-11-03 Markus Gans <guru.mail@muenster.de>
* Improve keyboard shortcut handling in menus
2015-11-01 Markus Gans <guru.mail@muenster.de>
* First working version of an application menu,
it uses the new classes FMenuBar, FMenu and FMenuItem
(alpha state)
2015-10-29 Markus Gans <guru.mail@muenster.de>
* Support for the menu key
2015-10-23 Markus Gans <guru.mail@muenster.de>
* Color setting improvements
2015-10-22 Markus Gans <guru.mail@muenster.de>
* Make cursor visibility more standards compliant.
2015-10-18 Markus Gans <guru.mail@muenster.de>
* Hidden windows are now non-clickable
2015-10-17 Markus Gans <guru.mail@muenster.de>
* More faster header inline code
* Improve getXTermFont() and getXTermTitle()
* Newfont characters are now printable in FLabel, FMenuBar and FMenu.
2015-10-16 Markus Gans <guru.mail@muenster.de>
* Fixed: calculator behavior for negative values
in trigonometric functions
2015-10-13 Markus Gans <guru.mail@muenster.de>
* Reduce the number of getParent() function calls for print operations
2015-10-11 Markus Gans <guru.mail@muenster.de>
* Improve attribute setting for bold, reverse and underline output
* Better support for monochrom terminals
2015-10-10 Markus Gans <guru.mail@muenster.de>
* Deactivate a key from the status bar automatically
after getting back from the callback.
2015-10-09 Markus Gans <guru.mail@muenster.de>
* Eliminate duplicate code
2015-10-06 Markus Gans <guru.mail@muenster.de>
* Refactoring FTerm::init()
2015-10-05 Markus Gans <guru.mail@muenster.de>
* Improve compatibility with initialize_color
* Better support for TeraTerm
2015-10-02 Markus Gans <guru.mail@muenster.de>
* No terminal updates until input data is pending.
This speeds up the window moving with the mouse on terminals
with a high latency.
* Use now the select command before read ENQ and SEC_DA
2015-09-29 Markus Gans <guru.mail@muenster.de>
* Some code improvements
2015-09-27 Markus Gans <guru.mail@muenster.de>
* Add methods getPos and setPos to FRect and FWidget
2015-09-24 Markus Gans <guru.mail@muenster.de>
* Add macro _METHOD_CALLBACK and _FUNCTION_CALLBACK
to simplify the use callback functions
* The callback data pointer is now predefined with
NULL as default argument
2015-09-23 Markus Gans <guru.mail@muenster.de>
* Further code optimizations
2015-09-22 Markus Gans <guru.mail@muenster.de>
* Add the possibility to hide a virtual window
* Some code optimizations
2015-09-18 Markus Gans <guru.mail@muenster.de>
* Fixed compile error on 32-bit architectures
2015-08-08 Markus Gans <guru.mail@muenster.de>
* Bug fix in FDialog (use GlobalPos to move)
* Don't check mouse click position on title bar again
while FDialog is in move
2015-07-26 Markus Gans <guru.mail@muenster.de>
* init() method for the FStatusKey constructor
to avoid code duplication
2015-07-18 Markus Gans <guru.mail@muenster.de>
* Add multiple lines support for FLabel
2015-07-12 Markus Gans <guru.mail@muenster.de>
* Improve focusFirstChild() and focusLastChild()
2015-07-09 Markus Gans <guru.mail@muenster.de>
* Better contrast on 8 color terminals
2015-07-06 Markus Gans <guru.mail@muenster.de>
* Bug fix disable cursor on focus FSwitch
* Hold down the mouse button displays FSwitch in a different color.
2015-07-04 Markus Gans <guru.mail@muenster.de>
* New class FSwitch
* Add the watch example to demonstrate FSwitch
* Version 0.1.1
2015-07-02 Markus Gans <guru.mail@muenster.de>
* Add a joined right-left-line character to the newfont
* Use the object timer for the progress bar animation
in the ui example program
2015-07-01 Markus Gans <guru.mail@muenster.de>
* Use the object timer for the click animation in FButton
2015-06-28 Markus Gans <guru.mail@muenster.de>
* Add exception handling for toLong() and toULong()
in FString
2015-06-27 Markus Gans <guru.mail@muenster.de>
* Add toFloat(), toDouble() and setNumber(...) for
floating point values to FString
2015-06-22 Markus Gans <guru.mail@muenster.de>
* Add a simple calculator with trigonometric functions
2015-06-21 Markus Gans <guru.mail@muenster.de>
* Add the possibility to draw double lines on overlapped
flat lines for the 8x16graph font
* Bug fix in FButton (mouse click with unsetClickAnimation())
2015-06-20 Markus Gans <guru.mail@muenster.de>
* Add the possibility to change the colors from FButton
2015-06-15 Markus Gans <guru.mail@muenster.de>
* Add the possibility to turn off click animation
on FButton
2015-06-14 Markus Gans <guru.mail@muenster.de>
* correction for the modifier letter small x
in the character map
2015-06-12 Markus Gans <guru.mail@muenster.de>
* Add Some mathematical signs to the character map
2015-05-28 Markus Gans <guru.mail@muenster.de>
* Add keyword 'explicit' to some constructors
2015-05-25 Markus Gans <guru.mail@muenster.de>
* Add a Mandelbrot set program
2015-05-24 Markus Gans <guru.mail@muenster.de>
* Bug fix in FLineEdit (ypos from the label)
* Bug fix in FDialog onWindowActive (status bar check)
2015-05-15 Markus Gans <guru.mail@muenster.de>
* Remove never read value from code
* Add the possibility to use exec() from FMessageBox
to enter and leave the main event loop correctly
* Add a "hello world" example