summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-09-23Move array types to interface section as it's required in other interface ↵Graeme Geldenhuys
classes.
2010-09-23Adds OnDragDrop event to TfpgWidget.Graeme Geldenhuys
For now we hard-code the data type as TfpgString. Later this will change.
2010-09-23Adds OnDragExit event to TfpgWidget.Graeme Geldenhuys
2010-09-23Reworked the HandleDNDposition() methodGraeme 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-23Adds a reverse lookup: GetAtomFromDropAction()Graeme Geldenhuys
2010-09-23Adds 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-23Catch the OS independent DROP[Enter|Exit] messagesGraeme 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-23Adds OnDragEnter event for TfpgWidget.Graeme Geldenhuys
2010-09-23If TfpgForm.EnabledDrops are set before a WinHandle exists we need to queue ↵Graeme Geldenhuys
the action for later.
2010-09-23Changed bit manipulation so it makes more sense.Graeme Geldenhuys
2010-09-23Adds implementation for handling XdndSelection message.Graeme Geldenhuys
2010-09-23Fixed double free libc crash. We assumed we should always free xdndtypes.Graeme Geldenhuys
NEVER ASSUME!
2010-09-23Fixes range-check errors and compiler warnings.Graeme Geldenhuys
2010-09-23helper method to do conversion from TAtom to enum for drop actions.Graeme Geldenhuys
2010-09-23Rename TfpgDragAction(s) to TfpgDropAction(s). A more correct description of ↵Graeme Geldenhuys
what they mean.
2010-09-23X11: No need to reference xapplication because this method is inside ↵Graeme Geldenhuys
TfpgX11Application already
2010-09-23X11: Adds remained of the XDND protocol handling routinesGraeme Geldenhuys
* Add DND processing has it's own debug DEFINE as well. This limits the console output so is easier to debug.
2010-09-23Renamed DND fpGUI message constants to keep with existing naming convention.Graeme Geldenhuys
2010-09-23X11: adds HandleDNDposition() for processing XdndPosition messages.Graeme Geldenhuys
2010-09-23Adds some application wide variables that we need for tracking XDND data.Graeme Geldenhuys
2010-09-23adds new utility function fpgIsBitSet() to check if a specific Bit is set in ↵Graeme Geldenhuys
a value.
2010-09-23Fix variable types for XGetWindowProperty calls.Graeme Geldenhuys
We must use C-types and not Pascal-types.
2010-09-23Adds new boolean property AcceptDrops to TfpgWidget.Graeme Geldenhuys
This will enable/disable drop support per widget.
2010-09-23Implemented abstract DoEnableDrops() method.Graeme Geldenhuys
Also defined a few new types and TAtoms we will need for XDND support.
2010-09-23New 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-23Editable Grid Demo: a very quick example how inline grid editing.Graeme Geldenhuys
2010-09-23memo: forgot to reset selection variables after a clipboard Cut action.Graeme Geldenhuys
2010-09-23memo: reduced code by simply using ResetSelectionVariables() instead.Graeme Geldenhuys
2010-09-23memo: 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-23memo: ResetSelectionVariables was incomplete.Graeme Geldenhuys
2010-09-23memo: minor optimization - SomethingSelected is only called once now.Graeme Geldenhuys
2010-09-23memo: Implemented SelectionText() function.Graeme Geldenhuys
Also improved DoCopy to rather use SelectionText instead of duplicating code.
2010-09-22start of fpg_forms documentationGraeme Geldenhuys
2010-09-22memo: implemented clipboard support with default popup menu support.Graeme Geldenhuys
2010-09-21Two new helper routines [fpgPoint() and fpgSize()] and lots of operator ↵Graeme Geldenhuys
overloading
2010-09-21cl_BaseNamedColor should be a index number, not really a TfpgColor type.Graeme Geldenhuys
2010-09-21Two new types introduced: TfpgPoint and TfpgSizeGraeme 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-21Removed compiler warnings.Graeme Geldenhuys
2010-09-21debug server: improved the look of the toolbarGraeme Geldenhuys
2010-09-21globe demo: improved the look of the toolbarGraeme Geldenhuys
2010-09-21DrawButtonFace(): Improved the look of Flat=True buttonsGraeme 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.
2010-09-21panel/bevel: corrected the shadow color used in box/panel styleGraeme Geldenhuys
2010-09-21Button: Flat=True (toolbar) buttons are now painted as such in the uidesignerGraeme Geldenhuys
This makes them easily distinguishable between normal buttons.
2010-09-21uidesigner: new published property (Down) for TpgButton.Graeme Geldenhuys
2010-09-20Globe: project options set to remove console windowGraeme Geldenhuys
2010-09-20Globe: extended the help a little moreGraeme Geldenhuys
2010-09-20A cool little "spinning globe" sample applicationGraeme Geldenhuys
Programmers must have fun every now and again! :-)
2010-09-20Add some programmer comments in X11 backend code.Graeme Geldenhuys
2010-09-20KeyPress events is now distributed to Widgets, then Form, then fpgApplicationGraeme Geldenhuys
* KeyPress is first offered to the focused widget * If not consumed, then to parent, then parent.parent etc.. * if still not consumed, then to top level form * if still not consumed, then to fpgApplication If anywhere in the sequence Consumed = True, then distribution of that event is stopped. This is the basic foundation required for various keyboard shortcut handling, actions shortcut handling, and especially in menus. The latter still needs some work though.
2010-09-20TfpgMessageBox now supports font selectionGraeme Geldenhuys
* we can now adjust the font used via the FontDesc property. This is handy when using fixed width fonts and displaying quick keyboard shortcut help.