Age | Commit message (Collapse) | Author |
|
Not calling Parent.Realign ment we (self widget) is not being
resized (excluded from the re-align calculation), and thus the
self widget status at its current location and dimentions - until
the end-user actually resizes the top-level form.
This has now been fixed.
NOTE:
If you create extra widgets (eg: frames) outside the control of
the UI Designer, but still created before resource handles are
created, and you use Align property in those widgets, you need to
rather create those in Form.OnShow().
Align changes are not always acted apon before they have a window
handle, so it's best to do it in Form.OnShow for example. I'm still
figuring out how best to handle this.
|
|
|
|
It's disabled by default. Enabling can be done via project level
or inside each unit at the beginning of such units.
|
|
* TfpgButton now ignores double clicks by default
|
|
This is so they can be tested. Once DND stabilizes, I'll make the
properties available on the other components too.
|
|
* also introduced virtual DoDragStartDetected which executes
the OnDragStartDetected event
* We also added a override of DoDragStartDetected in GDI for
some extra tasks.
|
|
* This abstract method is called from TfpgWidget's AcceptDrops setter function
* Template implementation in X11
* Actual implementation in GDI
|
|
* 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)
|
|
This allows you to add/delete many lines and the memo only
repaints once.
|
|
|
|
* 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.
|
|
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.
|
|
|
|
|
|
For now we hard-code the data type as TfpgString. Later this will change.
|
|
|
|
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.
|
|
|
|
This will enable/disable drop support per widget.
|
|
* 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.
|
|
Now these functions are accessible to platform specific code too.
|
|
If widgets are not visible, they are not added to list of widgets
that need to be re-aligned.
|
|
|
|
|
|
|
|
This event will get fired just before a hint is displayed. You can use this
this event to adjust the Hint text to make it more dynamic.
|
|
Initializing the cMsgDlgBtnText when it was declared is too early
and the translated strings have not yet been loaded. We we update
the array a bit later to make sure it is correct.
|
|
|
|
We used to force all components to Visible = False, and iterated this to
child components. Now all components default to Visible = True (just like
the global default), and hiding child components, you only need to hide
the parent (visible = False) - no iteration needed.
|
|
At startup, components should be correctly handled according to their
.Visible property.
|
|
|
|
shown.
* I don't like the implementation dependency on fpg_menu though. I'll
try and see if there is some better way of doing this.
|
|
* Implemented InvokeHelp in TfpgWidget
* implemented InvokeHelp and OnHelp event in TfpgForm
* Implemented HelpConext, HelpKeyword and HelpType in TfpgComponent
|
|
Signed-off-by: Graeme Geldenhuys <graeme@mastermaths.co.za>
|
|
* Also replaced various FFormDesigner checks with InDesigner method.
Signed-off-by: Graeme Geldenhuys <graeme@mastermaths.co.za>
|
|
It's just a handy function instead of FormDesigner <> nil etc...
Signed-off-by: Graeme Geldenhuys <graeme@mastermaths.co.za>
|
|
|
|
in the Form Designer. It's not perfect, but workable. ;-)
|
|
|
|
* UI Designer has been updated to reflect the new gui unit names.
|
|
* Updated the UI Designer to use the new unit names.
|