Sign in Join
Wiki copytemporary

DockedFormEditor: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: DockedFormEditor

OldNewLine
1+The DockedFormEditor is a package for the Lazarus IDE that docks a form next to source editor unit. This package is shipped with Lazarus version 2.1 upwards.
2+
3+## Why is it useful?
4+
5+If you don't like to search a form related to a unit, you can switch in the source editor pages. There you find the form docked as tab. Useful is a combination of packages **[[AnchorDockingDsgn]]** with **DockedFormEditor**, if you don't like the default "separate windows" look of the Lazarus IDE and prefer a single window.
6+
7+DockedFormEditor is the replacement and initially forked form Sparta_DockedFormEditor. If you used this package in the past, please switch to DockedFormEditor as all Sparta packages are now defined as deprecated and will be removed in a future version of Lazarus.
8+
9+## Installation
10+
11+- Uninstall any other docking managers (e.g., easydockmgrdsgn) and especially **Sparta_DockedFormEditor**!
12+- Install this package (and maybe **[[AnchorDockingDsgn]]**) per MainMenu -\> Package -\> Install/Uninstall Packages... -\> check the package **dockedformeditor**.
13+- Now recompile Lazarus IDE.
14+
15+## Layout
16+
17+After installation there are the design tabs docked next to source editor unit:
18+
19+<figure>
20+<img src="DockedLayout1.png" title="DockedLayout1.png" />
21+<figcaption>DockedLayout1.png</figcaption>
22+</figure>
23+
24+## Pages
25+
26+### Code
27+
28+In the tab Code is the source editor, where you can implement the logic of your app.
29+
30+<figure>
31+<img src="DockedCode.png" title="DockedCode.png" />
32+<figcaption>DockedCode.png</figcaption>
33+</figure>
34+
35+### Form
36+
37+In the tab Form is the default form designer. Without this package it is a separate window.
38+
39+<figure>
40+<img src="DockedForm.png" title="DockedForm.png" />
41+<figcaption>DockedForm.png</figcaption>
42+</figure>
43+
44+### Anchors
45+
46+In the tab Anchors is a optional anchor designer. It's follows the WYSIWYG concept and your form reacts at runtime the same as at designtime. It can be used simultaneously with default Anchor Editor:
47+
48+- You can snap a control border or point with the grips and anchor it to a next or parent control.
49+- Sizing or positioning without anchoring are possible with mouse.
50+- With \<Ctrl\> + mouse you can change the border around a control.
51+- Constraints of a control are noted.
52+- Per popup menu a control can simply fixed on paranet or this fixing can be removed.
53+- All properties affected per Anchor Designer are shown in hint of control.
54+
55+<figure>
56+<img src="DockedAnchors.png" title="DockedAnchors.png" />
57+<figcaption>DockedAnchors.png</figcaption>
58+</figure>
59+
60+## Options
61+
62+There are some options, found after package installation, under MainMenu -\> Tools -\> Options ... -\> Docked Form Editor. Next to some color definitions you find:
63+
64+- Tab position: defines the position of the tabs Code, Form, Anchors
65+- Force Refreshing At Sizing: if the resizing eats to much time, this option can be deactivated
66+- Capture Distance: this is the minimal distance in pixel to catch a control with mouse
67+- Automatically treat Align properties: the Anchor Designer can only work with Anchors, so Aligns are translated to Anchors when this option is activated
68+- Automatically treat BorderSpacing properties: allow Anchor designer to change all Borders (Around, Left, Top, Right, Bottom) to fit in
69+- Allow size changing: you can change the size of a control or you can really only set or remove Anchors and BorderSpacing
70+
71+## Limits
72+
73+- Tested on Windows7, 10, Linux Mint Cinnamon with GTK2, QT4, QT5.
74+
75+## Known Issues
76+
77+- When the designed form / frame is moved out of screen, there the form has no designer grid (dots).
78+- Qt5 shows own menu in form, this isn't shown in the anchor designer.
79+- Designer: mouse wheel to scroll content doesn't work - csDesigning is set and form doesn't get a LM_MOUSEWHEEL message.
80+- If main menu is visible, the height of the client area is wrong, see [Issue \#38701](https://bugs.freepascal.org/view.php?id=38701)
81+- Form size is limited to screen size
82+- AnchorDesigner: Child controls of some controls like TPageControl aren't visible
83+
84+## See also
85+
86+- [[Docking]] in general
87+- [[Anchor Docking]] in your application
88+
89+---
90+*From the Free Pascal wiki, page "DockedFormEditor", as it stood on 2023-04-09 after a change by Serbod, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
91+Category: Lazarus IDE plugins

Back to history