[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Head[applied]: CEditor.java selection
|
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.203
diff -u -r1.203 ChangeLog
--- ChangeLog 1 Oct 2003 21:33:23 -0000 1.203
+++ ChangeLog 8 Oct 2003 19:02:50 -0000
@@ -1,3 +1,12 @@
+2003-10-08 Alain Magloire
+
+ Do selection better for Binary objects, the binary
+ elements do not have offset information but only line number.
+ We can leverage, by looking at the offset corresponding to
+ the line.
+
+ * src/org/eclipse/cdt/internal/ui/CEditor.java
+
2003-10-01 Andrew Niefer
-bug44032 - deleting/moving files breaks search
* modified src/org/eclipse/cdt/ui/CSearchResultLabelProvider getText to return empty string instead of null
Index: src/org/eclipse/cdt/internal/ui/editor/CEditor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java,v
retrieving revision 1.32
diff -u -r1.32 CEditor.java
--- src/org/eclipse/cdt/internal/ui/editor/CEditor.java 1 Oct 2003 13:33:39 -0000 1.32
+++ src/org/eclipse/cdt/internal/ui/editor/CEditor.java 8 Oct 2003 19:02:50 -0000
@@ -349,11 +349,22 @@
// 0 length and start and non-zero start line says we know
// the line for some reason, but not the offset.
- if (length == 0 && start == 0 && element.getStartLine() != 0) {
- alternateRegion = getDocumentProvider().getDocument(getEditorInput()).getLineInformation(element.getStartLine());
- if (alternateRegion != null) {
- start = alternateRegion.getOffset();
- length = alternateRegion.getLength();
+ if (length == 0 && start == 0 && element.getStartLine() > 0) {
+ // We have the information in term of lines, we can work it out.
+ // Binary elements return the first executable statement so we have to substract -1
+ start = getDocumentProvider().getDocument(getEditorInput()).getLineOffset(element.getStartLine() - 1);
+ if (element.getEndLine() > 0) {
+ length = getDocumentProvider().getDocument(getEditorInput()).getLineOffset(element.getEndLine()) - start;
+ } else {
+ length = start;
+ }
+ // create an alternate region for the keyword highlight.
+ alternateRegion = getDocumentProvider().getDocument(getEditorInput()).getLineInformation(element.getStartLine() - 1);
+ if (start == length || length < 0) {
+ if (alternateRegion != null) {
+ start = alternateRegion.getOffset();
+ length = alternateRegion.getLength();
+ }
}
}
setHighlightRange(start, length, moveCursor);
Index: src/org/eclipse/cdt/ui/wizards/NewCProjectWizardPage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/wizards/NewCProjectWizardPage.java,v
retrieving revision 1.1
diff -u -r1.1 NewCProjectWizardPage.java
--- src/org/eclipse/cdt/ui/wizards/NewCProjectWizardPage.java 18 Aug 2003 16:10:59 -0000 1.1
+++ src/org/eclipse/cdt/ui/wizards/NewCProjectWizardPage.java 8 Oct 2003 19:02:50 -0000
@@ -336,6 +336,16 @@
setErrorMessage(CUIPlugin.getResourceString("CProjectWizardPage.defaultLocationError")); //$NON-NLS-1$
return false;
}
+
+ if (!useDefaults) {
+ IProject project = getProjectHandle();
+ IStatus locationStatus =
+ workspace.validateProjectLocation(project, new Path(locationFieldContents));
+ if (!locationStatus.isOK()) {
+ setErrorMessage(locationStatus.getMessage());
+ return false;
+ }
+ }
}
if (getProjectHandle().exists()) {