Recent

Poll

What do you think about reorganizing of Lazarus IDE?

No. I like old Delphi IDE style and I don't want any changes.
36 (44.4%)
Yes. I'd like Lazarus to looks like a modern IDE ( let's say, Visual Studio)
39 (48.1%)
I'm not smart enough to decide betwee these two choices.
6 (7.4%)

Total Members Voted: 78

Author Topic: What about a more modern IDE?  (Read 68895 times)

lainz

  • Hero Member
  • *****
  • Posts: 4470
    • https://lainz.github.io/
Re: What about a more modern IDE?
« Reply #165 on: May 05, 2015, 12:01:34 am »
Some nice ideas for editor from new MS Visual Studio Code.
Nice video and price.
https://code.visualstudio.com/

Is the same flat style everyone is using today.

But if lazarus developers want native one, I see no problem.

tr_escape

  • Sr. Member
  • ****
  • Posts: 432
  • sector name toys | respect to spectre
    • Github:
Re: What about a more modern IDE?
« Reply #166 on: May 05, 2015, 07:28:01 am »
Hello lazarus team and everyone,

If you want to change something for lazarus you may start at form designer.

Classic form desinging is simple : drop down a component use their properties.

Ofcourse it is good idea but also we have got a lot of invisible components to some are using for as library some are for visual effects.

So over 10~20 invisible components our forms are complexing for designing.

In my design idea is invisible components have to stay on form but also I able to hide when I changing my form like as layering or making a group.

Visual studio is dropping to downside all invisible components but it is also making another complexing...

Best regards


Edit: sharpdevelop screen sample
« Last Edit: May 05, 2015, 07:31:23 am by tr_escape »

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11455
  • FPC developer.
Re: What about a more modern IDE?
« Reply #167 on: May 05, 2015, 10:04:17 am »
So over 10~20 invisible components our forms are complexing for designing.

Use datamodules, they have the added plus of sharing such components over forms.

lainz

  • Hero Member
  • *****
  • Posts: 4470
    • https://lainz.github.io/
Re: What about a more modern IDE?
« Reply #168 on: May 05, 2015, 03:35:46 pm »
So over 10~20 invisible components our forms are complexing for designing.

Use datamodules, they have the added plus of sharing such components over forms.

If I add a TMainMenu in a DataModule there is a GUI way to include in a form, or only by code?

Leledumbo

  • Hero Member
  • *****
  • Posts: 8757
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: What about a more modern IDE?
« Reply #169 on: May 05, 2015, 05:45:13 pm »
If I add a TMainMenu in a DataModule there is a GUI way to include in a form, or only by code?
Just did it:
  • Drop TMainMenu on a data module
  • Go back to form, in object inspector, click drop down in Menu property, there it is: DataModule1.MainMenu1

lainz

  • Hero Member
  • *****
  • Posts: 4470
    • https://lainz.github.io/
Re: What about a more modern IDE?
« Reply #170 on: May 05, 2015, 06:10:51 pm »
If I add a TMainMenu in a DataModule there is a GUI way to include in a form, or only by code?
Just did it:
  • Drop TMainMenu on a data module
  • Go back to form, in object inspector, click drop down in Menu property, there it is: DataModule1.MainMenu1

Amazing. Thankyou. Using it from now.

nomorelogic

  • Full Member
  • ***
  • Posts: 165
Re: What about a more modern IDE?
« Reply #171 on: May 05, 2015, 06:38:59 pm »
I think it is a good solution - I did not know before now - and I'll use it.

But I think datamodule are intended for data abstraction and not related to a form.
I can use same datamodule in multiple forms: so by put a form menu (or other-form-related-objects) inside a datamodule, I believe it can make confusion in project analisys.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: What about a more modern IDE?
« Reply #172 on: May 05, 2015, 07:11:59 pm »
But I think datamodule are intended for data abstraction and not related to a form.
I can use same datamodule in multiple forms: so by put a form menu (or other-form-related-objects) inside a datamodule, I believe it can make confusion in project analisys.

Exactly. For Menus, OpenDialogs, Timers etc. a form is more logical place.
The original idea is good, but not new. Nobody just has implemented it yet. There is also a related issue :
  http://bugs.freepascal.org/view.php?id=18811

FreeSparta also implemented it in its additional packages. Maybe somebody ports it ...
Anyway, patches are welcome as always.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

nomorelogic

  • Full Member
  • ***
  • Posts: 165
Re: What about a more modern IDE?
« Reply #173 on: May 05, 2015, 08:04:25 pm »
an idea would be to think a new class TNonVisualControlRepository (at the same level of TDataModule), almost: TNonVisualControlRepository = class (TDataModule).
In this way as more form can share a (class or instance of) datamodule, so multiple forms could share menu, OpenDialog, and other resources via this repository.

Edit:
using a datamodule, we can already do this
(I think a new dedicated class would be easy to code)
« Last Edit: May 05, 2015, 08:07:03 pm by nomorelogic »

garlar27

  • Hero Member
  • *****
  • Posts: 652
Re: What about a more modern IDE?
« Reply #174 on: May 05, 2015, 10:35:58 pm »
But I think datamodule are intended for data abstraction and not related to a form.
I can use same datamodule in multiple forms: so by put a form menu (or other-form-related-objects) inside a datamodule, I believe it can make confusion in project analisys.
But the only thing TDataModule has related to data-abstraction is the name. It don't have any event neither
property related to any kind of data...   :-[ change the instance name for something more apropiate.  ;)
« Last Edit: May 05, 2015, 10:38:15 pm by garlar27 »

rvk

  • Hero Member
  • *****
  • Posts: 6169
Re: What about a more modern IDE?
« Reply #175 on: May 05, 2015, 11:51:34 pm »
How would an event from my TMainmenu, residing in a TDatamodule, get access to my dynamically created form? (The properties on that form might be defined as protected or private.) No, I think that would make quite a mess with a big program. Luckily a create quite a bit dynamically (to even the TEdits, TQuery's etc. on the forms) so I'm not bothered by some extra icons on my form but I think hiding the icons (with a switch) or setting them on another panel would be better than putting them in another module/form/unit/tdatamodule. That way all the logic of the events of that component stay inside your object/class.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11455
  • FPC developer.
Re: What about a more modern IDE?
« Reply #176 on: May 06, 2015, 10:58:50 am »
How would an event from my TMainmenu, residing in a TDatamodule, get access to my dynamically created form?

Typically one uses actions.

rvk

  • Hero Member
  • *****
  • Posts: 6169
Re: What about a more modern IDE?
« Reply #177 on: May 06, 2015, 11:07:06 am »
How would an event from my TMainmenu, residing in a TDatamodule, get access to my dynamically created form?
Typically one uses actions.
And where would you put the TActionManager? (Woops... TActionList... Mmmm, even Delphi 6 had a TActionManager :))

If you put it in the TDatamodule all the event are in the datamodule and also don't have access to your (dynamically created) form.

Also... because I create multiple forms dynamically it can't have it's TSQLQuery on a joined TDatamodule. (I could have two of the same forms open at the same time). So I have to create the TSQLQuery in/on the form and connect it to a joined TSQLConnection on the TDatamodule.
« Last Edit: May 06, 2015, 11:09:42 am by rvk »

Blaazen

  • Hero Member
  • *****
  • Posts: 3241
  • POKE 54296,15
    • Eye-Candy Controls
Re: What about a more modern IDE?
« Reply #178 on: May 06, 2015, 12:11:10 pm »
Lazarus offers you to assign any action to any Action property even if the relevant ActionList is on another form and unit of that form is NOT in uses. (Delphi does it too).
Note: its not possible in code but in OI.
Lazarus 2.3.0 (rev main-2_3-2863...) FPC 3.3.1 x86_64-linux-qt Chakra, Qt 4.8.7/5.13.2, Plasma 5.17.3
Lazarus 1.8.2 r57369 FPC 3.0.4 i386-win32-win32/win64 Wine 3.21

Try Eye-Candy Controls: https://sourceforge.net/projects/eccontrols/files/

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: What about a more modern IDE?
« Reply #179 on: May 06, 2015, 07:55:01 pm »
Xirax recent post on the mailing list about Icons and Splashscreens made me thinking (again).

It seems like developers are paying A LOT of attention to IDE and how it looks rather than developing.
But why?

Two decades ago and people would just use text-mode IDEs. Everyone would be happy. Not much to change there (except for syntax coloring highlight in the most advanced editors).
The less options to adjust is a bless. Just not having an option to modify IDE - eliminates any attempts or thoughts about changing it. Release brain time/effort to be spend on an actual task.

I'm concerned about all the new easy-type features in any notepad editor. They make typing easier. and that indulges a developer to do more typing, rather than smarter code structuring.
Indeed, why to think api through, if an editor allows you to update multiple places / refactor easier and quicker?!

Let's ignore a recommendation to fit a procedure to a screen (20 lines from text-mode IDEs) . We've code folding. And custom region code folding.

 

TinyPortal © 2005-2018