1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-10 09:45:39 +02:00

Bug #175660: Build configuration toolbar button should do something

This commit is contained in:
Oleg Krasilnikov 2007-02-27 12:39:15 +00:00
parent 975547bcca
commit d9c7b670d1
6 changed files with 130 additions and 121 deletions

View file

@ -159,7 +159,8 @@ BuildConfigActionSet.label=Build Configuration
BuildConfigToolbarAction.label=Active Build Configuration
BuildConfigMenuAction.label=Active Buil&d Configuration
BuildConfigContextAction.label=Active Bui&ld Configuration
BuildConfigAction.tooltip=Change active build configuration for the current project
BuildConfigAction.tooltip=Change active build configuration for project(s)
BuildConfigAction.tooltip2=Manage configurations for the current project
ManageConfigAction.label=Manage configurations
DeleteRcConfigAction.label=Delete resource configs...

View file

@ -889,6 +889,97 @@
</extension>
<extension
point="org.eclipse.ui.actionSets">
<actionSet
label="%CSearchActionSet.label"
description="%CSearchActionSet.description"
visible="false"
id="org.eclipse.cdt.ui.SearchActionSet">
<action
label="%openCSearchPageAction.label"
icon="icons/obj16/csearch_obj.gif"
class="org.eclipse.cdt.internal.ui.search.OpenCSearchPageAction"
menubarPath="org.eclipse.search.menu/dialogGroup"
id="org.eclipse.cdt.ui.actions.OpenCSearchPage">
</action>
<action
id="org.eclipse.cdt.ui.actions.OpenType"
toolbarPath="org.eclipse.search.searchActionSet/Search"
class="org.eclipse.cdt.internal.ui.browser.opentype.OpenTypeAction"
definitionId="org.eclipse.cdt.ui.navigate.opentype"
icon="icons/etool16/opentype.gif"
helpContextId="org.eclipse.cdt.ui.open_type_action"
label="%OpenTypeAction.label"
menubarPath="navigate/open.ext2"
tooltip="%OpenTypeAction.tooltip">
</action>
<action
definitionId="org.eclipse.cdt.ui.edit.open.call.hierarchy"
id="org.eclipse.cdt.ui.actions.OpenCallHierarchy"
label="%OpenCallHierarchy.label"
menubarPath="navigate/open.ext"
retarget="true"
tooltip="%OpenCallHierarchy.tooltip">
</action>
<action
definitionId="org.eclipse.cdt.ui.edit.open.type.hierarchy"
label="%OpenTypeHierarchyAction.label"
retarget="true"
menubarPath="navigate/open.ext"
id="org.eclipse.cdt.ui.actions.OpenTypeHierarchy">
</action>
<!--action
id="org.eclipse.cdt.ui.actions.openTypeInHierarchy"
class="org.eclipse.cdt.internal.ui.browser.typehierarchy.OpenTypeInHierarchyAction"
definitionId="org.eclipse.cdt.ui.navigate.open.type.in.hierarchy"
label="%OpenTypeInHierarchyAction.label"
helpContextId="org.eclipse.cdt.ui.open_type_in_hierarchy_action"
menubarPath="navigate/open.ext2"
tooltip="%OpenTypeInHierarchyAction.tooltip">
</action-->
<menu
label="%searchMenu.label"
id="org.eclipse.search.menu">
</menu>
</actionSet>
<actionSet
description="%BuildConfigurationActionSet.descr"
id="org.eclipse.cdt.ui.buildConfigActionSet"
label="%BuildConfigActionSet.label"
visible="false">
<action
class="org.eclipse.cdt.ui.actions.ChangeBuildConfigMenuAction"
disabledIcon="icons/dlcl16/config-tool.gif"
enablesFor="+"
icon="icons/elcl16/config-tool.gif"
id="org.eclipse.cdt.ui.buildConfigToolbarAction"
label="%BuildConfigToolbarAction.label"
style="pulldown"
toolbarPath="buildConfig"
tooltip="%BuildConfigAction.tooltip2"/>
<action
class="org.eclipse.cdt.ui.actions.ChangeBuildConfigMenuAction"
enablesFor="+"
id="org.eclipse.cdt.ui.buildConfigMenuAction"
label="%BuildConfigMenuAction.label"
menubarPath="project/build"
style="pulldown"
tooltip="%BuildConfigAction.tooltip"/>
<action
class="org.eclipse.cdt.ui.actions.ManageConfigsAction"
enablesFor="+"
id="org.eclipse.cdt.ui.manageConfigsAction2"
label="%ManageConfigAction.label"
menubarPath="project/build"
/>
<action
class="org.eclipse.cdt.ui.actions.DeleteResConfigsAction"
enablesFor="+"
id="org.eclipse.cdt.ui.deleteConfigsAction2"
label="%DeleteRcConfigAction.label"
menubarPath="project/build"
/>
</actionSet>
<actionSet
label="%CElementCreationActionSet.label"
description="%CElementCreationActionSet.description"
@ -1255,110 +1346,7 @@
showScopeSection="true"
sizeHint="460, 160"/>
</extension>
<extension
point="org.eclipse.ui.actionSets">
<actionSet
label="%CSearchActionSet.label"
description="%CSearchActionSet.description"
visible="false"
id="org.eclipse.cdt.ui.SearchActionSet">
<action
label="%openCSearchPageAction.label"
icon="icons/obj16/csearch_obj.gif"
class="org.eclipse.cdt.internal.ui.search.OpenCSearchPageAction"
menubarPath="org.eclipse.search.menu/dialogGroup"
id="org.eclipse.cdt.ui.actions.OpenCSearchPage">
</action>
<action
id="org.eclipse.cdt.ui.actions.OpenType"
toolbarPath="org.eclipse.search.searchActionSet/Search"
class="org.eclipse.cdt.internal.ui.browser.opentype.OpenTypeAction"
definitionId="org.eclipse.cdt.ui.navigate.opentype"
icon="icons/etool16/opentype.gif"
helpContextId="org.eclipse.cdt.ui.open_type_action"
label="%OpenTypeAction.label"
menubarPath="navigate/open.ext2"
tooltip="%OpenTypeAction.tooltip">
</action>
<action
definitionId="org.eclipse.cdt.ui.edit.open.call.hierarchy"
id="org.eclipse.cdt.ui.actions.OpenCallHierarchy"
label="%OpenCallHierarchy.label"
menubarPath="navigate/open.ext"
retarget="true"
tooltip="%OpenCallHierarchy.tooltip">
</action>
<action
definitionId="org.eclipse.cdt.ui.edit.open.type.hierarchy"
label="%OpenTypeHierarchyAction.label"
retarget="true"
menubarPath="navigate/open.ext"
id="org.eclipse.cdt.ui.actions.OpenTypeHierarchy">
</action>
<!--action
id="org.eclipse.cdt.ui.actions.openTypeInHierarchy"
class="org.eclipse.cdt.internal.ui.browser.typehierarchy.OpenTypeInHierarchyAction"
definitionId="org.eclipse.cdt.ui.navigate.open.type.in.hierarchy"
label="%OpenTypeInHierarchyAction.label"
helpContextId="org.eclipse.cdt.ui.open_type_in_hierarchy_action"
menubarPath="navigate/open.ext2"
tooltip="%OpenTypeInHierarchyAction.tooltip">
</action-->
<menu
label="%searchMenu.label"
id="org.eclipse.search.menu">
</menu>
</actionSet>
<actionSet
description="%BuildConfigurationActionSet.descr"
id="org.eclipse.cdt.ui.buildConfigActionSet"
label="%BuildConfigActionSet.label"
visible="false">
<action
class="org.eclipse.cdt.ui.actions.ChangeBuildConfigMenuAction"
disabledIcon="icons/dlcl16/config-tool.gif"
enablesFor="+"
icon="icons/elcl16/config-tool.gif"
id="org.eclipse.cdt.ui.buildConfigToolbarAction"
label="%BuildConfigToolbarAction.label"
style="pulldown"
toolbarPath="buildConfig"
tooltip="%BuildConfigAction.tooltip"/>
<action
class="org.eclipse.cdt.ui.actions.ChangeBuildConfigMenuAction"
enablesFor="+"
id="org.eclipse.cdt.ui.buildConfigMenuAction"
label="%BuildConfigMenuAction.label"
menubarPath="project/build"
style="pulldown"
tooltip="%BuildConfigAction.tooltip"/>
<action
class="org.eclipse.cdt.ui.actions.ManageConfigsAction"
disabledIcon="icons/dlcl16/action-editconfig.gif"
enablesFor="+"
icon="icons/elcl16/action-editconfig.gif"
id="org.eclipse.cdt.ui.manageConfigsAction1"
label="%ManageConfigAction.label"
toolbarPath="buildConfig"
/>
<action
class="org.eclipse.cdt.ui.actions.ManageConfigsAction"
enablesFor="+"
id="org.eclipse.cdt.ui.manageConfigsAction2"
label="%ManageConfigAction.label"
menubarPath="project/build"
/>
<action
class="org.eclipse.cdt.ui.actions.DeleteResConfigsAction"
enablesFor="+"
id="org.eclipse.cdt.ui.deleteConfigsAction2"
label="%DeleteRcConfigAction.label"
menubarPath="project/build"
/>
</actionSet>
</extension>
<extension
point="org.eclipse.ui.actionSetPartAssociations">
<actionSetPartAssociation

View file

@ -113,3 +113,6 @@ IncludesGroupingAction.description=Group includes statements
COutlineInformationControl.viewMenu.remember.label=Remember size and position
COutlineInformationControl.viewMenu.move.label=Move outline
COutlineInformationControl.viewMenu.sort.label=Sort
ChangeBuildConfigMenuAction.title=Sorry
ChangeBuildConfigMenuAction.text=Only one project should be selected to manage configurations.

View file

@ -10,7 +10,9 @@
*******************************************************************************/
package org.eclipse.cdt.ui.actions;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.events.MenuAdapter;
import org.eclipse.swt.events.MenuEvent;
@ -19,6 +21,11 @@ import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.newui.ManageConfigDialog;
import org.eclipse.cdt.internal.ui.actions.ActionMessages;
/**
* Action which changes active build configuration of the current project
*/
@ -61,7 +68,14 @@ public class ChangeBuildConfigMenuAction extends ChangeBuildConfigActionBase imp
* @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
*/
public void run(IAction action) {
// do nothing
if (fProjects.size() == 1) {
IProject project = (IProject)fProjects.toArray(new IProject[1])[0];
ManageConfigDialog.manage(project);
} else {
MessageDialog.openInformation(CUIPlugin.getActiveWorkbenchShell(),
ActionMessages.getString("ChangeBuildConfigMenuAction.title"), //$NON-NLS-1$
ActionMessages.getString("ChangeBuildConfigMenuAction.text")); //$NON-NLS-1$
}
}
/**

View file

@ -14,14 +14,6 @@ import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.ICContainer;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICResourceDescription;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
@ -40,7 +32,16 @@ import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowPulldownDelegate2;
import org.eclipse.ui.dialogs.ListSelectionDialog;
import org.eclipse.ui.internal.WorkbenchPlugin;
import org.eclipse.cdt.core.model.CoreModel;
import org.eclipse.cdt.core.model.ICContainer;
import org.eclipse.cdt.core.model.ICElement;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.settings.model.ICConfigurationDescription;
import org.eclipse.cdt.core.settings.model.ICProjectDescription;
import org.eclipse.cdt.core.settings.model.ICResourceDescription;
import org.eclipse.cdt.ui.CUIPlugin;
import org.eclipse.cdt.ui.newui.AbstractPage;
/**
* Action which changes active build configuration of the current project to
@ -114,7 +115,7 @@ implements IWorkbenchWindowPulldownDelegate2, IObjectActionDelegate {
for (int i = 0; i < selected.length; i++) {
((ResCfgData)selected[i]).delete();
}
WorkbenchPlugin.getDefault().getDecoratorManager().updateForEnablementChange();
AbstractPage.updateViews();
}
}
}

View file

@ -406,9 +406,8 @@ implements
doneOK = true; // further pages need not to do anything
try {
CoreModel.getDefault().setProjectDescription(getProject(), prjd);
} catch (CoreException e) { }
// update views (in particular, display resource configurations)
WorkbenchPlugin.getDefault().getDecoratorManager().updateForEnablementChange();
} catch (CoreException e) { }
updateViews();
return true;
}
@ -431,8 +430,7 @@ implements
} catch (CoreException e) {
System.out.println("setProjectDescription: " + e.getLocalizedMessage()); //$NON-NLS-1$
}
// update views (in particular, display resource configurations)
WorkbenchPlugin.getDefault().getDecoratorManager().updateForEnablementChange();
updateViews();
}
};
IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(runnable);
@ -844,5 +842,9 @@ implements
else
return true; // Projects and folders are always applicable
}
// update views (in particular, display resource configurations)
public static void updateViews() {
WorkbenchPlugin.getDefault().getDecoratorManager().updateForEnablementChange();
}
}