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