You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2013/08/28 17:02:21 UTC

svn commit: r1518236 - in /sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal: ServersActionModeFiddlerActionDelegate.java SharedImages.java connectOverlay.png

Author: stefanegli
Date: Wed Aug 28 15:02:21 2013
New Revision: 1518236

URL: http://svn.apache.org/r1518236
Log:
SLING-3033 : for externally started/controlled launchpads, try to adjust the icons in the servers view, so that eg the 'stop' button looks rather more like a 'disconnect' button (to avoid user confusion)

Added:
    sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ServersActionModeFiddlerActionDelegate.java   (with props)
    sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/connectOverlay.png   (with props)
Modified:
    sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SharedImages.java

Added: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ServersActionModeFiddlerActionDelegate.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ServersActionModeFiddlerActionDelegate.java?rev=1518236&view=auto
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ServersActionModeFiddlerActionDelegate.java (added)
+++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ServersActionModeFiddlerActionDelegate.java Wed Aug 28 15:02:21 2013
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.sling.ide.eclipse.ui.internal;
+
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.util.IPropertyChangeListener;
+import org.eclipse.jface.util.PropertyChangeEvent;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+/** prototype for changing icons and tooltip in the wst servers view - tbd properly **/
+public class ServersActionModeFiddlerActionDelegate implements
+		IViewActionDelegate {
+
+	private IActionBars actionBars;
+	private IViewPart view;
+	private IPropertyChangeListener runTooltipListener;
+	private IPropertyChangeListener debugTooltipListener;
+	private IPropertyChangeListener disconnectTooltipListener;
+
+	@Override
+	public void run(IAction action) {
+
+	}
+
+	@Override
+	public void selectionChanged(IAction action, ISelection selection) {
+		action.setEnabled(true);
+		final IAction serverRunAction = actionBars.getGlobalActionHandler("org.eclipse.wst.server.run");
+		final IAction serverDebugAction = actionBars.getGlobalActionHandler("org.eclipse.wst.server.debug");
+		IAction stopRunAction = actionBars.getGlobalActionHandler("org.eclipse.wst.server.stop");
+		if (serverRunAction==null || stopRunAction==null || serverDebugAction==null) {
+			return;
+		}
+//		serverRunAction.setHoverImageDescriptor(SharedImages.SLING_LOG);
+		serverRunAction.setHoverImageDescriptor(SharedImages.RUN_CONNECT);
+		serverDebugAction.setHoverImageDescriptor(SharedImages.DEBUG_CONNECT);
+		stopRunAction.setHoverImageDescriptor(SharedImages.DISCONNECT);
+		
+		final String runText = "Connect to server in run mode";
+		if (runTooltipListener==null) {
+			runTooltipListener = new IPropertyChangeListener() {
+				
+				@Override
+				public void propertyChange(PropertyChangeEvent event) {
+					if (event.getProperty().equals(IAction.TOOL_TIP_TEXT) ) {
+						if (!event.getNewValue().equals(runText)) {
+							serverRunAction.setToolTipText(runText);
+						}
+					}
+				}
+			};
+			serverRunAction.addPropertyChangeListener(runTooltipListener);
+		}
+		final String debugText = "Connect to server in debug mode";
+		if (debugTooltipListener==null) {
+			debugTooltipListener = new IPropertyChangeListener() {
+				
+				@Override
+				public void propertyChange(PropertyChangeEvent event) {
+					if (event.getProperty().equals(IAction.TOOL_TIP_TEXT)) {
+						if (!event.getNewValue().equals(debugText)) {
+							serverDebugAction.setToolTipText(debugText);
+						}
+					}
+				}
+			};
+			serverDebugAction.addPropertyChangeListener(debugTooltipListener);
+		}
+		final String disconnectText = "Disconnect from server";
+		if (disconnectTooltipListener==null) {
+			disconnectTooltipListener = new IPropertyChangeListener() {
+				
+				@Override
+				public void propertyChange(PropertyChangeEvent event) {
+					if (event.getProperty().equals(IAction.TOOL_TIP_TEXT)) {
+						if (!event.getNewValue().equals(disconnectText)) {
+							serverRunAction.setToolTipText(disconnectText);
+						}
+					}
+				}
+			};
+			stopRunAction.addPropertyChangeListener(disconnectTooltipListener);
+		}
+		
+		serverRunAction.setToolTipText(runText);
+		serverDebugAction.setToolTipText(debugText);
+		stopRunAction.setToolTipText(disconnectText);
+		
+	}
+
+	@Override
+	public void init(IViewPart view) {
+		this.view = view;
+		actionBars = view.getViewSite().getActionBars();
+	}
+
+}

Propchange: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/ServersActionModeFiddlerActionDelegate.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SharedImages.java
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SharedImages.java?rev=1518236&r1=1518235&r2=1518236&view=diff
==============================================================================
--- sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SharedImages.java (original)
+++ sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/SharedImages.java Wed Aug 28 15:02:21 2013
@@ -16,16 +16,25 @@
  */
 package org.apache.sling.ide.eclipse.ui.internal;
 
+import org.eclipse.debug.internal.ui.DebugPluginImages;
+import org.eclipse.debug.ui.IDebugUIConstants;
 import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.DecorationOverlayIcon;
+import org.eclipse.jface.viewers.IDecoration;
 
 /**
  * The <tt>SharedImages</tt> class contains references to images
  * 
  */
+@SuppressWarnings("restriction")
 public final class SharedImages {
     
     public static final ImageDescriptor SLING_LOG = ImageDescriptor.createFromFile(SharedImages.class, "sling-logo.png");
     public static final ImageDescriptor SLING_ICON = ImageDescriptor.createFromFile(SharedImages.class, "sling.gif");
+    
+    public static final ImageDescriptor DISCONNECT = DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_LCL_DISCONNECT);
+    public static final ImageDescriptor RUN_CONNECT = new DecorationOverlayIcon(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_RUN).createImage(), ImageDescriptor.createFromFile(SharedImages.class, "connectOverlay.png"), IDecoration.BOTTOM_RIGHT);
+    public static final ImageDescriptor DEBUG_CONNECT = new DecorationOverlayIcon(DebugPluginImages.getImageDescriptor(IDebugUIConstants.IMG_ACT_DEBUG).createImage(), ImageDescriptor.createFromFile(SharedImages.class, "connectOverlay.png"), IDecoration.BOTTOM_RIGHT);
 
     private SharedImages() {
     }

Added: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/connectOverlay.png
URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/connectOverlay.png?rev=1518236&view=auto
==============================================================================
Binary file - no diff available.

Propchange: sling/trunk/tooling/ide/eclipse-ui/src/org/apache/sling/ide/eclipse/ui/internal/connectOverlay.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream