summaryrefslogtreecommitdiff
path: root/src/corelib
AgeCommit message (Collapse)Author
2011-01-14X11: OnDragDrop the Sender and Source parameters are now populated.Graeme Geldenhuys
Sender: the widget the mouse was over when drop occurs. Source: If whole DND is inside the same app, then Source is the original Widget the DND started from.
2011-01-14GDI: OnDragDrop the Sender and Source parameters are now populated.Graeme Geldenhuys
Sender: the widget the mouse was over when drop occurs. Source: If whole DND is inside the same app, then Source is the original Widget the DND started from.
2011-01-14X11: OnDragEnter now has Sender and Source parameters populatedGraeme Geldenhuys
Sender: = the widget the mouse entered and that triggered the event Source: = if whole DND occurs in same app, then Source is the Widget the DND action started from.
2011-01-14GDI: OnDragEnter now has Sender and Source parameters populatedGraeme Geldenhuys
Sender = widget the mouse entered and triggered the event Source = if the whole DND is inside the same app, then Source is the original Widget drag started from.
2011-01-12UpdateWindowPosition now called irrespectively in MoveandResize.Graeme Geldenhuys
Because widget positioning is new possible before it is show, we need to call UpdateWindowPosition any time we set Width, Height, Top or Left so that it can update the internal state of the widget correctly.
2011-01-12Fix stupid typo bug in HandleMove.Graeme Geldenhuys
We used FHeight instead of FLeft!! Dope!
2011-01-11fixes Alignment and Anchor calculation even before we have a window handleGraeme Geldenhuys
Updated the following methods by rather checking the ComponentState, than the HasHandle result. Why? Because we want alignment and anchor calculations to work, even before we have a window handle. Something that happens often when using a Frame-type design for the UI. * HandleMove() * HandleResize() * UpdateWindowPosition() Due to removing the HasHandle check in UpdateWindowPosition, we had to do the HasHandle check in each backend code instead. We don't want to trigger API calls when we don't have a window handle yet.
2011-01-10DoWaitWindowMessage() defined as virtual abstract in fpg_baseGraeme Geldenhuys
* All fpGUI backends must override it as supply an implementation. * Moved DowaitWindowMessage() implementations to the protected section in the GDI and X11 backends.
2011-01-10DoMessagesPending() renamed to MessagesPending()Graeme Geldenhuys
Also made MessagesPending() a virtual abstract method in fpg_base.pas which every fpGUI backend must supply an implementation.
2011-01-06fpgCheckTimers is now a function.Graeme Geldenhuys
A boolean return value of True means that there are active timers.
2011-01-06new fpgPause() function.Graeme Geldenhuys
This function blocks the calling method, but allows for framework messages still to be processed. Could be useful for some developers.
2011-01-06Timers bugfix. Timers did not always work under Windows or Linux.Graeme Geldenhuys
Windows uses OS messages for the timer, and Linux not. So the DoMessagePending code had to be tweaked to work for both. I made a note of this, to see if there is a better way of doing this.
2011-01-03Minor code improvements.Graeme Geldenhuys
2011-01-03Moved FDefaultFont instantiation to a new location in code.Graeme Geldenhuys
2011-01-03new overloaded version of TfpgStyle.DrawControlFrame()Graeme Geldenhuys
2010-12-30TfpgWidget.MsgResize never considered constraints when calculating size deltasGraeme Geldenhuys
Old behaviour calculated the size deltas, then applied the new sizes from the received message. The new sizes were not guaranteed due to widget size constraints that could be applied, which means the deltas could be wrong, which in turn meant child components could be positioned incorrectly. We now store the original size values in temp variables, apply the new sizes which handles possible constraints, then only do we calculate the deltas, and then pass those on to HandleAlignments().
2010-12-30Doubled the message queue size to handle lots more messages.Graeme Geldenhuys
eg: When you resize continuously for a few seconds to test widget anchor processing, it was possible to reach the message queue limit. After this change, that is not so likely any more.
2010-12-30X11: Correctly implemented the handling of X11's GraphicsExpose event.Graeme Geldenhuys
2010-11-30New theme function to paint MenuBar backgroundGraeme Geldenhuys
2010-11-18This X11 work-around doesn't seem to be needed anymore.Graeme Geldenhuys
Now that the Align issues have been resolved, this work-around is not needed any more. Commented, it now produces the exact same events as under Windows too. This is good, obviously. :)
2010-11-18TfpgWidget.SetAlign called the wrong ReAlign() method.Graeme Geldenhuys
Not calling Parent.Realign ment we (self widget) is not being resized (excluded from the re-align calculation), and thus the self widget status at its current location and dimentions - until the end-user actually resizes the top-level form. This has now been fixed. NOTE: If you create extra widgets (eg: frames) outside the control of the UI Designer, but still created before resource handles are created, and you use Align property in those widgets, you need to rather create those in Form.OnShow(). Align changes are not always acted apon before they have a window handle, so it's best to do it in Form.OnShow for example. I'm still figuring out how best to handle this.
2010-11-15A new compiler define for debuging GDI key input messages.Graeme Geldenhuys
2010-11-12extension to TfpgStyle. functions to return widget border sizes.Graeme Geldenhuys
2010-11-12X11: extra checks and precautionsGraeme Geldenhuys
2010-11-12Extra check in SetPosition, so we don't trigger it needlessly.Graeme Geldenhuys
2010-11-12Added "call stack debugging" for internal use.Graeme Geldenhuys
It's disabled by default. Enabling can be done via project level or inside each unit at the beginning of such units.
2010-11-12New debugging methodsGraeme Geldenhuys
Used internally, but could be used in developers own software too.
2010-11-12fpgApplication.CreateForm implementation has changed, but end result is the sameGraeme Geldenhuys
Apparently it is good to allocate a instance, without calling the constructor. I'm not exactly sure why, but it also makes supporting FPC 2.5.1 a lot less messy (no casting required).
2010-11-11Bumped the version number so it's newer than the last release.Graeme Geldenhuys
2010-11-11updated website url constantGraeme Geldenhuys
2010-11-08Menu's now invert the color the arrow for submenu's so they are visible when ↵Andrew Haines
highlighted
2010-11-09* Added property IgnoreDblClicks to TfpgWidgetAndrew Haines
* TfpgButton now ignores double clicks by default
2010-11-08Revert "Merge branch 'master' of ↵Graeme Geldenhuys
ssh://fpgui.git.sourceforge.net/gitroot/fpgui/fpgui" Andrew is finding is training wheels with git. This reverts commit e320dfae6add39c66ea554dbb161a844ee06db4d, reversing changes made to 735aec8207036adb17f2174ffcb9056bee712ed3.
2010-11-05Merge branch 'master' of ssh://fpgui.git.sourceforge.net/gitroot/fpgui/fpguiAndrew Haines
2010-10-29New Grid HeaderStyle property, and new Canvas/Style.DrawBevel() methodGraeme Geldenhuys
Grid.HeaderStyle has Button, Thin and Flat options New DrawBevel can draw a bevel raised or lowered using standard system colors. Quite similar to TfpgBevel. New DrawBevel() method and new Grid.HeaderStyle option.
2010-10-29Removed the stray writeln() statement.Graeme Geldenhuys
2010-10-29Code cleanup by removing leftover writeln() statements.Graeme Geldenhuys
2010-10-29Fixed Windows DND memory leaks.Graeme Geldenhuys
2010-10-29Published the DND propertys for some of the most used components.Graeme Geldenhuys
This is so they can be tested. Once DND stabilizes, I'll make the properties available on the other components too.
2010-10-29More DND debugging code for TfpgGDIDrag class.Graeme Geldenhuys
2010-10-29Moved OnDragStartDetected from TfpgWidget to TfpgWindowBaseGraeme Geldenhuys
* also introduced virtual DoDragStartDetected which executes the OnDragStartDetected event * We also added a override of DoDragStartDetected in GDI for some extra tasks.
2010-10-29Updated X11 code due to property changes in TfpgMimeDataItem class.Graeme Geldenhuys
2010-10-29Added DND debugging entries and minor code formatting improvements.Graeme Geldenhuys
2010-10-29Applied same logic in X11 to OLE DND regarding preferred mime choiceGraeme Geldenhuys
Mime types should be registered from most specific (first item in mime list) to least specific (last item in mime list). The preferred mime choice will be the first item in the list. Raise an error if the mime list doesn't contain data.
2010-10-29Bugfix in EnumDataToStringList()Graeme Geldenhuys
We can't just go adding mime types without actual data associated with each entry. So now we match the mime stringlist to exact data count in IDataObject
2010-10-29Slight improvement to the WindowsClipboardLookup method.Graeme Geldenhuys
* Introduced a new parameter to know if we translated the mime type to a known Windows CF_ clipboard type. * Fixed the spelling mistake in the function name
2010-10-29Implemented a working TfpgGDIDrag.ExecuteGraeme Geldenhuys
Finally we are getting somewhere with OLE DND.
2010-10-29GDI: Implemented StringToHandle in TfpgGDIDrag classGraeme Geldenhuys
This is needed so we can store a string in a global buffer for DND. This will also reduce code duplication a bit, by simply allowing us to call this function.
2010-10-29Added a new private Drag property to TfpgGDIApplicationGraeme Geldenhuys
This allows use to easily find the TfpgDrag instance we are working with. Same was done in X11 backend.
2010-10-29Renamed TfpgMimeDataStruct to TfpgMimeDataItemGraeme Geldenhuys
* Also changed FormatCount to Count (more like standard list interface) * Also introduced a Items property (more like standard list interface) * The above to changes also made other implementations more simplified, so I did a bit of refactoring.