Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-10-28 | GDI: store user selected information from DragEnter event handler | Graeme Geldenhuys | |
2010-10-28 | GDI: Choose a more specific base class for DropTarget reference. | Graeme Geldenhuys | |
2010-10-28 | GDI: Reference to where I got info to implement Windows OLE DND | Graeme Geldenhuys | |
2010-10-28 | GDI: When creating a list of clipboard formats, add mime equivalents too. | Graeme Geldenhuys | |
2010-10-28 | Implemented a bare minimum MimeType to Win Clipboard lookup function. | Graeme Geldenhuys | |
2010-10-28 | GDI: Created a help function, GetFormatEtc, that sets up a TFormatEtc record | Graeme Geldenhuys | |
2010-10-28 | interface implementation methods can be private. We only work with | Graeme Geldenhuys | |
the interface anyway, not an actual object instance. | |||
2010-10-28 | GDI: Implemented HandleDNDLeave, DNDEnter and DNDPosition event handlers | Graeme Geldenhuys | |
2010-10-28 | GDI: implemented a helper function for DropAction conversion | Graeme Geldenhuys | |
2010-10-28 | GDI: Implemented DoDragLeave for droptarget | Graeme Geldenhuys | |
2010-10-28 | GDI: Fixed DragEnter implementation. | Graeme Geldenhuys | |
We should not modify the dwEffect variable before the user gets a chance to look at it. | |||
2010-10-28 | GDI: implemented some helper functions for OLE DND clipboard types | Graeme Geldenhuys | |
2010-10-28 | Implemented equals (=) operator for TPoint type | Graeme Geldenhuys | |
2010-10-28 | GDI: Changed TfpgOLEDragDropEffect type to DWORD to match OLE API | Graeme Geldenhuys | |
2010-10-28 | GDI: Added OLE DND into TfpgGDIWindow. | Graeme Geldenhuys | |
AcceptDrops: is implemented and can be toggled at runtime or designtime. Windows cursor also changes to show that target windows can accept drops. | |||
2010-10-28 | GDI: A near complete Windows OLE Drag-n-Drop implementation | 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 | Ad conversion helper functions from OLE DND to fpGUI DropActions | Graeme Geldenhuys | |
2010-10-28 | GDI: introduced a template TGDIDragManager class | Graeme Geldenhuys | |
* implements the IDropTarget interface * Also initialize/uninitialize OLE at application startup/stop | |||
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-28 | TfpgDrag.Execute: replaced Assert() calls with Exceptions. | Graeme Geldenhuys | |
This does error checking before and DND gets triggered. The error messages must still be replaced with resource strings though. | |||
2010-10-28 | TfpgDrag.Execute now has a default TfpgDropAction drop action of daCopy. | Graeme Geldenhuys | |
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-25 | Improved event firing of OnDoubleClick and OnClick | Graeme Geldenhuys | |
* Single click produces one OnClick event * On a Double Click in produces a OnClick, then a OnDoubleClick event. Old behaviour used to procuder yet another OnClick at the end. This is not needed. * OnMouseDown and OnMouseUp events behaviour has not changed. The reason we introduce the FOnClickPending instead of fully handling the events in TfpgWidget.MsgMouseUp is because a TfpgButton has slightly different behavior (eg: When clicking on a button, keep mouse down, and move mouse out of button rectangle, then an OnClick must not fire.) The extra FOnClickPending allows us to toggle this behaviour of HandleLButtonUp (which normally fires the OnClick event) | |||
2010-10-21 | changed system color for all inactive color variables. | Graeme Geldenhuys | |
This applies to: clInactiveSel, clUnset, clGridInactiveSel I wasn't fond of the purple / faded blue color from before. | |||
2010-10-21 | GDI: Removed definition of MW_MOUSEWHEEL. it already exists in FPC. | Graeme Geldenhuys | |
2010-10-15 | BaseNumericEdit NegativeColor property was used instead of field variable. | Graeme Geldenhuys | |
The property does more that just set the color. It calls FormatEdit, which changes the color of TextColor property. This meant the parent color was never stored in FOldColor field variable. | |||
2010-10-15 | BaseNumericEdit did not specify the default property color. | Graeme Geldenhuys | |
By defining the default color, the UI Designer can omit that line in generated code, if the color did not change. | |||
2010-10-15 | fpg_edit: removed pointless property declarations | Graeme Geldenhuys | |
Those properties are exactly the same visibility as inherited classes, so no point in simply listing them again. TextColor was the exception, it was public, so you can't decrease the visibility in descendants. | |||
2010-10-15 | memo CursorLine property improvements and sanity checks | Graeme Geldenhuys | |
* The selection variables were not updated before * Little error checking was done, so you could get index out of bounds errors. | |||
2010-10-15 | Memo: introduced a new CursorPos property | Graeme Geldenhuys | |
You can now set the Cursor X position via code. | |||
2010-10-15 | Minor improvement in fpgCheckTimers procedure. | Graeme Geldenhuys | |
2010-10-15 | fpgApplication.OnIdle was never triggered under Windows. | Graeme Geldenhuys | |
2010-10-15 | TfpgMemo now has BeginUpdate and EndUpdate methods | Graeme Geldenhuys | |
This allows you to add/delete many lines and the memo only repaints once. | |||
2010-10-12 | minor code formatting | Graeme Geldenhuys | |
2010-10-12 | listbox: published a few more events and the Text property | Graeme Geldenhuys | |
2010-10-12 | listbox: Text property is now a read/write property | Graeme Geldenhuys | |
2010-10-11 | TfpgButton: experimental feature allowing multi-line text | Graeme Geldenhuys | |
2010-10-11 | fpgApplication.ProcessMessages now process other events (eg: timers) too. | Graeme Geldenhuys | |
The DoMessagesPending() only processed OS events, now ProccessMessages processes all events like the real event loop does. This gives a more expected behaviour to developers that write blocking loops etc. | |||
2010-10-11 | new method, Pause(), introduced to TfpgTimer | Graeme Geldenhuys | |
2010-10-11 | TfpgTimer constructor and Reset can now be extended in descendants | Graeme Geldenhuys | |