Luiz Americo Pereira Camara wrote:
Mattias Gaertner wrote:
Yes, it is discussed from time to time.
It is definitely planned. It is mainly a GUI problem.
Perhaps it would be a good idea to start a wiki and collect some case
studies, so the GUI designers know, what the GUI should manage and what
not.

Here's two cases where i need similar features:

1) Make possibly to define a package requirement as optional (Should be available both to package and program). Concrete situation: VirtualTreeView requires multilog package to help debug code. In a release is not desired to have such dependency. Currently in the release is necessary to remove the dependency from the package, and then add again to reenable debugging. An idea is to have groups of conditional requirements. Each group would have a define value associated to be used at compile time (e.g: 'DEBUG_CODE') and child packages. Each group would have a enabled flag. If enabled flag is set, the child packages are added as requirements and the define value used at compile time.

A more generic approach is to have "define triggers" for each group. As an example in a conditional group you could add the trigger: LCLWin32. In this case that group will run only when LCLWin32 is defined (the IDE does it automatically for win32). This would help in case 2. It could be valid for user defines also set at compiler options (eg DEBUG_CODE)

2)Make units packages/projects optional according to widgetset.
Concrete situation: LCL extensions package has a unit (OleUtils) that implements TOLEStream. It only makes sense in win32. Currently the unit is added in all widgetsets but all code is wrapped around a ifdef Windows define so is seen as a dummy unit in other widgetsets.


Luiz

_________________________________________________________________
    To unsubscribe: mail [EMAIL PROTECTED] with
               "unsubscribe" as the Subject
  archives at http://www.lazarus.freepascal.org/mailarchives

Reply via email to