summaryrefslogtreecommitdiff
path: root/src/gui/gui_form.pas
AgeCommit message (Collapse)Author
2008-07-07* Fixed svn properties on some files.graemeg
* Implemented MaxWidth and MaxHeight properties. * Implemented contraint checks on window/widget sizes. * Fixed the bug with anchor issues inside container widgets. * Fixed the initial state of PrevWidth/Height/Top/Left and Dirty state.
2008-07-03* EditTest in the prototypes directory now tests Button ImageLayout property.graemeg
* TfpgBevel has been added to the UI Designer component palette. * TfpgBevel is used in the UI Designer and Shape=Spacer it paints itself different in the UI Designer, so it's more visible. At runtime it doesn't paint like that.
2008-06-28* Fixed the dialog size issue reported by Jean-Marc.graemeg
2008-06-27* A slight fix for X11 resizing forms with the mouse and alignment processing.graemeg
2008-06-27* Introduced a new property to TfpgWidget, called IsContainer for allgraemeg
components that act like containers (Panel, Form, etc). This optimizes the Component Alignment calls. * All resizing calls now get routed through DoUpdateWindowPosition() so they have a more consistent execution path. * OnResize now get fired when components get resized, and not just for Forms. * HandleAlignments() is now only called when needed. * Fixed the bug where Alignment didn't work when components are resized at runtime. * Removed compiler warnings form gui_mru.pas unit. * Memo's scrollbar now gets adjusted correctly when it's text is modified via code. * Minor bug fix when deleting line in a Memo component. The 'Index out of Bounds' error still occurs though. That will be fixed shortly.
2008-06-26* More code clean up.graemeg
* Renamed some classes to have consistent naming convention. * Created some Base classes to create custom components from.
2008-06-24* Temporary workaround for TfpgForm under X11 fixing Alignment components. ↵graemeg
See comment in code for details.
2008-06-19* Restore button state if an exception occurs inside the Click event.graemeg
2008-06-03Applied partial parts of patch [ 1979341 ] gui_editCombo from Jean-Marc.graemeg
* Updated the combobox demo.
2008-05-28* Fixed the bug when getting unhandled exceptions inside a Modal dialog, ↵graemeg
keyboard and mouse responces are blocked.
2008-05-22* New OnResize event for TfpgWidget.graemeg
* Minor bugfix in CreateEdit and width = 0. * Font is now a public property of TfpgEdit
2008-05-19* Merged my private graemeg branch changes (r752:r781) into trunk. These ↵graemeg
changes are required to change all componens from 1-based indexing to 0-based indexing.
2008-05-09* Minor change so ShowModal forms also execute the OnClose event.graemeg
2008-05-09* Fixed bug where program crashed if MainMenu contains no items and you ↵graemeg
click on it. * Fixed bug where components can't be created and Visible = False.
2008-04-27* Fixed the issue with screen flicker in the TfpgForm.OnPaint event handler.graemeg
* Fixed the issue where you still had to call Canvas.BeginDraw and Canvas.EndDraw inside HandlePaint. * Fixed the issue where custom painting in the OnPaint event handler of a Form did not show until the form was resized or revealed.
2008-04-24* TfpgApplicationBase now descends from TObject instead of TComponent.graemeg
* TfpgApplication now has a FormCount property. * TfpgApplication now has a Forms array property. * TfpgApplication.CreateForm now works correctly and NO memory leaks occur.
2008-04-23* Introduced TfpgApplication.Terminate methodgraemeg
* Introduced CloseAction in TfpgForm class and OnClose event. * Introduced a new CloseQuery method and OnCloseQuery event for TfpgForm. * TfpgForm.Hide actually freed the form. Now it only hides or make the form invisible.
2008-04-12Minor bugfix in gui_forms where PopModalForm is called twice.graemeg
2008-04-11* Fixed a bug where exceptions were silently handled without notification. ↵graemeg
This was in the messagequeue code. * Implemented a default application wide exception handler. Applications will not simply crash and quit. * Added TfpgApplication.HandleException * Added TfpgApplication.OnException event developers can hook into * Added TfpgApplication.ShowException - the default exception handler. * Added TfpgApplication.StopOnException - should the application quit or not when an unhandled exception occurres.
2008-04-03* Minor fix in the MessageDialogsgraemeg
* Debugging INI support for tiOPF. * Instructions on how to compile fpGUI with the Free Pascal Text IDE.
2008-03-21* new method in Canvas class called ClipLine() which clips the coordinatesgraemeg
of a line based on a given clipping rectangle. This doesn't not use the Canvas's internal ClipRegion. It uses the well known Cohen-Sutherland line clipping algorithm, and performance is very good. * new method in Canvas class called DrawLineClipped() which uses the ClipLine method. * Converted some C headers for the Motif Window Manager hints support under X11. * Introduced a new Window Attribute type called waBorderless. This allows use create borderless windows that can handle keyboard input. Currently borderless windows are only implemented in X11. It past 01:15 here and I need sleep, so will tackle GDI support on Monday. * Extended some of the types to be used for the new Style/Theme Manager. * Fixed a bug where TfpgForm.OnClose event did not fire when you call .Close method.
2008-03-18* When a form is Moved, Resized or Deactivates all popup windows are closed.graemeg
2008-03-10* Implemented the New Directory Dialog and added it to the File Open and ↵graemeg
File Save dialog.
2008-03-07* TfpgForm now has a FullScreen property. Currently only implemented in X11.graemeg
* TfpgForm also has a new method SetFullscreen(boolean) which allows you to switch fullscreen mode at any time.
2008-02-15* Applied Jean-Marc's TextColor and BackgroundColor patch.graemeg
* Made many more modifications based on Jean-Marc's patch and fixed a few things missed.
2008-01-28* Removed more debug code.graemeg
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-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.
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-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-22* Minor update to the tiOPF generic edit mediators unit.graemeg
* Correctly set the default values for Form and PageControl components. * Improved the UI Designer so only non-default values for Boolean and Enum types are written to file.
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-14Fixed form showing in in fpgui lcl interfacedrewski207
2007-09-26* Added copyright information in the GUI units.graemeg
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-08* GUI Designer: Minor changes and removed Boolean property editors for now. ↵graemeg
Will reinstate them later. * GUI Designer: Added a sample project to show how you would add a Main Menu using the Designer and the Unknown component on the component palette.
2007-09-06* Added a new generic property to TfpgWidget to dispatch messages sograemeg
the GUI Form Designer can intercept them. * File Save dialog can now save even if the file does not exist. Still needs a little bit of improvement. * GUI Designer now detects OS messages in designer window. * Painting has been improved a bit, though the z-order is still screwed. * The formating of a new template unit has been improved.
2007-09-06* Moved some methods or properties to the public or published area.graemeg
* Added a new example project. A fpGUI visual form designer. Still not working 100% but it is getting there.
2007-08-30* Changed the unit output path of the CoreLib and GUI (Lazarus) packages to ↵graemeg
the lib directory in the root of fpGUI. They are now the same as when you compile from the comand line. * Implemented the TfpgMenuBar keyboard shortcut feature. For example you can now press Alt+F to open the File menu. * Modified the menutest example to show the above change.
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-07-25* Implemented and added a new unit that will handle command line parameters.graemeg
* Implemented and added a new CheckBox widget. (needs testing under Windows). * Made some timer changes for Windows (needs testing). * Moved the global variable for the MainForm into the TfpgApplication class. I can almost remove the gui_form requirement from GFX.
2007-07-24* Move some modal form requirements as global variable to propertiesgraemeg
inside the TfpgApplication class. * Minor improvements to the modal form workings under Windows. Still not 100%, but better.
2007-07-23The first part of removing the obsolete fpGUI and replacing it with the new ↵graemeg
multi-handle design from the prototypes directory.