diff options
author | Tom Schindl | 2016-05-11 16:51:00 +0000 |
---|---|---|
committer | Tom Schindl | 2016-05-11 16:51:00 +0000 |
commit | 479eb3e1e52368231c47b481fd8176f9e6bc9115 (patch) | |
tree | b18419f6df945a8d79ce4f12d31f98e0bb5c6c20 | |
parent | 6a14e8400ada472f1f80bb39bd2454722a8cf285 (diff) | |
download | org.eclipse.efxclipse-479eb3e1e52368231c47b481fd8176f9e6bc9115.tar.gz org.eclipse.efxclipse-479eb3e1e52368231c47b481fd8176f9e6bc9115.tar.xz org.eclipse.efxclipse-479eb3e1e52368231c47b481fd8176f9e6bc9115.zip |
Bug 493446 - LineNumbers are not aligned with content
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();
|