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


Reply via email to