Skip to content

Commit

Permalink
a6.7.5
Browse files Browse the repository at this point in the history
  • Loading branch information
Mararsh committed Jul 22, 2023
1 parent 342c303 commit 914ab7d
Show file tree
Hide file tree
Showing 17 changed files with 279 additions and 167 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ private void drawMaskRulerX() {
}
clearMaskRulerX();
if (UserConfig.getBoolean("ImageRulerXY", false)) {
Color strokeColor = Color.web(UserConfig.getString("StrokeColor", "#FF0000"));
Color strokeColor = Color.web(UserConfig.getString("RulerColor", "#FF0000"));
double imageWidth = imageWidth() / widthRatio();
double ratio = viewWidth() / imageWidth;
int step = getRulerStep(imageWidth);
Expand Down Expand Up @@ -337,7 +337,7 @@ private void drawMaskRulerY() {
}
clearMaskRulerY();
if (UserConfig.getBoolean("ImageRulerXY", false)) {
Color strokeColor = Color.web(UserConfig.getString("StrokeColor", "#FF0000"));
Color strokeColor = Color.web(UserConfig.getString("RulerColor", "#FF0000"));
double imageHeight = imageHeight() / heightRatio();
double ratio = viewHeight() / imageHeight;
int step = getRulerStep(imageHeight);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ protected String moreDisplayInfo() {
all shapes
*/
public void setMaskShapesStyle() {
drawMaskRulers();
checkCoordinate();
setShapeStyle(maskRectangle);
setShapeStyle(maskCircle);
setShapeStyle(maskEllipse);
Expand Down Expand Up @@ -143,20 +145,26 @@ public void setShapeStyle(Shape shape) {
shape.getStrokeDashArray().addAll(strokeWidth, strokeWidth * 3);

} else {
shape.setStroke(shapeStyle.getStrokeColor());
shape.setStrokeWidth(shapeStyle.getStrokeWidth());
if (shapeStyle.getStrokeWidth() > 0) {
shape.setStroke(shapeStyle.getStrokeColor());
shape.setStrokeWidth(shapeStyle.getStrokeWidth());
}

if (shapeStyle.isIsFillColor()) {
shape.setFill(shapeStyle.getFillColor());
shape.setOpacity(shapeStyle.getFillOpacity());
if (shapeStyle.getFillOpacity() >= 0) {
shape.setOpacity(shapeStyle.getFillOpacity());
}
} else {
shape.setFill(Color.TRANSPARENT);
shape.setOpacity(1);
}

shape.setStrokeLineCap(shapeStyle.getLineCap());
shape.getStrokeDashArray().clear();
if (shapeStyle.getLineCap() != null) {
shape.setStrokeLineCap(shapeStyle.getLineCap());
}

shape.getStrokeDashArray().clear();
if (shapeStyle.isIsStrokeDash() && shapeStyle.getStrokeDash() != null) {
shape.getStrokeDashArray().addAll(shapeStyle.getStrokeDash());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,16 @@
import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.CheckMenuItem;
import javafx.scene.control.Label;
import javafx.scene.control.MenuItem;
import javafx.scene.control.RadioButton;
import javafx.scene.control.SeparatorMenuItem;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.Toggle;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.FlowPane;
import javafx.scene.layout.VBox;
Expand Down Expand Up @@ -81,7 +83,9 @@ public class ColorsManageController extends BaseSysTableController<ColorData> {
@FXML
protected Button addColorsButton, trimButton;
@FXML
protected CheckBox mergeCheck, allColumnsCheck;
protected ToggleGroup showGroup;
@FXML
protected RadioButton colorsRadio, valuesRadio, allRadio, simpleMergedRadio, allMergedRadio;
@FXML
protected Label paletteLabel;
@FXML
Expand Down Expand Up @@ -265,21 +269,9 @@ protected void initButtons() {

exportButton.disableProperty().bind(Bindings.isEmpty(tableData));

allColumnsCheck.setSelected(UserConfig.getBoolean("ColorsDisplayAllColumns", false));
allColumnsCheck.selectedProperty().addListener(new ChangeListener<Boolean>() {
showGroup.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(ObservableValue<? extends Boolean> v, Boolean ov, Boolean nv) {
UserConfig.setBoolean("ColorsDisplayAllColumns", allColumnsCheck.isSelected());
checkColumns();
loadTableData();
}
});

mergeCheck.setSelected(UserConfig.getBoolean("ColorsDisplayMerge", false));
mergeCheck.selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> v, Boolean ov, Boolean nv) {
UserConfig.setBoolean("ColorsDisplayMerge", mergeCheck.isSelected());
public void changed(ObservableValue<? extends Toggle> v, Toggle ov, Toggle nv) {
checkColumns();
loadTableData();
}
Expand All @@ -296,32 +288,45 @@ protected void checkColumns() {
try {
isSettingValues = true;
tableView.getColumns().clear();
tableView.getColumns().addAll(rowsSelectionColumn, colorNameColumn,
colorColumn);
tableView.getColumns().addAll(rowsSelectionColumn, colorColumn, colorNameColumn);
if (!palettesController.isAllColors()) {
tableView.getColumns().add(orderColumn);
}
tableView.getColumns().addAll(rgbaColumn, rgbColumn);
if (mergeCheck.isSelected()) {
if (allColumnsCheck.isSelected()) {
dataColumn.setCellValueFactory(new PropertyValueFactory<>("colorDisplay"));
} else {
dataColumn.setCellValueFactory(new PropertyValueFactory<>("colorSimpleDisplay"));
}
tableView.getColumns().addAll(dataColumn);

if (simpleMergedRadio.isSelected()) {
dataColumn.setCellValueFactory(new PropertyValueFactory<>("colorSimpleDisplay"));
tableView.getColumns().addAll(rgbaColumn, rgbColumn, dataColumn,
invertColumn, invertRGBColumn, complementaryColumn, complementaryRGBColumn);

} else if (allMergedRadio.isSelected()) {
dataColumn.setCellValueFactory(new PropertyValueFactory<>("colorDisplay"));
tableView.getColumns().addAll(rgbaColumn, rgbColumn, dataColumn,
invertColumn, invertRGBColumn, complementaryColumn, complementaryRGBColumn);

} else if (valuesRadio.isSelected()) {
tableView.getColumns().addAll(rgbaColumn, rgbColumn,
rybColumn, hueColumn, saturationColumn, brightnessColumn, opacityColumn,
HSBColumn, sRGBColumn, CalculatedCMYKColumn,
invertColumn, invertRGBColumn, complementaryColumn, complementaryRGBColumn,
colorValueColumn);

} else if (allRadio.isSelected()) {
tableView.getColumns().addAll(rgbaColumn, rgbColumn,
rybColumn, hueColumn, saturationColumn, brightnessColumn, opacityColumn,
HSBColumn, sRGBColumn, CalculatedCMYKColumn,
invertColumn, invertRGBColumn, complementaryColumn, complementaryRGBColumn,
AdobeRGBColumn, AppleRGBColumn, ECIRGBColumn, sRGBLinearColumn, AdobeRGBLinearColumn,
AppleRGBLinearColumn, ECICMYKColumn, AdobeCMYKColumn, XYZColumn, CIELabColumn,
LCHabColumn, CIELuvColumn, LCHuvColumn,
colorValueColumn);

} else {
tableView.getColumns().addAll(sRGBColumn, HSBColumn, hueColumn, saturationColumn,
brightnessColumn, rybColumn, opacityColumn, CalculatedCMYKColumn);
if (allColumnsCheck.isSelected()) {
tableView.getColumns().addAll(AdobeRGBColumn, AppleRGBColumn, ECIRGBColumn,
sRGBLinearColumn, AdobeRGBLinearColumn, AppleRGBLinearColumn,
ECICMYKColumn, AdobeCMYKColumn,
XYZColumn, CIELabColumn, LCHabColumn, CIELuvColumn, LCHuvColumn);
}
tableView.getColumns().add(colorValueColumn);
tableView.getColumns().addAll(HSBColumn,
invertColumn, invertRGBColumn, complementaryColumn, complementaryRGBColumn,
rgbaColumn, rgbColumn,
rybColumn, hueColumn, saturationColumn, brightnessColumn, opacityColumn);
}
tableView.getColumns().addAll(invertColumn, invertRGBColumn,
complementaryColumn, complementaryRGBColumn);

isSettingValues = false;

} catch (Exception e) {
Expand Down Expand Up @@ -625,7 +630,7 @@ public void displayHtml(String title, List<ColorData> rows) {
} else if (column.equals(LCHuvColumn)) {
row.add(data.getLchuv());
} else if (column.equals(dataColumn)) {
if (allColumnsCheck.isSelected()) {
if (allMergedRadio.isSelected()) {
row.add(ColorData.htmlValue(data));
} else {
row.add(ColorData.htmlSimpleValue(data));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
public class ControlImageRulerOptions extends BaseController {

@FXML
protected ControlColorSet strokeColorSetController, anchorColorSetController, gridColorSetController;
protected ControlColorSet strokeColorController, anchorColorController, rulerColorController, gridColorController;
@FXML
protected ComboBox<String> strokeWidthSelector, anchorWidthSelector, gridWidthSelector,
gridIntervalSelector, gridOpacitySelector;
Expand Down Expand Up @@ -73,8 +73,8 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
}
});

strokeColorSetController.init(this, "StrokeColor", Color.web(ShapeStyle.DefaultStrokeColor));
strokeColorSetController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
strokeColorController.init(this, "StrokeColor", Color.web(ShapeStyle.DefaultStrokeColor));
strokeColorController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
@Override
public void changed(ObservableValue v, Paint oldValue, Paint newValue) {
if (isSettingValues) {
Expand Down Expand Up @@ -106,8 +106,8 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
}
});

anchorColorSetController.init(this, "AnchorColor", Color.web(ShapeStyle.DefaultAnchorColor));
anchorColorSetController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
anchorColorController.init(this, "AnchorColor", Color.web(ShapeStyle.DefaultAnchorColor));
anchorColorController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
@Override
public void changed(ObservableValue v, Paint oldValue, Paint newValue) {
if (isSettingValues) {
Expand All @@ -117,8 +117,19 @@ public void changed(ObservableValue v, Paint oldValue, Paint newValue) {
}
});

gridColorSetController.init(this, "GridLinesColor", Color.LIGHTGRAY);
gridColorSetController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
rulerColorController.init(this, "RulerColor", Color.RED);
rulerColorController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
@Override
public void changed(ObservableValue<? extends Paint> v, Paint ov, Paint nv) {
if (isSettingValues) {
return;
}
BaseImageController.updateMaskRulerXY();
}
});

gridColorController.init(this, "GridLinesColor", Color.LIGHTGRAY);
gridColorController.rect.fillProperty().addListener(new ChangeListener<Paint>() {
@Override
public void changed(ObservableValue<? extends Paint> v, Paint ov, Paint nv) {
if (isSettingValues) {
Expand Down Expand Up @@ -202,9 +213,9 @@ public void asSaved() {
gridIntervalSelector.setValue(gi <= 0 ? message("Automatic") : gi + "");
gridOpacitySelector.setValue(UserConfig.getFloat("GridLinesOpacity", 0.1f) + "");

strokeColorSetController.asSaved();
anchorColorSetController.asSaved();
gridColorSetController.asSaved();
strokeColorController.asSaved();
anchorColorController.asSaved();
gridColorController.asSaved();

isSettingValues = false;
} catch (Exception e) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,7 @@ public boolean style2Element() {
} else {
element.removeAttribute("fill");
}
if (style.getFillOpacity() > 0) {
if (style.getFillOpacity() >= 0) {
element.setAttribute("fill-opacity", style.getFillOpacity() + "");
} else {
element.removeAttribute("fill-opacity");
Expand All @@ -636,7 +636,7 @@ public boolean style2Element() {
}

String v = style.getLineCapText();
if (v != null) {
if (v != null && !v.isBlank()) {
element.setAttribute("stroke-linecap", v);
} else {
element.removeAttribute("stroke-linecap");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,14 @@ public void makeFunctionsList() {
browse(list.getParentFile());
}

@FXML
public void makeSomeLinks() {
openHtml(HelpTools.usefulLinks("en"));
File zh = HelpTools.usefulLinks("zh");
openHtml(zh);
browse(zh.getParentFile());
}

@FXML
public void autoTesting() {
loadScene(Fxmls.AutoTestingCasesFxml);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ protected void AboutMedia(ActionEvent event) {

@FXML
protected void SomeLinks(ActionEvent event) {
openHtml(HelpTools.usefulLinks());
openHtml(HelpTools.usefulLinks(Languages.getLangName()));
}

}
50 changes: 27 additions & 23 deletions alpha/MyBox/src/main/java/mara/mybox/fxml/HelpTools.java
Original file line number Diff line number Diff line change
Expand Up @@ -266,39 +266,43 @@ protected void whenSucceeded() {
controller.start(task);
}

public static File usefulLinks() {
public static File usefulLinks(String lang) {
try {
StringTable table = new StringTable(null, message("Links"));
table.newLinkRow(message("DecimalFormat"), decimalFormatLink());
table.newLinkRow(message("DateFormat"), simpleDateFormatLink());
table.newLinkRow(message("HtmlTutorial") + " - " + message("Chinese"), htmlZhLink());
table.newLinkRow(message("HtmlTutorial") + " - " + message("English"), htmlEnLink());
table.newLinkRow(message("JavaScriptTutorial") + " - " + message("Chinese"), javaScriptZhLink());
table.newLinkRow(message("JavaScriptTutorial") + " - " + message("English"), javaScriptEnLink());
StringTable table = new StringTable(null, message(lang, "Links"));
table.newLinkRow(message(lang, "DecimalFormat"), decimalFormatLink());
table.newLinkRow(message(lang, "DateFormat"), simpleDateFormatLink());
table.newLinkRow(message(lang, "HtmlTutorial") + " - " + message(lang, "Chinese"), htmlZhLink());
table.newLinkRow(message(lang, "HtmlTutorial") + " - " + message(lang, "English"), htmlEnLink());
table.newLinkRow(message(lang, "JavaScriptTutorial") + " - " + message(lang, "Chinese"), javaScriptZhLink());
table.newLinkRow(message(lang, "JavaScriptTutorial") + " - " + message(lang, "English"), javaScriptEnLink());
table.newLinkRow("JavaScript language specification", javaScriptSpecification());
table.newLinkRow("Nashorn User's Guide", nashornLink());
table.newLinkRow(message("CssTutorial") + " - " + message("Chinese"), cssZhLink());
table.newLinkRow(message("CssTutorial") + " - " + message("English"), cssEnLink());
table.newLinkRow(message("CssReference"), cssSpecificationLink());
table.newLinkRow(message("JavafxCssGuide"), javaFxCssLink());
table.newLinkRow(message(lang, "CssTutorial") + " - " + message(lang, "Chinese"), cssZhLink());
table.newLinkRow(message(lang, "CssTutorial") + " - " + message(lang, "English"), cssEnLink());
table.newLinkRow(message(lang, "CssReference"), cssSpecificationLink());
table.newLinkRow(message(lang, "JavafxCssGuide"), javaFxCssLink());
table.newLinkRow("Full list of Math functions", javaMathLink());
table.newLinkRow("Learning the Java Language", javaLink());
table.newLinkRow("Java Development Kit (JDK) APIs", javaAPILink());
table.newLinkRow(message("DerbyReferenceManual"), derbyLink());
table.newLinkRow(message("SqlIdentifier"), sqlLink());
table.newLinkRow(message(lang, "DerbyReferenceManual"), derbyLink());
table.newLinkRow(message(lang, "SqlIdentifier"), sqlLink());
table.newLinkRow("RenderingHints", renderingHintsLink());
table.newLinkRow(message("JsonTutorial") + " - " + message("Chinese"), jsonZhLink());
table.newLinkRow(message("JsonTutorial") + " - " + message("English"), jsonEnLink());
table.newLinkRow(message("JsonSpecification"), jsonSpecification());
table.newLinkRow(message("XmlTutorial") + " - " + message("Chinese"), xmlZhLink());
table.newLinkRow(message("XmlTutorial") + " - " + message("English"), xmlEnLink());
table.newLinkRow(message("DomSpecification"), domSpecification());
table.newLinkRow(message("Charset"), "https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/nio/charset/Charset.html");
table.newLinkRow(message(lang, "JsonTutorial") + " - " + message(lang, "Chinese"), jsonZhLink());
table.newLinkRow(message(lang, "JsonTutorial") + " - " + message(lang, "English"), jsonEnLink());
table.newLinkRow(message(lang, "JsonSpecification"), jsonSpecification());
table.newLinkRow(message(lang, "XmlTutorial") + " - " + message(lang, "Chinese"), xmlZhLink());
table.newLinkRow(message(lang, "XmlTutorial") + " - " + message(lang, "English"), xmlEnLink());
table.newLinkRow(message(lang, "DomSpecification"), domSpecification());
table.newLinkRow(message(lang, "Charset"), "https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/nio/charset/Charset.html");
table.newLinkRow("URI", "https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/net/URI.html");
table.newLinkRow("URL", "https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/net/URL.html");

File htmFile = HtmlWriteTools.writeHtml(table.html());
return htmFile;
String html = HtmlWriteTools.html(message(lang, "Links"), HtmlStyles.DefaultStyle, table.div());

File file = new File(FileTmpTools.generatePath("html")
+ "/mybox_useful_link_" + lang + ".html");

return TextFileTools.writeFile(file, html);
} catch (Exception e) {
MyBoxLog.error(e);
return null;
Expand Down
3 changes: 3 additions & 0 deletions alpha/MyBox/src/main/resources/bundles/Messages_en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5040,3 +5040,6 @@ SvgEditShape=Edit SVG Shape
CopyNodeXmlCodes=Copy XML codes of node
CopyNodeTextContent=Copy text content of node
RecoverFile=Recover file
SimpleMerged=Simple merged
AllMerged=All merged
RulerColor=Ruler color
Loading

0 comments on commit 914ab7d

Please sign in to comment.