Lazarus
Miscellaneous => Suggestions => Topic started by: miguel-laz on March 15, 2013, 02:15:05 pm
-
I think it is better to work in a windowing environment coupled, to work in a windowing environment scattered.
Personally I tried to install "anchordocking" and I do not get, is the third attempt.
Greetings ...
-
You need to install AnchorDockingDsgn
But it is still beta. It does not dock the design forms, and there may be other issues.
It can not be made default, if it is not stable enough.
-
If you mean that anchordocking has bugs, yes this is true.
That's one of the reasons why it's not enabled by default.
-
On the contrary, i enjoy multi-window greatly. Can open notepad, explorer, youtube in between Lazarus. That's 1 of the primary issues i hate about Visual Studio, that it's locked into 1 window rectangle with poorly implemented docking.
-
Finally I managed, in a single window Lazarus!
I used the version (Lazarus 1.0.6 - 32-bit) on Windows 7 - 64bit.
I sincerely believe that this is the way to go.
Greetings ...
-
AFAIK, Anchordocking cannot create _single_window_ Lazarus, since it can't dock Form Designer...
-
AFAIK, Anchordocking cannot create _single_window_ Lazarus, since it can't dock Form Designer...
I'd rather put "yet" between "cannot" and "create" to signify a hope... ;)
-
I'd rather put "yet" between "cannot" and "create" to signify a hope... ;)
AFAIK, Anchordocking cannot yet create _single_window_ Lazarus, since it can't dock Form Designer...
;)
So far I'm quite satisfied with Anchordocking, but inability to dock the Designer prevents me from docking everything else in one window - it is obviously necessary to be able to click the Palette and the Object Inspector with Designer also on the screen...
-
kzdesktop is so promising but it still have an annoying bug in linux
http://sourceforge.net/projects/kzdesktop/
the bug video
http://www.youtube.com/watch?v=KQSWyd_t8hU
-
KzDesktop is quite perfect, but not 100%.
It has a focus issue.
For example, when I am running maximized Firefox (or other app) and then click the taskbar button for getting back to Lazarus, it takes three clicks. That's the major reason why I do not use it for everyday.
The form designer only has a corner resize option. It cannot be resized from bottom or right. Having arrows is not a practical. A scrollbar should be implemented.
I do not hate it. But I cannot love it either because of these issues. I would say that it should be added as default, after making it stable. (An option to turn it off should be kept.)
-
The first things I do after a fresh install of Lazarus:
1.) add "AnchorDockingDsgn05"
2.) set colors to "Delphi".
3.) "Show single Button on Taskbar". (when on linux)
-
So how about merging KzDesktop with AnchorDocking? You know, hacking in form designer docking from Kz into Anchor (unless it will cause bug mentioned by a.atalla).
//edit: Anyway, I think we should be able to dock/undock Form designer at will, when for some reason we want our form to show at specific coordinates (Position:poDesigned).
-
well, can't the form designer be embeded in a tab at the bottom of the editor? Then it would not matter what docking package was used, and you would still be able to have the IDE in a undocked layout as well.
The floating form designer is a pain in the rear on a single monitor system and f12 does not seem to work properly, you have to hit it several times to get the form to pop to the top.
I like how KZdesktop has the designer embedded, but I am not keen on how it does the other panels etc.
-
I want to take this post to suggest a change in the theme of "anchordocking" which to me makes it more useful and elegant.
Paint headers "TAnchorDockHeader" with a solid color and highlighted in the "TAnchorDockHostSite" to have focus.
To do this I modified the following code:
Add a public field to the class "TAnchorDockHeader":
public
HeaderColor:TColor;
initialize the field to default value:
constructor TAnchorDockHeader.Create(TheOwner: TComponent);
begin
inherited Create(TheOwner);
HeaderColor:=TColor($00F4EBE3);
"
"
Add two overriding methods DoExit and DoEnter to the class "TAnchorDockHostSite":
procedure TAnchorDockHostSite.DoEnter;
begin
inherited DoEnter;
FHeader.HeaderColor:=TColor($00F3CCA8);
FHeader.Invalidate;
end;
procedure TAnchorDockHostSite.DoExit;
begin
inherited DoExit;
FHeader.HeaderColor:=TColor($00F4EBE3);
FHeader.Invalidate;
end;
and modify the method "Paint" of class "TAnchorDockHeader":
procedure TAnchorDockHeader.Paint;
var
r: TRect;
TxtH: longint;
TxtW: longint;
dx,dy: Integer;
begin
r:=ClientRect;
Canvas.Frame3d(r,1,bvRaised);
Canvas.Brush.Color:=HeaderColor;
Canvas.Brush.Style:=bsSolid;
Canvas.FillRect(r);
if CloseButton.IsControlVisible and (CloseButton.Parent=Self) then begin
if Align in [alLeft,alRight] then
r.Top:=CloseButton.Top+CloseButton.Height+1
else
r.Right:=CloseButton.Left-1;
end;
// caption
if Caption<>'' then begin
TxtH:=Canvas.TextHeight('ABCMgq');
TxtW:=Canvas.TextWidth(Caption);
if Align in [alLeft,alRight] then begin
// vertical
dx:=Max(0,(r.Right-r.Left-TxtH) div 2);
dy:=Max(0,(r.Bottom-r.Top-TxtW) div 2);
Canvas.Font.Orientation:=900;
Canvas.TextOut(r.Left+dx,r.Bottom-dy,Caption);
end else begin
// horizontal
dx:=Max(0,(r.Right-r.Left-TxtW) div 2);
dy:=Max(0,(r.Bottom-r.Top-TxtH) div 2);
Canvas.Font.Orientation:=0;
Canvas.TextOut(r.Left+dx,r.Top+dy,Caption);
end;
end
end;
and this is the result, as shown in the images:
-
@miguel, if you want those changes to go into Lazarus code, please submit a bug report with a patch containing the changes...
-
@miguel, if you want those changes to go into Lazarus code, please submit a bug report with a patch containing the changes...
Done!
-
Thanks for contributing ;)
-
See also:
http://bugs.freepascal.org/view.php?id=22900
http://bugs.freepascal.org/view.php?id=17026
-
I have used kzDesktop but never used anchordocking. From the screenshots I think anchor docking's window titles are distracting to the interface. kzDesktop on the other hand is much better looking.