IDE Docking Status lazarus / 10-Designer ---------------------------------------------------------------------- lazyfiend · 2015-12-09 10:51 Is there a good bug-fee/minimal way to have something like docked form editor in newest version of lazarus? I am using a 2015-5-19/svn rev.49057M build from fpcup (is there a good way to get version number from this?) in Ubuntu 64-bit. I have installed there a patched up KZDesktop, and i do not have enough time to fix KZDesktop again if necessary... I heard sparta, but does this work in linux, and with anchordockingdesign? Thanks. ---------------------------------------------------------------------- JuhaManninen · 2015-12-09 11:02 Quote from: lazyfiend on December 09, 2015, 11:51:36 amIs there a good bug-fee/minimal way to have something like docked form editor in newest version of lazarus? Yes.  http://wiki.lazarus.freepascal.org/Lazarus_1.6.0_release_notes#Docked _Form_Editor ---------------------------------------------------------------------- balazsszekely · 2015-12-09 11:08 Quote@lazyfiend I heard sparta, but does this work in linux, and with anchordockingdesign? Yes it works! ---------------------------------------------------------------------- lazyfiend · 2015-12-10 11:54 Quote from: GetMem on December 09, 2015, 12:08:51 pmQuote@lazyfiend I heard sparta, but does this work in linux, and with anchordockingdesign? Yes it works! Cool. Seeing the image, is it possible to show the source without any of the form design views (Components, Object Inspector etc.)? ---------------------------------------------------------------------- Leledumbo · 2015-12-10 12:39 Quote from: lazyfiend on December 10, 2015, 12:54:59 pmCool. Seeing the image, is it possible to show the source without any of the form design views (Components, Object Inspector etc.)? Just close them. ---------------------------------------------------------------------- balazsszekely · 2015-12-10 12:57 @lazyfiend You want to hide design views (Components, Object Inspector etc.) when you switch from "Design" mode to "Source" mode, or something else? Please be more specific! ---------------------------------------------------------------------- lazyfiend · 2015-12-14 10:58 Quote from: GetMem on December 10, 2015, 01:57:34 pm@lazyfiend You want to hide design views (Components, Object Inspector etc.) when you switch from "Design" mode to "Source" mode, or something else? Please be more specific! Yes, something like that. ---------------------------------------------------------------------- balazsszekely · 2015-12-14 11:10 QuoteYes, something like that.That's not implemented yet. If you really want this feature, please add a request to the bugtracker: http://bugs.freepascal.org/main_page.php ---------------------------------------------------------------------- lazyfiend · 2015-12-16 09:57 Quote from: GetMem on December 14, 2015, 12:10:13 pmQuoteYes, something like that.That's not implemented yet. If you really want this feature, please add a request to the bugtracker: http://bugs.freepascal.org/main_page.php I see. I'll file one once i know what to say what i want. My patch of kzdesktop ends up with 2 windows: one the main with editor along with code inspector, project view, messages etc. and the other one with the form designer, object inspector etc. I came from eclipse and i styled it like perspectives... I think something like the form designer acting out like one of the "windows" like object inspector, editor etc. would be nice, so that it would be compatible with other docking solutions. Is this idea good? or maybe sparta is already like this? ---------------------------------------------------------------------- balazsszekely · 2015-12-16 10:25 @lazyfiend Take a look at this: https://www.youtube.com/watch?v=6FOjWCLDScQ&feature=youtu.be ---------------------------------------------------------------------- lazyfiend · 2016-01-01 10:47 @GetMem That was solid. That is commercial though right? Sparta is cool but the right click is broken in Linux, so i ended up updating my patch of KZDesktop to be a anchor docking compatible window. Bug filed at: http://bugs.freepascal.org/view.php?id=29301 Is anyone also experiencing the right click issue in Linux? Just a right click anywhere in the designer causes an exception (it could only be on mine..?). I might file a report for that. ---------------------------------------------------------------------- Leledumbo · 2016-01-01 17:50 Quote from: lazyfiend on January 01, 2016, 11:47:37 amIs anyone also experiencing the right click issue in Linux? Just a right click anywhere in the designer causes an exception (it could only be on mine..?). I might file a report for that. Nope, works fine here. ---------------------------------------------------------------------- balazsszekely · 2016-01-01 17:56 QuoteThat was solid. That is commercial though right? Sparta is cool but the right click is broken in Linux, so i ended up updating my patch of KZDesktop to be a anchor docking compatible windowNo, not anymore. QuoteIs anyone also experiencing the right click issue in Linux? Just a right click anywhere in the designer causes an exception (it could only be on mine..?). I might file a report for that.Same as @Leledumbo. Everything works fine, no exception. ---------------------------------------------------------------------- lazyfiend · 2016-01-02 08:46 I tried again, and it works. And i wasted some time. I might have just used this instead, it passes for me. Stuff i did yesterday is at https://github.com/lazyfiend/minkzdesktop if anyone is interested. ---------------------------------------------------------------------- balazsszekely · 2016-01-02 09:14 Quote@lazyfiend Stuff i did yesterday is at https://github.com/lazyfiend/minkzdesktop if anyone is interested.Out of curiosity, I did run a few test in one of my VM(XP/Laz 1.6/FPC 3.0.0). It works but it's buggy(see attachment). Maciej(@hnb) put a lot of effort creating sparta, then porting it back to Lazarus. Currently is stable and it works well under Win32/64, GTK, QT, Carbon. There are some minor issues(see the bug tracker), but in my opinion is the best docking solution available for Lazarus + it has a great potential to grow. ---------------------------------------------------------------------- JuhaManninen · 2016-01-02 12:43 Quote from: Leledumbo on January 01, 2016, 06:50:11 pmQuote from: lazyfiend on January 01, 2016, 11:47:37 amIs anyone also experiencing the right click issue in Linux? Just a right click anywhere in the designer causes an exception (it could only be on mine..?). I might file a report for that. Nope, works fine here. I don't get exceptions but I can reproduce these issues with GTK2 on Xubuntu 15.10 :  http://bugs.freepascal.org/view.php?id=29044  http://bugs.freepascal.org/view.php?id=29295 Does it really work for others? ---------------------------------------------------------------------- balazsszekely · 2016-01-02 12:54 Quote@Juha I don't get exceptions but I can reproduce these issues with GTK2 on Xubuntu 15.10 :Yes, those issues are present, but @lazyfiend was talking about an exception, which neither of us can reproduce. ---------------------------------------------------------------------- JuhaManninen · 2016-01-02 14:22 Quote from: GetMem on January 02, 2016, 01:54:26 pmYes, those issues are present, but @lazyfiend was talking about an exception, which neither of us can reproduce. Oops, I get an exception when lazarus.lpi project and IDEOptionsDlg unit are open. It clearly depends on the form layout somehow. lazyfiend, would you like to report it with clear steps to reproduce and a debugger backtrace? Others please test with all debug flags enabled, including "-gt". My backtrace hints that non-existent object is freed. Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i Program received signal SIGSEGV, Segmentation fault.0x0000000000430ddd in SYSTEM$_$TOBJECT_$__$$_FREE ()(gdb) bt#0  0x0000000000430ddd in SYSTEM$_$TOBJECT_$__$$_FREE ()#1  0x00007fffffffca50 in ?? ()#2  0x0000000000a709ce in DOCREATEJITCOMPONENT (this=0x7fffedbe72c0, NEWCOMPONENTNAME=..., NEWCLASSNAME=..., NEWUNITNAME=..., ANCESTORCLASS=0x171d5f8, VISIBLE=true,     DISABLEAUTOSIZE=true) at ../designer/jitforms.pp:1088#3  0x0000000000a6f81e in ADDJITCOMPONENTFROMSTREAM (this=0x7fffedbe72c0, BINSTREAM=0x7fffe7ed2540, UNITRESOURCEFILEFORMAT=0x1980778, ANCESTORCLASS=0x171d5f8,     NEWUNITNAME=..., INTERACTIVE=true, VISIBLE=true, DISABLEAUTOSIZE=true, CONTEXTOBJ=0x7fffe7b9a250) at ../designer/jitforms.pp:929#4  0x0000000000a9e67b in CREATERAWCOMPONENTFROMSTREAM (this=0x7fffedda9ca0, BINSTREAM=0x7fffe7ed2540, UNITRESOURCEFILEFORMAT=0x1980778, ANCESTORTYPE=0x171d5f8,     NEWUNITNAME=..., INTERACTIVE=true, VISIBLE=true, DISABLEAUTOSIZE=true, CONTEXTOBJ=0x7fffe7b9a250) at customformeditor.pp:1496#5  0x0000000000d70420 in LOADLFM (this=0x7fffe7f01bc0, ANUNITINFO=0x7fffe7b9a250, LFMBUF=0x7fffe7d91be0, OPENFLAGS=..., CLOSEFLAGS=...) at sourcefilemanager.pas:5965#6  0x0000000000d6f3df in LOADLFM (this=0x7fffe7f01bc0, ANUNITINFO=0x7fffe7b9a250, OPENFLAGS=..., CLOSEFLAGS=...) at sourcefilemanager.pas:5766#7  0x0000000000d5475d in OPENRESOURCE (this=0x7fffee5888c0) at sourcefilemanager.pas:866#8  0x0000000000d56d65 in OPENEDITORFILE (this=0x7fffee5888c0, APAGEINDEX=-1, AWINDOWINDEX=0, AEDITORINFO=0x7fffe7a62f00, AFLAGS=...) at sourcefilemanager.pas:1355#9  0x0000000000d52b46 in OPENEDITORFILE (AFILENAME=0x7fffe7a630d8 "/home/juha/SW/lazarus_gitsvn/ide/ideoptionsdlg.pas", PAGEINDEX=-1, WINDOWINDEX=0,     AEDITORINFO=0x7fffe7a62f00, FLAGS=..., USEWINDOWID=true) at sourcefilemanager.pas:395#10 0x0000000000d62b13 in INITOPENEDPROJECTFILE (this=0x7fffe7f01bc0, AFILENAME=0x7fffe7ca61d8 "/home/juha/SW/lazarus_gitsvn/ide/lazarus.lpi", FLAGS=...)    at sourcefilemanager.pas:3645#11 0x00000000004c15a4 in DOOPENPROJECTFILE (this=0x7fffefb92090, AFILENAME=0x7fffe7ca61d8 "/home/juha/SW/lazarus_gitsvn/ide/lazarus.lpi", FLAGS=...) at main.pp:6202#12 0x00000000004a9954 in SETUPSTARTPROJECT (this=0x7fffefb92090) at main.pp:2270#13 0x00000000004a5aaf in STARTIDE (this=0x7fffefb92090) at main.pp:1584#14 0x000000000041ea2f in main () at lazarus.pp:133 ---------------------------------------------------------------------- balazsszekely · 2016-01-02 14:53 QuoteOops, I get an exception when lazarus.lpi project and IDEOptionsDlg unit are open. It clearly depends on the form layout somehow.Yes, I can confirm this issue. It's present even under windows. ---------------------------------------------------------------------- lazyfiend · 2016-01-04 01:32 @GetMem That happens after setting up docking and can be solved after restarting lazarus (for me). I do agree that a plugin where the author spends more time and effort is better. The right click issue does not happen for me right now. I am still using the patch i created though, since it fits my style more. I am going to wait till Sparta grows. In my opinion though, it is more important for the docking solution to grow. I like it if the plugins help each other. Is Anchor Docking (or the other one, i think easy docking?) development for the IDE active? ---------------------------------------------------------------------- balazsszekely · 2016-01-04 05:22 @lazyfiend QuoteI do agree that a plugin where the author spends more time and effort is better. To create a docking system that works on every platform it's a non- trivial task, that's for sure. QuoteThe right click issue does not happen for me right now. I am still using the patch i created though, since it fits my style more. Ok. Maybe you can share with us what exactly did you change in that patch. QuoteIn my opinion though, it is more important for the docking solution to grow. I like it if the plugins help each other. Is Anchor Docking (or the other one, i think easy docking?) development for the IDE active?AFAIK sparta is the only docking solution actively developed. Please take a look at: http://bugs.freepascal.org/view_all_bug_page.php . There is a lot of activity around sparta lately. ---------------------------------------------------------------------- JuhaManninen · 2016-01-04 11:08 Quote from: GetMem on January 04, 2016, 06:22:19 amQuoteIn my opinion though, it is more important for the docking solution to grow. I like it if the plugins help each other. Is Anchor Docking (or the other one, i think easy docking?) development for the IDE active? AFAIK sparta is the only docking solution actively developed. Please take a look at: http://bugs.freepascal.org/view_all_bug_page.php . There is a lot of activity around sparta lately. I think you mean Sparta is the only solution for dockable form designer. AnchorDocking is is also a docking solution but is meant for the whole IDE. It is actively developed, 1.6 release will have many improvements for it, too. @lazyfiend, why do you want to create your competing solution instead of fixing bugs in the existing one? This is a common phenomena in open source. Everybody wants to reinvent the wheel. In the end we have many half-baked solutions instead of one good. ---------------------------------------------------------------------- balazsszekely · 2016-01-04 12:12 Quote@JuhaManninen I think you mean Sparta is the only solution for dockable form designer. AnchorDocking is is also a docking solution but is meant for the whole IDE. It is actively developed, 1.6 release will have many improvements for it, too.Yes, you're right! I was talking about Sparta dockable form designer, but the same is true for AnchorDocking. I think we should focus on this two solution, since they are in a more advanced state of development. Creating a new competing solution or even continue an old obsolete one,  it make no sense at all. ---------------------------------------------------------------------- hnb · 2016-01-05 15:27 @GetMem, @Juha could you retest with current trunk/sparta branch? I think I fixed this in r51204 (sparta branch) r51206 (trunk) ---------------------------------------------------------------------- JuhaManninen · 2016-01-05 16:27 Quote from: hnb on January 05, 2016, 04:27:10 pm@GetMem, @Juha could you retest with current trunk/sparta branch? I think I fixed this in r51204 (sparta branch) r51206 (trunk) Tested with trunk and it works. Thanks! ---------------------------------------------------------------------- balazsszekely · 2016-01-05 17:22 @hnb Yes I can confirm that works! PS: I just saw that you tweaked my flickering patch further, which is great. Now the form resize is even smoother under windows. The sparta docking system is getting better and better each day. Thank you Maciej! ---------------------------------------------------------------------- hnb · 2016-01-07 08:37 Quote from: GetMem on January 05, 2016, 06:22:01 pmPS: I just saw that you tweaked my flickering patch further, which is great. Now the form resize is even smoother under windows. The sparta docking system is getting better and better each day. Thank you Maciej! Thanks for the patch! ... but AFAIK that one patch was merged by Ondrej ^^. ---------------------------------------------------------------------- balazsszekely · 2016-01-07 09:10 Quotebut AFAIK that one patch was merged by Ondrej ^^Yes, you're right. I mixed up with something else. ---------------------------------------------------------------------- lazyfiend · 2016-01-12 01:33 @GetMem the patch is for my patched KZDesktop (that i have been keeping for years, i just did not share it back then since it needs something changed in anchordocking to make it work), not sparta. If i make changes to sparta though, i will definitely share it. @JuhaManninen Definitely not interested in creating a competing one. If i have time, i would edit Sparta and add what i want in it. The thing here is this: I have not been checking out any developments in any docking solutions (and also anything about lazarus too) for a long time (that is why i asked), and i only have my patched KZDesktop with me. I already know how it works so if i need something quickly done with it, i can do it. I only have less of a day to make it work as my hobby time is really limited (and is being eaten by python ). Sorry if i have not made that clear. To be honest, i really really end up loving whatever i have done there (the form editor as a dockable part). If i can contribute to anchor docking and/or sparta in the future, then that would be cool.