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

Mattias Gaertner nc-gaertnma at netcologne.de
Fri Jun 7 15:40:39 CEST 2013


On Fri, 7 Jun 2013 15:35:52 +0300
Juha Manninen <juha.manninen62 at gmail.com> wrote:

> I have mixed feelings about this new grid GUI because its usage is not
> obvious or intuitive.

True.
But that's mainly because it's tasks are not intuitive. It
provides the flexibility needed by experts. So it's an advanced or
expert page.

 
> Now build modes can be created in a GUI that is visually above the
> affected settings pages.

Yes, that's nice.


> Earlier there was no visual hint of affected pages and one could only
> guess what happens. Now it is more intuitive.

Well, that is your opinion. Newbies have no idea what a build mode is.
Now the topmost thing they see is build modes. That's not more
intuitive. It is easier for experts.


> The plan is to have <All build modes> selection that allows you to
> edit a setting for all build modes at one go. This is most usefull for
> the paths. The GUI could disable the settings and pages which don't
> support editing for all build modes.
> Initially maybe paths only will be enabled.

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.

 
> This new grid again screws the logic. It is a page side-by-side with
> other pages, and below the build mode GUI, yet it affects all build
> modes.

Actually most operations in this page affects only a few
build modes. The difference to the other pages is that you don't need to
switch the active build mode to change something.


> Solution 1. is to show the page only when the future <All build modes>
> is selected.

All the feature requests I saw so far and that led to this grid view
were about options that are applied to a single or groups of build
modes, never to all. See the 2*2 build mode example of the related
thread.


> For a single build mode "Macro Values" and "Other" pages would be
> shown instead (and maybe something else).
> The drawback is that a user always has to select <All build modes>
> before using the grid. Some users would not even notice the whole
> feature.
> 
> Solution 2. is to make a new category branch in the options tree for
> "Additions and Overrides", beside "Compiler Options".
> It would not be under the build mode GUI visually any more, and its
> versatility would be emphasized.
> 
> Solution 3. ... something else ...
> 
> 
> This grid is good by itself. It allows doing things that are very
> difficult otherwise.
> I just want to have the GUI as intuitive as possible.

Intuitive and flexible bite each other.

Ideas:

Remove the "inherited page" and add its content to the "show options"
dialog. One page less is more intuitive. And the user can see in
one dialog where the final options originated.

Find a way to let the user use all FPC options. At the moment the user
has to know the fpc options and add them to the custom options. It
would be nice if the custom options have some tools to help here.

Fill the target OS/Processor/CPU comboboxes automatically.

Mattias




More information about the Lazarus mailing list