2017-07-01 Markus Gans * All in FOptiMove required termcap values can now be passed with a single struct 2017-06-25 Markus Gans * All termcap values required in FOptiAttr can now be passed with a single struct 2017-06-17 Markus Gans * Added special console options for FreeBSD, NetBSD and OpenBSD 2017-06-12 Markus Gans * Linux functions from FTerm moved into the FTermLinux class 2017-05-27 Markus Gans * Move FreeBSD, NetBSD and OpenBSD functions to separate classes 2017-05-20 Markus Gans * Methods outsourcing from FTerm to FTermXTerminal 2017-05-06 Markus Gans * Some protected data members in FTerm moved to private 2017-05-03 Markus Gans * Fix resetColorMap in FTerm 2017-05-02 Markus Gans * Outsourcing of data from FTerm to the classes FTermios, FTermDetection and FTermcapQuirks 2017-04-19 Markus Gans * Placing the terminal types in FTerm in a separate structure 2017-04-15 Markus Gans * Fake-reverse bugfix in FOptiAttr * Strict use of fc::colornames in FOptiAttr * Stream support for FPoint and FRect 2017-04-11 Markus Gans * Remove Cygwin bold color quirks fix in FOptiAttr * Added unit test for FOptiAttr 2017-04-08 Markus Gans * Improved Linux terminal quirks * Improvement in class FOptiAttr 2017-04-02 Markus Gans * Improved cygwin terminal quirks * Optimized character set switching in FOptiAttr 2017-03-30 Markus Gans * Added unit test for FOptiMove 2017-03-28 Markus Gans * Add boundary check to FOptiMove 2017-03-25 Markus Gans * Added unit test for the mouse classes * Fixed small parsing errors with mouse events 2017-03-17 Markus Gans * Added unit test for FObject * Some minor bug fixes in FObject 2017-03-13 Markus Gans * Added unit test for FRect 2017-03-11 Markus Gans * Added unit test for FPoint 2017-03-10 Markus Gans * Unit tests for the FString class completed * Minor bug fixes in FString 2017-02-25 Markus Gans * First CppUnit tests implemented 2017-02-22 Markus Gans * Generalize mouse event passing in FMenuItem 2017-02-19 Markus Gans * Refactoring FTerm::init_termcaps * Refactoring FTerm::init_encoding 2017-02-18 Markus Gans * Avoid scroll bar overshooting * Refactoring FListView::onMouseMove * Refactoring FDialog::initDialogMenu 2017-02-17 Markus Gans * Generalize scroll functions in FTextView * Refactoring FButtonGroup::drawLabel * Refactoring FToggleButton::drawLabel 2017-02-11 Markus Gans * Refactoring FWidget::focusNextChild and FWidget::focusPrevChild * Refactoring FListView::onWheel * Refactoring FListView::drawColumnLabels * Refactoring FTerm::getSystemTermType * Rename getTermName() to getTermFileName() 2017-02-10 Markus Gans * Refactoring FOptiMove::verticalMove and FOptiMove::horizontalMove * Refactoring FVTerm::getCharacter * Refactoring FWidget::drawBorder 2017-02-02 Markus Gans * Avoids flickering when redrawing a focused widget 2017-01-31 Markus Gans * Refactoring FSwitch::drawCheckButton * Refactoring FWidget::redraw * Refactoring FMessageBox::init * Refactoring FFileDialog::init 2017-01-30 Markus Gans * Refactoring FLabel::draw * Refactoring FFileDialog::readDir 2017-01-28 Markus Gans * Refactoring FApplication::processKeyboardEvent * Shorter methods and a fix for recreating new windows in the window example 2017-01-25 Markus Gans * UTF-8 fix for Solaris 2017-01-24 Markus Gans * 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 2017-01-21 Markus Gans * The Final Cut can now also be compiled under Cygwin * Fixed bug in FScrollView::scrollTo * Refactoring FStatusBar::drawKeys * Refactoring FListView::drawListLine 2017-01-17 Markus Gans * Small array optimizations in the examples 2017-01-14 Markus Gans * Mouse functions are now in a separate class 2017-01-05 Markus Gans * Refactoring FVTerm::restoreVTerm * Fixed buffer size in FOptiMove 2017-01-03 Markus Gans * Refactoring FOptiMove::relativeMove * Refactoring attribute settings in FOptiAttr * Refactoring FTerm::parseKeyString and timeout settings 2017-01-02 Markus Gans * Refactoring of secondary device attributes parsing * Small menu improvements 2017-12-31 Markus Gans * 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 * Refactoring of the FDialog mouse event handler 2017-12-27 Markus Gans * 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 * Refactoring FButton::draw * Passing more strings by reference 2017-12-21 Markus Gans * Refactoring FMenuBar::drawItems * (de)allocation functions in FTerm 2017-12-19 Markus Gans * Refactoring FMenu::drawItems 2017-12-17 Markus Gans * The Final Cut now also compiles under Solaris 2017-12-14 Markus Gans * Add Sun Microsystems workstation console support 2017-12-10 Markus Gans * Refactoring of the FMenu mouse event handler 2017-12-08 Markus Gans * More individual arithmetic operations methods in the implementation of the calculator example 2017-12-05 Markus Gans * Refactoring FApplication::processMouseEvent * Refactoring FApplication::processKeyboardEvent 2017-12-02 Markus Gans * Refactoring FListBox::drawList and FListBox::onKeyPress * Refactoring FWidget::event 2017-12-02 Markus Gans * Refactoring FApplication::linuxModifierKeyCorrection and FVTerm::updateVTerm * Fix getLinuxModifierKey() subcode value as non-const 2017-11-30 Markus Gans * Refactoring FVTerm::updateTerminalLine 2017-11-26 Markus Gans * 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 * Splitting quirks in serperate methods 2017-11-24 Markus Gans * 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 * Remove duplicated code from FOptiAttr::changeAttribute 2017-11-22 Markus Gans * Remove duplicated code in FVTerm::print 2017-11-19 Markus Gans * Splitting the FString example into sub-functions to make the code more comprehensible 2017-11-18 Markus Gans * 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 * Improved code coverage tests 2017-11-08 Markus Gans * Simulate invisible characters on terminals that do not support this attribute 2017-11-04 Markus Gans * Version 0.4.0 * Change license from GPL v3 to LGPL v3 2017-11-03 Markus Gans * Small NewFont improvements * Fixed bug: The window example called a callback method after the child data was deleted 2017-11-02 Markus Gans * Move fonts into the root directory 2017-10-30 Markus Gans * Fix scrollview functionality with new inheritance structure * Add a standardized close confirmation dialog * Only can now be directly integrated in programs 2017-10-29 Markus Gans * Adaptation of the inheritance diagrams in the header files * Add a standardized cb_exitApp callback method to FApplication 2017-10-27 Markus Gans * FWidget now inherits directly from FObject 2017-10-23 Markus Gans * A FListView tree branch can now be expand and collapsed with a single click 2017-10-19 Markus Gans * Optimized Color palette (less saturated colors) 2017-10-18 Markus Gans * Expand or collapse a tree element with a double-click * FListView::adjustViewport() improved 2017-10-15 Markus Gans * FObject double free prevention of fc::empty_string 2017-10-14 Markus Gans * 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 * 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 * 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 * New data type FStringList introduced * Stream and assignment operator support for FLineEdit 2017-09-20 Markus Gans * 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 * The command line help text is now available in all applications 2017-09-17 Markus Gans * 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 * Fix byte access in data type char_data 2017-09-11 Markus Gans * Some code improvements * Fix handling of negative numbers in FString::toLong() 2017-09-09 Markus Gans * Wrong UTF-8 string length fixed when attaching to FString 2017-09-07 Markus Gans * Type definition exported into a separate header file 2017-09-03 Markus Gans * Fixes wrong maximum line width in FListView 2017-08-26 Markus Gans * Improve code readability through spaces between the operands and the operators 2017-08-24 Markus Gans * Rename fapp.{cpp,h} to fapplication.{cpp,h} 2017-08-20 Markus Gans * Screen characters got a union structure for a faster attribute compare operation 2017-08-11 Markus Gans * Some code changes for GCC 7 * Implementation of a copy constructor for FPoint and FRect 2017-08-06 Markus Gans * Fix GNU Screen support for vte/gnome-terminals * Advanced streaming functionality for FTermBuffer and FVTerm::print() 2017-07-31 Markus Gans * New methods to retrieve or modify FListViewItem text or a FListView column text for a specific column 2017-07-28 Markus Gans * Possibility for a FListView column to set the alignment (left, center or right) 2017-07-23 Markus Gans * Check an object with isInstanceOf(...) whether it is an instance of a specified class 2017-07-18 Markus Gans * 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 * New class FTermBuffer to buffer terminal outputs * Add the possibility to print from the terminal buffer 2017-07-03 Markus Gans * Use more static const variables where it makes sense 2017-06-26 Markus Gans * FString::rtrim() and FString::left() now return an FString object with the correct character length 2017-06-18 Markus Gans * Move the dragScroll enumeration into the fc namespace 2017-06-11 Markus Gans * New method FObject::isWidget() * Non-widget objects inherit from FObjects will no longer affect the widget lists 2017-06-05 Markus Gans * The focus and active flag is set centrally in FWidget 2017-05-20 Markus Gans * Recalculate the horizontal FListBox scroll bar size on lazy conversion 2017-05-19 Markus Gans * FListBox: Import of data from a container via "lazy conversion" during item print 2017-04-23 Markus Gans * 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 * 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 * Fix unsigned integer underflow in FString::_insert() 2017-04-14 Markus Gans * 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 * Enable xterm "metaSendsEscape" switch 2017-04-09 Markus Gans * The Final Cut compiles now also under NetBSD * Rename preprocessor macro names with leading underscore 2017-04-08 Markus Gans * Looking in /etc/ttys for the type of terminal 2017-04-06 Markus Gans * Change cursor style on a FreeBSD console 2017-04-05 Markus Gans * 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 * 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 * Fixed bug: termcap "me" does not reset the alternate character set 2017-03-28 Markus Gans * Improved graphic charset pairs (vt100) for FreeBSD console 2017-03-26 Markus Gans * The Final Cut compiles now under FreeBSD * A new test program to show the termcap variables 2017-03-19 Markus Gans * Add the "mouse" example to illustrate mouse programming 2017-03-17 Markus Gans * More constant character pointers 2017-03-13 Markus Gans * Corrects directly the input cursor position on window moving 2017-03-12 Markus Gans * 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 * Improve input cursor positioning in FScrollView 2017-02-24 Markus Gans * Corrected swapped top and left offset variables in the class FVTerm 2017-02-24 Markus Gans * 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 * 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 * Allows a window to have more than one FScrollView widget 2017-02-07 Markus Gans * Uses termcap capability U8 to identify terminals that can't display vt100 line-drawing in UTF-8 mode 2017-01-28 Markus Gans * Allow to change the focus out from FScrollView to another widget 2017-01-26 Markus Gans * FScrollView now scrolls automatically to the focused widget 2017-01-22 Markus Gans * A FScrollView object can now have client widgets on the scrolling area 2017-01-15 Markus Gans * Virtual window gets a preprocessing handler. This allows a preprocessing method to be called before the vterm is updated. 2017-01-07 Markus Gans * Add scrollTo and scrollBy methods to FScrollView 2017-01-03 Markus Gans * FScrollView now has on-demand scroll bars * Arrow keys support for FScrollView viewport scrolling 2017-01-02 Markus Gans * 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 * Reduce public methods in FVTerm 2016-12-27 Markus Gans * Avoid non-working tab-cursor-movements on Linux terminals with activated PC or VT100 encoding 2016-12-26 Markus Gans * Add the ability to stream text into a widget's virtual window with print() << '#' << 5; or *this << ... 2016-12-22 Markus Gans * VTerm marks printed characters for a correct determination of unchanged characters * Correct gpm detection in configure script 2016-12-18 Markus Gans * 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 * Reduce the character output by using character erase and character repeat 2016-12-11 Markus Gans * Accelerates text line drawing by clear with CSI sequences to begin or to end of the current line. 2016-11-29 Markus Gans * Restore the xterm window title and font only if it could be read before 2016-11-27 Markus Gans * Some minor bug fixes * Version 0.3.0 2016-11-26 Markus Gans * Improvements for ansi terminal emulators * Add the opti-move test program * Optimized the terminal clear screen 2016-11-20 Markus Gans * Increase speed on cygwin terminals * Improve tty settings 2016-11-13 Markus Gans * Do not draw shadows on a Linux console if not all characters are available 2016-11-12 Markus Gans * 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 * The adjustment of xterm default colors now is configurable 2016-11-05 Markus Gans * 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 * xterm should be able to use at least 16 colors 2016-11-01 Markus Gans * The class declaration now has a consistent order 2016-10-17 Markus Gans * Refactor the VGA attribute controller access code 2016-10-15 Markus Gans * Each virtual window gets its own virtual print cursor 2016-10-14 Markus Gans * Virtual windows can now store their own offset information * Correct implementation of the move() method 2016-10-13 Markus Gans * Reduces in the code the number of friend classes 2016-10-11 Markus Gans * Separate the virtual terminal into a own class vterm 2016-10-09 Markus Gans * Remove some duplicate code 2016-10-08 Markus Gans * Add the possibility to scroll text up and down in a virtual window 2016-10-06 Markus Gans * The input cursor is now controlled by the virtual terminal 2016-10-02 Markus Gans * FStatusBar and FMenuBar use now the always-on-top window option 2016-10-01 Markus Gans * Add an always-on-top mode for window objects * New FToolTip widget to show assisted information 2016-09-30 Markus Gans * Using arrow keys to move or to resize a window 2016-09-28 Markus Gans * The size is now dynamically changeable with the mouse in a resizable window. 2016-09-26 Markus Gans * FLabel now transmits the Click events to the parent widget 2016-09-25 Markus Gans * 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 * Activate the title bar menu with ctrl+^ 2016-09-11 Markus Gans * New zoom interaction-elements to maximize a FDialog 2016-09-08 Markus Gans * 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 * FButton, FLineEdit and FProgressbar has shadow now enabled by default * FDialog has now transparent shadow as default 2016-09-03 Markus Gans * 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 * Method setGeometry assigns now the full widget size to the double_flatline_mask (previously, it was the adjust size) 2016-08-28 Markus Gans * 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 * A new inherit background option for characters * Use inherit background for the simple shadows * Updating the transparent example program 2016-08-25 Markus Gans * Use the new transparent shadow option in drawShadow() 2016-08-21 Markus Gans * Improved transparent shadow background * Add "transparent" example to demonstrate transparency 2016-08-20 Markus Gans * 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 * Screen characters now have a transparent and a transparent shadow option 2016-07-31 Markus Gans * 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 * 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 * Delete all callbacks from a widget with delCallbacks() * Remove dialog list item callback from the associated window 2016-07-28 Markus Gans * Improvements for the window focus 2016-07-24 Markus Gans * 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 * Add a modifier key correction for the Linux tty * Support to read meta+enter from keyboard 2016-07-16 Markus Gans * Support to read meta+tab from keyboard 2016-07-16 Markus Gans * Switch to a specific dialog with meta key + 1..9 * Add more meta key escape sequences (for putty) 2016-07-14 Markus Gans * Adding a dialog list with the entries in the chronological order of the generation 2016-07-13 Markus Gans * Bind accelerator key from the FMenuItem to the root widget 2016-07-12 Markus Gans * 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 * Remove obsolete code from FDialog destructor * FDialog focus fix 2016-07-08 Markus Gans * Better code readability: control structures (if/else, while, switch) are now separated by a blank line. 2016-07-06 Markus Gans * Stop terminal updates during processCloseWidget() is working 2016-07-03 Markus Gans * Add the new class FDialogListMenu to switch between dialog menus * More consistent method names: rename parentWidget() to getParentWidget() 2016-06-27 Markus Gans * Fix the use-after-free bug for previous_widget 2016-06-26 Markus Gans * Bug fix for FWindow::activatePrevWindow() 2016-06-25 Markus Gans * Move processNextEvent() code into sub functions 2016-06-22 Markus Gans * Adding required updateTerminal() calls for FMenuBar 2016-06-19 Markus Gans * Clear status bar text in FMenuBar::leaveMenuBar() * Fixes some status bar update issues and focus problems 2016-06-18 Markus Gans * Improved status bar text updating at window change 2016-06-16 Markus Gans * Bug fix in FTerm updateVTerm() for updates from vdesktop * Bug fix in FDialog onWindowActive() for combined setFocus() and activateWindow() 2016-06-13 Markus Gans * Improved title bar menu integration 2016-06-12 Markus Gans * Add a title bar menu to close dialogs 2016-05-24 Markus Gans * Use nl_langinfo to determine the numeric thousands separator for Fstring::setFormatedNumber as default parameter 2016-05-22 Markus Gans * Fix for menus in modal dialogs 2016-05-16 Markus Gans * Improve adjustSize() * Implement adjustSizeGlobal() for all widgets * Don't focus menus with focusFirstChild() and focusLastChild() * Remove duplicate code 2016-05-01 Markus Gans * Better terminal identification 2016-04-30 Markus Gans * Improve 256 color terminal detection 2016-04-19 Markus Gans * Fix the missing typecast for SpecialCharacter in "ui.cpp" 2016-02-04 Markus Gans * KDE Konsole detection improved * OSC sequence support for GNU Screen and tmux 2016-01-31 Markus Gans * Better escape sequences readability through symbolic names like ESC, CSI or OSC 2016-01-24 Markus Gans * Moving widget flags into the class fc 2016-01-17 Markus Gans * 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 * Better default color handling in FOptiAttr 2016-01-07 Markus Gans * Add the new class FOptiAttr to control video attributes and colors for output on terminals 2015-12-23 Markus Gans * 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 * 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 * 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 * Add delOwnTimer() for FObject * Close sub-menu on right and middle click * Version 0.2.0 2015-12-18 Markus Gans * Optimize menu example * More string types for FString relational operators 2015-12-16 Markus Gans * Avoid to show menus outside of the screen 2015-12-12 Markus Gans * Improve sub-sub-menu handling 2015-12-10 Markus Gans * PC encoding: Avoid to print ASCII sign 0x00..0x1f in xterm * Newfont Bullet sign 2015-12-08 Markus Gans * 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 * Better handling of empty strings in FLineEdit and FButton * Add a sub-menu to the "ui.cpp" example 2015-11-25 Markus Gans * Small menu improvements 2015-11-24 Markus Gans * Improved mouse and keyboard handling in sub-menus 2015-11-22 Markus Gans * Add sub-menu support 2015-11-19 Markus Gans * Add the missing resetXTermHighlightBackground method 2015-11-15 Markus Gans * Add two new classes FCheckMenuItem and FRadioMenuItem for menu check marks and menu option marks (bullets) 2015-11-12 Markus Gans * Improve menu accelerator keys * Shows accelerator keys on the right side of the FMenu. 2015-11-08 Markus Gans * Activate the previous window in case if the menu is open and the mouse click has activated no window. 2015-11-07 Markus Gans * Improved menu focus handling * Menu supports newfont 2015-11-05 Markus Gans * Menu bar navigation without menu drop down 2015-11-03 Markus Gans * Improve keyboard shortcut handling in menus 2015-11-01 Markus Gans * First working version of an application menu, it uses the new classes FMenuBar, FMenu and FMenuItem (alpha state) 2015-10-29 Markus Gans * Support for the menu key 2015-10-23 Markus Gans * Color setting improvements 2015-10-22 Markus Gans * Make cursor visibility more standards compliant. 2015-10-18 Markus Gans * Hidden windows are now non-clickable 2015-10-17 Markus Gans * More faster header inline code * Improve getXTermFont() and getXTermTitle() * Newfont characters are now printable in FLabel, FMenuBar and FMenu. 2015-10-16 Markus Gans * Fixed: calculator behavior for negative values in trigonometric functions 2015-10-13 Markus Gans * Reduce the number of getParent() function calls for print operations 2015-10-11 Markus Gans * Improve attribute setting for bold, reverse and underline output * Better support for monochrom terminals 2015-10-10 Markus Gans * Deactivate a key from the status bar automatically after getting back from the callback. 2015-10-09 Markus Gans * Eliminate duplicate code 2015-10-06 Markus Gans * Refactoring FTerm::init() 2015-10-05 Markus Gans * Improve compatibility with initialize_color * Better support for TeraTerm 2015-10-02 Markus Gans * 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 * Some code improvements 2015-09-27 Markus Gans * Add methods getPos and setPos to FRect and FWidget 2015-09-24 Markus Gans * 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 * Further code optimizations 2015-09-22 Markus Gans * Add the possibility to hide a virtual window * Some code optimizations 2015-09-18 Markus Gans * Fixed compile error on 32-bit architectures 2015-08-08 Markus Gans * 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 * init() method for the FStatusKey constructor to avoid code duplication 2015-07-18 Markus Gans * Add multiple lines support for FLabel 2015-07-12 Markus Gans * Improve focusFirstChild() and focusLastChild() 2015-07-09 Markus Gans * Better contrast on 8 color terminals 2015-07-06 Markus Gans * Bug fix disable cursor on focus FSwitch * Hold down the mouse button displays FSwitch in a different color. 2015-07-04 Markus Gans * New class FSwitch * Add the watch example to demonstrate FSwitch * Version 0.1.1 2015-07-02 Markus Gans * 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 * Use the object timer for the click animation in FButton 2015-06-28 Markus Gans * Add exception handling for toLong() and toULong() in FString 2015-06-27 Markus Gans * Add toFloat(), toDouble() and setNumber(...) for floating point values to FString 2015-06-22 Markus Gans * Add a simple calculator with trigonometric functions 2015-06-21 Markus Gans * 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 * Add the possibility to change the colors from FButton 2015-06-15 Markus Gans * Add the possibility to turn off click animation on FButton 2015-06-14 Markus Gans * correction for the modifier letter small x in the character map 2015-06-12 Markus Gans * Add Some mathematical signs to the character map 2015-05-28 Markus Gans * Add keyword 'explicit' to some constructors 2015-05-25 Markus Gans * Add a Mandelbrot set program 2015-05-24 Markus Gans * Bug fix in FLineEdit (ypos from the label) * Bug fix in FDialog onWindowActive (status bar check) 2015-05-15 Markus Gans * 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