diff options
author | nitind | 2005-09-14 04:53:02 +0000 |
---|---|---|
committer | nitind | 2005-09-14 04:53:02 +0000 |
commit | b8ed7f794816c202b9f32b814e55dc54f56175d5 (patch) | |
tree | 32b000e1a856686255696a67c509279d5a42200f /bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal | |
parent | 577a8f037b864ef4e35e02724e6eacb82f61b8bf (diff) | |
download | webtools.sourceediting-b8ed7f794816c202b9f32b814e55dc54f56175d5.tar.gz webtools.sourceediting-b8ed7f794816c202b9f32b814e55dc54f56175d5.tar.xz webtools.sourceediting-b8ed7f794816c202b9f32b814e55dc54f56175d5.zip |
handle selection for empty files
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal')
-rw-r--r-- | bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextEditor.java | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextEditor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextEditor.java index 481cfda4dc..e34ec7b8b9 100644 --- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextEditor.java +++ b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/StructuredTextEditor.java @@ -527,23 +527,25 @@ public class StructuredTextEditor extends TextEditor { if (model != null) { IndexedRegion region = model.getIndexedRegion(selection.getOffset()); int end = selection.getOffset() + selection.getLength(); - if (region != null && end <= region.getEndOffset()) { - // single selection - selectedStructures = new Object[1]; - selectedStructures[0] = region; - } - else { - // multiple selection - int maxLength = getSourceViewer().getDocument().getLength(); - List structures = new ArrayList(2); - while (region != null && region.getEndOffset() <= end && region.getEndOffset() < maxLength) { - structures.add(region); - region = model.getIndexedRegion(region.getEndOffset() + 1); + if (region != null) { + if (end <= region.getEndOffset()) { + // single selection + selectedStructures = new Object[1]; + selectedStructures[0] = region; + } + else { + // multiple selection + int maxLength = model.getStructuredDocument().getLength(); + List structures = new ArrayList(2); + while (region != null && region.getEndOffset() <= end && region.getEndOffset() < maxLength) { + structures.add(region); + region = model.getIndexedRegion(region.getEndOffset() + 1); + } + selectedStructures = structures.toArray(); } - selectedStructures = structures.toArray(); } } - else { + if (selectedStructures == null) { selectedStructures = new Object[0]; } return selectedStructures; |