Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | Oops, forgot to commit the TfpgDragBase class from earlier. | 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 | fpgApplication got a new property: StartDragDistance. | Graeme Geldenhuys | |
This is the distance the mouse needs to move with the left button down, before it is considered a "drag action". Default value is 5 pixels. | |||
2010-09-23 | two new classes introduced to manage data associated with mime types. | Graeme Geldenhuys | |
TfpgMimeDataBase is a base class for data associated with mime types. TfpgMimeDataStruct is a simple data class. Currently I'm not sure if Variants are the way to go for storing data, so this might change in the future. | |||
2010-09-23 | More well known drop actions added to TfpgDropAction | Graeme Geldenhuys | |
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) | |||
2010-09-23 | Adds a reverse lookup: GetAtomFromDropAction() | Graeme Geldenhuys | |
2010-09-23 | Adds a property EnableDrops which enables DND for a top-level window. | Graeme Geldenhuys | |
If set to False (the default), no DND can occur in that window. No OS messages for DND are processed or received. | |||
2010-09-23 | Catch the OS independent DROP[Enter|Exit] messages | Graeme Geldenhuys | |
Under X11 the XDND OS messages on only go to the top-level window, so we send the FPGM_ messages ourselves. Later each component will hook into this to change it's appearance to show the end-user that a drop is allowed or not. eg: Some components will get a dark/black border or something. | |||
2010-09-23 | Adds OnDragEnter event for TfpgWidget. | Graeme Geldenhuys | |
2010-09-23 | If TfpgForm.EnabledDrops are set before a WinHandle exists we need to queue ↵ | Graeme Geldenhuys | |
the action for later. | |||
2010-09-23 | Changed bit manipulation so it makes more sense. | Graeme Geldenhuys | |
2010-09-23 | Adds implementation for handling XdndSelection message. | Graeme Geldenhuys | |
2010-09-23 | Fixed double free libc crash. We assumed we should always free xdndtypes. | Graeme Geldenhuys | |
NEVER ASSUME! | |||
2010-09-23 | Fixes range-check errors and compiler warnings. | Graeme Geldenhuys | |
2010-09-23 | helper method to do conversion from TAtom to enum for drop actions. | Graeme Geldenhuys | |
2010-09-23 | Rename TfpgDragAction(s) to TfpgDropAction(s). A more correct description of ↵ | Graeme Geldenhuys | |
what they mean. | |||
2010-09-23 | X11: No need to reference xapplication because this method is inside ↵ | Graeme Geldenhuys | |
TfpgX11Application already | |||
2010-09-23 | X11: Adds remained of the XDND protocol handling routines | Graeme Geldenhuys | |
* Add DND processing has it's own debug DEFINE as well. This limits the console output so is easier to debug. | |||
2010-09-23 | Renamed DND fpGUI message constants to keep with existing naming convention. | Graeme Geldenhuys | |
2010-09-23 | X11: adds HandleDNDposition() for processing XdndPosition messages. | Graeme Geldenhuys | |
2010-09-23 | Adds some application wide variables that we need for tracking XDND data. | Graeme Geldenhuys | |
2010-09-23 | adds new utility function fpgIsBitSet() to check if a specific Bit is set in ↵ | Graeme Geldenhuys | |
a value. | |||
2010-09-23 | Fix variable types for XGetWindowProperty calls. | Graeme Geldenhuys | |
We must use C-types and not Pascal-types. | |||
2010-09-23 | Adds new boolean property AcceptDrops to TfpgWidget. | Graeme Geldenhuys | |
This will enable/disable drop support per widget. | |||
2010-09-23 | Implemented abstract DoEnableDrops() method. | Graeme Geldenhuys | |
Also defined a few new types and TAtoms we will need for XDND support. | |||
2010-09-23 | New types and message constants for DND support. | Graeme Geldenhuys | |
Also includes an abstract method that must be implemented by each backend to enabled DND for components or forms. | |||
2010-09-23 | memo: forgot to reset selection variables after a clipboard Cut action. | Graeme Geldenhuys | |
2010-09-23 | memo: reduced code by simply using ResetSelectionVariables() instead. | Graeme Geldenhuys | |
2010-09-23 | memo: Paste bugfix. | Graeme Geldenhuys | |
Pasting text that consisted of multiple lines wasn't inserted on the correct lines. Resulting in pasted lines being in reverse order. | |||
2010-09-23 | memo: ResetSelectionVariables was incomplete. | Graeme Geldenhuys | |
2010-09-23 | memo: minor optimization - SomethingSelected is only called once now. | Graeme Geldenhuys | |
2010-09-23 | memo: Implemented SelectionText() function. | Graeme Geldenhuys | |
Also improved DoCopy to rather use SelectionText instead of duplicating code. | |||
2010-09-22 | memo: implemented clipboard support with default popup menu support. | Graeme Geldenhuys | |
2010-09-21 | Two new helper routines [fpgPoint() and fpgSize()] and lots of operator ↵ | Graeme Geldenhuys | |
overloading | |||
2010-09-21 | cl_BaseNamedColor should be a index number, not really a TfpgColor type. | Graeme Geldenhuys | |
2010-09-21 | Two new types introduced: TfpgPoint and TfpgSize | Graeme Geldenhuys | |
The are of type "object" for static allocation, and includes easy initialization methods, and TfpgPoint introduces ManhattanLength (easy and quick way to determine distance between two points). See the class documentation for more information on ManhattanLength. | |||
2010-09-21 | Removed compiler warnings. | Graeme Geldenhuys | |
2010-09-21 | DrawButtonFace(): Improved the look of Flat=True buttons | Graeme Geldenhuys | |
Flat=True (toolbar) style buttons now have a thinner border when the mouse hovers over them. They also have an improved look in Down=True state. |