Author: fmancinelli
Date: 2007-11-01 20:11:06 +0100 (Thu, 01 Nov 2007)
New Revision: 5599

Added:
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/show-editor-preview.gif
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/views/XWikiPagePreviewView.java
Removed:
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/maximize-editor.gif
Modified:
   xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/plugin.xml
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/XWikiEclipseConstants.java
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageDocumentProvider.java
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditor.java
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditorContributor.java
Log:
XECLIPSE-30

* Added a preview view

Deleted: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/maximize-editor.gif
===================================================================
(Binary files differ)

Copied: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/show-editor-preview.gif
 (from rev 5598, 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/maximize-editor.gif)
===================================================================
(Binary files differ)

Modified: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/plugin.xml
===================================================================
--- xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/plugin.xml   
2007-11-01 17:31:06 UTC (rev 5598)
+++ xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/plugin.xml   
2007-11-01 19:11:06 UTC (rev 5599)
@@ -40,6 +40,12 @@
             id="org.xwiki.xeclipse.views.XWikiExplorer"
             name="XWiki explorer">
       </view>
+      <view
+            category="XWiki"
+            class="org.xwiki.xeclipse.views.XWikiPagePreviewView"
+            id="org.xwiki.xeclipse.views.XWikiPagePreview"
+            name="XWiki preview">
+      </view>
    </extension>
    <extension
          point="org.eclipse.ui.perspectiveExtensions">

Modified: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/XWikiEclipseConstants.java
===================================================================
--- 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/XWikiEclipseConstants.java
  2007-11-01 17:31:06 UTC (rev 5598)
+++ 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/XWikiEclipseConstants.java
  2007-11-01 19:11:06 UTC (rev 5599)
@@ -14,5 +14,5 @@
     public static final String XWIKI_PAGE_ICON = "icons/xwiki-page.png";
     public static final String XWIKI_PAGE_CACHED_ICON = 
"icons/xwiki-page-cached.png";
     public static final String XWIKI_PAGE_CONFLICT_ICON = 
"icons/xwiki-page-conflict.png";
-    public static final String MAXIMIZE_EDITOR_ICON = 
"icons/maximize-editor.gif";  
+    public static final String SHOW_EDITOR_PREVIEW_ICON = 
"icons/show-editor-preview.gif";  
 }

Modified: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageDocumentProvider.java
===================================================================
--- 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageDocumentProvider.java
      2007-11-01 17:31:06 UTC (rev 5598)
+++ 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageDocumentProvider.java
      2007-11-01 19:11:06 UTC (rev 5599)
@@ -10,6 +10,8 @@
 import org.eclipse.jface.text.IDocumentPartitioner;
 import org.eclipse.jface.text.rules.FastPartitioner;
 import org.eclipse.jface.text.source.IAnnotationModel;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.editors.text.StorageDocumentProvider;
 import org.eclipse.ui.texteditor.AbstractDocumentProvider;
 import org.xwiki.plugins.eclipse.XWikiEclipsePlugin;

Modified: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditor.java
===================================================================
--- 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditor.java
        2007-11-01 17:31:06 UTC (rev 5598)
+++ 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditor.java
        2007-11-01 19:11:06 UTC (rev 5599)
@@ -1,10 +1,6 @@
 package org.xwiki.xeclipse.editors;
 
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.IToolBarManager;
 import org.eclipse.jface.layout.GridDataFactory;
 import org.eclipse.jface.layout.GridLayoutFactory;
 import org.eclipse.jface.resource.JFaceResources;
@@ -15,7 +11,6 @@
 import org.eclipse.swt.custom.StackLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.IActionBars;
 import org.eclipse.ui.forms.widgets.Form;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.texteditor.AbstractTextEditor;
@@ -34,16 +29,16 @@
     private Composite notConnectedLabelComposite;
     private Browser browser;
             
-    private class MaximizeEditorAction extends Action {
-        public MaximizeEditorAction() {           
-            super("Maximize editor", AS_CHECK_BOX);        
-            
setImageDescriptor(XWikiEclipsePlugin.getImageDescriptor(XWikiEclipseConstants.MAXIMIZE_EDITOR_ICON));
+    private class ShowPreviewAction extends Action {
+        public ShowPreviewAction() {           
+            super("Show preview", AS_CHECK_BOX);        
+            
setImageDescriptor(XWikiEclipsePlugin.getImageDescriptor(XWikiEclipseConstants.SHOW_EDITOR_PREVIEW_ICON));
             setChecked(false);
         }
 
         @Override
         public void run() {
-            if(!isChecked()) {
+            if(isChecked()) {
                 sashForm.setMaximizedControl(null);
             }
             else {
@@ -67,7 +62,7 @@
         FormToolkit toolkit = new FormToolkit(parent.getDisplay());
         form = toolkit.createForm(parent);                        
         toolkit.decorateFormHeading(form);
-        form.getToolBarManager().add(new MaximizeEditorAction());  
+        form.getToolBarManager().add(new ShowPreviewAction());  
         form.updateToolBar();
         GridLayoutFactory.fillDefaults().applyTo(form.getBody());
         
@@ -92,6 +87,7 @@
         browser = new Browser(previewAreaComposite, SWT.NONE);        
                
         sashForm.setWeights(new int[] {50, 50});
+        sashForm.setMaximizedControl(sashForm.getChildren()[0]);
                 
         updateEditor(xwikiPage);
     }        

Modified: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditorContributor.java
===================================================================
--- 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditorContributor.java
     2007-11-01 17:31:06 UTC (rev 5598)
+++ 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/editors/XWikiPageEditorContributor.java
     2007-11-01 19:11:06 UTC (rev 5599)
@@ -44,7 +44,7 @@
         action = getAction(editor, ITextEditorActionConstants.PASTE);
         actionBars.setGlobalActionHandler(action.getActionDefinitionId(), 
action);
 
-        actionBars.updateActionBars();
+        actionBars.updateActionBars();               
     }
 
 }

Added: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/views/XWikiPagePreviewView.java
===================================================================
--- 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/views/XWikiPagePreviewView.java
                             (rev 0)
+++ 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/src/main/java/org/xwiki/xeclipse/views/XWikiPagePreviewView.java
     2007-11-01 19:11:06 UTC (rev 5599)
@@ -0,0 +1,100 @@
+package org.xwiki.xeclipse.views;
+
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.layout.GridLayoutFactory;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.custom.StackLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.part.ViewPart;
+import org.xwiki.xeclipse.model.IXWikiPage;
+import org.xwiki.xeclipse.utils.XWikiEclipseUtil;
+
+public class XWikiPagePreviewView extends ViewPart implements 
ISelectionListener
+{
+    public static final String ID = 
"org.xwiki.xeclipse.views.XWikiPagePreview";
+    private Composite composite;
+    private StackLayout stackLayout;
+    private Browser browser;
+    private Composite notConnectedComposite;
+    private Composite noPageSelectedComposite;
+    
+    @Override
+    public void createPartControl(Composite parent)
+    {
+        composite = new Composite(parent, SWT.NONE);
+        stackLayout = new StackLayout();
+        composite.setLayout(stackLayout);
+        
+        browser = new Browser(composite, SWT.NONE);
+        
+        notConnectedComposite = new Composite(composite, SWT.NONE);
+        GridLayoutFactory.fillDefaults().margins(0, 
0).applyTo(notConnectedComposite);
+        
notConnectedComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
        
+        Label label = new Label(notConnectedComposite, SWT.NONE);
+        GridDataFactory.fillDefaults().align(SWT.CENTER, 
SWT.CENTER).grab(true, true).applyTo(label);        
+        label.setText("No preview available if not connected.");        
+        label.setFont(JFaceResources.getHeaderFont());
+        
label.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
+        
label.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
+        
+        noPageSelectedComposite = new Composite(composite, SWT.NONE);
+        
noPageSelectedComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
+        
GridLayoutFactory.fillDefaults().margins(0,0).applyTo(noPageSelectedComposite);
+        label = new Label(noPageSelectedComposite, SWT.NONE);
+        GridDataFactory.fillDefaults().align(SWT.CENTER, 
SWT.CENTER).grab(true, true).applyTo(label);
+        label.setText("No page selected");        
+        label.setFont(JFaceResources.getHeaderFont());
+        
label.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
+        
label.setForeground(parent.getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY));
+
+        stackLayout.topControl = noPageSelectedComposite;
+        composite.layout();
+        
+        
getSite().getWorkbenchWindow().getSelectionService().addPostSelectionListener(this);
        
+    }
+
+    @Override
+    public void setFocus()
+    {
+        // TODO Auto-generated method stub
+        
+    }
+
+    @Override
+    public void dispose()
+    {
+        
getSite().getWorkbenchWindow().getSelectionService().removePostSelectionListener(this);
+        super.dispose();
+    }
+
+    public void selectionChanged(IWorkbenchPart part, ISelection selection)
+    {
+        Object selectedObject = 
XWikiEclipseUtil.getSingleSelectedObjectInStructuredSelection(selection);
+        if(selectedObject instanceof IXWikiPage) {
+            IXWikiPage xwikiPage = (IXWikiPage) selectedObject;
+            
+            if(xwikiPage.getConnection().isConnected()) {
+                browser.setUrl(xwikiPage.getUrl());
+                stackLayout.topControl = browser;
+                composite.layout();
+            }
+            else {
+                stackLayout.topControl = notConnectedComposite;
+                composite.layout();
+            }
+        }
+        else {
+            stackLayout.topControl = noPageSelectedComposite;
+            composite.layout();
+        }
+    }
+
+
+
+}

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to