[yocto] [RFC v2 18/18] plugins/sdk.ide: Moved save as button to bottom of preference page

Timo Mueller mail at timomueller.eu
Wed Jan 30 05:56:42 PST 2013


From: Timo Mueller <timo.mueller at bmw-carit.de>


Signed-off-by: Timo Mueller <timo.mueller at bmw-carit.de>
---
 .../src/org/yocto/sdk/ide/YoctoProfileSetting.java  | 18 ------------------
 .../sdk/ide/preferences/YoctoSDKPreferencePage.java | 21 +++++++++++++++++++++
 2 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java
index 738dba7..c9c8f4e 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/YoctoProfileSetting.java
@@ -31,7 +31,6 @@ import org.yocto.sdk.ide.preferences.YoctoSDKPreferencePage;
 
 public class YoctoProfileSetting {
 	private static final String PROFILES_TITLE = "Preferences.Profiles.Title";
-	private static final String NEW_PROFILE_TITLE = "Preferences.Profile.New.Title";
 	private static final String RENAME_PROFILE_TITLE = "Preferences.Profile.Rename.Title";
 	private static final String RENAME_DIALOG_TITLE = "Preferences.Profile.Rename.Dialog.Title";
 	private static final String RENAME_DIALOG_MESSAGE = "Preferences.Profile.Rename.Dialog.Message";
@@ -44,7 +43,6 @@ public class YoctoProfileSetting {
 	private Combo sdkConfigsCombo;
 	private Button btnConfigRename;
 	private Button btnConfigRemove;
-	private Button btnConfigSaveAs;
 
 	private YoctoProfileElement profileElement;
 	private PreferencePage preferencePage;
@@ -98,27 +96,12 @@ public class YoctoProfileSetting {
 		sdkConfigsCombo.addListener(SWT.Selection, selectionListener);
 		sdkConfigsCombo.addListener(SWT.Modify, selectionListener);
 
-		createSaveAsProfileButton(storeYoctoConfigurationsGroup);
 		createRenameButton(storeYoctoConfigurationsGroup);
 		createRemoveButton(storeYoctoConfigurationsGroup);
 	}
 
-	private void createSaveAsProfileButton(Group storeYoctoConfigurationsGroup) {
-		btnConfigSaveAs = new Button(storeYoctoConfigurationsGroup, SWT.PUSH | SWT.LEAD);
-		btnConfigSaveAs.setText(YoctoSDKMessages.getString(NEW_PROFILE_TITLE));
-		btnConfigSaveAs.addMouseListener(new MouseAdapter() {
-			@Override
-			public void mouseDown(MouseEvent e) {
-				if (preferencePage instanceof YoctoSDKPreferencePage) {
-					((YoctoSDKPreferencePage) preferencePage).performSaveAs();
-				}
-			}
-		});
-	}
-
 	private void createRemoveButton(Group storeYoctoConfigurationsGroup) {
 		btnConfigRemove = new Button(storeYoctoConfigurationsGroup, SWT.PUSH | SWT.LEAD);
-		btnConfigRemove.setLayoutData(new GridData(SWT.RIGHT, SWT.TOP, true, false, 3, 1));
 		btnConfigRemove.setText(YoctoSDKMessages.getString(REMOVE_PROFILE_TITLE));
 		btnConfigRemove.addMouseListener(new MouseAdapter() {
 			@Override
@@ -224,6 +207,5 @@ public class YoctoProfileSetting {
 	public void setButtonsEnabledState(boolean isEnabled) {
 		btnConfigRename.setEnabled(isEnabled);
 		btnConfigRemove.setEnabled(isEnabled);
-		btnConfigSaveAs.setEnabled(isEnabled);
 	}
 }
diff --git a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java
index fb015ab..1d6188b 100644
--- a/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java
+++ b/plugins/org.yocto.sdk.ide/src/org/yocto/sdk/ide/preferences/YoctoSDKPreferencePage.java
@@ -16,6 +16,10 @@ import org.eclipse.jface.dialogs.InputDialog;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MouseAdapter;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.ui.IWorkbench;
@@ -32,11 +36,13 @@ import org.yocto.sdk.ide.YoctoUISetting;
 
 public class YoctoSDKPreferencePage extends PreferencePage implements IWorkbenchPreferencePage {
 
+	private static final String NEW_PROFILE_TITLE = "Preferences.Profile.New.Title";
 	private static final String NEW_DIALOG_TITLE = "Preferences.Profile.New.Dialog.Title";
 	private static final String NEW_DIALOG_MESSAGE = "Preferences.Profile.New.Dialog.Message";
 
 	private YoctoProfileSetting yoctoProfileSetting;
 	private YoctoUISetting yoctoUISetting;
+	private Button btnConfigSaveAs;
 
 	public YoctoSDKPreferencePage() {
 		//super(GRID);
@@ -80,8 +86,23 @@ public class YoctoSDKPreferencePage extends PreferencePage implements IWorkbench
 			System.out.println(e.getMessage());
 			return result;
 		}
+	}
 
+	@Override
+	protected void contributeButtons(Composite parent) {
+		((GridLayout) parent.getLayout()).numColumns++;
+
+		btnConfigSaveAs = new Button(parent, SWT.PUSH);
+		btnConfigSaveAs.setText(YoctoSDKMessages.getString(NEW_PROFILE_TITLE));
+		setButtonLayoutData(btnConfigSaveAs);
+		btnConfigSaveAs.addMouseListener(new MouseAdapter() {
+			@Override
+			public void mouseDown(MouseEvent event) {
+				performSaveAs();
+			}
+		});
 	}
+
 	/*
 	 * @see IPreferencePage#performOk()
 	 */
-- 
1.7.11.7




More information about the yocto mailing list