You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2014/06/04 21:41:08 UTC
svn commit: r1600470 - in /sling/trunk/tooling/ide/eclipse-ui: ./ META-INF/
src/org/apache/sling/ide/eclipse/ui/internal/
src/org/apache/sling/ide/eclipse/ui/propertyPages/
Author: rombert
Date: Wed Jun 4 19:41:08 2014
New Revision: 1600470
URL: http://svn.apache.org/r1600470
Log:
SLING-3031 - [Tooling] add whitelabel support for slingclipse
Allow overriding the property page to show for Sling projects.
Added:
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java (contents, props changed)
- copied, changed from r1600324, sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SlingProjectPropertyPage.java
Removed:
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SlingProjectPropertyPage.java
Modified:
sling/trunk/tooling/ide/eclipse-ui/META-INF/MANIFEST.MF
sling/trunk/tooling/ide/eclipse-ui/plugin.xml
sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizardPage.java
Modified: sling/trunk/tooling/ide/eclipse-ui/META-INF/MANIFEST.MF
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/META-INF/MANIFEST.MF?rev=1600470&r1=1600469&r2=1600470&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/META-INF/MANIFEST.MF (original)
+++ sling/trunk/tooling/ide/eclipse-ui/META-INF/MANIFEST.MF Wed Jun 4 19:41:08 2014
@@ -90,4 +90,5 @@ Require-Bundle: org.eclipse.wst.common.p
Service-Component: OSGI-INF/*.xml
Export-Package: org.apache.sling.ide.eclipse.ui,
org.apache.sling.ide.eclipse.ui.internal;x-friends:="org.apache.sling.ide.eclipse-test",
+ org.apache.sling.ide.eclipse.ui.propertyPages,
org.apache.sling.ide.eclipse.ui.wizards
Modified: sling/trunk/tooling/ide/eclipse-ui/plugin.xml
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/plugin.xml?rev=1600470&r1=1600469&r2=1600470&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/plugin.xml (original)
+++ sling/trunk/tooling/ide/eclipse-ui/plugin.xml Wed Jun 4 19:41:08 2014
@@ -169,7 +169,7 @@
<page
id="org.apache.sling.ide.projectPropertyPage"
name="Sling"
- class="org.apache.sling.ide.eclipse.ui.internal.SlingProjectPropertyPage">
+ class="org.apache.sling.ide.eclipse.ui.propertyPages.SlingProjectPropertyPage">
<enabledWhen>
<and>
<instanceof
Modified: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizardPage.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizardPage.java?rev=1600470&r1=1600469&r2=1600470&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizardPage.java (original)
+++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ImportWizardPage.java Wed Jun 4 19:41:08 2014
@@ -19,6 +19,7 @@ package org.apache.sling.ide.eclipse.ui.
import org.apache.sling.ide.eclipse.core.ProjectUtil;
import org.apache.sling.ide.eclipse.core.internal.ProjectHelper;
+import org.apache.sling.ide.eclipse.ui.propertyPages.SlingProjectPropertyPage;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
@@ -28,7 +29,6 @@ import org.eclipse.core.resources.IWorks
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
@@ -45,7 +45,6 @@ import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.dialogs.ContainerSelectionDialog;
import org.eclipse.ui.dialogs.ISelectionValidator;
-import org.eclipse.ui.dialogs.PreferencesUtil;
import org.eclipse.ui.dialogs.WizardDataTransferPage;
import org.eclipse.wst.server.core.IServer;
@@ -202,10 +201,8 @@ public class ImportWizardPage extends Wi
openPropertiesLink.setText("(<a>change</a>)");
openPropertiesLink.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
- PreferenceDialog dialog = PreferencesUtil.createPropertyDialogOn(getShell(), project,
- "org.apache.sling.ide.projectPropertyPage",
- new String[] {"org.apache.sling.ide.projectPropertyPage"}, null);
- dialog.open();
+
+ SlingProjectPropertyPage.openPropertyDialog(getShell(), project);
updateWidgetEnablements();
}
});
Copied: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java (from r1600324, sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SlingProjectPropertyPage.java)
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java?p2=sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java&p1=sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SlingProjectPropertyPage.java&r1=1600324&r2=1600470&rev=1600470&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SlingProjectPropertyPage.java (original)
+++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java Wed Jun 4 19:41:08 2014
@@ -1,10 +1,15 @@
-package org.apache.sling.ide.eclipse.ui.internal;
+package org.apache.sling.ide.eclipse.ui.propertyPages;
+
+import java.util.List;
import org.apache.sling.ide.eclipse.core.ProjectUtil;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.preference.IPreferenceNode;
+import org.eclipse.jface.preference.PreferenceDialog;
+import org.eclipse.jface.preference.PreferenceManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
@@ -16,13 +21,43 @@ import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.dialogs.ContainerSelectionDialog;
import org.eclipse.ui.dialogs.ISelectionValidator;
+import org.eclipse.ui.dialogs.PreferencesUtil;
import org.eclipse.ui.dialogs.PropertyPage;
+import org.eclipse.ui.internal.dialogs.PropertyPageContributorManager;
+import org.eclipse.ui.internal.dialogs.PropertyPageManager;
public class SlingProjectPropertyPage extends PropertyPage {
+ private static final String PAGE_ID = "org.apache.sling.ide.projectPropertyPage";
+ private static final String PAGE_ID_OVERRIDE = PAGE_ID + ".override";
+
+ public static void openPropertyDialog(Shell shell, IProject project) {
+
+ // find out if the override page is contributed, and show that instead of the default one
+ // TODO - stop relying on internals
+
+ PropertyPageManager pageManager = new PropertyPageManager();
+ PropertyPageContributorManager.getManager().contribute(pageManager, project);
+
+ List<?> nodes = pageManager.getElements(PreferenceManager.PRE_ORDER);
+ boolean overridePresent = false;
+ for (Object node : nodes) {
+ if (((IPreferenceNode) node).getId().equals(PAGE_ID_OVERRIDE)) {
+ overridePresent = true;
+ break;
+ }
+ }
+
+ String pageId = overridePresent ? PAGE_ID_OVERRIDE : PAGE_ID;
+
+ PreferenceDialog dialog = PreferencesUtil.createPropertyDialogOn(shell, project,
+ pageId, new String[] { pageId }, null);
+ dialog.open();
+ }
private Text folderText;
Propchange: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/propertyPages/SlingProjectPropertyPage.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision Rev URL