Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-11-18 | This 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-12 | X11: extra checks and precautions | Graeme Geldenhuys | |
2010-11-12 | Added "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-12 | fpgApplication.CreateForm implementation has changed, but end result is the same | Graeme 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-11 | Bumped the version number so it's newer than the last release. | Graeme Geldenhuys | |
2010-11-08 | Revert "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-05 | Merge branch 'master' of ssh://fpgui.git.sourceforge.net/gitroot/fpgui/fpgui | Andrew Haines | |
2010-10-29 | Removed the stray writeln() statement. | Graeme Geldenhuys | |
2010-10-29 | Updated X11 code due to property changes in TfpgMimeDataItem class. | Graeme Geldenhuys | |
2010-10-28 | TfpgWindowBase introduced a new abstract method | Graeme Geldenhuys | |
* This abstract method is called from TfpgWidget's AcceptDrops setter function * Template implementation in X11 * Actual implementation in GDI | |||
2010-10-28 | extra error checking in mimelist DND operation | Graeme Geldenhuys | |
2010-10-28 | More code comments and DNDDebug entries. | Graeme Geldenhuys | |
2010-10-28 | bugfix: TfpgX11Drag.SendDNDDrop did not always process correctly. | Graeme Geldenhuys | |
Even though this method was called, it should have checked the FDropAccepted variable which did didn't. Now it correctly conforms to the XDND spec. Due to the new behaviour we also have to make sure we free the TfpgDrag instance when the drop is not accepted. | |||
2010-10-28 | Bugfix: TfpgX11Application.HandleDNDposition's XdndStatus message sent did ↵ | Graeme Geldenhuys | |
not correctly set the ActionType parameter if the drag was not accepted. | |||
2010-10-28 | OnDragLeave event now has the Sender parameter set, and points to the target ↵ | Graeme Geldenhuys | |
component | |||
2010-10-27 | X11 DND: We never checked if drop was really accepted in HandleDNDDrop | Graeme Geldenhuys | |
If the Drop occured, but AcceptDrops = False, we must not do any Selections conversions. This is now so. We must still send the XdndFinished message though, so data object can be freed, and to simply comply with XDND protocol. We now correctly set the Accept or Decine status in the XDNDFinished message. | |||
2010-10-27 | Renamed TfpgWindowBase.DoEnabledDrops() to DoDNDEnabled() | Graeme Geldenhuys | |
This will hopefully reduce the confusion between the other TfpgWidget.AcceptDrops property - they had too similar names. * Applied rename changes to all other descendants too * Updated DND demo project | |||
2010-10-27 | X11 DND: Incorrectly assumed there will always be a 'text/plain' mime-type | Graeme Geldenhuys | |
If the developer did not set the AMimeChoice in OnDragEnter, then the incorrect default could have been used. By default it used to deflaut to 'text/plain' and never actually checked the mime-type list to see if that exists. :-( Now the default AMimeChoice is set the the first mime-type in the mime-type list. This keeps with the methodology that the mime-type list must be from most specific to least specific mime types. | |||
2010-10-26 | X11: in HandleDNDposition() we never recursed through all children | Graeme Geldenhuys | |
The bug was that it only checked for the immediate children of the toplevel window. It never recursed through all levels of children finding the correct child the mouse cursor is over. This is now fixed. This also allows embedded frames or forms to work with DND. | |||
2010-10-26 | X11: make sure that AcceptDrops are True before we fire OnDragDrop | Graeme Geldenhuys | |
There was a bug where if the component had a OnDragDrop event handler and AcceptDrops was False, it still triggered the event. Not any more. | |||
2010-10-26 | X11: improved DND debug messages | Graeme Geldenhuys | |
I also made sure that all writeln() statements are wrapped in IFDEF's. | |||
2010-10-21 | GDI: Removed definition of MW_MOUSEWHEEL. it already exists in FPC. | Graeme Geldenhuys | |
2010-10-04 | X11: extra failsafe before posting FPGM_RESIZE event. | Graeme Geldenhuys | |
2010-10-03 | X11: fake a Resize event after the window is mapped (shown). | Graeme Geldenhuys | |
X11 seems too efficient, so one the initial mapping of the window to the display, no resize event needs to occur, and it doesn't. This screws with Align property which expects as Resize event (like Windows GDI). So we fake a resize event. | |||
2010-09-23 | X11: disable DNDDebug define to hide debug information | Graeme Geldenhuys | |
2010-09-23 | DND: > 3 data types are now supported. | Graeme Geldenhuys | |
* Reorganized some code * > 3 data types are now supported. XdndTypeList is now correctly set for the source window. | |||
2010-09-23 | DND: clean-up after we are done. | Graeme Geldenhuys | |
2010-09-23 | X11 DND: a variant is now passed around and used in OnDragDrop event. | Graeme Geldenhuys | |
2010-09-23 | HandleSelectionRequest now correctly returns 'html' or 'plain text' data. | Graeme Geldenhuys | |
2010-09-23 | simple code formatting improvement | Graeme Geldenhuys | |
2010-09-23 | bugfix: SendDNDEnter now correctly sets first three supported data types | Graeme Geldenhuys | |
2010-09-23 | X11: reset the mouse cursor after a DND drop action is complete | Graeme Geldenhuys | |
2010-09-23 | X11 correctly set mouse cursor for mcDefault and mcArrow | Graeme Geldenhuys | |
2010-09-23 | confirming XSetSelectionOwner succeeded as per ICCCM specs | Graeme Geldenhuys | |
2010-09-23 | Two new MouseCursor shapes added. mcDrag & mcNoDrop | Graeme Geldenhuys | |
* X11 DND now changes the mouse cursor depending if a drop target is available or not | |||
2010-09-23 | IsDNDAware never actually returned True before. Oops! | Graeme Geldenhuys | |
2010-09-23 | X11: FindWindow - renamed variable to make it easier to read and understand | Graeme Geldenhuys | |
2010-09-23 | X11: Only send XdndLeave event if we actually had a FLastTarget window | Graeme Geldenhuys | |
2010-09-23 | X11: only delegate MotionNotify event to Drag object if it's actually a drag | Graeme Geldenhuys | |
2010-09-23 | bugfix: I broke the array types earlier. This restores them to what they were. | Graeme Geldenhuys | |
2010-09-23 | X11: delegate the DND events to the Drag object. | Graeme Geldenhuys | |
2010-09-23 | fix the type of XDND implemented version fpGUI supports | Graeme Geldenhuys | |
2010-09-23 | implement the higher level TfpgDrag and TfpgMimeData classes. | Graeme Geldenhuys | |
These are independant of the backend - they contain common code and interface. TfpgDrag will be used to initiate a drag action (acting as the source of a drag), and contain the data available for that drag action. | |||
2010-09-23 | X11: Two new DND helper functions introduced | Graeme Geldenhuys | |
* IsTopLevel returns a boolean to say if a specific window is the top level window, and not some subwindow. * FindWindow tries to find the window at root coordinates x,y. we will use this to find the drop target. | |||
2010-09-23 | X11: introduced a TfpgX11Drag class with handles most of the XDND messages | Graeme Geldenhuys | |
We offload most of the DND message processing to the TfpgX11Drag class. This helps keep the functionality with a clean design. | |||
2010-09-23 | Replaced magic numbers with variable names. | Graeme Geldenhuys | |
Now we actually know the meaning of those parameters. | |||
2010-09-23 | Move array types to interface section as it's required in other interface ↵ | Graeme Geldenhuys | |
classes. | |||
2010-09-23 | Adds OnDragDrop event to TfpgWidget. | Graeme Geldenhuys | |
For now we hard-code the data type as TfpgString. Later this will change. | |||
2010-09-23 | Adds OnDragExit event to TfpgWidget. | Graeme Geldenhuys | |
2010-09-23 | Reworked the HandleDNDposition() method | Graeme Geldenhuys | |
* Events are now only fired when the drop is truly accepted, not just because it has AcceptDrops and OnEnterDrag event handlers. Event handler needs to explicitly set Accept = True. * Default mime type used is 'text/plain' * Default drop action is daCopy (or XdndActionCopy) |