Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 182450 - allow changing settings for multimple configs simultaneously via UI and API
Summary: allow changing settings for multimple configs simultaneously via UI and API
Status: RESOLVED FIXED
Alias: None
Product: CDT
Classification: Tools
Component: cdt-core (show other bugs)
Version: 4.0   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: 5.0   Edit
Assignee: Oleg Krasilnikov CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 44760 45404 (view as bug list)
Depends on: 22261
Blocks: 44760 45404
  Show dependency tree
 
Reported: 2007-04-15 08:17 EDT by Jean-Denis Boudreault CLA
Modified: 2008-02-20 11:35 EST (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jean-Denis Boudreault CLA 2007-04-15 08:17:56 EDT
Hi,

it would be nice to add a choice "all" in the configuration dropdown in the project properties. currently, we can select only one configuration at a time. modifications made to this configuration are not applied to the others and must be replicated manually. it would be nice to have an option to affect all configurations when making changes, which would display the common denominators in the options between all configurations.

visual studio has this option and its pretty useful.

thanks!
Comment 1 Oleg Krasilnikov CLA 2007-04-16 04:21:56 EDT
Ability to process "all" or "selected" configurations
has been discussed while new project model presentation.
In fact, means to select several configs are implemented.

But the main problem in UI is unability to display 3-state
checkboxes ! SWT does not support them. Of course, it can
be implemented on Windows (see ancient bug #22261), but not
on all Eclipse platforms ! That's why property pages cannot
be adequately displayed for all- or selected-configurations.

We are tracking this problem, but it cannot be fixed in 4.0.
Comment 2 Jean-Denis Boudreault CLA 2007-04-16 11:28:00 EDT
hello, i understand.

just to brainstorm here, is it possible to bypass this problem by using other controls who would work just as fine?  for example, a small dropdown that would allow to set "True" or "False" (and of course the third state empty)? or perhaps radio buttons? or a new control (composite) made with a check box with the third state added using some form of disabling of the control (graying)?

hope this helps,  thanks!
Comment 3 Oleg Krasilnikov CLA 2007-04-17 05:12:31 EDT
Nice idea.
One of the ways to implememt multi-cfg apart from SWT.

I am almost sure that it will be taken into account...
but after 4.0. 
Sorry.
Comment 4 Oleg Krasilnikov CLA 2007-04-27 05:07:29 EDT
TriButton control is added to org.eclipse.cdt.ui.new 
according to proposal by Jean-Denis Boudreault.
Comment 5 Mikhail Sennikovsky CLA 2007-08-10 10:45:51 EDT
I guess we will need to implement this form the core part.. It would be good to have an API allowing to change settings for multiple configurations simultaneously.. reassigning to myself
Comment 6 Oleg Krasilnikov CLA 2007-11-22 08:58:28 EST
Reassingning, since MS has other activities. 
Comment 7 Oleg Krasilnikov CLA 2007-12-11 12:21:14 EST
Hi all.

I've added to HEAD a code which supports multi-configuration edit.
Note, this functionality is pure experimental now. 

By default, multi-config feature is disabled, and should not affect
existing properties at all. The main reason why I've committed this
code now, is to be sure that existing features are not broken. 
Everything should work as before in Properties pages.

But, if you need more troubles, you can go to Eclipse Preferences,
C/C++ -> Property pages settings -> Multiple Configurations edit.
Check "Enable multiple configuration setting" box. Press <OK>.

After this, configuration selection combo on Property pages will
contain "[All configurations]". Selection of this item, and further 
properties edit, would affect all configurations in the project.

If some property pages and tabs cannot work in this mode, they
are made blank. The sample is Discovery or References tabs.

I know that there are a lot of bugs and misses in this feature.
Known problems:
- 3-state buttons are not really 3-state; they behave like usual
  "yes-no" checkbox now.
- 2 kinds of string list saving (see Prefs page, "Write mode")
  are not implemented yet. Really, "Paths&Symbols" are saved in
  "overwrite" mode (the displayed list would overwrite whole
  lists in all configurations), while "Environment" and "Build 
  Vars" tabs use "modification" mode (add/delete/edit separate 
  items in all cfgs, and do not touch others). In future, both
  methods should be implemented for all affected tabs.
- edit "Selected configurations" (for example, 2 of existing 3)
  is not implemented yet. The main reason: need to discuss "life
  cycle" of the selection. Should it be "single use" selection,
  reset after Property pages are closed ? Or we can create some
  named, persistent config sets (for ex., "All Debug configs") ?
  Actions after configs deletion ? And so on.
- Some debug messages are sent to console. 

Please let me know about other troubles with multi-config.

Thanks.

 



Comment 8 Oleg Krasilnikov CLA 2008-01-28 03:11:02 EST
*** Bug 44760 has been marked as a duplicate of this bug. ***
Comment 9 Oleg Krasilnikov CLA 2008-01-30 06:56:14 EST
Current status:
- 3-state checkboxes are available, but not all property tabs use 
  them now.
- selected-configuration edit is implemented on a nameless basis:
  user selects 2 or more configurations, this selection persists 
  while property dialog is open and user has not selected another
  configuration from list. 
- debug messages are mostly eliminated.

Known problems:
- String list saving was not changed since previous message.
- Disabled (in multi-config mode) property pages are empty,
  user may be confused. We need either hide them or provide 
  appropriate message.
- Some checkboxes and combos are to be made multicfg-aware.

Comment 10 Oleg Krasilnikov CLA 2008-02-08 12:06:06 EST
Code update made before M5.

Changes are:
------------
- Display string list modes: "Empty" is discarded.
  Reason: inconsistent behaviour - when user adds
  element, it will not be shown immediately, since
  different other elements force list to be empty.

- String list modes (for Display and Write) are
  fully supported now in Environment, Build Vars
  and Includes&Symbols pages. Current modes are
  indicated on each affected tab, they can be 
  changed by simple double-click. It affects
  corresponding settings on Preferences page.

- Tools settings tab: some bugs fixed in relation 
  to multi-config support

- Tabs which do not support multi-config contain
  corresponding warning now, to avoid user confuse.

- All checkboxes support 3-state. This feature will
  be available just after Eclipse platform update
  (use one of latest stream builds or, in future, 
  M5). No need to change CDT: current code detects 
  this feature availability.

Further planned updates:
------------------------
- for text edit fields, provide combo box with values
  available in all affected configurations, if they 
  are different.

- bug fix.

Known limitations:
------------------
- some property tabs are not supported because their 
  contents is too config-specific. No plans for them:
  -- Discovery options
  -- Tool chain editor
  -- References tree
  -- Export tabs

- In Tool settings tab, the list of tools (to be shown
  in multi-cfg mode) is got from Active configuration,
  since there's no correct way to merge tools lists.
  If there's no Active configuration among selected 
  ones, arbitrary config is used instead.



Comment 11 Oleg Krasilnikov CLA 2008-02-14 10:55:34 EST
*** Bug 45404 has been marked as a duplicate of this bug. ***
Comment 12 Oleg Krasilnikov CLA 2008-02-20 07:33:55 EST
Functionality is implemented, in general.
Further updates and enchancements are to
be tracked by separate bugs.