Is it possible to integrate fpGUI components into a package (as additional components to whatever native widgetset is used)?
Mailing lists / lazarus / 2010-02
fpGUI package
6 messages · 4 people · –
- GGraeme Geldenhuys 2
- Ppatspiper 2
- FFelipe Monteiro de Carvalho 1
- MMattias Gaertner 1
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
patspiper wroteIs it possible to integrate fpGUI components into a package (as additional components to whatever native widgetset is used)?
I don't think so. You will probably have problems with Parent, Owner, message loop, resource management etc. I've been meaning to start work on LCL-fpGUI widgetset for Lazarus, but just don't seem to have the time. LCL-fpGUI is not a high priority for me at this stage.
Felipe and others have reported how easy it will be to create a LCL-fpGUI widgetset - compared to the effort of other widgetsets like LCL-GTK2, LCL-Qt etc. Maybe somebody else can get the ball rolling and I'll chip in where I can, or help with the fpGUI side of things. I think something like LCL-fpGUI widgetset for Lazarus will be a valuable addition for both projects.
Graeme Geldenhuys wroteI don't think so. You will probably have problems with Parent, Owner, message loop, resource management etc.
Can any of the lazarus devs shed some light here please? It would be ideal to have the best of both worlds.
I've been meaning to start work on LCL-fpGUI widgetset for Lazarus, but just don't seem to have the time. LCL-fpGUI is not a high priority for me at this stage.
Where is Graeme #99 when you need him? :)
Show quoted text 7 lines
I do not have a lot of time on my hands, but can nevertheless help provided I get a few tips (as in hints and not what waiters get).
What components does fpGUI boast until now?
You have done an excellent job with fpGUI. I hope it materializes someday as a full LCL widgetset.
Show quoted text 5 lines
Note: You will not get only the best of both world, but also the worst of both worlds. That's not ideal.
The LCL expects as Parent a TWinControl and as children TControl. You can write a TCustomControl to contain a non lcl control, but then you are on the widgetset level, so will probably need one implementation per widgetset.
I don't know the fpgui internals, so I can't say how difficult it is.
Show quoted text 19 lines
Mattias
Can any of the lazarus devs shed some light here please? It would be ideal to have the…
patspiper wroteCan any of the lazarus devs shed some light here please? It would be ideal to have the best of both worlds.
The idea of having a set of custom drawn components is very interresting, but we don't have contributors for it at the moment. I highly doubt that trying to integrate fpgui in this objective will make it any easier or have a good effect. You surely could copy some fpgui drawing code, but not much beyond that. No, you won't be able to use fpgui as is to do that.
Another solution is implementing LCL-fpgui like Graeme said.
I do not have a lot of time on my hands, but can nevertheless help provided I get a few tips (as in hints and not what waiters get).
For the custom drawn set of components:
http://wiki.lazarus.freepascal.org/Developing_with_Graphics#Create_a_custom_control_which_draws_itself
For a new widgetset: http://wiki.lazarus.freepascal.org/LCL_Internals
Can any of the lazarus devs shed some light here please? It would be ideal to have the…
patspiper wroteWhere is Graeme #99 when you need him? :)
I tried the "Dummies guide to cloning yourself", but got some strange side-effects. The cloning project has now been put on hold. ;-)
I do not have a lot of time on my hands, but can nevertheless help provided I get a few tips (as in hints and not what waiters get).
I'm more than willing to help out on the fpGUI side, it's the LCL internals that I know nothing about.
What components does fpGUI boast until now?
Here is a list of the top of my head (I might have missed a few more).
* Button (with image, flat look and group button support)
* Label
* Bevel
* Panel
* Group Box
* Radio Buttons
* Check Boxes
* Track Bar (aka Slider)
* Track Bar Extra (variation in look and function of standard track bar)
* Page Control (aka Tab Control)
* Page Sheet (aka Tab Sheet)
* List Box
* Color List Box
* Scrollbars
* Memo
* Forms (Windows). Normal, Modal and Popup.
* Dialogs
o ShowMessage()
o Font Selection dialog
o File Open...
o File Save As...
o Directory Select
o Color select
o About Dialog
o Message Dialog (info, question, error)
o Input/Prompt dialog
o New Directory dialog
o DB Login dialog
* Text Edit
* Currency Edit
* Integer Edit
* Float Edit
* Combo Box (aka Choice List)
* Edit ComboBox
* Grids (aka Tables)
o Base Grid
o Custom Grid
o Draw Grid
o String Grid
o File Grid
* Progress Bar
* List View (partially implemented)
* Main Menu bar and Popup Menus
* Treeview
* Calendar control
* Calendar Combo Box
* Gauge (pie, needle, horizontal, vertical, text and dial)
* Color ComboBox
* Splitter
* Color wheel
* Value bar (normally used with color wheel)
* Rich Textview
* TextEdit (something like SynEdit but still work-in-progress)
* Basic Theme/Style manager
* Animation control (something like animated gifs)
* HyperLink label
* MRU (most recently used files) Manager
* DBLabel (just as a demo that DB components can be created)
* Spin Edit
* Spin Edit Float
* Hint window
Damn, the list has grown... :)
So I think fpGUI covers most used components which should make a LCL-fpGUI widgetset pretty usable. fpGUI also tries to offer the complete "developer suite" which includes: components (listed above), UI Designer (forms designer), documentation/help reader (DocView) and Installation/Setup tool (fpgInstall).
You have done an excellent job with fpGUI. I hope it materializes someday as a full LCL widgetset.
I'm sure it will, as soon as my "paid work" doesn't keep me so busy.
