Juha wrote
Don't waste your time with ESS-Model.
I never liked it much myself, I just thought I would mention the product to the original poster.
It uses a complex delegated interface system to pass events. It is not fully
supported by FPC.
That's one part of FPC that has frustrated me greatly. I used interface delegation extensively in my Delphi work, but when we switched to FPC, I had to rethink all my design work. FPC trunk finally has some interface delegation working, but I haven't played with it much. I avoid FPC trunk for our commercial development work. I have some large fpGUI changes that uses interface delegation, but can't commit those because fpGUI's policy is only to use stable FPC releases. A lovely chicken-n-egg situation. :)
All drawing objects are TWinControls. It uses some tricks to access protected
methods of those TWinControls.
Helper Classes or more interface usage should help there.
In fact it doesn't work with new Delphis either because of Delphi's changes in
interface delegation.
Have you got any link to this information. I would like to know more on what has changed. I've been out of the Delphi scene for a few year now.
Still, we would need a reverse engineering class diagram tool integrated in
Lazarus. It would use some advanced algorithm for automatic layouting.
My personal opinion is than an "integrated class diagram / UML tool" is largely over-hyped. I use Umlet to design my classes and other processes (it has a brilliant interface to work in), then simply implement them with any IDE or code editor. This process has worked very well for years. I see no real need to have a diagram tool integrated into my IDE. That will just distract me more from writing actual code - constantly having to switch to different areas in the IDE and figuring out the auto-generated code snippets. Plus the automatically generated code might not be how I would have done it manually, or in my coding style.
Now refactoring tools inside an IDE is another story - that is far more important to me, and fits well with the process of writing code.
For an example of a well thought out IDE, take a look at some of the features of IntelliJ IDEA! Yes it has UML class diagram support, but that is not required to output lots of working code in a very short time.
ModelMaker for Delphi is a bi-directional UML+code editor. It's a real pain having to switch tools back and forth while all you really want to do is write code. Plus, if you fiddle too much with the auto-generated code, you brake the link between Delphi and ModelMaker - yet another annoyance.
I guess this is all personal preference, and largely based on what you are used too, and how you work. Bottom line is, I see no problem with first designing your application & classes on screen / paper, then switch to "implementation mode of thinking" where you start writing the actual code.
Regards,
- Graeme -