mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-21 07:05:58 +02:00
Implement updateMessage for Launch Config Tab
Also cleans up the description for the dialog to make it more clear it's editing a configuration. Change-Id: Ic871582d56cb1253383adfced238cf5ecedb416e
This commit is contained in:
parent
573a55c8ba
commit
3a921fdd83
2 changed files with 65 additions and 3 deletions
|
@ -9,6 +9,7 @@ import org.eclipse.debug.internal.ui.launchConfigurations.LaunchConfigurationPre
|
||||||
import org.eclipse.debug.ui.ILaunchConfigurationTab;
|
import org.eclipse.debug.ui.ILaunchConfigurationTab;
|
||||||
import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
|
import org.eclipse.debug.ui.ILaunchConfigurationTabGroup;
|
||||||
import org.eclipse.jface.dialogs.IDialogConstants;
|
import org.eclipse.jface.dialogs.IDialogConstants;
|
||||||
|
import org.eclipse.jface.dialogs.IMessageProvider;
|
||||||
import org.eclipse.jface.dialogs.TitleAreaDialog;
|
import org.eclipse.jface.dialogs.TitleAreaDialog;
|
||||||
import org.eclipse.jface.operation.IRunnableWithProgress;
|
import org.eclipse.jface.operation.IRunnableWithProgress;
|
||||||
import org.eclipse.jface.operation.ModalContext;
|
import org.eclipse.jface.operation.ModalContext;
|
||||||
|
@ -27,6 +28,7 @@ import org.eclipse.swt.events.SelectionAdapter;
|
||||||
import org.eclipse.swt.events.SelectionEvent;
|
import org.eclipse.swt.events.SelectionEvent;
|
||||||
import org.eclipse.swt.layout.GridData;
|
import org.eclipse.swt.layout.GridData;
|
||||||
import org.eclipse.swt.layout.GridLayout;
|
import org.eclipse.swt.layout.GridLayout;
|
||||||
|
import org.eclipse.swt.widgets.Button;
|
||||||
import org.eclipse.swt.widgets.Composite;
|
import org.eclipse.swt.widgets.Composite;
|
||||||
import org.eclipse.swt.widgets.Control;
|
import org.eclipse.swt.widgets.Control;
|
||||||
import org.eclipse.swt.widgets.Shell;
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
@ -203,10 +205,70 @@ public class LaunchBarLaunchConfigDialog extends TitleAreaDialog implements ILau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getTabsErrorMessage() {
|
||||||
|
ILaunchConfigurationTab activeTab = getActiveTab();
|
||||||
|
if (activeTab != null) {
|
||||||
|
String message = activeTab.getErrorMessage();
|
||||||
|
if (message != null) {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ILaunchConfigurationTab tab : getTabs()) {
|
||||||
|
if (tab != activeTab) {
|
||||||
|
String message = tab.getErrorMessage();
|
||||||
|
if (message != null) {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getTabsMessage() {
|
||||||
|
ILaunchConfigurationTab activeTab = getActiveTab();
|
||||||
|
if (activeTab != null) {
|
||||||
|
String message = activeTab.getMessage();
|
||||||
|
if (message != null) {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ILaunchConfigurationTab tab : getTabs()) {
|
||||||
|
if (tab != activeTab) {
|
||||||
|
String message = tab.getMessage();
|
||||||
|
if (message != null) {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateMessage() {
|
public void updateMessage() {
|
||||||
// TODO Auto-generated method stub
|
if (initing) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (ILaunchConfigurationTab tab : getTabs()) {
|
||||||
|
tab.isValid(workingCopy);
|
||||||
|
}
|
||||||
|
|
||||||
|
Button okButton = getButton(IDialogConstants.OK_ID);
|
||||||
|
|
||||||
|
String message = getTabsErrorMessage();
|
||||||
|
if (message != null) {
|
||||||
|
setMessage(message, IMessageProvider.ERROR);
|
||||||
|
okButton.setEnabled(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
message = getTabsMessage();
|
||||||
|
setMessage(message);
|
||||||
|
okButton.setEnabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -34,8 +34,8 @@ NoLaunchConfigType=No launch configuration type matches selected launch descript
|
||||||
CannotEditLaunchConfiguration=Cannot edit this configuration.
|
CannotEditLaunchConfiguration=Cannot edit this configuration.
|
||||||
NoLaunchModeSelected=No launch mode selected.
|
NoLaunchModeSelected=No launch mode selected.
|
||||||
NoLaunchGroupSelected=No launch group found for the current selection.
|
NoLaunchGroupSelected=No launch group found for the current selection.
|
||||||
LaunchBarLaunchConfigDialog_Edit1=Edit %s for %s
|
LaunchBarLaunchConfigDialog_Edit1=Edit configuration %s for %s
|
||||||
LaunchBarLaunchConfigDialog_Edit2=Edit %s for %s on %s
|
LaunchBarLaunchConfigDialog_Edit2=Edit configuration %s for %s on %s
|
||||||
LaunchBarLaunchConfigDialog_EditConfiguration=Edit Configuration
|
LaunchBarLaunchConfigDialog_EditConfiguration=Edit Configuration
|
||||||
LaunchBarLaunchConfigDialog_SetParameters=Set parameters for the configuration.
|
LaunchBarLaunchConfigDialog_SetParameters=Set parameters for the configuration.
|
||||||
LaunchConfigurationNotFound=Launch Configuration Not Found
|
LaunchConfigurationNotFound=Launch Configuration Not Found
|
||||||
|
|
Loading…
Add table
Reference in a new issue