summaryrefslogtreecommitdiff
path: root/src/corelib
AgeCommit message (Collapse)Author
2010-10-28Implemented equals (=) operator for TPoint typeGraeme Geldenhuys
2010-10-28GDI: Changed TfpgOLEDragDropEffect type to DWORD to match OLE APIGraeme Geldenhuys
2010-10-28GDI: 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-28GDI: A near complete Windows OLE Drag-n-Drop implementationGraeme Geldenhuys
2010-10-28TfpgWindowBase introduced a new abstract methodGraeme Geldenhuys
* This abstract method is called from TfpgWidget's AcceptDrops setter function * Template implementation in X11 * Actual implementation in GDI
2010-10-28Ad conversion helper functions from OLE DND to fpGUI DropActionsGraeme Geldenhuys
2010-10-28GDI: introduced a template TGDIDragManager classGraeme Geldenhuys
* implements the IDropTarget interface * Also initialize/uninitialize OLE at application startup/stop
2010-10-28extra error checking in mimelist DND operationGraeme Geldenhuys
2010-10-28More code comments and DNDDebug entries.Graeme Geldenhuys
2010-10-28bugfix: 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-28Bugfix: TfpgX11Application.HandleDNDposition's XdndStatus message sent did ↵Graeme Geldenhuys
not correctly set the ActionType parameter if the drag was not accepted.
2010-10-28OnDragLeave event now has the Sender parameter set, and points to the target ↵Graeme Geldenhuys
component
2010-10-28TfpgDrag.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-28TfpgDrag.Execute now has a default TfpgDropAction drop action of daCopy.Graeme Geldenhuys
2010-10-27X11 DND: We never checked if drop was really accepted in HandleDNDDropGraeme 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-27Renamed 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-27X11 DND: Incorrectly assumed there will always be a 'text/plain' mime-typeGraeme 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-26X11: in HandleDNDposition() we never recursed through all childrenGraeme 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-26X11: make sure that AcceptDrops are True before we fire OnDragDropGraeme 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-26X11: improved DND debug messagesGraeme Geldenhuys
I also made sure that all writeln() statements are wrapped in IFDEF's.
2010-10-25Improved event firing of OnDoubleClick and OnClickGraeme 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-21changed 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-21GDI: Removed definition of MW_MOUSEWHEEL. it already exists in FPC.Graeme Geldenhuys
2010-10-15Minor improvement in fpgCheckTimers procedure.Graeme Geldenhuys
2010-10-15fpgApplication.OnIdle was never triggered under Windows.Graeme Geldenhuys
2010-10-15TfpgMemo now has BeginUpdate and EndUpdate methodsGraeme Geldenhuys
This allows you to add/delete many lines and the memo only repaints once.
2010-10-12minor code formattingGraeme Geldenhuys
2010-10-11fpgApplication.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-11new method, Pause(), introduced to TfpgTimerGraeme Geldenhuys
2010-10-11TfpgTimer constructor and Reset can now be extended in descendantsGraeme Geldenhuys
2010-10-04Added missing predefined color for Splitter Grabbar.Graeme Geldenhuys
2010-10-04Reworked algorythm for Align propertyGraeme Geldenhuys
* It used to have a hard-coded processing of alignment. Top, Bottom, Left, Right and then Client. * This meant extra "fake" panels was required to get a specific design. * Align property is now processed in the creation order of the widgets.
2010-10-04Splitter grabbar color is now a system color.Graeme Geldenhuys
2010-10-04Anchors now support relative positioningGraeme Geldenhuys
If you only set a single anchor eg [anTop] and you resize the width of the form, the component will stay relative to the original position. if you place a component in the center of a form, and set anchors to [], and resize the form, the component will stay centered.
2010-10-04X11: extra failsafe before posting FPGM_RESIZE event.Graeme Geldenhuys
2010-10-03X11: 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-10-01fixed issue ID: 3030971 from SourceForge.Graeme Geldenhuys
When the date/time changes to an earlier date while an fpGUI application is running, all timers stopped firing. Under Windows all timers are reset. TODO: Found out what happens under Linux and how we can detected a date/time change.
2010-10-01Fix compilation under Windows. Force DeleteFile() from Sysutils, not Windows ↵Graeme Geldenhuys
API.
2010-10-01bugfix for ID: 3064350 from SourceForge.Graeme Geldenhuys
* A default font size is now set. * The Writeln() statement is now hidden under IFDEF's like it was supposed to be.
2010-10-01Set default property values for TfpgWindowBaseGraeme Geldenhuys
2010-10-01minor improvement to fpgGetNamedColor - now using fpgIsNamedColor internally.Graeme Geldenhuys
2010-10-01new function introduced: fpgIsNamedColor()Graeme Geldenhuys
Then name says it all.
2010-10-01bugfix: SpinEdit sometimes caused an AV because fpgCaret could not paintGraeme Geldenhuys
2010-10-01uidesigner: Added TfpgColorWheel and TfpgValueBar to component palette.Graeme Geldenhuys
2010-09-30This patch gives UTF8Insert more descriptive parameter namesGraeme Geldenhuys
2010-09-30Added new 'stdimg.about' image. Handly for toolbar usage.Graeme Geldenhuys
2010-09-30fpg_utils: new fpgDeleteFile() wrapper for the RTL DeleteFile() procedureGraeme Geldenhuys
2010-09-28msg queue thread safety. Added an additional safety measure.Graeme Geldenhuys
2010-09-25TfpgWidget: adds support for new event, OnDragStartDetectedGraeme Geldenhuys
2010-09-23GDI: make code compilable again after X11 DND implementation.Graeme Geldenhuys