apps/scenebuilder/SceneBuilderKit/src/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/editors/StyleEditor.java
Print this page
rev 9240 : 8076423: JEP 253: Prepare JavaFX UI Controls & CSS APIs for Modularization
*** 33,45 ****
import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
import com.oracle.javafx.scenebuilder.kit.editor.i18n.I18N;
import com.oracle.javafx.scenebuilder.kit.metadata.property.ValuePropertyMetadata;
import com.oracle.javafx.scenebuilder.kit.util.CssInternal;
! import com.sun.javafx.css.CssError;
! import com.sun.javafx.css.StyleManager;
! import com.sun.javafx.css.parser.CSSParser;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
--- 33,43 ----
import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
import com.oracle.javafx.scenebuilder.kit.editor.i18n.I18N;
import com.oracle.javafx.scenebuilder.kit.metadata.property.ValuePropertyMetadata;
import com.oracle.javafx.scenebuilder.kit.util.CssInternal;
! import javafx.css.CssParser;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
*** 233,243 ****
private Parent root;
private TextField propertyTf;
private String currentValue;
private EditorItemDelegate editor;
private boolean parsingError = false;
! private ListChangeListener<CssError> errorListener;
public StyleItem(EditorItemDelegate editor, List<String> suggestedList) {
// System.out.println("New StyleItem.");
// It is an AutoSuggestEditor without MenuButton
super("", "", suggestedList, false);
--- 231,241 ----
private Parent root;
private TextField propertyTf;
private String currentValue;
private EditorItemDelegate editor;
private boolean parsingError = false;
! private ListChangeListener<CssParser.ParseError> errorListener;
public StyleItem(EditorItemDelegate editor, List<String> suggestedList) {
// System.out.println("New StyleItem.");
// It is an AutoSuggestEditor without MenuButton
super("", "", suggestedList, false);
*** 307,318 ****
moveDownMi.setText(I18N.getString("inspector.list.movedown"));
errorListener = change -> {
while (change.next()) {
if (change.wasAdded()) {
! for (CssError error : change.getAddedSubList()) {
! if (error instanceof CssError.InlineStyleParsingError) {
parsingError = true;
break;
}
}
}
--- 305,316 ----
moveDownMi.setText(I18N.getString("inspector.list.movedown"));
errorListener = change -> {
while (change.next()) {
if (change.wasAdded()) {
! for (CssParser.ParseError error : change.getAddedSubList()) {
! if ("InlineStyleParsingError".equals(error.getClass().getSimpleName())) {
parsingError = true;
break;
}
}
}
*** 337,349 ****
value = propertyVal + ": " + valueVal + ";"; //NOI18N
}
// Parse the style, and set the parsingError boolean if any error
parsingError = false;
! StyleManager.errorsProperty().addListener(errorListener);
! new CSSParser().parseInlineStyle(new StyleableStub(value));
! StyleManager.errorsProperty().removeListener(errorListener);
return value;
}
public boolean hasParsingError() {
--- 335,347 ----
value = propertyVal + ": " + valueVal + ";"; //NOI18N
}
// Parse the style, and set the parsingError boolean if any error
parsingError = false;
! CssParser.errorsProperty().addListener(errorListener);
! new CssParser().parseInlineStyle(new StyleableStub(value));
! CssParser.errorsProperty().removeListener(errorListener);
return value;
}
public boolean hasParsingError() {