Age | Commit message (Collapse) | Author |
|
|
|
Code cleanup was done. After all, FPC 2.4.0 and 2.4.2 has been out for ages.
|
|
Before the OnChange was not fired, but now it is. The only exception is while
the widget is in the UI Designer form.
|
|
Field variable prefixes must be a capital F.
|
|
Some published properties did not have their default values set either.
|
|
|
|
This applies to Top, Left, Width and Height properties. This will then
correctly setup the internal component state for resizing.
|
|
|
|
|
|
|
|
|
|
|
|
Somehow I forgot to rename this type when we introduced the 'fpg' prefix years ago.
|
|
Somehow I forgot to rename that type name when we moved over to the 'fpg' prefix.
|
|
The fpgStyle global variable is now simply a reference to the current style
in the fpgStyleManager. The Style Manager does the free'ing of the style
too, so we simply need to tell the style manager when we want that done.
|
|
This is a bit of a cross-linking case, jumping from corelib code to gui code,
but I can't see how this can be done any other way. After all, fpGUI is a
GUI toolkit - not a non-gui utility library.
For some strange reason the 'Win2000' and 'auto' did not register automatically,
even though they are in the *.lpk package and in the initialization section.
So I had to add that style unit to the uses clause. I need to investigate
why this had to be done.
|
|
This is basically just some code formatting changes, making it easier for
a developer to see what style methods related to what widgets - that's if
the method names was not obvious enough. ;-)
|
|
|
|
This is a common style implementation - basically just paints the background
a specific color. Nothing fancy.
|
|
These will later contain the various style implementations.
|
|
This unit contains a Style Manager that will be used to register any new
styles with. It also creates a default style instance. It also allows users
to change the default style any other style, or custom developed style.
|
|
This unit will later contain the TfpgCommonStyle (currently known
as TfpgStyle) code.
|
|
This gives use the fpg_style unit in the 'gui' directory to implement
styles we can actually use at this time with the existing theming code.
|
|
This fpg_style prototype unit should really be removed. I don't like the
code at all, and it isn't actually used in any of the GUI widgets yet.
|
|
|
|
Seeing that we already use a few methods directly from fpgStyle, lets change
all the others to be consistent.
|
|
Custom styles can now define there own button shift values and the TfpgButton
will adhere to them.
|
|
|
|
|
|
This allows a style to define by how much the button image and text must
shift (if at all) when the button is pressed. Possitive numbers moves right
and down. Negative numbers move up and left. Zero values means the icon and
text doesn't move [like under Mac OS X].
|
|
I know in FPC mode objfpc it is not strictly needed, but lets keep to the
Object Pascal language standards for now.
|
|
|
|
|
|
|
|
|
|
If the ActiveWidget was freed, the parent never got notified. If focus was
then changed, the parent tried to call ActiveWidget.HandleFocusKill, causing
an access violation.
The toolkit now correctly sets ActiveWidget to nil if it was freed, and as
a extra failsafe, wraps the HandleFocusKill call in a try..except block.
|
|
|
|
The code change in the original commit worked fine for Windows, but caused
other problems under Linux. So I have commented the original code change
for Linux until I can find a more suitable solution.
|
|
|
|
|
|
|
|
Now it takes into account the height of the component and calculates the
text position accordingly.
|
|
When painting the combobox did not take into account that the margin applies
to both the left and right side of the combobox.
|
|
a project uses clause.
|
|
The Margin is how many pixels from the internal background the text
must appear. Later we will replace this with SideMargin and HeightMargin
properties.
|
|
We now use Canvas.DrawString() to auto calculate the text position
based on the text flags passed in. This is now the same as TfpgEdit does.
|
|
Now the Height will only change if AutoSize is actually enabled.
|
|
* 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! :-/
|
|
|
|
|