Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2015-06

Docked Form

38 messages · 12 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Balazs Szekely

Hi all,

I would like to see the "docked form" feature implemented, because lot of people complaining about the IDE not being modern. Personally I prefer the old non-docked version, but I do understand those, especially younger guys, who are used to more modern IDE's(Visual Studio/Eclipse//Delphi 2007+). Today I ported back the docking system from CT. According to (L)GPL license we are allowed to do so. The good part is, the embedded design is optional. The old undocked version is the default, it can be changed from Options/Desktop frame. I attach a patch, which was created against the latest trunk r49313. Can you please test it? Is this a good docking solution? If not why? I tested under Win32/64, GTK2, QT.

PS:? Please read Readme.txt first.

Thank you,
Bal?zs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150611/754b2083/attachment-0001.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: Embedded.zip
Type: application/x-zip-compressed
Size: 24911 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150611/754b2083/attachment-0001.bin>

Reply by email

Sandro Cumerlato
to Balazs Szekely

Hello Bal?zs,
unfortunately this mail has been marked as SPAM by gmail.

Are you registered to the mailing list?

Do other members have received the message?

Docking IDE is an important milestone IMHO.

Please Lazarus developers go ahead.

Sandro Cumerlato

"Balazs Szekely" wrote
Hi all, I would like to see the "docked form" feature implemented, because lot of

people complaining about the IDE not being modern. Personally I prefer the old non-docked version, but I do understand those, especially younger guys, who are used to more modern IDE's(Visual Studio/Eclipse//Delphi 2007+).

Today I ported back the docking system from CT. According to (L)GPL

license we are allowed to do so. The good part is, the embedded design is optional. The old undocked version is the default, it can be changed from Options/Desktop frame. I attach a patch, which was created against the latest trunk r49313. Can you please test it? Is this a good docking solution? If not why? I tested under Win32/64, GTK2, QT.

Show quoted text 14 lines
PS: Please read Readme.txt first. Thank you, Bal?zs -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/cb2fe588/attachment.html>

Reply by email

Norbert Crettol
to Sandro Cumerlato

Hello,

I received this mail.

Cheers
Norbert

Sandro Cumerlato wrote 43 lines
Hello Bal?zs, unfortunately this mail has been marked as SPAM by gmail. Are you registered to the mailing list? Do other members have received the message? Docking IDE is an important milestone IMHO. Please Lazarus developers go ahead. Sandro Cumerlato On 11 Jun 2015 13:17, "Balazs Szekely" < <mailto:>> wrote: > > Hi all, > > I would like to see the "docked form" feature implemented, because lot of people complaining about the IDE not being modern. Personally I prefer the old non-docked version, but I do understand those, especially younger guys, who are used to more modern IDE's(Visual Studio/Eclipse//Delphi 2007+). > > Today I ported back the docking system from CT. According to (L)GPL license we are allowed to do so. The good part is, the embedded design is optional. The old undocked version is the default, it can be changed from Options/Desktop frame. I attach a patch, which was created against the latest trunk r49313. Can you please test it? Is this a good docking solution? If not why? I tested under Win32/64, GTK2, QT. > > PS: Please read Readme.txt first. > > > Thank you, > Bal?zs > > > -- > _______________________________________________ > Lazarus mailing list > <mailto:> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Balazs Szekely
to Norbert Crettol

Hi Sandro,
Thank you for forwarding my mail. Yes, I'm registered to the mailing list and I do not understand why my mails end up in spam.Usually I'm able to reply to other peoples mails, but sending new one always fail. PS: I attach the patch again, the readme.txt is inside the zip file.

regards,Bal?zs

Sandro Cumerlato wrote 26 lines
Hello Bal?zs, unfortunately this mail has been marked as SPAM by gmail. Are you registered to the mailing list? Do other members have received the message? Docking IDE is an important milestone IMHO. Please Lazarus developers go ahead. Sandro Cumerlato On 11 Jun 2015 13:17, "Balazs Szekely" < <mailto:>> wrote: ? > ? > Hi all, ? > ? > I would like to see the "docked form" feature implemented, because lot of people complaining about the IDE not being modern. Personally I prefer the old non-docked version, but I do understand those, especially younger guys, who are used to more modern IDE's(Visual Studio/Eclipse//Delphi 2007+). ? > ? > Today I ported back the docking system from CT. According to (L)GPL license we are allowed to do so. The good part is, the embedded design is optional. The old undocked version is the default, it can be changed from Options/Desktop frame. I attach a patch, which was created against the latest trunk r49313. Can you please test it? Is this a good docking solution? If not why? I tested under Win32/64, GTK2, QT. ? > ? > PS:? Please read Readme.txt first. ? > ? > ? > Thank you, ? > Bal?zs

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/54f054e9/attachment-0001.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: Embedded.zip
Type: application/x-zip-compressed
Size: 24911 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/54f054e9/attachment-0001.bin>

Reply by email

Ondrej Pokorny
to Sandro Cumerlato: unfortunately this mail has been marked as SPAM by gmail. Are you registered to the…

Hello Sandro,

this seems to be a problem with (your) gmail spam filter.

Ondrej

Sandro Cumerlato wrote 55 lines
Hello Bal?zs, unfortunately this mail has been marked as SPAM by gmail. Are you registered to the mailing list? Do other members have received the message? Docking IDE is an important milestone IMHO. Please Lazarus developers go ahead. Sandro Cumerlato On 11 Jun 2015 13:17, "Balazs Szekely" < <mailto:>> wrote: > > Hi all, > > I would like to see the "docked form" feature implemented, because lot of people complaining about the IDE not being modern. Personally I prefer the old non-docked version, but I do understand those, especially younger guys, who are used to more modern IDE's(Visual Studio/Eclipse//Delphi 2007+). > > Today I ported back the docking system from CT. According to (L)GPL license we are allowed to do so. The good part is, the embedded design is optional. The old undocked version is the default, it can be changed from Options/Desktop frame. I attach a patch, which was created against the latest trunk r49313. Can you please test it? Is this a good docking solution? If not why? I tested under Win32/64, GTK2, QT. > > PS: Please read Readme.txt first. > > > Thank you, > Bal?zs > > > -- > _______________________________________________ > Lazarus mailing list > <mailto:> > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/7f82e4b8/attachment.html>

Reply by email

Juha Manninen
to Ondrej Pokorny
Ondrej Pokorny wrote
this seems to be a problem with (your) gmail spam filter.

The same happened to me and (I guess) all gmail users. We communicated with Bal?zs (GetMem) using forum PMs. He has now switched from the problematic Yahoo address to a gmail address, subscribed with it and sent a new message but I don't see it anywhere.
http://s1269.photobucket.com/user/balazsszekely/media/mail_zps7y5f7gdm.png.html

Marc and Vincent, can some IP addresses be filtered? This one is in Romania.

I wanted to get other developers' opinion about the design of this embedded form editor. It would be important to get Bal?zs into the discussion.
His current version is mostly copied from CodeTyphon, however he ended up with a similar solution already before downloading CodeTyphon. It means this may be the most "obvious" design.

I remember mentioned years ago that a docked form editor for AnchorDocking is not implemented in Lazarus yet because it needs proper design and many changes, and thus the CodeTyphon solution was not good enough. I don't know any details of that. I don't know what are the alternative details either.

Juha

Reply by email

Frederic Da Vitoria
to Ondrej Pokorny: this seems to be a problem with (your) gmail spam filter. Ondrej -------------- next part…

2015-06-12 8:53 GMT+02:00 Ondrej Pokorny :

Show quoted text 18 lines
Hello Sandro, this seems to be a problem with (your) gmail spam filter. Ondrej On 12.06.2015 08:04, Sandro Cumerlato wrote: Hello Bal?zs, unfortunately this mail has been marked as SPAM by gmail. Are you registered to the mailing list? Do other members have received the message?

I use the GMail web interface too and I often have this spam issue with mails coming from yahoo (among others). I solved the issue by entering a filter in the GMail web interface telling it never to consider as spam mails with

- list:"fpc-pascal.lists.freepascal.org"
- list:"lazarus.lists.lazarus.freepascal.org"
- list:"fpc-devel.lists.freepascal.org"

Frederic Da Vitoria (davitof) Membre de l'April - ? promouvoir et d?fendre le logiciel libre ? - http://www.april.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/6397a2c6/attachment.html>

Reply by email

Juha Manninen
to Frederic Da Vitoria: 2015-06-12 8:53 GMT+02:00 Ondrej Pokorny : I use the GMail web interface too and I often…
Frederic Da Vitoria wrote 8 lines
I use the GMail web interface too and I often have this spam issue with mails coming from yahoo (among others). I solved the issue by entering a filter in the GMail web interface telling it never to consider as spam mails with list:"fpc-pascal.lists.freepascal.org" list:"lazarus.lists.lazarus.freepascal.org" list:"fpc-devel.lists.freepascal.org"

I didn't know about this setting. Now I have configured it, too. Thanks. I can see there are many mails from Yahoo in the spam folder.

Anyway, it means Bal?zs can use either Yahoo or GMail account here. Maybe the new GMail account needs some confirmation period before it gets activated.

Juha

Reply by email

Maciej Izak
to Juha Manninen: The same happened to me and (I guess) all gmail users. We communicated with Bal?zs…

12 cze 2015 10:31 "Juha Manninen" napisa?(a):

Show quoted text 10 lines
I remember mentioned years ago that a docked form editor for AnchorDocking is not implemented in Lazarus yet because it needs proper design and many changes, and thus the CodeTyphon solution was not good enough. I don't know any details of that. I don't know what are the alternative details either. Juha

An alternative implementation exists in freesparta, compatible with AnchorDocking and is flexible. It needs a little work but would allow anchoring to different docking plug-ins ... Now I am not able to do anything. Lack of Generics.Collections as part of FPC RTL is blocking me for futher work. Status o Generics.Collections is unclear. Sven is "not really happy with interface hacks" in library but I don't see any alternative...

Anyway the system is designed to allow additional cards to create like history (without using Generics.Collections :) ).

If someone had helped me more then I would be able to implement compatible ToolsAPI.pas with Delphi... That means Delphi plugins pluggable with Lazarus with small changes :).

(if considered the introduction of
https://github.com/dathox/freesparta/tree/master/lazarus_sparta_patch/components/ideintf

especially

TTabDisplayState
TLazarusIDEHandlerType
TIDETabMaster

https://github.com/dathox/freesparta/blob/master/lazarus_sparta_patch/components/ideintf/lazideintf.pas )

Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/4e3d7d8b/attachment.html>

Reply by email

Maciej Izak
to Maciej Izak

IMO the best option for Lazarus is synergy of solution from CodeTyphon (the way of handling docked form in many platforms) and FreeSparta (elastic interfaces, it handles many usefull events like:

https://www.youtube.com/watch?v=6FOjWCLDScQ&t=264

additionaly freesparta allow us to create "decorations" around forms like in Delphi for example for Android/iPhone:

http://www.embarcadero.com/images/products/delphi/iPhone_IDE785x600.jpg

best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150612/ecf767dc/attachment.html>

Reply by email

Juha Manninen
to Maciej Izak: IMO the best option for Lazarus is synergy of solution from CodeTyphon (the way of…
Maciej Izak wrote
IMO the best option for Lazarus is synergy of solution from CodeTyphon (the way of handling docked form in many platforms) and FreeSparta (elastic interfaces, it handles many usefull events like:

Sounds good but how much are you willing to help with it? I have now time for Lazarus development but I don't know where to look for your docking code or elastic interfaces. We need a patch against Lazarus trunk. Can you promise to provide a patch and then work with me and Bal?zs to get the feature ready?
Bal?zs is already thinking of improvements for his code. I think we must soon decide how to proceed exactly.

Maciej, you can also use your private branch for Lazarus instead of sending patches:
http://svn.freepascal.org/svn/lazarus/branches/free-sparta/ We still have not seen commits there. Why?
The branch was provided to make committing your code as easy as possible. Before that you had provided a patch with > 300000 lines which was rather a joke.

If someone had helped me more then I would be able to implement compatible ToolsAPI.pas with Delphi... That means Delphi plugins pluggable with Lazarus with small changes :).

I am willing to help with the ToolsAPI. When did you ask for help? Maybe I missed it. For sure you did not offer patches for it, I follow patches quite diligently.

Somehow I have a feeling that you don't _really_ want to contribute your FreeSparta code for Lazarus. No patches, except for one 300000 LOC patch, and it is always the fault of Lazarus developers who did not help you enough or were not interested in your code. If this is a conscious revenge for the developers for being against a Lazarus fork then it goes to a wrong address. None of Lazarus developers were against it. Never. Some other people were, yes, and they gave an impression they represented Lazarus project but they did not. I am happy that episode is over.

Now please tell how much you will participate in the dockable form editor project. If you don't want to participate, it is perfectly OK but we must know. I have a feeling this long awaited feature will happen soon.

Juha

P.S.
I am also impressed by your FreeSparta just like Graeme. I am still hoping we could integrate parts of it to Lazarus. Let's see...

Reply by email

Balazs Szekely
to Maciej Izak: 12 cze 2015 10:31 "Juha Manninen" napisa?(a): An alternative implementation exists in…

Hi Maciej,
I like your docking system very much. I would like to see some of the features ported back to Lazarus. I have a question, though: I read on your site that FreeSparta only works on Windows. It would be difficult to make it Linux/OSX compatible? We need a docking system that is functional on every widgetset.The latest CT implementation works on every platform(ok, it has some issues on OSX, but it can be fixed).?

regards,Bal?zs
From: Maciej Izak
To: Lazarus mailing list
Sent: Friday, June 12, 2015 3:11 PM
Subject: Re: [Lazarus] Docked Form

12 cze 2015 10:31 "Juha Manninen" napisa?(a):

I remember mentioned years ago that a docked form editor for AnchorDocking is not implemented in Lazarus yet because it needs proper design and many changes, and thus the CodeTyphon solution was not good enough. I don't know any details of that. I don't know what are the alternative details either.

Juha

An alternative implementation exists in freesparta, compatible with AnchorDocking and is flexible. It needs a little work but would allow anchoring to different docking plug-ins ... Now I am not able to do anything. Lack of Generics.Collections as part of FPC RTL is blocking me for futher work. Status o Generics.Collections is unclear.? Sven is "not really happy with interface hacks" in library but I don't see any alternative... Anyway the system is designed to allow additional cards to create like history (without using Generics.Collections :) ). If someone had helped me more then I would be able to implement compatible ToolsAPI.pas with Delphi... That means Delphi plugins pluggable with Lazarus with small changes :). (if considered the introduction of https://github.com/dathox/freesparta/tree/master/lazarus_sparta_patch/components/ideintf especially
? ?TTabDisplayState? ?TLazarusIDEHandlerType? ?TIDETabMaster ? https://github.com/dathox/freesparta/blob/master/lazarus_sparta_patch/components/ideintf/lazideintf.pas)? Best regards,Maciej Izak

Reply by email

waldo kitty
to Balazs Szekely: Thank you for forwarding my mail. Yes, I'm registered to the mailing list and I do not…
Balazs Szekely wrote 5 lines
Hi Sandro, Thank you for forwarding my mail. Yes, I'm registered to the mailing list and I do not understand why my mails end up in spam. Usually I'm able to reply to other peoples mails, but sending new one always fail.

your first post with the attachment came here just fine... no spam notice and it wasn't hidden in any of my spam folders on any of my accounts i have subscribed...

NOTE: No off-list assistance is given without prior approval. Please *keep mailing list traffic on the list* unless private contact is specifically requested and granted.

Reply by email

Graeme Geldenhuys
to Juha Manninen: Sounds good but how much are you willing to help with it? I have now time for Lazarus…
Juha Manninen wrote
I am also impressed by your FreeSparta just like Graeme. I am still hoping we could integrate parts of it to Lazarus. Let's see...

I obviously missed something regarding FreeSparta. Is it not a commercial product any more? From the website it seems you can still purchase the full version for $99 or something.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Graeme Geldenhuys
to Juha Manninen
Juha Manninen wrote
All parts of it were made free a while ago :

Nice for Lazarus I guess, but I always feel sad when business ventures around open source projects don't pan out. Maciej seems to have done an amazing job with FreeSparta - extended Lazarus well beyond what I have seen done before.

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Balazs Szekely
to waldo kitty: your first post with the attachment came here just fine... no spam notice and it wasn't…

?Waldo Kitty, Kov?cs L?szl?, thank you for your feedback. It's highly appreciated!

From: waldo kitty
To:
Sent: Friday, June 12, 2015 8:20 PM
Subject: Re: [Lazarus] Docked Form

Balazs Szekely wrote 5 lines
Hi Sandro, Thank you for forwarding my mail. Yes, I'm registered to the mailing list and I do not understand why my mails end up in spam. Usually I'm able to reply to other peoples mails, but sending new one always fail.

your first post with the attachment came here just fine... no spam notice and it wasn't hidden in any of my spam folders on any of my accounts i have subscribed...

? NOTE: No off-list assistance is given without prior approval. ? ? ? ? Please *keep mailing list traffic on the list* unless ? ? ? ? private contact is specifically requested and granted. --

Reply by email

Maciej Izak
to Juha Manninen: Sounds good but how much are you willing to help with it? I have now time for Lazarus…

2015-06-12 18:15 GMT+02:00 Juha Manninen :

Show quoted text 13 lines
Sounds good but how much are you willing to help with it? I have now time for Lazarus development but I don't know where to look for your docking code or elastic interfaces. We need a patch against Lazarus trunk. Can you promise to provide a patch and then work with me and Bal?zs to get the feature ready? Bal?zs is already thinking of improvements for his code. I think we must soon decide how to proceed exactly. Maciej, you can also use your private branch for Lazarus instead of sending patches: http://svn.freepascal.org/svn/lazarus/branches/free-sparta/ We still have not seen commits there. Why?

I needed a break to regenerate. It was very hard for me. The idea of FreeSparta was much bigger (Project inspector like in Delphi + out of box Android/iOS with designer like in Delphi + ToolsAPI and many more) :\ I have done the smallest version of "FreeSparta" project. Working on the Generics.* library and working on some extensions for FPC RTL / Compiler bugs and working on Lazarus extensions/few bugfix and new packages - It took me two years (in all my free time). Too much work for one person. :)

The branch was provided to make committing your code as easy as possible. Before that you had provided a patch with > 300000 lines which was rather a joke.

Yes, you are right I need to fix that patch :\. My bad. As mentioned above
- I needed a break to regenerate.

I am willing to help with the ToolsAPI. When did you ask for help? Maybe I missed it. For sure you did not offer patches for it, I follow patches quite diligently.

I did not mentioned this before. With properly implementing a system of "Docked Form", we can create a very compatible ToolsAPI. We can do much in this direction.

Somehow I have a feeling that you don't _really_ want to contribute

your FreeSparta code for Lazarus. No patches, except for one 300000 LOC patch, and it is always the fault of Lazarus developers who did not help you enough or were not interested in your code.

I am grateful for the branch, I plan to use. Please look at other side: I made effort for FPC related to Generics.Collections (many bug reports, new RTL functions, and whole Generics.* library)... I _really_ want to contribute my code, but I _really_ don't know what is the status of Generics.Collections (with is the key feature/library for me for any serious work. IMO Generics.* is ready for use, but this is my subjective opinion). Can we include in some way Generics.Collections in to Lazarus...? Generics.Collections can work with incoming FPC 3.0.

Maybe I should forget about Generics.Collections? This uncertainty overwhelms me (I need to chose some direction).

Show quoted text 6 lines
If this is a conscious revenge for the developers for being against a Lazarus fork then it goes to a wrong address. None of Lazarus developers were against it. Never. Some other people were, yes, and they gave an impression they represented Lazarus project but they did not. I am happy that episode is over.

Only revenge on the Embarcadero for the lack of the free version. That's my real goal! ;)

Show quoted text 5 lines
Now please tell how much you will participate in the dockable form editor project. If you don't want to participate, it is perfectly OK but we must know. I have a feeling this long awaited feature will happen soon.

It will be easier for me now (I changed my job and again I program in Pascal :) ). Maybe in the beginning I will gather some key elements in the diagram (I need for this 2-3 days). I wonder whether I should override metaclass like TForm, TFrame and TDataModule to achieve many effects in FreeSparta project. This is one of the most controversial things in Sparta (and key things).

P.S. I am also impressed by your FreeSparta just like Graeme. I am still hoping we could integrate parts of it to Lazarus. Let's see...

Thanks. I hope this will become true.

best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150613/721a346d/attachment.html>

Reply by email

Maciej Izak
to Graeme Geldenhuys: Nice for Lazarus I guess, but I always feel sad when business ventures around open source…

2015-06-12 22:28 GMT+02:00 Graeme Geldenhuys
:

Nice for Lazarus I guess, but I always feel sad when business ventures around open source projects don't pan out.

I still have a few business ideas :) but not alone...

Maciej seems to have done an

amazing job with FreeSparta - extended Lazarus well beyond what I have seen done before.

I do not agree! Lazarus is amazing :). Without excellent IdeInft package FreeSpart is nothing worth.

best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150613/ff097a60/attachment.html>

Reply by email

Juha Manninen
to Maciej Izak: 2015-06-12 18:15 GMT+02:00 Juha Manninen : I needed a break to regenerate. It was very…
Maciej Izak wrote
With properly implementing a system of "Docked Form", we can create a very compatible ToolsAPI.

So we need the improved toolAPI before the embedded dockable form designer?

Can we include in some way Generics.Collections in to Lazarus...? Generics.Collections can work with incoming FPC 3.0.

Yes, it can be included inside IFDEFs in Lazarus trunk if really needed. FPC 2.6.4 must be also supported for some time even when FPC 3.0 is out.
On the other hand I don't see why the dockable form designer would need Generics.Collections.
Generics already work somehow in FPC 2.6.4, I have used the fgl unit myself in Lazarus code.

Show quoted text 5 lines
It will be easier for me now (I changed my job and again I program in Pascal :) ). Maybe in the beginning I will gather some key elements in the diagram (I need for this 2-3 days). I wonder whether I should override metaclass like TForm, TFrame and TDataModule to achieve many effects in FreeSparta project. This is one of the most controversial things in Sparta (and key things).

This is all very abstract.
Now I try to figure out what is the best design for the dockable form designer. Bal?zs already has working code. If your solution is used, is it in addition to his code or does it replace it?
In any case we need a patch and a more detailed explanation of what it does! The question remains: can you participate in practical level?

I still did not get feedback from other Lazarus developers about the design. That is another open issue.

Juha

Reply by email

Hans-Peter Diettrich
to Juha Manninen: Sounds good but how much are you willing to help with it? I have now time for Lazarus…
Juha Manninen wrote 8 lines
On Fri, Jun 12, 2015 at 4:03 PM, Maciej Izak wrote: > IMO the best option for Lazarus is synergy of solution from CodeTyphon (the > way of handling docked form in many platforms) and FreeSparta (elastic > interfaces, it handles many usefull events like: Sounds good but how much are you willing to help with it? I have now time for Lazarus development but I don't know where to look for your docking code or elastic interfaces. We need a patch against Lazarus trunk.

Two problems with docking:
1) Delphi-docking is not well supported, else the IDE DockManager could be used.
2) The IDE has much code for window placement, all over, instead of a common window layout manager.

[1] Could be fixed, but the required patches (of Controls.pas) are rejected by the Lazarus team. for "too many changes at a time" :-(

[2] I tried to replace the many window placement calls in the IDE by a better window management, but finally gave up. The IDE window managers are quite useless, except for the existing inflexible solution. Most probably patches will be rejected with the same rationale.

IMO a general layout manager interface would be nice, where Delphi-docking, AnchorDocking or any other layout manager could be hooked in. But it looks like impossible to remove AnchorDocking from Controls, it's too much interwoven with AutoSize and other basic control methods, and will cause conflicts with any other layout manager. That's why I stopped working on Lazarus a long time ago :-(

DoDi

Reply by email

Juha Manninen
to Hans-Peter Diettrich
Hans-Peter Diettrich wrote 5 lines
Two problems with docking: 1) Delphi-docking is not well supported, else the IDE DockManager could be used. 2) The IDE has much code for window placement, all over, instead of a common window layout manager.

A docking API is a good idea. I think Maciej had similar idea with his ToolsAPI thing.
Dodi, I remember you patches were rejected because they did not work. They were more like shooting around blindly.
The current code has one big benefit: it works. The problem scope is complex and a good API may not be an easy task.

Juha

Reply by email

Hans-Peter Diettrich
to Juha Manninen
Juha Manninen wrote 9 lines
On Sat, Jun 13, 2015 at 12:17 PM, Hans-Peter Diettrich wrote: > Two problems with docking: > 1) Delphi-docking is not well supported, else the IDE DockManager could be > used. > 2) The IDE has much code for window placement, all over, instead of a common > window layout manager. A docking API is a good idea. I think Maciej had similar idea with his ToolsAPI thing.

Docking is only one special method for adding, removing or rearranging components. The basic API will arrange, measure and resize child components, according to its own rules, when told to do so. See the Java layout managers, which can be selected independently into any container control. It should not be hard to work out an according API, the problem is to make e.g. AnchorDocking work as such a selectable layout manager.

Dodi, I remember you patches were rejected because they did not work.

Perhaps the patches were already outdated when supplied, but they worked on my system. Who can tell which concurrent changes will affect some code, unless the functional responsibilities and interaction of parts of the affected code is well defined?

They were more like shooting around blindly.

They may *look* so, in detail the IDE patches, but how would you start adding an manager to previously unorganized code?

DoDi

Reply by email

Juha Manninen
to Hans-Peter Diettrich

Bal?zs,
instead of a hidden Panel could there be a nested PageControl with tabs at the bottom?
In fact this idea is from Martin, otherwise I got no feedback. The panel versus PageControl difference is not fundamental which means the design is basically ok and you have green light to implement it. The PageControl may be easy to implement and would allow selecting the source editor / form designer with mouse, and also give visual hint about such possibility.

Maciej,
If I interpret your mails right, it was more about the API and not about embedding the form designer.
The API can be improved anyway later and we can now go ahead with the form designer thing. Is this correct?

Juha

Reply by email

Maciej Izak
to Juha Manninen: So we need the improved toolAPI before the embedded dockable form designer? Yes, it can…

2015-06-13 10:31 GMT+02:00 Juha Manninen :

So we need the improved toolAPI before the embedded dockable form designer?

IMO ToolsAPI should be only proxy for improved/extended IdeIntf.

On the other hand I don't see why the dockable form designer would need Generics.Collections.

Maybe not directly "dockable form" but tools/modules around (generally I need fast generic hash maps).

Generics already work somehow in FPC 2.6.4, I have used the fgl unit myself in Lazarus code.

fgl don't contains HashMap and is not automated/and simple in use like Generics.* for any kind of type.

Show quoted text 6 lines
This is all very abstract. Now I try to figure out what is the best design for the dockable form designer. Bal?zs already has working code. If your solution is used, is it in addition to his code or does it replace it?

Both. It depends of code part. Interesting thing:
FreeSparta "Docked Form" installed in modified CodeTyphon works well with CodeTyphon "Docked Form"...

http://i.imgur.com/7gd36LL.jpg

In any case we need a patch and a more detailed explanation of what it does! The question remains: can you participate in practical level?

Give me 24 hours, I'll do better patch. I can participate in practical level :).

Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150614/0d8c3c66/attachment.html>

Reply by email

Maciej Izak
to Juha Manninen: instead of a hidden Panel could there be a nested PageControl with tabs at the bottom? In…

2015-06-14 1:07 GMT+02:00 Juha Manninen :

Show quoted text 10 lines
Bal?zs, instead of a hidden Panel could there be a nested PageControl with tabs at the bottom? In fact this idea is from Martin, otherwise I got no feedback. The panel versus PageControl difference is not fundamental which means the design is basically ok and you have green light to implement it. The PageControl may be easy to implement and would allow selecting the source editor / form designer with mouse, and also give visual hint about such possibility.

Btw. In FreeSparta I already use PageControl. To get working plugable PageControl
(with pages Code/Desig/Or even History) only few changes in sourceeditor.pp is required:

all small changes are marked as simple comment // DaThoX some bigger changes are marked as
// DaThoX begin
more lines of modified code here
// DaThoX end

https://github.com/dathox/freesparta/blob/master/lazarus_sparta_patch/ide/sourceeditor.pp

Maciej,

Show quoted text 5 lines
If I interpret your mails right, it was more about the API and not about embedding the form designer. The API can be improved anyway later and we can now go ahead with the form designer thing. Is this correct?

Maybe a little explanation. In FreeSparta you can find:

1. Non-invasive changes in Lazarus (the smallest).
2. what is possible, from point 1, it is added to the IdeIntf.
3. all the magic happens in the package (
https://github.com/dathox/freesparta/tree/master/1_spartaBasic). In contrast to Typhon code, the code of "docked forms", can be completely uninstalled as a simple package.
4. everything is designed for the creation of ToolsAPI.

Few technical details from Typhon should be moved into FreeSparta (holding form position and scrolling) for better multiplatform "Docked Form". CodeTyphon "docked form" solution is copied (modified and fixed) from kzdesktop project...

btw. I need to exclude dependencies from BGRAControls in few places.

best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150614/3d144aeb/attachment-0001.html>

Reply by email

Michael Van Canneyt
to Maciej Izak: 2015-06-13 10:31 GMT+02:00 Juha Manninen : IMO ToolsAPI should be only proxy for…
Maciej Izak wrote 5 lines
2015-06-13 10:31 GMT+02:00 Juha Manninen : So we need the improved toolAPI before the embedded dockable form designer? IMO ?ToolsAPI should be only proxy for improved/extended IdeIntf.?

I agree. The lazarus IDE Interface is much better than the Tools API. It can use still some extensions, but the basic design is a lot easier and better than the tools API.

If you absolutely need the Tools API, just make it a 'glue' layer. But I think efforts can be better spent elsewhere.

Michael.

Reply by email

Juha Manninen
to Maciej Izak: 2015-06-14 1:07 GMT+02:00 Juha Manninen : Btw. In FreeSparta I already use PageControl.…

Actually a latest patch from Bal?zs also had a PageControl.

Maciej, can you please answer the question from Bal?zs about your Windows specific implementation.
You 2 should cooperate with this feature now! There is a danger that I finally must choose between 2 competing patches and one of you will be pissed off then. My original purpose in this thread was to find the best design. I don't know much of the code and I could well make wrong choices and then get blamed later.

Maciej and Bal?zs, finally we need one set of patches to apply. The patch from Bal?zs must be the starting point now. It has sane design, has polished features made by CodeTyphon people, is cross-platform and compiles with FPC 2.6.4.
I still feel the changes promised by Maciej are more about API, generics collection HashMap is involved, it may require FPC 3.0 etc... feels like out of scope for the embedded form designer. Besides it does not need to be in a package, Bal?zs' patch already has an option to turn it on/off.
One way would be to commit Bal?zs' patch when he gets it polished and then Maciej can provide his improvements later. I don't like the idea because I believe Maciej has improvements for docked form editor and later we would get patches competing with the existing design. Besides I like the idea of improving on CodeTyphon's code for the sake of technical excellence just like they have improved on ours, in the true spirit of Open Source.
So please cooperate. You must either create patches and compare them, or then fork the Lazarus Git repo and commit there (true distributed development).

You 2 can communicate privately of course but otherwise the discussion should happen here openly. This issue interests many people and also Lazarus core developers read this. I refuse to be a middle man in communication passing messages forward.

It is unusual to have competing patches for a major feature. Recently we have seen a flood of patches from various people. This project is getting popular.

Juha

Reply by email

Maciej Izak
to Balazs Szekely: I like your docking system very much. I would like to see some of the features ported…

2015-06-12 18:40 GMT+02:00 Balazs Szekely :

Show quoted text 5 lines
I have a question, though: I read on your site that FreeSparta only works on Windows. It would be difficult to make it Linux/OSX compatible? We need a docking system that is functional on every widgetset.

The latest CT implementation works on every platform(ok, it has some issues on OSX, but it can be fixed).

I'm sorry for late reply, your message was categorized as spam. :\

The "root" of CT solution and Sparta solution is inspired by kzdesktop. I don't have code, related for windows platform directly. I use only LCL, and I fixed small bugs in parts of Lazarus for Windows platform ( for example OverlayWindowProc in
https://github.com/dathox/freesparta/blob/master/lazarus_sparta_patch/lcl/interfaces/win32/win32callback.inc ).

FreeSparta is avaible for Windows platform because I only use windows for my daily work. It's very hard to release big (commercial) project for many platforms. FreeSparta should work in any platform supported by Lazarus with small changes. Inside project I use only LCL without windows directly related stuff.

The main difference between Sparta and Typhon implementation :

1. Docked form scrolling
2. Docked form position

THE MOST IMPORTANT DETAILS :)

In Sparta all is done by overriding published properties related to scrolling and related to form position. In CT it is achived by blocking messages in WindowProc.

What is better solution ? I don't know :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150614/ffc9fd16/attachment.html>

Reply by email

Maciej Izak
to Juha Manninen: Actually a latest patch from Bal?zs also had a PageControl. Maciej, can you please answer…

I answered :) please check out.

Smaller and more logical patch for Lazarus. Currently created for rev.
48023. If we decide what to do next, then I create patch for current rev. Patch don't require Generics.Collections.

https://github.com/dathox/freesparta/blob/master/freesparta_light_patch_for_lazarus_rev_48023.patch

This patch is required for installing "Docked Form" system (or can be used for any other "docked form" system) :

https://github.com/dathox/freesparta/tree/master/1_spartaBasic https://github.com/dathox/freesparta/tree/master/2_spartaStarter https://github.com/dathox/freesparta/tree/master/3_spartaProfessional

Each of Sparta package uses Generics.Collections (I can replace it with fcl-stl) and BGRA Controls (I can replace it with other, more standard components).

I hope everything becomes clearer. Whatever we decide, I will help. :)

Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150614/63f900e4/attachment-0001.html> -------------- next part --------------
A non-text attachment was scrubbed...
Name: freesparta_light_patch_for_lazarus_rev_48023.zip Type: application/zip
Size: 23179 bytes
Desc: not available
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150614/63f900e4/attachment-0001.zip>

Reply by email

Graeme Geldenhuys
to Juha Manninen: instead of a hidden Panel could there be a nested PageControl with tabs at the bottom? In…
Juha Manninen wrote
The PageControl may be easy to implement and would allow selecting the source editor / form designer with mouse, and also give visual hint

How is that going to look under OSX where tabs are very different (read as butt ugly and rubbish) compared to other platforms?

Regards,
- Graeme -

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/

Reply by email

Juha Manninen
to Graeme Geldenhuys
Graeme Geldenhuys wrote
How is that going to look under OSX where tabs are very different (read as butt ugly and rubbish) compared to other platforms?

Good question. Has somebody tried CodeTyphon or KZDesktop in a Mac? Those systems have similar tabs.

Otherwise we can have few weeks pause before implementing this feature. Bal?zs is having holidays, Maciej can fine-tune his changes, I also have many other things to do. We are not in a hurry really. I am quite confident we get this feature into Lazarus during July. I still hope there will be one version of the code accepted by all parties instead of competing versions.

Juha

Reply by email

Maciej Izak
to Graeme Geldenhuys: How is that going to look under OSX where tabs are very different (read as butt ugly and…

2015-06-15 14:31 GMT+02:00 Graeme Geldenhuys:

How is that going to look under OSX where tabs are very different (read as butt ugly and rubbish) compared to other platforms?

You can check this. :) First version with "Sparta Basic" (docked design form and IDE changes) :D is available at:

http://svn.freepascal.org/svn/lazarus/branches/free-sparta

http://svn.freepascal.org/cgi-bin/viewvc.cgi/branches/free-sparta/?root=lazarus

Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20150709/19fa7d8a/attachment.html>

Reply by email