Author: fmancinelli
Date: 2007-11-01 18:31:06 +0100 (Thu, 01 Nov 2007)
New Revision: 5598

Added:
   
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/maximize-editor.gif
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/editors/XWikiPageEditor.java
Log:
XECLIPSE-30

* Added editor maximization feature for hiding the preview area when not needed.

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


Property changes on: 
xwiki-extensions/xwiki-eclipse/trunk/plugins/org.xwiki.eclipse/icons/maximize-editor.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

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 16:19:57 UTC (rev 5597)
+++ 
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)
@@ -13,5 +13,6 @@
     public static final String XWIKI_SPACE_ICON = "icons/xwiki-space.png";
     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 XWIKI_PAGE_CONFLICT_ICON = 
"icons/xwiki-page-conflict.png";
+    public static final String MAXIMIZE_EDITOR_ICON = 
"icons/maximize-editor.gif";  
 }

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 16:19:57 UTC (rev 5597)
+++ 
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)
@@ -1,5 +1,10 @@
 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;
@@ -10,9 +15,12 @@
 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;
+import org.xwiki.plugins.eclipse.XWikiEclipsePlugin;
+import org.xwiki.xeclipse.XWikiEclipseConstants;
 import org.xwiki.xeclipse.model.IXWikiConnection;
 import org.xwiki.xeclipse.model.IXWikiPage;
 
@@ -21,10 +29,29 @@
     public static final String ID = "org.xwiki.xeclipse.editors.XWikiPage";    
     private Form form;
     private StackLayout stackLayout;
+    private SashForm sashForm;
     private Composite previewAreaComposite;
     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));
+            setChecked(false);
+        }
 
+        @Override
+        public void run() {
+            if(!isChecked()) {
+                sashForm.setMaximizedControl(null);
+            }
+            else {
+                sashForm.setMaximizedControl(sashForm.getChildren()[0]);
+            }            
+        }
+    }
+    
     public XWikiPageEditor()
     {
         super();        
@@ -38,11 +65,13 @@
         IXWikiPage xwikiPage = 
((XWikiPageEditorInput)getEditorInput()).getXWikiPage();
         
         FormToolkit toolkit = new FormToolkit(parent.getDisplay());
-        form = toolkit.createForm(parent);                
+        form = toolkit.createForm(parent);                        
         toolkit.decorateFormHeading(form);
+        form.getToolBarManager().add(new MaximizeEditorAction());  
+        form.updateToolBar();
         GridLayoutFactory.fillDefaults().applyTo(form.getBody());
         
-        SashForm sashForm = new SashForm(form.getBody(), SWT.VERTICAL | 
SWT.BORDER);
+        sashForm = new SashForm(form.getBody(), SWT.VERTICAL | SWT.BORDER);
         toolkit.adapt(sashForm);
         GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, 
true).applyTo(sashForm);
         
@@ -63,10 +92,10 @@
         browser = new Browser(previewAreaComposite, SWT.NONE);        
                
         sashForm.setWeights(new int[] {50, 50});
-        
+                
         updateEditor(xwikiPage);
-    }
-    
+    }        
+
     public void updateEditor(IXWikiPage page) {        
         String id = page.getId();
         IXWikiConnection connection = page.getConnection();

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

Reply via email to