I have converted a Delphi TStateMachine to Lazarus from this link:
http://melander.dk/delphi/statemachine, both visual components and demo. Although it works well in runtime (tested only in Windows), in design mode I have a connector lines updating problem. When I move or do something with any of the controls I see connector lines painted for a short eye blink moment, but they are erased immediately after that. Single click on a component helps temporary but just until clicked somewhere else.
Please, please someone more experienced take a look and help with this design mode repainting problem (this is my first conversion of someone else's Delphi component). I am looking at it for quite some time and I am getting lost here. I have tried to change various things in mouse and paint methods, but without success so I am stuck here.
For more info about the component just take a look at the attached automated pizza ordering machine demo and try to make an order via simulated phone. Benefit is that all states are visual in both design mode and runtime, and you can visually set or change their relations and transitions. Once you write code for a state/event it is completed, and if you enter new things or change transitions you just change visual presentation or properties and the old code can stay. If you code all this by hand you can quickly make a maintenance mess and loose compass as complexity raises. With these components you can also visualize transitions for yourself very nicely (single image is a thousand words, and you know current state with a single quick look), or you can single step through states for debugging purposes. Visual flow chart presentation is also clear even to most non-programmers, so can be nicely used sometimes if needed for state presentation to your users.
Btw. I know it's a bad idea to have both component and demo in the same dir but that was a quick tmp fix for IDE not having unit in the path, and I don't think it's the cause of the problem.
WinXP, CT 2.70, Laz 1.1 svn 20120719, FPC 2.7.1 svn 37429