On 1/21/06, VisionForce <[EMAIL PROTECTED]> wrote: > So where would I need to start if I wanted to add this to Lazarus?
On Lazarus website, click on "Project Roadmap". There you will find the status of "Docking (= the combination of forms)". It is marked as "In Progress", so probably someone is already started working on this. Now you need to find who is working on Docking and ask him how you can help. Vincent probably knows who is working with docking (if someone is at all). To implement this feature, I would: * Search (google) how docking can be done using the Windows API on a standard Windows API program * Search (google) how docking can be done using Gtk on a standard Gtk program (if you want to add Linux support too) * Research how to use the Delphi docking interface and try to make methods compatible with it. I know at least that a few methods needs to be implemented on TControl: function ManualDock(NewDockSite: TWinControl; DropControl: TControl = nil; ControlSide: TAlign = alNone): Boolean; procedure Dock (NewDockSite: TWinControl; ARect: TRect); dynamic; function ManualFloat(ScreenPos: TRect): Boolean; Use ManualFloat to undock the control programmatically. ScreenPos is the rectangle in which the control is displayed when it starts floating function GetDockEdge(MousePos: TPoint): TAlign; dynamic; Use GetDockEdge to get the edge on which another control should be docked when it is dragged over the control. MousePos is the position of the mouse. GetDockEdge is called automatically during drag-and-dock operations involving the control. ------ There are probably many other things that need to be implemented =) -- Felipe Monteiro de Carvalho _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
