summaryrefslogtreecommitdiff
path: root/src/corelib/fpgfx.pas
AgeCommit message (Collapse)Author
2008-03-27* Moved some constants to the gfx_constants unit.graemeg
* Replaced some code/magic numbers with constants instead. * fpGUI Default Font is now a variable and not a constant. This allows us to change the default font at application startup.
2008-03-26* UI Designer now has a very basic way of setting the TabOrder. Still a lot ↵graemeg
of improvements are needed, but it's working on simple forms.
2008-03-22* Increased double buffer on x11 efficiencydrewski207
* Fixed a bug on listbox that allowed Item 0 to be selected with the mouse * Fixed a possible bug for TfpgTimer that possibly could allow timers to be skipped if timer(s) were destroyed during the callback
2008-03-17* TfpgStringGrid now has a OnDrawCell event. If the user sets ↵graemeg
ADefaultDrawing = True, fpGUI will do standard painting. If user sets ADefaultDrawing = False, it is up to the user to do painting for that cell.
2008-03-17* Applied patch form Antonio added Today button in CalendarCombo component.graemeg
* Added new resource strings for days of the week and months of the year. * fpGUI based applications now set the internal Day and Month arrays from FPC to the correct locale. CalendarCombo now displays the days and months in the correct language. * UI Designer failed to save a form that has a CalendarCombo on it. This is now fixed.
2008-03-12* Applied a patch from Vladimir moving some code out of gui_grid.pas to ↵graemeg
gfxbase.pas and getting rid of some IFDEF's in the process.
2008-03-11* Implemented a global MessageHook feature where one component can register ↵graemeg
and listen to another components messages.
2008-03-11* Implemented a new fpgGetNamedFontList() functiongraemeg
* Enabled Font Collections support in the Font Select Dialog. Currently only the All Fonts and Alias Fonts collections are active. * TfpgMemo now has a custom internal StringList that will notify the memo of text changes. * Made many code improvements to gui_listbox unit. Lots of redundant code was removed. * Fixed a bug in gui_listbox where the OnChange event did not fire for all instances of FocusItem changing. * Fixed a bug in gui_listbox KeyPress event where it did not take into account that FocusItem is 1-based.
2008-03-02* Applications resourcestring declarations do not have to be in a hard-coded ↵graemeg
filename anymore. * FontSelect example now has Afrikaans and Russian translation files independent of the fpGUI toolkit translations. A more specific translation demo will be created soon.
2008-03-01* Localization now supports toolkit and application .po files. It's still ↵graemeg
work in progress though.
2008-02-27* Created two new units called: gfx_pofiles.pas and gfx_translations.pas. ↵graemeg
They are used for reading PO files and translating the resourcestrings. * TranslateResourceStrings are now called in TfpgApplication.InternalInit(). * Added a new include file for gfx_utils unit. It's a include file for common code across platforms.
2008-02-20* Bumped up the version numbers.graemeg
2008-02-17* updated the documentation scripts.graemeg
* updated the version number for the next release. * Disabled all debug information.
2008-02-14* X11: fpGUI will now raise an exception if it can't open the X Display.graemeg
* X11: clipboard support has now been implemented to work across applications. It still needs more testing. eg: unicode copy and paste doesn't always work.
2008-02-04* Removed the extra fpgTimers.Delete() call which caused a error an ↵graemeg
application exit. Thanks to Antonio for the hint.
2008-01-31* TfpgColor is now a distinct type. Not just a longword alias.graemeg
* system or named colors like clWindowBackground are now correctly typed to TfpgColor. Hopefully this fixes the range check error under 64bit compilers. * Fixed some defaults for properties in the gfxbase unit. * Removed the unused (prototype) gfx_strings unit from the X11 fpgfx_package. * Fixed some files by adding the missing svn properties for eol styles.
2008-01-21* Fixed some memory leaks in TfpgComboBox.graemeg
* Fixed the destruction order of TfpgComboBox. * Introduced DoRemoveWindowLookup() in gfxbase.pas so that we can offload some of the responsibility from DoReleaseWindowHandle() * Add two new debug methods to help debug fpGUI and fpGUI based applications. They are PrintCallTrace() and PrintCallTraceDbgln(). * Fixed 'Index out of bounds' error when quiting your application. * I included lots of debug output in this revision, so I can test under Windows. As soon as I confirmed everything works, I'll remove the debug output again.
2008-01-14* Removed a debug writeln statement from gui_edit unit.graemeg
* Added the extra interpolation unit to fpgfx.pas so it can be auto compiled from the scripts in the src directory. * Added the missing extrafpc.cfg files from some example projects. * Renamed some of the examples main units to have the lpr extension. Consistancy with the other projects. * FreeBSD is now an official supported platform. I've compiled and ran all example and prototype projects. Everything works perfectly.
2008-01-07* Moved many methods from Public to Private or Protected in gui_menu.pasgraemeg
* Added a lot more sanity checks to prevent unnecessary processing. * Removed unnecessary requests for painting outside the HandlePaint method. * Menus are working again under Windows.
2007-12-11* Fixed TfpgApplication to call CheckSynchronize in the application loop so ↵graemeg
multithreaded applications will work. * TfpgApplication now inherits from TComponent so it can act as a container for other components like Forms. * Implemented CreateForm in TfpgApplication. * Fixed the default Height of TfpgComboBox to look at the specified Font instead of a hardcoded value.
2007-11-30* Fixed all the memory leaks I could find in CoreLib. We now have non in ↵graemeg
CoreLib.
2007-11-30* Some more minor improvements to the prototype Bitmap theme support.graemeg
2007-11-29* New overloaded method ImageFromRect in TfpgImage.graemeg
* Created a PaintPartScaledImage in prototypes which will be used for Bitmap based theming.
2007-11-29* Created a new overloaded CentrePoint function.graemeg
* Implemented a new method TfpgPopupMenu.MenuItemByName * Created a example project showing how the ICommand and ICommandHolder interfaces can be used.
2007-11-07* Added a OnKeyPress event to TfpgWidget. It can now be surfaced by anygraemeg
descendants. * Added keyboard handling to Calendar component. * Surfaced OnKeyPress event in TfpgEdit and TfpgStringGrid. * Updated the lazarus code template file.
2007-11-03* Improved modal form in X11 to use net window hintsdrewski207
* Implemented NET_WM_PING so newer window managers can kill our process if it stops responding * Changed how Modal form are stored. fpgApplication now keeps a stack/list of Modal Forms * Added fpgApplication PushModalForm and PopModalForm * Fixed a bug in WindowAddProtocol which caused a libc doublefree error
2007-10-28* Fixed the menu click issue under Windows.graemeg
* Added a new DumpStack procedure to help programmers debug there code.
2007-10-21* Added name and version constants.graemeg
* Added a SetDefaults method which we could use in the future to autoset the default property values for us. * Minor documentation update
2007-09-13combobox changesgraemeg
2007-09-13* CoreLib: fpgApplication now has a Terminated property which terminates thegraemeg
main event loop and application. Halt was just to harsh and objects never got freed. * GUI: Added a new INI Utils unit which introduces ReadOnly ini support and can also save a form's state and position. You access the ini file via the gINI singleton function. fpGUI Designer uses this. * All example project now free there main forms correctly. * Many bug fixes in GUI Designer. GUI Designer now also remembers the size and location of most forms. * Many of the GUI Designer forms are now maintained by the GUI Designer itself. * GUI Designer: Started implementing a Recent Files feature so it is quicker to open frequently used files.
2007-09-05* Added some painting fixes to the Treeview. Also added a few new properties.graemeg
2007-08-27* Implemented List Mediators with tiOPF support and added a demo.graemeg
* Added a quick workaround for the InvertCaret function causing a AV. * MenuBar now keeps the current menu focused even if you open more than 2 levels deep of Popup Menus. * Added some TODO entries to Widgets. Also published some missing properties. * Fixed repainting issue with TfpgComobBox when you set the Width from code and made the component focusable. Not sure why it wasn't! * Updated Lazarus IDE code template for new fpGUI applications.
2007-08-21* Removed OS based Double Click from GDI.graemeg
* Manually implemented OS independent Double Click support in TfpgWidget.
2007-08-21* Fixed a minor memory leak in fpgApplication. We still have quite a few graemeg
more to fix in the future. * Change menu accelarator key painting from a Bold style to the more traditional Underline style. * Fixed a minor bug in the Canvas.DrawString with Underline style enabled.
2007-08-20* Added keyboard handling in PopupMenus.graemeg
* Improved the look of Popup Menus to look more 3D like Win2000. * Fixed a bug where sub-sub menus didn't close when you selected a new top level menu.
2007-08-20* CoreLib: Some minor code cleanup, removing unused variables and code comments.graemeg
2007-08-14* Updated a few scripts in the docs directory.graemeg
* Minor changes in the style unit. * Added a new examples/apps/docedit project. Once complete it will be a demo application of fpGUI and at the same time show most used widgets in action. DocEdit will become something like lazde is to Lazarus.
2007-08-13* Minor adjustment to clSelection color value.graemeg
* Minor fix in TfpgProgressBar font color. * Added missing clipboard unit to GDI package.
2007-08-12* The start of clipboard support. Currently on Text is support and the ↵graemeg
clipboard only works inside the current running application. Next step is OS (global) based clipboard support.
2007-08-12* Implemented a Base Dialog class.graemeg
* Implemented 95% of the Font Select dialog. * Completed the FontSelect example project.
2007-08-10* Fixed minor compiler error and Mouser Cursor supportgraemeg
* Fixed minor compiler error and FastDoubleBuffer support * Fixed a bug in GDI DrawRectangle when LineStyle <> lsSolid * Implemented Canvas.DrawFocusRect * Implemented fpgStyle.DrawFocusRect
2007-08-08* Minor adjustments to GDI code after the previous revisions changes.graemeg
* Canvas functions finally behave identical in GDI and X11 - to the pixel.
2007-08-08* Finally fixed all painting issues with rectangles and clipping.graemeg
* Reverted the methods back to using TfpgRect instead of TRect. TfpgRect has better support for Width and Heigh - required by many Canvas methods. * Implemented helper functions like InflateRect but support TfpgRect * Fixed all painting issues and rectangle sizes in all components. * Fixed up all examples and test projects to compile and work correctly. * Fixes some clip rectangle issues under Linux. TfpgRect was a big help. * Changed the method signatures of many Canvas methods to rather use x, y, width and height. This causes much less confusion and actually less coding in widgets.
2007-08-07* Changed the parameters of DrawRectangle, FillRectangle to rather use Width ↵graemeg
and Height. * DrawLine and DrawRectangle now use the same coordinate system as Windows does. * I need to fixed corrupted painting in widgets due to this.
2007-08-06* Implemented Canvas.FillGradient().graemeg
* Made some improvements to the TfpgBaseGrid painting. Still have lots outstanding though.
2007-08-04* Started the implementation of a Grid component.graemeg
* Added a test project for the grid component.
2007-07-31* Fixed FillRectangle() under GDI and X11.graemeg
* Implemented Enable/Disbled state in TfpgComboBox. * Fixed painting issues in TfpgScrollbar and TfpgMemo (tested under X11). * Moved SetEnabled and SetVisible in TfpgWidget to protected and virtual.
2007-07-27X11 only:graemeg
* Fixed a bug in the SetLineStyle which caused inaccurate line drawing. This eluded me for ages. * Started the process of removing TfpgRect and replacing it with the standard Object Pascal TRect. * Started updating some methods to rather use two sets of coordinates instead of width and height. * Added a new test to verify drawing accuracy * Implemented more line styles under X11 * Fixed up painting issues in widgets (Scrollbar and Memo are still outstanding) * Added three new helper functions for use with TRect in fpgfx.pas (InflateRect, CentrePoint, OffsetRect).
2007-07-26* Minor fixes with DrawControlFrame and ComboBox down button.graemeg
2007-07-26* Added a DrawString() method to TfpgStylegraemeg
* Changed TfpgCheckBox, TfpgRadioButton, TfpgLabel and TfpbButton to use fpgStyle.DrawString instead. * Updated the prototype test app to demo these features. * TfpgCheckBox now handle image painting correctly based on the widget state and mouse state (up, down). * Minor improvement to the look of the X in the CheckBox image.