Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Schindl2016-05-11 16:51:00 +0000
committerTom Schindl2016-05-11 16:51:00 +0000
commit479eb3e1e52368231c47b481fd8176f9e6bc9115 (patch)
treeb18419f6df945a8d79ce4f12d31f98e0bb5c6c20
parent6a14e8400ada472f1f80bb39bd2454722a8cf285 (diff)
downloadorg.eclipse.efxclipse-479eb3e1e52368231c47b481fd8176f9e6bc9115.tar.gz
org.eclipse.efxclipse-479eb3e1e52368231c47b481fd8176f9e6bc9115.tar.xz
org.eclipse.efxclipse-479eb3e1e52368231c47b481fd8176f9e6bc9115.zip
Bug 493446 - LineNumbers are not aligned with content
-rw-r--r--bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/internal/LineNumberSupport.java8
-rw-r--r--bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/StyledTextArea.java2
-rw-r--r--bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/TextNode.java2
3 files changed, 9 insertions, 3 deletions
diff --git a/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/internal/LineNumberSupport.java b/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/internal/LineNumberSupport.java
index ea6564783..772865479 100644
--- a/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/internal/LineNumberSupport.java
+++ b/bundles/code/org.eclipse.fx.text.ui/src/org/eclipse/fx/text/ui/internal/LineNumberSupport.java
@@ -18,7 +18,10 @@ import javafx.beans.binding.DoubleBinding;
import javafx.beans.property.DoubleProperty;
import javafx.beans.property.SimpleDoubleProperty;
import javafx.scene.Node;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.StackPane;
import javafx.scene.text.Text;
+import javafx.scene.text.TextBoundsType;
public class LineNumberSupport implements IFeature {
@@ -83,8 +86,9 @@ public class LineNumberSupport implements IFeature {
@Override
public Node createNode() {
Text node = new Text();
+ node.setBoundsType(TextBoundsType.LOGICAL_VERTICAL_CENTER);
node.getStyleClass().add("line-ruler-text");
- return node;
+ return new StackPane(node);
}
private DoubleProperty w = new SimpleDoubleProperty(16);
@@ -106,7 +110,7 @@ public class LineNumberSupport implements IFeature {
@Override
public void updateNode(Node node, Set<Annotation> annotation) {
- Text n = (Text) node;
+ Text n = (Text) ((Pane)node).getChildren().get(0);
annotation.stream().findFirst().ifPresent(m->{
int nr = ((LineNrAnnotation)m).getNr();
n.setText("" + nr);
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/StyledTextArea.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/StyledTextArea.java
index 9bd0f241b..5a92df29b 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/StyledTextArea.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/StyledTextArea.java
@@ -261,7 +261,7 @@ public class StyledTextArea extends Control {
//FIXME This rules out the CSS-Setting!
DoubleBinding lineHeight = org.eclipse.fx.ui.controls.Util.createTextHeightBinding("Pj", fontProperty());
- fixedLineHeightProperty().bind(lineHeight);
+ fixedLineHeightProperty().bind(lineHeight.add(4));
}
static final CssMetaData<StyledTextArea, Number> FIXED_LINE_HEIGHT = new CssMetaData<StyledTextArea, Number>("-fx-fixed-line-height", //$NON-NLS-1$
diff --git a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/TextNode.java b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/TextNode.java
index 9c4117120..4b0df1596 100644
--- a/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/TextNode.java
+++ b/bundles/runtime/org.eclipse.fx.ui.controls/src/org/eclipse/fx/ui/controls/styledtext/internal/TextNode.java
@@ -37,6 +37,7 @@ import javafx.css.Styleable;
import javafx.css.StyleableProperty;
import javafx.geometry.Bounds;
import javafx.geometry.Point2D;
+import javafx.geometry.Pos;
import javafx.scene.Node;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Region;
@@ -226,6 +227,7 @@ public class TextNode extends HBox {
*/
public TextNode(String text, IntegerProperty tabCharAdvance) {
this.tabCharAdvance = tabCharAdvance;
+ setAlignment(Pos.CENTER_LEFT);
setMinWidth(Region.USE_COMPUTED_SIZE);
this.cache = new ReuseCache<>(()->{
Text letter = new Text();

Back to the top