summaryrefslogtreecommitdiff
path: root/src/corelib
AgeCommit message (Collapse)Author
2008-01-11* TfpgWidget now has two new events. OnEnter and OnExit so the user can trap ↵graemeg
when a component receives or looses keyboard focus. TfpgEdit has a few new methods. Clear() which clears the Text. ClearSelection() which removes the selected text only. CopyToClipboard(), CutToClipboard() and PasteFromClipboard() is fairly obvious. TfpgEdit has some new properties. AutoSelect - in enabled (default) will auto select all text when the component receives keyboard focus. HideSelection - by default hides the selection rectangle when the components looses focus. If set to False the selections rectangle will be grayed - not the the user interfaces will look busy if many edit controls keep showing their selections, but now you have a choice.
2008-01-10Applied patch from Vladimir fixing button MouseEnter and MouseExit events.graemeg
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.
2008-01-04* GUI: Moved all MenuItem painting into the Paint event handler.graemeg
* GUI: MenuItems OnClick is now triggered on mouse button up (like all other toolkits). * GUI: Clicking outside a menu while it's open doesn't trigger the OnClick event anymore. * Examples: Extended the menu example to show when each menu item's OnClick was triggered. * All the above needs testing under Windows.
2008-01-03* Reworked the timing of when windows get removed from thegraemeg
internal lookup list. * Reordered some methods on destruction of a form. * fpGFX-X11 now reports lost windows for X11 events. * Added extra checks in the X11 event handling to make sure we have found a actual window before we try and process the event. This fixes the crashing of applications when you close a window by clicking the X button on System Menu.
2008-01-02* Fixed AV that occurs when a combobox is opened and closed a few times.graemeg
* A minor improvement to the internal stringlist for ListBox components.
2007-12-27* ComboBox dropdown now opens and closes as expected when you click insidegraemeg
the body of the combobox. * When OnClick was introduced in TfpgWidget, it caused duplicate OnClick calls. This has now been fixed. * PopupWindow.Close now calls HandleClose instead of HandleHide. * Fixed a few bugs in ComboBox and ListBox components.
2007-12-23GDI: Fixed issues where the mouse is used to resize controls in the UI ↵graemeg
Designer. Needs further testing as the UI Designer is acting strangely in other cases.
2007-12-15GFX/X11 * Minor fix to netlayers handling of splash screens.graemeg
2007-12-15* Added a new WindowAttribute called waStayOnTop. * Modified the ↵graemeg
SplashScreen example to use the new window attribute. * Modified gfx_x11 to use the new waStayOnTop attribute and also to define a window type SplashScreen via newlayers.
2007-12-14* Implemented a OnClick event in TfpgWidget.graemeg
* published OnClick and OnDoubleClick in TfpgLabel, TfpgButton, TfpgBevel.
2007-12-13* A new GUI example showing how to implement a Splash Screen.graemeg
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-12-02* Added gfx_wuline.pas to the Windows GFX package.graemeg
2007-12-02* Implemented the Wu Anti-Aliased line drawing algorithm. Soon the canvas ↵graemeg
DrawLine will start using it. * Created a very quick and simple Wu Line example.
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-28* Implemented a Command pattern interface.graemeg
* Added CommandHandler support to TfpgButton.
2007-11-26* Created a new unit that implements a WideString version of TStringList.graemeg
* I've also implemented a few WideString helper functions that are not included in FPC. * I've created a few fpGUI generic types which hides the actualy Object Pascal types used. This would allow us to make type changes in the future without having to search and replace thousands of lisens of text.
2007-11-08* X11: Setting a window title via netlayer does not work for thegraemeg
IceWM. I had to add the old XSetWMName back into the code. * GUI: Renamed the ComboCalendar's Value property to DateValue. * GUI: Minor change in Gauges property visibility. * UIDesigner: Added the ComboCalendar and Gauge components to the palette.
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-06* SetLineStyle and LineWidth are now fully supported under X11 and GDI.graemeg
Drawing results are identical.
2007-11-06* Fixed the SetLineStyle issue under GDI. lsDot now drawsgraemeg
correctly and so does lsDash. * Fixed the issue with LineWidth not working for Canvas.DrawLine under GDI.
2007-11-06* Removed code duplication from the previous patch in X11 SetLineStyle.graemeg
2007-11-06* Applied patch from Giuliano Colla. It modifies the line drawing but is ↵graemeg
currently a workaround for a bug.
2007-11-05* More improvements to Calendar component.graemeg
* Lots of refactoring in the text Edit component. * Added a new property BorderStyle to the Edit component.
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-11-03* Started working on a Calendar component.graemeg
* Created a new example project to test the calendar component. Please note it is NOT complete yet. * Added a ScrollBarStyle property to BaseGrid to control the ScrollBar visibility.
2007-10-28* Fixed the menu click issue under Windows.graemeg
* Added a new DumpStack procedure to help programmers debug there code.
2007-10-26* Updated the ThreeDee prototype with a new gradient function.graemeg
* Implemented a new fpgGetAvgColor function in gfxbase unit. * Supplied some more documentation for gfxbase unit.
2007-10-25* Added new UTF8 function used for text translations with .po files.graemeg
* Added BackgroundColor as new published property of TrackBar component. * Specified default property values for BaseGrid component. This help optimize the UI Designer generated code. * Started refactoring code from TfpgEdit to TfpgCustomEdit. This is still incomplete. * Added new prototype project for testing a new Master Maths custom theme.
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-10-18* Improved the implementation of the Minimum Width/Height graemeg
support under Win32. * Fixed bug #1811433 where the Anchor feature was broken when resizing forms under Windows. We never took into account the window border width and title bar height.
2007-10-18* Win32: Implemented MinWidth and MinHeight constraint support for Forms. ↵graemeg
Not sure if we need it for any Widgets or just Forms.
2007-10-17CoreLib: Fixed Canvas.StretchDraw(). I forgot to undo previous debug testing ↵graemeg
comments.
2007-10-15* Published BackgroundColor and OnPaint for TfpgFormgraemeg
* TfpgWidget.HandleShow now always sets Visible = True. This fixes issue with the fpGUI-LCL interface as well. * Added a few more safety checks into the PageControl widget. * The OnPaint event is now wrapped with BeginDraw/EndDraw calls so that a event handler for OnPaint doesn't need to call it explicitly.
2007-10-11Fixed bugs 1803016 and 1798475. When resizing a window a few times the ↵graemeg
painting goes corrupt under GDI (Windows). This bug was actually introduced in revision 210 - ages ago!
2007-10-10* Resizing widgets now take into account the MinWidth and MinHeightgraemeg
properties. In affect you now cannot resize components into the negative with the UI Designer. * UI Designer: On deleting a component from a form, resets the Object Inspector. * Fixed 'division by zero' errors for the ListView and Memo components when they get resized to smaller that 2x2 pixels in size.
2007-10-08minor code formatting changes.graemeg
2007-10-05* Implemented a UTF8Insert() and UTF8Delete() proceduresgraemeg
* Fixed up TfpgEdit to now use the UTF-8 versions of Insert() and Delete() which fixes some of the keyboard input issue. * Removed stacks of compiler warnings all over the place. * Fixed up the TfpgMemo to now use the UTF-8 versions of Insert() and Delete() which fixes some of the keyboard input issues.
2007-09-14* Introduced Setter methods for BaseWindow Width and Height properties.graemeg
* Fixed a minor bug in ComboBox that maintained it's own Width property. This also fixed the issue in the uiDesigner loading forms with comboboxes and not painting the internal button.
2007-09-14* New overloaded EndDraw method for TfpgCanvas.graemeg
* Finished implementation change of ComboBox internal button. It now uses a fake (painted) button instead of a real button. Up/Down state is also supported. * Implemented Up/Down state for Scrollbar buttons. * Increased the version numbers of the fpGUI packages and uiDesigner. * If TfpgEdit is disabled, the mouse cursor doesn't change to a I beam.
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-12minor adjustment to default font setting and included the missing ↵graemeg
extrafpc.cfg file to uidesigner
2007-09-08* Made a few modifications so the GUI Designer works under Windows.graemeg
2007-09-08* Fixed initial painting of components when they are placed in the graemeg
form designer. * Fixed the initial state of scrollbars for various components. * Implemented more fine grained cursors. Used by the designer for the resizer buttons. * Components can now be moved around in the designer form. * Components can now be placed inside container components like TfpgBevel. * Treeview doesn't crash the GUI designer anymore, yet the painting is still not working for it. * Tab and reverse Tab now work in the GUI designer. * GUI Designer title bar is now consistent in text format.
2007-09-07GFX: Added support for handle component creation at runtime correct graemeg
while the parent component is already visible. * GUI: Introduced the usage of ComponentState so that the components react correctly in the GUI Designer. Not all components are tested yet. * GUI Designer almost paints the designed form correctly. When placing a component, they are invisible, but as soon as you resize them, they are painted correctly. This is still work