Release notes for fpGUI ======================= v1.0 (2013-04-09) - Docview improvements: Bookmark maintenance, keyboard shortcuts, image support in INF files, cross link support. - Many improvements to the experimental Maximus IDE. - More widget themeing improvements. - Keyboard shortcut handling improvements. - AggPas 2D graphics library merged into fpGUI as a new cross-platform graphics backend. This is the first step in adding AggPas support, and this is still work in progress, but most functionality works already. Also added some 64-bit fixes to the AggPas code. - Many PDF report engine improvements. Also enhanced the look and functionality of the Print Preview dialog. - Lots more documentation added. This is an ongoing task. - Big improvements to the TextEdit widget, that is used by Maximus and the Nanoedit example project. - Many improvements to the RichView component and it's supported syntax - used by Docview. This widget is now also useable in other projects, not just Docview. - Improved fpGUI language translations. - The UI Designer (forms designer) has also seen many improvements, like new widgets added to the palette, more published properties added to the Object Inspector window etc. - Many, many more bug fixes and improvements. For a full list run: git log v1.0...v0.8 v0.8 (2011-12-02) - New widget demos and many improvements to existing demos. - New application examples * Spinning Globe, show some graphics support with zooming. * An experimental IDE called Maximus, which supports project management, compiler settings management, macro management, multi-threading enabled, fast procedure list searching, syntax-highlighting enabled text editor, OS independent file monitor support etc. - PDF reporting engine and preview support. Thanks to Jean-Marc Levecque for this awesome contribution. - Huge improvements and enhancements to the Treeview widget. * massive speed improvement * improved painting support * extended treeview and node method calls * state image support (eg: having checkboxes next to nodes) widget. - Many Docview (fpGUI documentation viewer) improvements * Bookmark support * Improved annotation support * Improved the text rendering and text wrapping * Rewrote the font handling which gave a massive 200+% speed increase in startup times (depending on the amount of fonts you have installed on your system), and reduced memory usage by 50%. - Added image support to RichView, the text viewer used by Docview. - Two new supported platforms: OpenSolaris and MacOSX (with X11 support). - Global keyboard shortcut support for menu items and actions. - fpGUI API documentation has been extended and improved. - OS independent DND (drag-n-drop) support has been implemented. This supports external application-to-application and internal widget-to-widget drag-n-drop. - Improved the workings of implementing context sensitive help inside your applications. - Improved fpGUI project templates for use with Lazarus IDE or MSEide. - Included the WIPFC (OpenWatcom IPF Compiler) binaries to allow you to compile your own IPF help files into binary INF help files. - UI Designer (the visual forms designer for fpGUI) has seen many improvements: * new components on the component palette. * new properties accessible in the Object Inspector * improved dialogs for "tab order" and "widget order" changes. * code generated can now use spaces or tab characters for indentation. * improved File menu layout and new options. - Improved themes support - Experimental MDI (multi-document interface) support - Extended the Unicode wrapper functions for the FPC's RTL file handing functions. - New built-in code page conversion functions have been added. - Grid widgets have improved scrolling support options. - Improved fpGUI language translations. - Many, many more bug fixes and improvements. For a full list run: git log v0.8...v0.7 v0.7 (2010-08-02) - Quite a few more minor bug fixes since v0.7-rc2. - Some memory leaks in TfpgListView - Added an example Debug Server in examples/apps/debugserver - This can be used with FPC's dbugintf unit so you can send debug messages. Handy for debugging CGI apps on your server. - A new unit fpg_imgutils was added. It contains some handy utility functions for images. - Implemented disabled images support for all controls that can display images. - Added a new TfpgMemo Mediator for use with tiOPF based applications. - Improved quick date selection in TfpgComboCalendar. Users can now click the Year or Month to quickly select a different value without the need for scrolling through every month. - Many more improvements to the "prototype" text editor component located in prototypes/textedit/. Soon this will become a standard component in fpGUI. - Minor improvements to DocView's toolbar. - DocView now has a 'File | Open Special' option, which can open environment variables pointing to a location where INF files are. - Grids now have a smooth scrolling option for horizontal scrolling. - A new Input Query dialog was added. - Some demos where improved. eg: SplashScreen demo. - JPEG image format support was added. Soon all image formats supported by FPImage will be included. Unfortunately it did not make it into this release. - Added a fpGUI project template for when you use fpGUI with MSEide. - A new Color Selection dialog was added to fpGUI. - fpGUI's UI Designer has a few more components on the component palette. eg: TfpgFilenameEdit, TfpgDirectoryEdit, TfpgFontEdit, etc... - Some more minor changes to allow compiling fpGUI under MacOSX with X11. v0.7.rc2 (2010-04-08) - Localization of Character Map dialog. - Insert from Character Map added to TfpgEdit default popup menu. - ModalResults is now a enum type. Improved integration with UI Designer. - Memo: problems with deleting selected text is now fixed. - Improved WinCE support, including reading BMP files. - Fixed compilation of all example projects. - Extended available properties that can be edited via the Object Inspector of the UI Designer. - Fixed issues where dialogs are closed via the window border X button and not the available buttons in the dialog. Developer can define behaviour of X close button. - Improved TabSheet handling in UI Designer. - Various improvements to TfpgPageControl and TfpgTabSheet. This includes new tab positions: Bottom, Left, Right and None. - SelectDirectory dialog was not working under Windows. - Setting selected directory in SelectDirectory dialog now works. - New mouse cursor demo. - Improved the ability to customize the HintWindow. HintWindow demo was extended to show how this can be done. - Improved Visible property handling especially with child components. Now only the parent Visible property is changed. - tiOPF: correctly disable event handlers in edit mediators. - Added a script which generates a fpGUI version number based on Git repository information. Later this will be converted to a object pascal console application. v0.7.rc1 (2010-03-04) - FPC 2.4.0 compatible. - Fully tested on 32-bit and 64-bit platforms. Tested on Linux, Windows and the *BSD family. - Mobile device support is back. Tested on ARM Linux and Windows Mobile devices. - fpGUI UI Designer has improved a lot and extended it's component palette and Object Inspector. - Various bug fixes, memory leaks and other enhancements have been applied. - Units have a more uniform naming style. - Classes have a more uniform structure/hierarchy with base classes. - Help support has been added to the core framework - fpGUI now has it's own help file viewer called DocView. Docview includes the following features: - document annotation - bookmarks - browse history - exporting articles to plain text or IPF format. - full text search (including weighting of results to see how relevant the results are) - Font and Color customization - Concatenation of help files at run-time so a library of help files can be viewed simultaneously. - Easy integration via the "external tools" feature of IDE's like Lazarus or MSEide. This allows for context sensitive help. - History of most recently viewed help files. - Help file format used is the INF format (IBM's format used it OS/2), which is very compact, incredibly fast and supports full text search. - A lot of new components have been added, including enhancements to existing components. - Various new dialogs have been added, which include Color Wheel, Character Map, Database Login etc. - Improved integration with tiOPF project via the Model-GUI-Mediator design pattern. - Graphical FPCUnit unit test runner. - Lots of new language translations for the core fpGUI library. - A lot of new example projects demoing various GUI components. v0.6 (2008-02-17) revision 534 - Added a new INI Utils unit which introduces ReadOnly ini support - Implemented the Model-GUI-Meditor design pattern so fpGUI can be used with tiOPF's object persistent framework. This allows any fpGUI component to become object-aware. I find this a better alternative to DB-aware components. - Many improvements to the GUI Designer. New property editors, new components, better mouse support, MRU menu etc. - 64-bit support is now added - Newly supported platforms: FreeBSD and DesktopBSD - Unicode text input is now supported under Windows. - Started implementing Message Dialogs (with multiple buttons, icons etc). - New components: * Calendar combobox * Gauges (pie, bar, needle, etc.) * DB Label example component. - Better support for newer desktop environments under Linux. - Anti-aliased line drawing support. - Line styles (dot, solid, dash...) are now fully supported on all platforms. - Implemented the Command design pattern interface. Something like Delphi's TAction component. - Fixed many memory leaks in CoreLib units. - New examples/demos added: Splash Screen, Command Handler, Gauges, Anti-aliased line drawing etc.. - Started working on Message Dialogs. - Better clipboard support. - Including MANY more improvements and bug fixes. There are to many to list. For a detailed listing of the changes use the svn command line client as follows: svn log -r 367:534 v0.5 (2007-09-13) - The first release since the rewrite of fpGUI to use a 'windowed' multi-handle implementation. - Available components in this release: * Button with image support * Label * Bevel (aka Panel) * Radio Buttons * Check Boxes * Track Bar (aka Slider) * Page Control (aka Tab Control) * List Box * Scrollbars * Memo (partially implemented) * Forms (Windows). Normal, Modal and Popup. * Dialogs o ShowMessage() o Font Selection dialog o File Open... o File Save As... * Text Edit * Combo Box (aka Choice List) * Grids (aka Tables) o Base Grid o Custom Grid o Draw Grid o String Grid o File Grid * Progress Bar * List View * Main Menu bar and Popup Menus * Treeview - Align and Anchor support has been added. - Clipboard support (application wide). Global (OS based) is in the works. - All painting is done via double buffering, so drawing flicker is a thing of the past. - Better font support. We now have support for Font Aliases. We can define a font style (font name, size and attributes) and give it a text name. Whenever we want to use that font style, we can reference it by the text name. - All colors are now defined in RGB order, no matter what platform we use. - Modal form support (with some minor issues under Windows that should be fixed soon). - Widgets and Forms now have a single consistent constructor due to the base window class that descends from TComponent. - Delayed resource allocation. This is very handy under Linux where the X Server can be in a remote location (not on the same computer). This gives a performance bonus as we need to communicate less with the X Server which is inherently slow. - Supports a Model-GUI-Mediator (MGM) implementation to work with the tiOPF Object Persistent Framework. Business Objects can now be saved in a OO fashion. The MGM implementation also makes the standard fpGUI components Object-Aware. No need for DB Components. - fpGUI now has a Visual Form (GUI) Designer in the example/apps directory. Developers can now create forms visually at a much faster rate. The designer uses the same source file that contains your code - generating the ui code like you would have done manually. No external ui files like Lazarus (*.lfm) or Delphi (*.dfm). See the readme file in the project directory for more details. v0.4 - The last version of fpGUI using a single handle (windowless) design. --------------oOo----------------