Age | Commit message (Collapse) | Author |
|
This reverts commit ccfd4b2ae0a9dfae0d19ae7ba673118af70c75da.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
With the FPC 2.7.1 having some form of Unicode support, and the String typing being
redefined... defining TfpgString as AnsiString, we know fpGUI will continue running
as normal.
|
|
Instead of just going with the assumption that the docview executable exists,
check for it first, before we go any further. Calling TProcess.Execute with
a non-existing executable gives an unwanted error in our applications.
|
|
The thinking behind this is so that we can trap fpGUI specific exceptions
in our applications if we wanted to. Thus handling them slightly different
to other exceptions.
|
|
image.
|
|
Both RGBTripleTofpgColor() and FPColorTofpgColor() incorrectly
bit shifted the Alpha channel value.
|
|
|
|
|
|
|
|
|
|
* 8 bit color channels are the norm in all gui toolkits.
* Deprecated the usage of TFPColor. TFPColor comes from the FPC
fpcanvas unit, which I do not plan to use any more.
|
|
|
|
This is so AggPas's canvas doesn't conflict, which also has a LineWidth
method. I want to prevent similar name confusion.
|
|
|
|
|
|
This now makes it easier to reuse this border style declaration in other
widgets. We need to refactor some other widgets too, that have there own
border styles as well.
|
|
|
|
value.
|
|
|
|
In KeycodeToText(), 'Shift+' came before Ctrl or Alt. This is not normal
practice, so I moved it.
|
|
|
|
Refactored the TfpgTimer by introducing a TfpgBaseTimer and X11 & GDI Timer
descendants. This now allows use to add platform specific extensions to
the timer implementation.
|
|
|
|
This is a placeholder for future use.
|
|
This is an initial implementation for Linux only. Currently this property
is read-only, but that alone is already very useful. Next I'll implement
the Windows support, and later the read-write support.
|
|
* Linux now defaults to 'Liberation Sans' which comes standard
with most Linux distros, and is metric compatible with Arial.
The latter is freely available, but doesn't come standard
with any Linux disto.
* Windows default font size is now 8 (down from previous 10),
which is now the same as the remainder of Windows apps.
Strange that the same font as size (eg: Arial-10) is different
sizes in pixels under Linux and Windows. Weird! :-/
|
|
We used FHeight instead of FLeft!! Dope!
|
|
Updated the following methods by rather checking the ComponentState,
than the HasHandle result. Why? Because we want alignment and anchor
calculations to work, even before we have a window handle. Something
that happens often when using a Frame-type design for the UI.
* HandleMove()
* HandleResize()
* UpdateWindowPosition()
Due to removing the HasHandle check in UpdateWindowPosition, we had
to do the HasHandle check in each backend code instead. We don't want
to trigger API calls when we don't have a window handle yet.
|
|
* All fpGUI backends must override it as supply an implementation.
* Moved DowaitWindowMessage() implementations to the protected
section in the GDI and X11 backends.
|
|
Also made MessagesPending() a virtual abstract method in fpg_base.pas
which every fpGUI backend must supply an implementation.
|
|
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).
|
|
* also introduced virtual DoDragStartDetected which executes
the OnDragStartDetected event
* We also added a override of DoDragStartDetected in GDI for
some extra tasks.
|
|
* Also changed FormatCount to Count (more like standard list interface)
* Also introduced a Items property (more like standard list interface)
* The above to changes also made other implementations more
simplified, so I did a bit of refactoring.
|
|
* This abstract method is called from TfpgWidget's AcceptDrops setter function
* Template implementation in X11
* Actual implementation in GDI
|
|
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
|
|
|
|
|
|
HasFormats() function
|
|
* X11 DND now changes the mouse cursor depending if a drop target is
available or not
|
|
|
|
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.
|
|
|
|
what they mean.
|
|
|