[Plog4u-devel] net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor BrowserUti
Status: Beta
Brought to you by:
axelcl
From: Axel C. K. <ax...@us...> - 2005-10-21 19:45:25
|
Update of /cvsroot/plog4u/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9190/src/net/sourceforge/phpeclipse/wiki/editor Modified Files: BrowserUtil.java WikiEditor.java WikiEditorPlugin.java Log Message: Moved to new package name org.plog4u Index: WikiEditorPlugin.java =================================================================== RCS file: /cvsroot/plog4u/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiEditorPlugin.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** WikiEditorPlugin.java 15 Jul 2005 21:12:04 -0000 1.5 --- WikiEditorPlugin.java 21 Oct 2005 19:45:16 -0000 1.6 *************** *** 16,20 **** import java.util.ResourceBundle; - import net.sourceforge.phpeclipse.webbrowser.internal.Trace; import net.sourceforge.phpeclipse.wiki.actions.mediawiki.config.IWikipedia; import net.sourceforge.phpeclipse.wiki.actions.mediawiki.config.WikiProperties; --- 16,19 ---- *************** *** 47,50 **** --- 46,50 ---- import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; + import org.plog4u.webbrowser.internal.Trace; public class WikiEditorPlugin extends AbstractUIPlugin { Index: BrowserUtil.java =================================================================== RCS file: /cvsroot/plog4u/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/BrowserUtil.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** BrowserUtil.java 24 Feb 2005 05:01:31 -0000 1.1 --- BrowserUtil.java 21 Oct 2005 19:45:16 -0000 1.2 *************** *** 1,5 **** package net.sourceforge.phpeclipse.wiki.editor; - import net.sourceforge.phpeclipse.webbrowser.views.BrowserView; import net.sourceforge.phpeclipse.wiki.builder.CreatePageAction; import net.sourceforge.phpeclipse.wiki.preferences.Util; --- 1,4 ---- *************** *** 10,14 **** --- 9,17 ---- import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbenchPage; + import org.eclipse.ui.IWorkbenchPart; + import org.eclipse.ui.part.IShowInTarget; import org.eclipse.ui.texteditor.ITextEditor; + import org.plog4u.webbrowser.views.BrowserView; + import org.plog4u.webbrowser.views.ShowInContextBrowser; /** *************** *** 16,85 **** */ public class BrowserUtil { ! public static void setBrowserPreview(ITextEditor editor) { ! ! IWorkbenchPage page = WikiEditorPlugin.getDefault().getActivePage(); ! try { ! IViewPart part = page.findView(BrowserView.ID_BROWSER); ! if (part == null) { ! part = page.showView(BrowserView.ID_BROWSER); ! } else { ! // if (bringToTopPreview) { ! // page.bringToTop(part); ! // } ! } ! IEditorInput editorInput = null; ! if (editor != null) { ! editorInput = editor.getEditorInput(); ! } ! if (editorInput instanceof IFileEditorInput) { ! IFile file = ((IFileEditorInput) editorInput).getFile(); ! String srcBasePath = Util.getWikiTextsPath(file); ! String binBasePath = Util.getProjectsWikiOutputPath(file.getProject(), WikiEditorPlugin.HTML_OUTPUT_PATH); ! String htmlName = Util.getHTMLFileName(file, binBasePath, srcBasePath); ! if (htmlName != null) { ! java.io.File htmlFile = new java.io.File(htmlName); ! if (htmlFile.exists()) { ! ((BrowserView) part).setUrl(htmlName); ! } ! } ! } ! } catch (Exception e) { ! } ! } ! /** ! * ! */ ! public static void refreshBrowserPreview(WikiEditor editor) { ! IWorkbenchPage page = WikiEditorPlugin.getDefault().getActivePage(); ! try { ! IViewPart part = page.findView(BrowserView.ID_BROWSER); ! if (part == null) { ! part = page.showView(BrowserView.ID_BROWSER); ! } else { ! IEditorInput editorInput = null; ! editorInput = editor.getEditorInput(); ! if (editorInput instanceof IFileEditorInput) { ! IFile file = ((IFileEditorInput) editorInput).getFile(); ! CreatePageAction.createPage(file); ! String srcBasePath = Util.getWikiTextsPath(file); ! String binBasePath = Util.getProjectsWikiOutputPath(file.getProject(), WikiEditorPlugin.HTML_OUTPUT_PATH); ! String htmlName = Util.getHTMLFileName(file, binBasePath, srcBasePath); ! if (htmlName != null) { ! java.io.File htmlFile = new java.io.File(htmlName); ! if (htmlFile.exists()) { ! ((BrowserView) part).refresh(htmlName); ! } ! } ! } ! } ! } catch (Exception e) { ! } ! } } \ No newline at end of file --- 19,110 ---- */ public class BrowserUtil { + /** + * Returns the <code>IShowInTarget</code> for the given part, or + * <code>null</code> if it does not provide one. + * + * @param targetPart + * the target part + * @return the <code>IShowInTarget</code> or <code>null</code> + */ + private static IShowInTarget getShowInTarget(IWorkbenchPart targetPart) { + if (targetPart instanceof IShowInTarget) { + return (IShowInTarget) targetPart; + } + Object o = targetPart.getAdapter(IShowInTarget.class); + if (o instanceof IShowInTarget) { + return (IShowInTarget) o; + } + return null; + } ! public static void setBrowserPreview(ITextEditor editor) { ! IWorkbenchPage page = WikiEditorPlugin.getDefault().getActivePage(); ! try { ! IViewPart part = page.findView(BrowserView.ID_BROWSER); ! if (part == null) { ! part = page.showView(BrowserView.ID_BROWSER); ! } else { ! // if (bringToTopPreview) { ! // page.bringToTop(part); ! // } ! } ! IEditorInput editorInput = null; ! if (editor != null) { ! editorInput = editor.getEditorInput(); ! } ! if (editorInput instanceof IFileEditorInput) { ! IFile file = ((IFileEditorInput) editorInput).getFile(); ! String srcBasePath = Util.getWikiTextsPath(file); ! String binBasePath = Util.getProjectsWikiOutputPath(file ! .getProject(), WikiEditorPlugin.HTML_OUTPUT_PATH); ! String htmlName = Util.getHTMLFileName(file, binBasePath, ! srcBasePath); ! if (htmlName != null) { ! java.io.File htmlFile = new java.io.File(htmlName); ! if (htmlFile.exists()) { ! ((BrowserView) part).setUrl(htmlName); ! } ! } ! } ! } catch (Exception e) { ! } ! } ! /** ! * ! */ ! public static void refreshBrowserPreview(WikiEditor editor) { ! IWorkbenchPage page = WikiEditorPlugin.getDefault().getActivePage(); ! try { ! IViewPart part = page.findView(BrowserView.ID_BROWSER); ! if (part == null) { ! part = page.showView(BrowserView.ID_BROWSER); ! } else { ! IEditorInput editorInput = null; ! editorInput = editor.getEditorInput(); ! if (editorInput instanceof IFileEditorInput) { ! IFile file = ((IFileEditorInput) editorInput).getFile(); ! CreatePageAction.createPage(file); ! String srcBasePath = Util.getWikiTextsPath(file); ! String binBasePath = Util.getProjectsWikiOutputPath(file ! .getProject(), WikiEditorPlugin.HTML_OUTPUT_PATH); ! String htmlName = Util.getHTMLFileName(file, binBasePath, ! srcBasePath); ! if (htmlName != null) { ! java.io.File htmlFile = new java.io.File(htmlName); ! if (htmlFile.exists()) { ! ((BrowserView) part).refresh(htmlName); ! } ! } ! } ! } ! ! } catch (Exception e) { ! } ! } } \ No newline at end of file Index: WikiEditor.java =================================================================== RCS file: /cvsroot/plog4u/net.sourceforge.phpeclipse.wiki/src/net/sourceforge/phpeclipse/wiki/editor/WikiEditor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** WikiEditor.java 24 Feb 2005 05:01:31 -0000 1.1 --- WikiEditor.java 21 Oct 2005 19:45:16 -0000 1.2 *************** *** 17,149 **** import org.eclipse.jface.text.source.projection.ProjectionViewer; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.texteditor.AbstractDecoratedTextEditor; import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.texteditor.TextOperationAction; import org.eclipse.ui.views.contentoutline.IContentOutlinePage; ! public class WikiEditor extends AbstractDecoratedTextEditor { ! private WikiOutlinePage fOutlinePage; ! private WikipediaSection fSection; ! private ProjectionSupport fProjectionSupport; ! private WikiOccurrencesUpdater fOccurrencesUpdater; ! public WikiEditor() { ! setSourceViewerConfiguration(new WikiSourceViewerConfiguration(this, getSharedColors())); ! } ! public WikipediaSection getSection() { ! return fSection; ! } ! public void setSection(WikipediaSection section) { ! fSection = section; ! if (fOutlinePage != null) ! fOutlinePage.setWiki(section); ! if (fOccurrencesUpdater != null) ! fOccurrencesUpdater.update(getSourceViewer()); ! } ! /* ! * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) ! */ ! public Object getAdapter(Class required) { ! // if (IPropertySource.class.equals(required)) { ! // return new WPPropertySource(this); ! // } ! if (IContentOutlinePage.class.equals(required)) { ! if (fOutlinePage == null) ! fOutlinePage = new WikiOutlinePage(this); ! return fOutlinePage; ! } ! if (fProjectionSupport != null) { ! Object adapter = fProjectionSupport.getAdapter(getSourceViewer(), required); ! if (adapter != null) ! return adapter; ! } ! return super.getAdapter(required); ! } ! public void outlinePageClosed() { ! fOutlinePage = null; ! } ! /* ! * @see org.eclipse.ui.texteditor.AbstractTextEditor#createActions() ! */ ! protected void createActions() { ! super.createActions(); ! IAction action = new TextOperationAction(WikiEditorPlugin.getDefault().getResourceBundle(), "ContentAssistProposal.", this, ! ISourceViewer.CONTENTASSIST_PROPOSALS); ! action.setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); ! setAction("ContentAssist.", action); ! markAsStateDependentAction("ContentAssist.", true); ! } ! /* ! * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createPartControl(org.eclipse.swt.widgets.Composite) ! */ ! public void createPartControl(Composite parent) { ! super.createPartControl(parent); ! ProjectionViewer projectionViewer = (ProjectionViewer) getSourceViewer(); ! fProjectionSupport = new ProjectionSupport(projectionViewer, getAnnotationAccess(), getSharedColors()); ! fProjectionSupport.install(); ! projectionViewer.doOperation(ProjectionViewer.TOGGLE); ! fOccurrencesUpdater = new WikiOccurrencesUpdater(this); ! ! setWordWrap(); ! } ! private void setWordWrap() { ! if (getSourceViewer() != null) { ! getSourceViewer().getTextWidget().setWordWrap( ! WikiEditorPlugin.getDefault().getPreferenceStore().getBoolean(WikiEditorPlugin.EDITOR_WRAP_WORDS)); ! } ! } ! /* ! * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, ! * org.eclipse.jface.text.source.IVerticalRuler, int) ! */ ! protected ISourceViewer createSourceViewer(Composite parent, IVerticalRuler ruler, int styles) { ! fAnnotationAccess = createAnnotationAccess(); ! fOverviewRuler = createOverviewRuler(getSharedColors()); ! ISourceViewer viewer = new ProjectionViewer(parent, ruler, fOverviewRuler, true, styles); ! // ensure decoration support has been created and configured: ! getSourceViewerDecorationSupport(viewer); ! return viewer; ! } ! /* ! * @see org.eclipse.ui.IWorkbenchPart#dispose() ! */ ! public void dispose() { ! fOccurrencesUpdater.dispose(); ! super.dispose(); ! } ! public IDocument getDocument() { ! IDocument doc = getDocumentProvider().getDocument(getEditorInput()); ! return doc; ! } - /* - * (non-Javadoc) - * - * @see org.eclipse.ui.texteditor.AbstractTextEditor#editorSaved() - */ - protected void editorSaved() { - super.editorSaved(); - BrowserUtil.refreshBrowserPreview(this); - } - - } \ No newline at end of file --- 17,175 ---- import org.eclipse.jface.text.source.projection.ProjectionViewer; import org.eclipse.swt.widgets.Composite; + import org.eclipse.ui.part.FileEditorInput; + import org.eclipse.ui.part.IShowInSource; + import org.eclipse.ui.part.IShowInTargetList; + import org.eclipse.ui.part.ShowInContext; import org.eclipse.ui.texteditor.AbstractDecoratedTextEditor; import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; import org.eclipse.ui.texteditor.TextOperationAction; import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + import org.plog4u.webbrowser.views.BrowserView; ! public class WikiEditor extends AbstractDecoratedTextEditor implements IShowInTargetList { ! private WikiOutlinePage fOutlinePage; ! private WikipediaSection fSection; ! private ProjectionSupport fProjectionSupport; ! private WikiOccurrencesUpdater fOccurrencesUpdater; ! public WikiEditor() { ! setSourceViewerConfiguration(new WikiSourceViewerConfiguration(this, ! getSharedColors())); ! } ! public WikipediaSection getSection() { ! return fSection; ! } ! public void setSection(WikipediaSection section) { ! fSection = section; ! if (fOutlinePage != null) ! fOutlinePage.setWiki(section); ! if (fOccurrencesUpdater != null) ! fOccurrencesUpdater.update(getSourceViewer()); ! } ! /* ! * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) ! */ ! public Object getAdapter(Class required) { ! // if (IPropertySource.class.equals(required)) { ! // return new WPPropertySource(this); ! // } ! if (IContentOutlinePage.class.equals(required)) { ! if (fOutlinePage == null) ! fOutlinePage = new WikiOutlinePage(this); ! return fOutlinePage; ! } ! if (fProjectionSupport != null) { ! Object adapter = fProjectionSupport.getAdapter(getSourceViewer(), ! required); ! if (adapter != null) ! return adapter; ! } ! return super.getAdapter(required); ! } ! public void outlinePageClosed() { ! fOutlinePage = null; ! } ! /* ! * @see org.eclipse.ui.texteditor.AbstractTextEditor#createActions() ! */ ! protected void createActions() { ! super.createActions(); ! IAction action = new TextOperationAction(WikiEditorPlugin.getDefault() ! .getResourceBundle(), "ContentAssistProposal.", this, ! ISourceViewer.CONTENTASSIST_PROPOSALS); ! action ! .setActionDefinitionId(ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS); ! setAction("ContentAssist.", action); ! markAsStateDependentAction("ContentAssist.", true); ! } ! /* ! * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createPartControl(org.eclipse.swt.widgets.Composite) ! */ ! public void createPartControl(Composite parent) { ! super.createPartControl(parent); ! ProjectionViewer projectionViewer = (ProjectionViewer) getSourceViewer(); ! fProjectionSupport = new ProjectionSupport(projectionViewer, ! getAnnotationAccess(), getSharedColors()); ! fProjectionSupport.install(); ! projectionViewer.doOperation(ProjectionViewer.TOGGLE); ! fOccurrencesUpdater = new WikiOccurrencesUpdater(this); ! setWordWrap(); ! } ! private void setWordWrap() { ! if (getSourceViewer() != null) { ! getSourceViewer().getTextWidget().setWordWrap( ! WikiEditorPlugin.getDefault().getPreferenceStore() ! .getBoolean(WikiEditorPlugin.EDITOR_WRAP_WORDS)); ! } ! } ! /* ! * @see org.eclipse.ui.texteditor.AbstractDecoratedTextEditor#createSourceViewer(org.eclipse.swt.widgets.Composite, ! * org.eclipse.jface.text.source.IVerticalRuler, int) ! */ ! protected ISourceViewer createSourceViewer(Composite parent, ! IVerticalRuler ruler, int styles) { ! fAnnotationAccess = createAnnotationAccess(); ! fOverviewRuler = createOverviewRuler(getSharedColors()); ! ISourceViewer viewer = new ProjectionViewer(parent, ruler, ! fOverviewRuler, true, styles); ! // ensure decoration support has been created and configured: ! getSourceViewerDecorationSupport(viewer); ! return viewer; ! } ! ! /* ! * @see org.eclipse.ui.IWorkbenchPart#dispose() ! */ ! public void dispose() { ! fOccurrencesUpdater.dispose(); ! super.dispose(); ! } ! ! public IDocument getDocument() { ! IDocument doc = getDocumentProvider().getDocument(getEditorInput()); ! return doc; ! } ! ! /* ! * (non-Javadoc) ! * ! * @see org.eclipse.ui.texteditor.AbstractTextEditor#editorSaved() ! */ ! protected void editorSaved() { ! super.editorSaved(); ! BrowserUtil.refreshBrowserPreview(this); ! } ! ! // public ShowInContext getShowInContext() { ! // FileEditorInput fei = (FileEditorInput) getEditorInput(); ! // ShowInContext context = BrowserUtil.getShowInContext(fei.getFile(), false, ""); ! // if (context != null) { ! // return context; ! // } ! // return new ShowInContext(fei.getFile(), null); ! // } ! ! public String[] getShowInTargetIds() { ! return new String[] { BrowserView.ID_BROWSER }; ! } } \ No newline at end of file |