Age | Commit message (Collapse) | Author |
|
|
|
This work equates to about 3 hours of coding. Not bad I think! ;-)
The general idea is to have to new classes. The MDIWorkArea class is the
parent widget form MDI child forms. We then also have a MDIChildWindow
class which implements the outer child window - thus the one with the
titlebar and blue borders.
The end use creates a form based on TfpgFrame, not TfpgWindow. This design
might change later. The users form is then embedded inside the MDIChildWindow,
and displayed inside the bounds of the MDIWorkArea.
|
|
|
|
|
|
It wasn't always desireable for DumpStack to output to the console, because
it doesn't always exist, and the user will normally not see it if app is
launched from a icon.
We can now output that info to a stringlist, and display it to the end-user
in whatever way we want.
|
|
|
|
selection
The text was right on the left edge of the focus selection rectangle. Now
it is evenly spaced with 2px margin on each side.
|
|
For now, please use Node.Count instead.
|
|
value.
|
|
example)
- Added StateImageList to TfpgTreeview
- Added StateImageIndex to TfpgTreeNode
- Added OnStateImageClicked event for TfpgTreeview.
- Reworked the TfpgTreeview.HandlePaint() method for the new functionality,
and also removed all the code duplication that existed before.
- The node selection rectangle now only cover the text portion of a node, and
note the images related to that node.
- Minor bugfix in the selection rectangle, when depending on various
properties, the selection rectangle was too small, and the node text
wasn't fully visible.
|
|
We can now use the fpGUI's Debug Server to monitor any debug events.
|
|
|
|
|
|
- We can new set an initial UserID too.
- Moved two TfpgEdit components to protected section.
|
|
|
|
|
|
|
|
|
|
|
|
This doesn't have any affect under Linux, but it might under Windows.
|
|
|
|
|
|
- also updated the translation include files. ready for translation.
|
|
|
|
|
|
We incorrectly set the consumed variable, and called inherited
unnecessarily. This is now improved.
|
|
Before the menu only used to process the Alt+<key> events for the
mainmenu bar (top level menus). Now we recursively run through all menu
items looking for a hotkey match.
|
|
This is done because DoKeyShortcut() clearly says what it does. It only
processes keyboard shortcut events.
|
|
|
|
|
|
processing order is now as follows;
- widget that keypress occured it trys to handle the event.
- then to keyboard shortcut processing for the widget's children
- then work back towards the top-level form giving chance for
keyboard navigation (tabstop) processing. eg: pressing Tab key
- then let the top level form to keyboard shortcut processing
eg: allowing MainMenu to process the event.
- then allow the top level for to process OnKeyPress if such an
event handler is implemented.
- then if the top level form is not the MainForm, and the current
top level form is not shown model, allow the application.mainform
to process the keyshortcut in it's main menu.
|
|
This is similar to HandleKeyPress() but takes into account the original
widget that started the process, so it doesn't process that widget or its
children twice.
|
|
In KeycodeToText(), 'Shift+' came before Ctrl or Alt. This is not normal
practice, so I moved it.
|
|
This is a UI Designer friendly component that allows you to embed frames
"Windows" inside other windows.
|
|
- Renamed the timer field variable from T_Chrono to FTimer.
- Renamed the OnTimer event handler from T_ChronoFini to HintTimerFired
- Disabled the timer *before* hinding the hint window. This prevents
those add AV's that occur when you close an application.
- No need to explicityl disable the timer in HintWindow destructor.
When you free a timer, it automatically gets disabled.
|
|
Now the internal blink timer only gets activating when a Canvas is assigned.
|
|
|
|
I was clearly smoking something that day! Anyway, the GDI timer is now
correctly implemented, and doesn't push up the CPU load any more. No matter
how long the timer runs for. The timer is much more accurate/consistent in
firing as well. :-)
|
|
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 consistent with other components in the RTL, FCL and even fpGUI
itself.
|
|
I have successfully tested fpGUI using OpenSolaris 2010.03 (x86) using
FPC 2.4.4.
|
|
It seems FPC only supports users.pp unit in Linux. Making this changes
allows use to compile fpGUI under OpenSolaris too!
|
|
We never used to check if we are allowed to set the FFocusCol, we just
assumed we are allowed. Now we try each column while calling CanSelectCell()
in each iteration so we select the first available column.
|
|
Old behaviour we simply forced Consumed = True and later Consumed = False.
This has a very good chance of overwriting the origin consume value. We now
only set consume to True, if it is really so.
|
|
Old behaviour was that we simply assumed the first parameter will be
the X11 -display parameter. This is just WRONG!
We now query the parameter list for the value of -display, that's if it
exists in the first place.
|
|
|
|
This is a placeholder for future use.
|
|
|
|
A slightly tweaked DrawButtonFace() is all that is really required.
|