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