Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 27090 Details for
Bug 109468
get rid of subclasses of StructuredTextEditor
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
org.eclipse.wst.css.ui.patch
org.eclipse.wst.css.ui.patch (text/plain), 30.00 KB, created by
Amy Wu
on 2005-09-14 02:19:47 EDT
(
hide
)
Description:
org.eclipse.wst.css.ui.patch
Filename:
MIME Type:
Creator:
Amy Wu
Created:
2005-09-14 02:19:47 EDT
Size:
30.00 KB
patch
obsolete
>Index: plugin.properties >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/plugin.properties,v >retrieving revision 1.10 >diff -u -r1.10 plugin.properties >--- plugin.properties 21 Jun 2005 17:56:31 -0000 1.10 >+++ plugin.properties 14 Sep 2005 06:17:31 -0000 >@@ -31,5 +31,16 @@ > AddBookmark.label=Add Boo&kmark... > AddBookmark.tooltip=Add Bookmark... > ## >+CleanupDocument_label=Cleanup Document... >+CleanupDocument_tooltip=Cleanup Document >+StructureSelectEnclosing_label=Enclosing Element >+StructureSelectEnclosing_tooltip=Expand selection to include enclosing element >+StructureSelectNext_label=Next Element >+StructureSelectNext_tooltip=Expand selection to include next sibling >+StructureSelectPrevious_label=Previous Element >+StructureSelectPrevious_tooltip=Expand selection to include previous sibling >+StructureSelectHistory_label=Restore Last Selection >+StructureSelectHistory_tooltip=Restore last selection >+## > All_CSS_context_type_Extension_Element.name=All CSS > CSS_New_context_type_Extension_Element.name=New CSS >Index: plugin.xml >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/plugin.xml,v >retrieving revision 1.27 >diff -u -r1.27 plugin.xml >--- plugin.xml 7 Sep 2005 23:49:04 -0000 1.27 >+++ plugin.xml 14 Sep 2005 06:17:31 -0000 >@@ -7,7 +7,7 @@ > name="%CSS_Source_Page_Editor.name" > icon="icons/full/obj16/sourceEditor.gif" > contributorClass="org.eclipse.wst.css.ui.internal.ActionContributorCSS" >- class="org.eclipse.wst.css.ui.internal.StructuredTextEditorCSS" >+ class="org.eclipse.wst.sse.ui.internal.StructuredTextEditor" > symbolicFontName="org.eclipse.wst.sse.ui.textfont" > id="org.eclipse.wst.css.core.csssource.source"> > <contentTypeBinding >@@ -163,4 +163,52 @@ > translations="$nl$/templates/cssdefault-templates.properties"> > </include> > </extension> >+ >+ <!-- CSS editor actions --> >+ <extension point="org.eclipse.ui.editorActions"> >+ <editorContribution >+ id="org.eclipse.wst.css.core.csssource.source.editorActions" >+ targetID="org.eclipse.wst.css.core.csssource.source"> >+ <action >+ id="CleanupDocument" >+ label="%CleanupDocument_label" >+ definitionId="org.eclipse.wst.sse.ui.cleanup.document" >+ tooltip="%CleanupDocument_tooltip" >+ class="org.eclipse.wst.css.ui.internal.edit.ui.CleanupActionCSSDelegate" >+ actionID="CleanupDocument"> >+ </action> >+ <action >+ id="StructureSelectEnclosing" >+ label="%StructureSelectEnclosing_label" >+ definitionId="org.eclipse.wst.sse.ui.structure.select.enclosing" >+ tooltip="%StructureSelectEnclosing_tooltip" >+ class="org.eclipse.wst.css.ui.internal.selection.StructuredSelectEnclosingCSSActionDelegate" >+ actionID="StructureSelectEnclosing"> >+ </action> >+ <action >+ id="StructureSelectNext" >+ label="%StructureSelectNext_label" >+ definitionId="org.eclipse.wst.sse.ui.structure.select.next" >+ tooltip="%StructureSelectNext_tooltip" >+ class="org.eclipse.wst.css.ui.internal.selection.StructuredSelectNextCSSActionDelegate" >+ actionID="StructureSelectNext"> >+ </action> >+ <action >+ id="StructureSelectPrevious" >+ label="%StructureSelectPrevious_label" >+ definitionId="org.eclipse.wst.sse.ui.structure.select.previous" >+ tooltip="%StructureSelectPrevious_tooltip" >+ class="org.eclipse.wst.css.ui.internal.selection.StructuredSelectPreviousCSSActionDelegate" >+ actionID="StructureSelectPrevious"> >+ </action> >+ <action >+ id="StructureSelectHistory" >+ label="%StructureSelectHistory_label" >+ definitionId="org.eclipse.wst.sse.ui.structure.select.last" >+ tooltip="%StructureSelectHistory_tooltip" >+ class="org.eclipse.wst.sse.ui.internal.selection.StructuredSelectHistoryActionDelegate" >+ actionID="StructureSelectHistory"> >+ </action> >+ </editorContribution> >+ </extension> > </plugin> >Index: src/org/eclipse/wst/css/ui/internal/StructuredTextEditorCSS.java >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/StructuredTextEditorCSS.java,v >retrieving revision 1.3 >diff -u -r1.3 StructuredTextEditorCSS.java >--- src/org/eclipse/wst/css/ui/internal/StructuredTextEditorCSS.java 11 Apr 2005 07:26:37 -0000 1.3 >+++ src/org/eclipse/wst/css/ui/internal/StructuredTextEditorCSS.java 14 Sep 2005 06:17:31 -0000 >@@ -17,12 +17,15 @@ > import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; > import org.eclipse.wst.sse.ui.internal.actions.ActionDefinitionIds; > import org.eclipse.wst.sse.ui.internal.actions.StructuredTextEditorActionConstants; >-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory; > import org.eclipse.wst.sse.ui.internal.selection.StructureSelectHistoryAction; > >+/** >+ * @deprecated CSS editor is created from StructuredTextEditor with >+ * CSS configurations >+ */ > public class StructuredTextEditorCSS extends StructuredTextEditor { > private static final String UNDERSCORE = "_"; //$NON-NLS-1$ >- >+ > protected void createActions() { > super.createActions(); > >@@ -30,23 +33,21 @@ > action.setActionDefinitionId(ActionDefinitionIds.CLEANUP_DOCUMENT); > setAction(StructuredTextEditorActionConstants.ACTION_NAME_CLEANUP_DOCUMENT, action); > >- SelectionHistory selectionHistory = new SelectionHistory(this); >- action = new StructureSelectEnclosingCSSAction(this, selectionHistory); >+ action = new StructureSelectEnclosingCSSAction(this); > action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_ENCLOSING); > setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_ENCLOSING, action); > >- action = new StructureSelectNextCSSAction(this, selectionHistory); >+ action = new StructureSelectNextCSSAction(this); > action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_NEXT); > setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_NEXT, action); > >- action = new StructureSelectPreviousCSSAction(this, selectionHistory); >+ action = new StructureSelectPreviousCSSAction(this); > action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_PREVIOUS); > setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_PREVIOUS, action); > >- action = new StructureSelectHistoryAction(this, selectionHistory); >+ action = new StructureSelectHistoryAction(this); > action.setActionDefinitionId(ActionDefinitionIds.STRUCTURE_SELECT_HISTORY); > setAction(StructuredTextEditorActionConstants.ACTION_NAME_STRUCTURE_SELECT_HISTORY, action); >- selectionHistory.setHistoryAction((StructureSelectHistoryAction) action); > } > > protected void initializeEditor() { >Index: src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSS.java >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSS.java,v >retrieving revision 1.1 >diff -u -r1.1 CleanupActionCSS.java >--- src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSS.java 11 Apr 2005 07:26:37 -0000 1.1 >+++ src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSS.java 14 Sep 2005 06:17:31 -0000 >@@ -17,6 +17,9 @@ > import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupProcessor; > import org.eclipse.wst.sse.ui.internal.actions.CleanupAction; > >+/** >+ * @deprecated Use CleanupActionCSSDelegate instead. >+ */ > public class CleanupActionCSS extends CleanupAction { > protected IStructuredCleanupProcessor fCleanupProcessor; > >Index: src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java,v >retrieving revision 1.4 >diff -u -r1.4 StructureSelectCSSAction.java >--- src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java 18 Apr 2005 07:59:04 -0000 1.4 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructureSelectCSSAction.java 14 Sep 2005 06:17:31 -0000 >@@ -12,12 +12,14 @@ > import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode; > import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; > import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; >-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory; > import org.eclipse.wst.sse.ui.internal.selection.StructureSelectAction; > >+/** >+ * @deprecated use StructuredSelectActionDelegate instead >+ */ > public abstract class StructureSelectCSSAction extends StructureSelectAction { >- public StructureSelectCSSAction(StructuredTextEditor editor, SelectionHistory history) { >- super(editor, history); >+ public StructureSelectCSSAction(StructuredTextEditor editor) { >+ super(editor); > } > > public void run() { >@@ -42,7 +44,8 @@ > try { > fHistory.ignoreSelectionChanges(); > fEditor.selectAndReveal(newRegion.getOffset(), newRegion.getLength()); >- } finally { >+ } >+ finally { > fHistory.listenToSelectionChanges(); > } > } >Index: src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java,v >retrieving revision 1.6 >diff -u -r1.6 StructureSelectEnclosingCSSAction.java >--- src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java 18 Apr 2005 07:59:04 -0000 1.6 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructureSelectEnclosingCSSAction.java 14 Sep 2005 06:17:31 -0000 >@@ -13,12 +13,14 @@ > import org.eclipse.wst.css.ui.internal.CSSUIMessages; > import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; > import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; >-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory; > import org.w3c.dom.Node; > >+/** >+ * @deprecated use StructureSelectionEnclosingCSSActionDelegate instead >+ */ > public class StructureSelectEnclosingCSSAction extends StructureSelectCSSAction { >- public StructureSelectEnclosingCSSAction(StructuredTextEditor editor, SelectionHistory history) { >- super(editor, history); >+ public StructureSelectEnclosingCSSAction(StructuredTextEditor editor) { >+ super(editor); > setText(CSSUIMessages.StructureSelectEnclosing_label); > setToolTipText(CSSUIMessages.StructureSelectEnclosing_tooltip); > setDescription(CSSUIMessages.StructureSelectEnclosing_description); >Index: src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java,v >retrieving revision 1.6 >diff -u -r1.6 StructureSelectNextCSSAction.java >--- src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java 18 Apr 2005 07:59:04 -0000 1.6 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructureSelectNextCSSAction.java 14 Sep 2005 06:17:31 -0000 >@@ -13,12 +13,14 @@ > import org.eclipse.wst.css.ui.internal.CSSUIMessages; > import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; > import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; >-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory; > import org.w3c.dom.Node; > >+/** >+ * @deprecated use StructuredSelectNextCSSActionDelegate instead >+ */ > public class StructureSelectNextCSSAction extends StructureSelectCSSAction { >- public StructureSelectNextCSSAction(StructuredTextEditor editor, SelectionHistory history) { >- super(editor, history); >+ public StructureSelectNextCSSAction(StructuredTextEditor editor) { >+ super(editor); > setText(CSSUIMessages.StructureSelectNext_label); > setToolTipText(CSSUIMessages.StructureSelectNext_tooltip); > setDescription(CSSUIMessages.StructureSelectNext_description); >Index: src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java >=================================================================== >RCS file: /home/webtools/wst/components/css/plugins/org.eclipse.wst.css.ui/src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java,v >retrieving revision 1.6 >diff -u -r1.6 StructureSelectPreviousCSSAction.java >--- src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java 18 Apr 2005 07:59:04 -0000 1.6 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructureSelectPreviousCSSAction.java 14 Sep 2005 06:17:31 -0000 >@@ -13,12 +13,14 @@ > import org.eclipse.wst.css.ui.internal.CSSUIMessages; > import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; > import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; >-import org.eclipse.wst.sse.ui.internal.selection.SelectionHistory; > import org.w3c.dom.Node; > >+/** >+ * @deprecated use StructuredSelectPreviousCSSActionDelegate instead >+ */ > public class StructureSelectPreviousCSSAction extends StructureSelectCSSAction { >- public StructureSelectPreviousCSSAction(StructuredTextEditor editor, SelectionHistory history) { >- super(editor, history); >+ public StructureSelectPreviousCSSAction(StructuredTextEditor editor) { >+ super(editor); > setText(CSSUIMessages.StructureSelectPrevious_label); > setToolTipText(CSSUIMessages.StructureSelectPrevious_tooltip); > setDescription(CSSUIMessages.StructureSelectPrevious_description); >@@ -43,7 +45,8 @@ > IndexedRegion newIndexedRegion = (IndexedRegion) newNode; > newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset()); > } >- } else { >+ } >+ else { > if (newNode instanceof IndexedRegion) { > IndexedRegion newIndexedRegion = (IndexedRegion) newNode; > newRegion = new Region(newIndexedRegion.getStartOffset(), region.getOffset() + region.getLength() - newIndexedRegion.getStartOffset()); >Index: src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSSDelegate.java >=================================================================== >RCS file: src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSSDelegate.java >diff -N src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSSDelegate.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/wst/css/ui/internal/edit/ui/CleanupActionCSSDelegate.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,124 @@ >+package org.eclipse.wst.css.ui.internal.edit.ui; >+ >+import org.eclipse.jface.action.IAction; >+import org.eclipse.jface.dialogs.Dialog; >+import org.eclipse.jface.text.ITextSelection; >+import org.eclipse.jface.viewers.ISelection; >+import org.eclipse.jface.window.Window; >+import org.eclipse.swt.custom.BusyIndicator; >+import org.eclipse.swt.widgets.Event; >+import org.eclipse.ui.IActionDelegate2; >+import org.eclipse.ui.IEditorActionDelegate; >+import org.eclipse.ui.IEditorPart; >+import org.eclipse.ui.IViewActionDelegate; >+import org.eclipse.ui.IViewPart; >+import org.eclipse.wst.css.core.internal.cleanup.CleanupProcessorCSS; >+import org.eclipse.wst.css.ui.internal.CSSUIMessages; >+import org.eclipse.wst.sse.core.internal.cleanup.IStructuredCleanupProcessor; >+import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; >+import org.eclipse.wst.sse.core.internal.provisional.StructuredModelManager; >+import org.eclipse.wst.sse.ui.internal.SSEUIMessages; >+import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; >+ >+/** >+ * Cleanup action delegate for CSS editor >+ */ >+public class CleanupActionCSSDelegate implements IEditorActionDelegate, IActionDelegate2, IViewActionDelegate { >+ private IEditorPart fEditor; >+ private IStructuredCleanupProcessor fCleanupProcessor; >+ >+ public void setActiveEditor(IAction action, IEditorPart targetEditor) { >+ fEditor = targetEditor; >+ } >+ >+ public void dispose() { >+ // nulling out just in case >+ fEditor = null; >+ fCleanupProcessor = null; >+ } >+ >+ public void init(IAction action) { >+ if (action != null) { >+ action.setText(CSSUIMessages.CleanupDocument_label); >+ action.setToolTipText(CSSUIMessages.CleanupDocument_tooltip); >+ action.setDescription(CSSUIMessages.CleanupDocument_description); >+ } >+ } >+ >+ public void runWithEvent(IAction action, Event event) { >+ run(action); >+ } >+ >+ public void init(IViewPart view) { >+ // do nothing >+ } >+ >+ public void run(IAction action) { >+ if (fEditor instanceof StructuredTextEditor) { >+ final StructuredTextEditor editor = (StructuredTextEditor) fEditor; >+ Dialog cleanupDialog = new CleanupDialogCSS(editor.getSite().getShell()); >+ if (cleanupDialog.open() == Window.OK) { >+ // setup runnable >+ Runnable runnable = new Runnable() { >+ public void run() { >+ IStructuredCleanupProcessor cleanupProcessor = getCleanupProcessor(); >+ if (cleanupProcessor != null) { >+ IStructuredModel model = null; >+ try { >+ model = StructuredModelManager.getModelManager().getExistingModelForEdit(editor.getDocumentProvider().getDocument(editor.getEditorInput())); >+ if (model != null) >+ cleanupProcessor.cleanupModel(model); >+ } >+ finally { >+ if (model != null) >+ model.releaseFromEdit(); >+ } >+ } >+ } >+ }; >+ >+ // TODO: make independent of 'model'. >+ IStructuredModel model = null; >+ try { >+ model = StructuredModelManager.getModelManager().getExistingModelForEdit(editor.getDocumentProvider().getDocument(editor.getEditorInput())); >+ if (model != null) { >+ // begin recording >+ ITextSelection selection = (ITextSelection) editor.getSelectionProvider().getSelection(); >+ model.beginRecording(this, SSEUIMessages.Cleanup_Document_UI_, SSEUIMessages.Cleanup_Document_UI_, selection.getOffset(), selection.getLength()); //$NON-NLS-1$ //$NON-NLS-2$ >+ >+ // tell the model that we are about to make a big >+ // model change >+ model.aboutToChangeModel(); >+ >+ // run >+ BusyIndicator.showWhile(editor.getTextViewer().getControl().getDisplay(), runnable); >+ } >+ } >+ finally { >+ if (model != null) { >+ // tell the model that we are done with the big >+ // model >+ // change >+ model.changedModel(); >+ >+ // end recording >+ ITextSelection selection = (ITextSelection) editor.getSelectionProvider().getSelection(); >+ model.endRecording(this, selection.getOffset(), selection.getLength()); >+ model.releaseFromEdit(); >+ } >+ } >+ } >+ } >+ } >+ >+ public void selectionChanged(IAction action, ISelection selection) { >+ // do nothing >+ } >+ >+ IStructuredCleanupProcessor getCleanupProcessor() { >+ if (fCleanupProcessor == null) >+ fCleanupProcessor = new CleanupProcessorCSS(); >+ >+ return fCleanupProcessor; >+ } >+} >Index: src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectEnclosingCSSActionDelegate.java >=================================================================== >RCS file: src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectEnclosingCSSActionDelegate.java >diff -N src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectEnclosingCSSActionDelegate.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectEnclosingCSSActionDelegate.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,64 @@ >+/******************************************************************************* >+ * Copyright (c) 2005 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ * >+ *******************************************************************************/ >+ >+package org.eclipse.wst.css.ui.internal.selection; >+ >+import org.eclipse.jface.action.IAction; >+import org.eclipse.jface.text.IDocument; >+import org.eclipse.jface.text.ITextSelection; >+import org.eclipse.jface.text.Region; >+import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode; >+import org.eclipse.wst.css.ui.internal.CSSUIMessages; >+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; >+import org.eclipse.wst.sse.ui.internal.selection.StructuredSelectActionDelegate; >+ >+/** >+ * Selects enclosing CSS element >+ */ >+public class StructuredSelectEnclosingCSSActionDelegate extends StructuredSelectActionDelegate { >+ public void init(IAction action) { >+ if (action != null) { >+ action.setText(CSSUIMessages.StructureSelectEnclosing_label); >+ action.setToolTipText(CSSUIMessages.StructureSelectEnclosing_tooltip); >+ action.setDescription(CSSUIMessages.StructureSelectEnclosing_description); >+ } >+ } >+ >+ protected IndexedRegion getCursorIndexedRegion(IDocument document, ITextSelection textSelection) { >+ IndexedRegion indexedRegion = null; >+ >+ indexedRegion = getIndexedRegion(document, textSelection.getOffset()); >+ >+ return indexedRegion; >+ } >+ >+ protected Region getNewSelectionRegion(IndexedRegion indexedRegion, ITextSelection textSelection) { >+ Region newRegion = null; >+ if (indexedRegion instanceof ICSSNode) { >+ ICSSNode cursorNode = (ICSSNode) indexedRegion; >+ Region cursorNodeRegion = new Region(indexedRegion.getStartOffset(), indexedRegion.getEndOffset() - indexedRegion.getStartOffset()); >+ int currentOffset = textSelection.getOffset(); >+ int currentEndOffset = currentOffset + textSelection.getLength(); >+ if (cursorNodeRegion.getOffset() >= currentOffset && cursorNodeRegion.getOffset() <= currentEndOffset && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() >= currentOffset && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() <= currentEndOffset) { >+ ICSSNode newNode = cursorNode.getParentNode(); >+ >+ if (newNode instanceof IndexedRegion) { >+ IndexedRegion newIndexedRegion = (IndexedRegion) newNode; >+ newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset()); >+ } >+ } >+ else >+ newRegion = cursorNodeRegion; >+ } >+ return newRegion; >+ } >+} >Index: src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectNextCSSActionDelegate.java >=================================================================== >RCS file: src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectNextCSSActionDelegate.java >diff -N src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectNextCSSActionDelegate.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectNextCSSActionDelegate.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,81 @@ >+/******************************************************************************* >+ * Copyright (c) 2005 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ * >+ *******************************************************************************/ >+ >+package org.eclipse.wst.css.ui.internal.selection; >+ >+import org.eclipse.jface.action.IAction; >+import org.eclipse.jface.text.IDocument; >+import org.eclipse.jface.text.ITextSelection; >+import org.eclipse.jface.text.Region; >+import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode; >+import org.eclipse.wst.css.ui.internal.CSSUIMessages; >+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; >+import org.eclipse.wst.sse.ui.internal.selection.StructuredSelectActionDelegate; >+ >+/** >+ * Selects next CSS element >+ */ >+public class StructuredSelectNextCSSActionDelegate extends StructuredSelectActionDelegate { >+ >+ protected IndexedRegion getCursorIndexedRegion(IDocument document, ITextSelection textSelection) { >+ int offset = textSelection.getOffset() + textSelection.getLength(); >+ if (offset < 0) >+ offset = 0; >+ >+ IndexedRegion indexedRegion = null; >+ >+ indexedRegion = getIndexedRegion(document, offset); >+ >+ return indexedRegion; >+ } >+ >+ protected Region getNewSelectionRegion(IndexedRegion indexedRegion, ITextSelection textSelection) { >+ Region newRegion = null; >+ >+ if (indexedRegion instanceof ICSSNode) { >+ ICSSNode cursorNode = (ICSSNode) indexedRegion; >+ >+ Region cursorNodeRegion = new Region(indexedRegion.getStartOffset(), indexedRegion.getEndOffset() - indexedRegion.getStartOffset()); >+ int currentOffset = textSelection.getOffset(); >+ int currentEndOffset = currentOffset + textSelection.getLength(); >+ if (cursorNodeRegion.getOffset() >= currentOffset && cursorNodeRegion.getOffset() <= currentEndOffset && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() >= currentOffset && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() <= currentEndOffset) { >+ ICSSNode newNode = cursorNode.getNextSibling(); >+ if (newNode == null) { >+ newNode = cursorNode.getParentNode(); >+ >+ if (newNode instanceof IndexedRegion) { >+ IndexedRegion newIndexedRegion = (IndexedRegion) newNode; >+ newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset()); >+ } >+ } >+ else { >+ if (newNode instanceof IndexedRegion) { >+ IndexedRegion newIndexedRegion = (IndexedRegion) newNode; >+ newRegion = new Region(currentOffset, newIndexedRegion.getEndOffset() - currentOffset); >+ } >+ } >+ } >+ else >+ newRegion = cursorNodeRegion; >+ } >+ return newRegion; >+ } >+ >+ public void init(IAction action) { >+ if (action != null) { >+ action.setText(CSSUIMessages.StructureSelectNext_label); >+ action.setToolTipText(CSSUIMessages.StructureSelectNext_tooltip); >+ action.setDescription(CSSUIMessages.StructureSelectNext_description); >+ } >+ } >+ >+} >Index: src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectPreviousCSSActionDelegate.java >=================================================================== >RCS file: src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectPreviousCSSActionDelegate.java >diff -N src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectPreviousCSSActionDelegate.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/wst/css/ui/internal/selection/StructuredSelectPreviousCSSActionDelegate.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,76 @@ >+/******************************************************************************* >+ * Copyright (c) 2005 IBM Corporation and others. >+ * All rights reserved. This program and the accompanying materials >+ * are made available under the terms of the Eclipse Public License v1.0 >+ * which accompanies this distribution, and is available at >+ * http://www.eclipse.org/legal/epl-v10.html >+ * >+ * Contributors: >+ * IBM Corporation - initial API and implementation >+ * >+ *******************************************************************************/ >+ >+package org.eclipse.wst.css.ui.internal.selection; >+ >+import org.eclipse.jface.action.IAction; >+import org.eclipse.jface.text.IDocument; >+import org.eclipse.jface.text.ITextSelection; >+import org.eclipse.jface.text.Region; >+import org.eclipse.wst.css.core.internal.provisional.document.ICSSNode; >+import org.eclipse.wst.css.ui.internal.CSSUIMessages; >+import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion; >+import org.eclipse.wst.sse.ui.internal.selection.StructuredSelectActionDelegate; >+ >+/** >+ * Selects previous CSS element >+ */ >+public class StructuredSelectPreviousCSSActionDelegate extends StructuredSelectActionDelegate { >+ >+ protected IndexedRegion getCursorIndexedRegion(IDocument document, ITextSelection textSelection) { >+ IndexedRegion indexedRegion = null; >+ >+ indexedRegion = getIndexedRegion(document, textSelection.getOffset()); >+ >+ return indexedRegion; >+ } >+ >+ protected Region getNewSelectionRegion(IndexedRegion indexedRegion, ITextSelection textSelection) { >+ Region newRegion = null; >+ if (indexedRegion instanceof ICSSNode) { >+ ICSSNode cursorNode = (ICSSNode) indexedRegion; >+ >+ Region cursorNodeRegion = new Region(indexedRegion.getStartOffset(), indexedRegion.getEndOffset() - indexedRegion.getStartOffset()); >+ int currentOffset = textSelection.getOffset(); >+ int currentEndOffset = currentOffset + textSelection.getLength(); >+ if (cursorNodeRegion.getOffset() >= currentOffset && cursorNodeRegion.getOffset() <= currentEndOffset && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() >= currentOffset && cursorNodeRegion.getOffset() + cursorNodeRegion.getLength() <= currentEndOffset) { >+ ICSSNode newNode = cursorNode.getPreviousSibling(); >+ if (newNode == null) { >+ newNode = cursorNode.getParentNode(); >+ >+ if (newNode instanceof IndexedRegion) { >+ IndexedRegion newIndexedRegion = (IndexedRegion) newNode; >+ newRegion = new Region(newIndexedRegion.getStartOffset(), newIndexedRegion.getEndOffset() - newIndexedRegion.getStartOffset()); >+ } >+ } >+ else { >+ if (newNode instanceof IndexedRegion) { >+ IndexedRegion newIndexedRegion = (IndexedRegion) newNode; >+ newRegion = new Region(newIndexedRegion.getStartOffset(), currentEndOffset - newIndexedRegion.getStartOffset()); >+ } >+ } >+ } >+ else >+ newRegion = cursorNodeRegion; >+ } >+ return newRegion; >+ } >+ >+ public void init(IAction action) { >+ if (action != null) { >+ action.setText(CSSUIMessages.StructureSelectPrevious_label); >+ action.setToolTipText(CSSUIMessages.StructureSelectPrevious_tooltip); >+ action.setDescription(CSSUIMessages.StructureSelectPrevious_description); >+ } >+ } >+ >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 109468
:
27089
| 27090 |
27091
|
27092
|
27093
|
27094
|
27095
|
27128