Hi all,
First pointing out that I know absolutely nothing about the IDE code, how feasible or complex would you guesstimate it would be for someone to expose the the lazarus form designer as a LCL component?

Mailing lists / lazarus / 2010-02
9 messages · 5 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi all,
First pointing out that I know absolutely nothing about the IDE code, how feasible or complex would you guesstimate it would be for someone to expose the the lazarus form designer as a LCL component?
Zitat von Lee Jenkins :
What do you mean with 'designer'?
The base of the designer is just a hook delegating mouse/paint/keyboard/size events to the various IDE parts. The designer alone can only paint the grids.
Mattias
The basic functionality of drawing controls/widgets on the designer surface with grab handles, resizing, etc.
There is a commercial component for Delphi that I've used for some time that has this functionality, but I am researching the feasibility of doing my project in Lazarus which needs to be a mini-ide in itself.
http://www.greatis.com/delphicb/formdes/
That is the functionality I was looking for.
Zitat von Lee Jenkins : What do you mean with 'designer'? The base of the designer is…
The IDE could provide an interface for the designer, that can be replaced in a stand-alone version.
DoDi
The basic functionality of drawing controls/widgets on the designer surface with grab…
Zitat von Lee Jenkins :
The controls draw themselves.
The grab handles are drawn by the control selection on a DesignerDC. The resizing is also mostly handled by the control selection. The control selection requires some parts of the IDEIntf, so it can not be moved to the LCL. And it is not abstract enough for the IDEIntf. I guess this would require quite some refactoring. Of course you are free to copy whatever you need, it's open source.
Mattias
The IDE could provide an interface for the designer, that can be replaced in a…
Zitat von Hans-Peter Diettrich :
The term 'designer' has various meanings.
The TIDesigner is an abstract class (an old school interface). There are various interfaces in the IDEIntf to access/modify the IDE designer. The wiki uses the term 'designer' sometimes as whole for everything related to forms at designtime in the IDE.
Please explain what you mean with 'designer' and 'interface'.
Mattias
The basic functionality of drawing controls/widgets on the designer surface with grab…
Lee Jenkins wroteThe basic functionality of drawing controls/widgets on the designer surface with grab handles, resizing, etc.
As Mattias said, drawing etc is mostly handled by the components themselves. In fpGUI's UI Designer I do pretty much the same. I have a "designer form" which is actually just a plain form. When I drop a widget on that form, I first creates a 'resize handles' component which paints the 6 resize rectangles. That 'resize handles' component has an embedded widget (the one you dropped on the designer form).
You are welcome to look at UI Designer in fpGUI as well.
Regards,
- Graeme -
Zitat von Hans-Peter Diettrich : The term 'designer' has various meanings. The TIDesigner…
I meant the opposite direction, how the designer accesses other parts of the IDE.
DoDi
The designer is connected to half the IDE.
The IDEintf contains only stable functions/classes. Putting an abstract interface for every thing in the IDE is unmaintainable. For example the recent frame support would not be possible.
But I guess he does not want the whole designer, but only the control selection (about 3000 lines of code). This might be doable.
Mattias