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 26158 Details for
Bug 106620
Webtools XML Editor ignores XML files with other extensions then .xml
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.xml.ui.patch
org.eclipse.wst.xml.ui.patch (text/plain), 12.74 KB, created by
Amy Wu
on 2005-08-16 12:35:38 EDT
(
hide
)
Description:
org.eclipse.wst.xml.ui.patch
Filename:
MIME Type:
Creator:
Amy Wu
Created:
2005-08-16 12:35:38 EDT
Size:
12.74 KB
patch
obsolete
>Index: src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/IDesignViewer.java >=================================================================== >RCS file: /home/webtools/wst/components/xml/plugins/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/IDesignViewer.java,v >retrieving revision 1.2 >diff -u -r1.2 IDesignViewer.java >--- src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/IDesignViewer.java 18 Apr 2005 07:59:12 -0000 1.2 >+++ src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/IDesignViewer.java 16 Aug 2005 16:27:21 -0000 >@@ -10,8 +10,8 @@ > > > >+import org.eclipse.jface.text.IDocument; > import org.eclipse.swt.widgets.Control; >-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; > import org.eclipse.wst.sse.ui.internal.ViewerSelectionManager; > > >@@ -20,7 +20,7 @@ > > String getTitle(); > >- void setModel(IStructuredModel model); >+ void setDocument(IDocument document); > > void setViewerSelectionManager(ViewerSelectionManager viewerSelectionManager); > } >\ No newline at end of file >Index: src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java >=================================================================== >RCS file: /home/webtools/wst/components/xml/plugins/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java,v >retrieving revision 1.2 >diff -u -r1.2 TreeExtension.java >--- src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java 16 Nov 2004 07:19:31 -0000 1.2 >+++ src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/TreeExtension.java 16 Aug 2005 16:27:21 -0000 >@@ -56,6 +56,7 @@ > protected Color tableLineColor; > protected int controlWidth; > protected DelayedDrawTimer delayedDrawTimer; >+ private boolean fisUnsupportedInput = false; > > public TreeExtension(Tree tree) { > this.tree = tree; >@@ -204,31 +205,37 @@ > // } > // } > // >- TreeItem[] items = tree.getItems(); >- if (items.length > 0) { >- gc.setForeground(tableLineColor); >- gc.setBackground(bg); >- >- gc.fillRectangle(columnPosition, treeBounds.x, treeBounds.width, treeBounds.height); >- >- Rectangle itemBounds = items[0].getBounds(); >- int height = computeTreeItemHeight(); >- >- if (itemBounds != null) { >- int startY = itemBounds.y < treeBounds.y ? itemBounds.y : treeBounds.y + ((treeBounds.y - itemBounds.y) % height); >- >- for (int i = startY; i < treeBounds.height; i += height) { >- if (i >= treeBounds.y) { >- gc.drawLine(0, i, treeBounds.width, i); >+ if (!fisUnsupportedInput) { >+ TreeItem[] items = tree.getItems(); >+ if (items.length > 0) { >+ gc.setForeground(tableLineColor); >+ gc.setBackground(bg); >+ >+ gc.fillRectangle(columnPosition, treeBounds.x, treeBounds.width, treeBounds.height); >+ >+ Rectangle itemBounds = items[0].getBounds(); >+ int height = computeTreeItemHeight(); >+ >+ if (itemBounds != null) { >+ int startY = itemBounds.y < treeBounds.y ? itemBounds.y : treeBounds.y + ((treeBounds.y - itemBounds.y) % height); >+ >+ for (int i = startY; i < treeBounds.height; i += height) { >+ if (i >= treeBounds.y) { >+ gc.drawLine(0, i, treeBounds.width, i); >+ } > } > } >+ gc.drawLine(columnPosition, 0, columnPosition, treeBounds.height); >+ paintItems(gc, items, treeBounds); >+ >+ } >+ else { >+ addEmptyTreeMessage(gc); > } >- gc.drawLine(columnPosition, 0, columnPosition, treeBounds.height); >- } else { >- addEmptyTreeMessage(gc); > } >- >- paintItems(gc, items, treeBounds); >+ else { >+ addUnableToPopulateTreeMessage(gc); >+ } > } > > protected int computeTreeItemHeight() { >@@ -264,6 +271,20 @@ > protected void addEmptyTreeMessage(GC gc) { > } > >+ private void addUnableToPopulateTreeMessage(GC gc) { >+ // here we print a message when the document cannot be displayed just >+ // to give the >+ // user a visual cue >+ // so that they know how to proceed to edit the blank view >+ gc.setForeground(tree.getDisplay().getSystemColor(SWT.COLOR_BLACK)); >+ gc.setBackground(tree.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND)); >+ gc.drawString(XMLEditorMessages.TreeExtension_0, 10, 10); >+ } >+ >+ void setIsUnsupportedInput(boolean isUnsupported) { >+ fisUnsupportedInput = isUnsupported; >+ } >+ > public void paintItems(GC gc, TreeItem[] items, Rectangle treeBounds) { > if (items != null) { > for (int i = 0; i < items.length; i++) { >Index: src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorMessages.java >=================================================================== >RCS file: /home/webtools/wst/components/xml/plugins/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorMessages.java,v >retrieving revision 1.3 >diff -u -r1.3 XMLEditorMessages.java >--- src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorMessages.java 24 Jun 2005 20:13:18 -0000 1.3 >+++ src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorMessages.java 16 Aug 2005 16:27:21 -0000 >@@ -37,6 +37,7 @@ > public static String An_error_has_occurred_when1_ERROR_; > public static String Resource__does_not_exist; > public static String Editor_could_not_be_open; >+ public static String TreeExtension_0; > > static { > // load message values from bundle file >Index: src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorResources.properties >=================================================================== >RCS file: /home/webtools/wst/components/xml/plugins/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorResources.properties,v >retrieving revision 1.1 >diff -u -r1.1 XMLEditorResources.properties >--- src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorResources.properties 13 Apr 2005 14:38:17 -0000 1.1 >+++ src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLEditorResources.properties 16 Aug 2005 16:27:21 -0000 >@@ -26,4 +26,5 @@ > ## > An_error_has_occurred_when1_ERROR_=An error has occurred when initializing the input for the the editor's source page. > Resource__does_not_exist=Resource {0} does not exist. >-Editor_could_not_be_open=Editor could not be open on {0} >\ No newline at end of file >+Editor_could_not_be_open=Editor could not be open on {0} >+TreeExtension_0=Cannot display document contents. >Index: src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java >=================================================================== >RCS file: /home/webtools/wst/components/xml/plugins/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java,v >retrieving revision 1.6 >diff -u -r1.6 XMLMultiPageEditorPart.java >--- src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java 21 Jun 2005 19:37:13 -0000 1.6 >+++ src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLMultiPageEditorPart.java 16 Aug 2005 16:27:21 -0000 >@@ -31,7 +31,6 @@ > import org.eclipse.ui.ide.IGotoMarker; > import org.eclipse.ui.part.MultiPageEditorPart; > import org.eclipse.ui.part.MultiPageEditorSite; >-import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel; > import org.eclipse.wst.sse.core.internal.provisional.exceptions.SourceEditingRuntimeException; > import org.eclipse.wst.sse.ui.internal.StructuredTextEditor; > import org.eclipse.wst.xml.core.internal.provisional.IXMLPreferenceNames; >@@ -167,7 +166,7 @@ > > public void inputDocumentChanged(IDocument oldInput, IDocument newInput) { > if (fDesignViewer != null && newInput != null) >- fDesignViewer.setModel(getModel()); >+ fDesignViewer.setDocument(newInput); > } > } > >@@ -237,7 +236,7 @@ > private void connectDesignPage() { > if (fDesignViewer != null) { > fDesignViewer.setViewerSelectionManager(fTextEditor.getViewerSelectionManager()); >- fDesignViewer.setModel(getModel()); >+ fDesignViewer.setDocument(getDocument()); > } > } > >@@ -339,7 +338,7 @@ > > private void disconnectDesignPage() { > if (fDesignViewer != null) { >- fDesignViewer.setModel(null); >+ fDesignViewer.setDocument(null); > fDesignViewer.setViewerSelectionManager(null); > } > } >@@ -413,12 +412,12 @@ > } > return result; > } >- >- private IStructuredModel getModel() { >- IStructuredModel model = null; >+ >+ private IDocument getDocument() { >+ IDocument document = null; > if (fTextEditor != null) >- model = fTextEditor.getModel(); >- return model; >+ document = fTextEditor.getDocumentProvider().getDocument(fTextEditor.getEditorInput()); >+ return document; > } > > private IPreferenceStore getPreferenceStore() { >@@ -548,7 +547,7 @@ > // TextViewer to set us straight > super.setInput(input); > if (fDesignViewer != null) >- fDesignViewer.setModel(getModel()); >+ fDesignViewer.setDocument(getDocument()); > setPartName(input.getName()); > } > } >\ No newline at end of file >Index: src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java >=================================================================== >RCS file: /home/webtools/wst/components/xml/plugins/org.eclipse.wst.xml.ui/src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java,v >retrieving revision 1.17 >diff -u -r1.17 XMLTableTreeViewer.java >--- src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java 19 Jul 2005 21:30:04 -0000 1.17 >+++ src-multipage/org/eclipse/wst/xml/ui/internal/tabletree/XMLTableTreeViewer.java 16 Aug 2005 16:27:21 -0000 >@@ -14,6 +14,7 @@ > import org.eclipse.jface.action.IMenuManager; > import org.eclipse.jface.action.MenuManager; > import org.eclipse.jface.action.Separator; >+import org.eclipse.jface.text.IDocument; > import org.eclipse.jface.viewers.CellEditor; > import org.eclipse.jface.viewers.ISelection; > import org.eclipse.jface.viewers.SelectionChangedEvent; >@@ -27,6 +28,7 @@ > import org.eclipse.ui.PlatformUI; > import org.eclipse.wst.sse.core.internal.provisional.IModelStateListener; > 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.ViewerSelectionManager; > import org.eclipse.wst.sse.ui.internal.view.events.INodeSelectionListener; > import org.eclipse.wst.sse.ui.internal.view.events.NodeSelectionChangedEvent; >@@ -152,18 +154,20 @@ > > class NodeActionMenuListener implements IMenuListener { > public void menuAboutToShow(IMenuManager menuManager) { >- // used to disable NodeSelection listening while running >- // NodeAction >- XMLNodeActionManager nodeActionManager = new XMLNodeActionManager(fModel, XMLTableTreeViewer.this) { >- public void beginNodeAction(NodeAction action) { >- super.beginNodeAction(action); >- } >- >- public void endNodeAction(NodeAction action) { >- super.endNodeAction(action); >- } >- }; >- nodeActionManager.fillContextMenu(menuManager, getSelection()); >+ if (fModel != null) { >+ // used to disable NodeSelection listening while running >+ // NodeAction >+ XMLNodeActionManager nodeActionManager = new XMLNodeActionManager(fModel, XMLTableTreeViewer.this) { >+ public void beginNodeAction(NodeAction action) { >+ super.beginNodeAction(action); >+ } >+ >+ public void endNodeAction(NodeAction action) { >+ super.endNodeAction(action); >+ } >+ }; >+ nodeActionManager.fillContextMenu(menuManager, getSelection()); >+ } > } > } > >@@ -258,7 +262,7 @@ > protected void handleDispose(DisposeEvent event) { > super.handleDispose(event); > treeExtension.dispose(); >- setModel(null); >+ setDocument(null); > setViewerSelectionManager(null); > } > >@@ -317,22 +321,30 @@ > } > } > >- public void setModel(IStructuredModel model) { >+ public void setDocument(IDocument document) { > // remove > if (fModel != null) { > fModel.removeModelStateListener(fInternalModelStateListener); >+ fModel.releaseFromEdit(); > } > >- fModel = model; >- Document domDoc = null; >+ // get model for read and allow text editor to be the one that getmodelforedit >+ IStructuredModel model = null; >+ model = StructuredModelManager.getModelManager().getExistingModelForEdit(document); > >- if (fModel != null && fModel instanceof IDOMModel) { >+ if (model != null && model instanceof IDOMModel) { >+ Document domDoc = null; > model.addModelStateListener(fInternalModelStateListener); > ModelQuery mq = ModelQueryUtil.getModelQuery(model); > treeExtension.setModelQuery(mq); >- domDoc = ((IDOMModel) fModel).getDocument(); >+ domDoc = ((IDOMModel) model).getDocument(); > setInput(domDoc); >+ treeExtension.setIsUnsupportedInput(false); >+ } else { >+ treeExtension.setIsUnsupportedInput(true); > } >+ >+ fModel = model; > } > > // the following methods implement the IDesignViewer interface
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 106620
: 26158 |
26160