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

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Jun 8 12:40:20 CEST 2013


On Sat, 08 Jun 2013 10:35:40 +0100
Martin <lazarus at mfriebe.de> wrote:

>[...]
> In the light of this, maybe a few ideas.
> 
> The new grid is indeed an advantaged page. A concept that already exists 
> for the editor-mouse-setings. A page normally hidden, by a page offering 
> a few pre-defined defaults.

It seems you mix two concepts of advantaged page here.
AFAIK the editor-mouse-settings is rarely used. It is not rocket
science, but it is used so seldom, that you quickly forget how it
worked and you have to learn it again on every use.

If a user uses the features of the 'Additions and Overrides', he will
probably use it as often as the other compiler option pages. Very
likely more often than the 'messages' and the 'verbosity' page.
So it is more like 'class helpers' or enumerators. Some people
avoid them, some use them often.

 
> 1) Maybe the entire grid, should be in the build-mode dialod (the 
> dial[og that pops up on top of the options, if the [...] next to the 
> dropdown is pressed). That dialog would then need several pages too.
> Yes, I know, it highlights the "current b.m." and therefore makes use of 
> the drop down. But that is not important....
> On the other hand, if a simplified (see 3) page exists, then this could 
> be nested as a sub-page)
> 
> 2) It will become a bit (a tiny bit) more clear, if there are 
> pre-defined build mode (debug/release). But that is a drop in the ocean.

Michael's point was that casual/normal users do not want build modes at
all.

 
> 3) Having pre defined buildmodes, there could be a simplified page, with 
> common options (like the mouse opts). Those would probably all be stored 
> in the lpi (the place I guess beginners would expect it, as all the 
> other options go there too). So there could be things (all acting o the 
> currunt B.M>, as do all other chek-boxes)) like:
> - add/strip debug to/from ALL packages
> - set optimization (0..3) to all packages
> - define ( -dSYMBOL) for all packages
> - set option for all packages

If you mean adding all the compiler options pages in the
environment options: -1


> - modify out-dir for all packages (maybe this should be automated, using 
> the build mode name, or some unique id derived from it)
> 
> Not sure, maybe, instead of "all packages" the user can select.

Can? Must! Some packages need their fixed output directories.

 
> like the mouse-opts, this would create the correct advanced settings. 
> (Though in the xml, it is stored as the 2pre defined setting)
> 
> One thing this can do, is it can force setting on packages. This can not 
> be (easily) done with the other options.

Forcing arbitrary options on packages is dangerous. The GUI should not
invite to do such things. The new page allows this, but the comments
in this long thread made me confident that normal users will think
twice before using it.
Dangerous options should be hard to set.

 
> --------------------
> On that matter, I am not sure, if the IDE-macro page should be advanced too.

Yes. At the moment it contains the conditionals and the exported IDE
macros. 
Maybe the conditionals should be moved to 'Other'.
And maybe the exported IDE macros could be moved to the package usage
options.

Mattias




More information about the Lazarus mailing list