Author: adietish
Date: 2011-01-31 09:27:12 -0500 (Mon, 31 Jan 2011)
New Revision: 28764
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/utils/DeltaCloudUIUtils.java
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/PreferencesContentProposalProvider.java
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
Log:
[JBIDE-8259] added content proposals for cloud name, cloud url, username
Modified: trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog
===================================================================
--- trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2011-01-31 14:26:32
UTC (rev 28763)
+++ trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/ChangeLog 2011-01-31 14:27:12
UTC (rev 28764)
@@ -1,3 +1,8 @@
+2011-01-31 André Dietisheim <André Dietisheim@adietisheim-thinkpad>
+
+ * src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
(createControl):
+ [JBIDE-8259] added content proposals for cloud name, cloud url, username
+
2011-01-27 André Dietisheim <André Dietisheim@adietisheim-thinkpad>
* src/org/jboss/tools/internal/deltacloud/ui/wizards/SshPrivateKeysPreferences.java
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/utils/DeltaCloudUIUtils.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/utils/DeltaCloudUIUtils.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/utils/DeltaCloudUIUtils.java 2011-01-31
14:27:12 UTC (rev 28764)
@@ -0,0 +1,44 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.internal.deltacloud.ui.utils;
+
+import org.eclipse.jface.fieldassist.ContentProposalAdapter;
+import org.eclipse.jface.fieldassist.TextContentAdapter;
+import org.eclipse.swt.events.DisposeEvent;
+import org.eclipse.swt.events.DisposeListener;
+import org.eclipse.swt.widgets.Text;
+import org.jboss.tools.deltacloud.ui.Activator;
+import
org.jboss.tools.internal.deltacloud.ui.wizards.PreferencesContentProposalProvider;
+
+/**
+ * @author André Dietisheim
+ */
+public class DeltaCloudUIUtils {
+
+ private static char[] ACTIVATION_CHARS =
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:.,-".toCharArray();
+
+ public static ContentProposalAdapter createPreferencesProposalAdapter(final Text text,
String preferencesKey) {
+ final PreferencesContentProposalProvider proposalProvider = new
PreferencesContentProposalProvider(preferencesKey, Activator.PLUGIN_ID);
+ proposalProvider.setFiltering(true);
+ text.addDisposeListener(new DisposeListener() {
+
+ @Override
+ public void widgetDisposed(DisposeEvent e) {
+ String currentValue = text.getText();
+ proposalProvider.add(currentValue);
+ proposalProvider.save();
+ }
+ });
+ ContentProposalAdapter proposalAdapter = new ContentProposalAdapter(text, new
TextContentAdapter(), proposalProvider, null, ACTIVATION_CHARS);
+ proposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapter.PROPOSAL_REPLACE);
+ return proposalAdapter;
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/utils/DeltaCloudUIUtils.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-01-31
14:26:32 UTC (rev 28763)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/CloudConnectionPage.java 2011-01-31
14:27:12 UTC (rev 28764)
@@ -66,6 +66,7 @@
import org.jboss.tools.internal.deltacloud.ui.common.swt.JFaceUtils;
import org.jboss.tools.internal.deltacloud.ui.preferences.IPreferenceKeys;
import org.jboss.tools.internal.deltacloud.ui.preferences.StringPreferenceValue;
+import org.jboss.tools.internal.deltacloud.ui.utils.DeltaCloudUIUtils;
/**
* @author Jeff Jonhston
@@ -73,6 +74,10 @@
*/
public class CloudConnectionPage extends WizardPage {
+ private static final String USERNAME_PROPOSAL_KEY = "cloud/username";
+
+ private static final String URL_PROPOSAL_KEY = "cloud/url";
+
private static final int CLOUDTYPE_CHECK_DELAY = 1000;
private static final String DESCRIPTION = "CloudConnection.desc";
//$NON-NLS-1$
@@ -329,6 +334,7 @@
Label nameLabel = new Label(container, SWT.NULL);
nameLabel.setText(WizardMessages.getString(NAME_LABEL));
Text nameText = new Text(container, SWT.BORDER | SWT.SINGLE);
+ DeltaCloudUIUtils.createPreferencesProposalAdapter(nameText, NAME_PROPOSAL_KEY());
bindName(dbc, nameText);
// url
@@ -336,7 +342,7 @@
urlLabel.setText(WizardMessages.getString(URL_LABEL));
Point p1 = urlLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT);
Text urlText = new Text(container, SWT.BORDER | SWT.SINGLE);
-
+ DeltaCloudUIUtils.createPreferencesProposalAdapter(nameText, URL_PROPOSAL_KEY);
dbc.bindValue(
WidgetProperties.text(SWT.Modify).observe(urlText),
BeanProperties.value(
@@ -361,6 +367,7 @@
Label usernameLabel = new Label(container, SWT.NULL);
usernameLabel.setText(WizardMessages.getString(USERNAME_LABEL));
Text usernameText = new Text(container, SWT.BORDER | SWT.SINGLE);
+ DeltaCloudUIUtils.createPreferencesProposalAdapter(nameText, USERNAME_PROPOSAL_KEY);
IObservableValue usernameObservable =
WidgetProperties.text(SWT.Modify).observe(usernameText);
dbc.bindValue(
usernameObservable,
@@ -480,6 +487,10 @@
setControl(container);
}
+ private String NAME_PROPOSAL_KEY() {
+ return "cloud/name";
+ }
+
/**
* Enables/Disables (credentials) test button on url validity changes.
*
Added:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/PreferencesContentProposalProvider.java
===================================================================
---
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/PreferencesContentProposalProvider.java
(rev 0)
+++
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/PreferencesContentProposalProvider.java 2011-01-31
14:27:12 UTC (rev 28764)
@@ -0,0 +1,36 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.internal.deltacloud.ui.wizards;
+
+import org.eclipse.jface.fieldassist.SimpleContentProposalProvider;
+import org.jboss.tools.internal.deltacloud.ui.preferences.StringEntriesPreferenceValue;
+
+/**
+ * @author André Dietisheim
+ */
+public class PreferencesContentProposalProvider extends SimpleContentProposalProvider {
+
+ private StringEntriesPreferenceValue preferencesValues;
+
+ public PreferencesContentProposalProvider(String preferencesKey, String pluginId) {
+ super(new String[] {});
+ this.preferencesValues = new StringEntriesPreferenceValue(",",
preferencesKey, pluginId);
+ setProposals(preferencesValues.get());
+ }
+
+ public void add(String newEntry) {
+ preferencesValues.add(newEntry);
+ }
+
+ public void save() {
+ preferencesValues.store();
+ }
+}
Property changes on:
trunk/deltacloud/plugins/org.jboss.tools.deltacloud.ui/src/org/jboss/tools/internal/deltacloud/ui/wizards/PreferencesContentProposalProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain