[Lazarus] New compiler options page "Additions and Overrides"

Michael Van Canneyt michael at freepascal.org
Sat Jun 8 10:49:50 CEST 2013



On Sat, 8 Jun 2013, Mattias Gaertner wrote:

> On Fri, 7 Jun 2013 20:31:16 +0300
> Juha Manninen <juha.manninen62 at gmail.com> wrote:
>
>> On Fri, Jun 7, 2013 at 4:40 PM, Mattias Gaertner
>> <nc-gaertnma at netcologne.de> wrote:
>>> And what if paths differ?
>>> Don't get me wrong: Adding a directory to a path in all search modes is
>>> a needed feature. I'm just not convinced that an <All build modes> view
>>> is the right way. For simple values like boolean and integer it works in
>>> the Object Inspector and it will probably work in the compiler
>>> options as well. But I doubt that it works for non atomic values
>>> like search paths.
>>
>> Uhhh...  It requires some kind of grid GUI again with paths split into
>> rows and build modes in columns with selection checkboxes, and that
>> would be only for one path setting (like Include files).
>
> Well, that would be a very flexible solution.
> But that is only useful for power users. All others would suffer. So,
> maybe we have to provide a normal and an expert view.
> Same for the custom options: Some need a simple memo, others need
> a matrix.

If I may chip in, defending the normal users:

I can see why you're making this new page.

But this new page only makes sense when you use different build modes:
For build modes, I think it is an elegant solution that lets you see 
in one glance, what options are used in the various modes.

But build modes I consider something that only experts or powerusers will 
use, those who do many builds for different targets/platforms.

The normal, casual user does not need this.

The additional specification of 'where the option is stored' is powerful, 
but adds yet another layer of complexity, another source of misunderstandings, 
and necessitates almost a dialog 'where did this or that option come from'.
The additional option of 'to what to apply an option': same thing.

However, for the casual user, this is complete overkill.

For a casual user, the 'old' interface is clear, simple and accessible.
There is no doubt where an option came from. All options are clearly visible.
(OK, you may need to look on which page it is located)

For those options that have no support in the IDE, the custom options memo is there.
Please do not remove it. For example, I never understood why there is no support for 
managing "defines" in the IDE, so I must resort to using that.

I am writing this email because I am afraid the lazarus devs may get 'carried away' 
and elevate the idea of build modes to a status where it dominates the options UI.

The point is that they make the UI more difficult to understand.

Hence my plea: For a casual user, build modes are an unnecessary burden. 
Do not build the entire compiler options management around it.

I can see why you want them, I can see their use. 
But please make sure you don't push them onto people that have no need for it,
because it no matter how useful, they do make things more complicated to use.

That said, I think the new page is a better idea than the solution Delphi used, 
which - for a casual user - is simply horrible to understand and there is no way 
to get rid of it in Delphi.

Please do not make the same mistake.

Michael.




More information about the Lazarus mailing list