config) {
+
+ }
}
\ No newline at end of file
diff --git a/src/main/java/org/jcnc/jnotepad/plugin/PluginManager.java b/src/main/java/org/jcnc/jnotepad/plugin/PluginManager.java
index 8eaa31e..4cfef56 100644
--- a/src/main/java/org/jcnc/jnotepad/plugin/PluginManager.java
+++ b/src/main/java/org/jcnc/jnotepad/plugin/PluginManager.java
@@ -74,7 +74,7 @@ public class PluginManager {
String displayName = plugin.getDisplayName();
categories.computeIfAbsent(categoryName, k -> new ArrayList<>()).add(displayName);
} else {
- LogUtil.getLogger(this.getClass()).info("Plugins file not found: {}", pluginFilePath);
+ LogUtil.getLogger(this.getClass()).info("PluginInfo file not found: {}", pluginFilePath);
}
}
diff --git a/src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java b/src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java
index c97d53a..c686453 100644
--- a/src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java
+++ b/src/main/java/org/jcnc/jnotepad/plugin/interfaces/Plugin.java
@@ -1,5 +1,8 @@
package org.jcnc.jnotepad.plugin.interfaces;
+
+import java.util.Map;
+
/**
* 插件接口
*
@@ -16,6 +19,7 @@ public interface Plugin extends PluginCategory {
*/
String getDisplayName();
+
/**
* 初始化插件
*/
@@ -25,4 +29,19 @@ public interface Plugin extends PluginCategory {
* 执行插件的逻辑
*/
void execute();
+
+ /**
+ * 获取插件的配置参数
+ *
+ * @return 插件的配置参数
+ */
+ Map getConfig();
+
+ /**
+ * 设置插件的配置参数
+ *
+ * @param config 插件的配置参数
+ */
+ void setConfig(Map config);
+
}
diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java b/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java
index d72800b..b916b9c 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialog.java
@@ -58,7 +58,7 @@ public class AppDialog extends Stage {
HBox hBox = new HBox(builder.getHBoxSpacing(), confirmButton, cancelButton);
hBox.setAlignment(builder.getHboxPos());
- hBox.setPadding(builder.getHBoxPaddingInsets());
+ hBox.setPadding(builder.gethBoxPaddingInsets());
vbox.getChildren().addAll(label, customTextLabel, hBox);
borderPane.setLeft(iconBox);
diff --git a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java b/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java
index a372e43..327b896 100644
--- a/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java
+++ b/src/main/java/org/jcnc/jnotepad/ui/dialog/AppDialogBuilder.java
@@ -4,7 +4,6 @@ import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.image.Image;
import javafx.stage.Modality;
-import lombok.Data;
import org.jcnc.jnotepad.model.enums.DialogType;
import org.jcnc.jnotepad.ui.dialog.interfaces.DialogButtonAction;
import org.jcnc.jnotepad.util.UiUtil;
@@ -15,7 +14,6 @@ import org.kordamp.ikonli.javafx.FontIcon;
*
* @author gewuyou
*/
-@Data
public class AppDialogBuilder {
private AppDialog appDialog;
private Image appIcon = UiUtil.getAppIcon();
@@ -96,6 +94,10 @@ public class AppDialogBuilder {
return this;
}
+ public AppDialog build() {
+ appDialog = new AppDialog(this);
+ return appDialog;
+ }
/**
* 设置对话框标题
@@ -238,9 +240,75 @@ public class AppDialogBuilder {
return this;
}
+ public Image getAppIcon() {
+ return appIcon;
+ }
- public AppDialog build() {
- appDialog = new AppDialog(this);
- return appDialog;
+ public String getTitle() {
+ return title;
+ }
+
+ public String getHeaderText() {
+ return headerText;
+ }
+
+ public String getCustomText() {
+ return customText;
+ }
+
+ public double getWidth() {
+ return width;
+ }
+
+ public double getHeight() {
+ return height;
+ }
+
+ public FontIcon getIcon() {
+ return icon;
+ }
+
+ public DialogButtonAction getLeftBtnAction() {
+ return leftBtnAction;
+ }
+
+ public DialogButtonAction getRightBtnAction() {
+ return rightBtnAction;
+ }
+
+ public String getLeftBtnText() {
+ return leftBtnText;
+ }
+
+ public String getRightBtnText() {
+ return rightBtnText;
+ }
+
+ public Insets getIconCoxPaddingInsets() {
+ return iconCoxPaddingInsets;
+ }
+
+ public Insets gethBoxPaddingInsets() {
+ return hBoxPaddingInsets;
+ }
+
+ public boolean isResizable() {
+ return isResizable;
+ }
+
+ public double getHBoxSpacing() {
+ return hBoxSpacing;
+ }
+
+ public Pos getVboxPos() {
+ return vboxPos;
+ }
+
+ public Pos getHboxPos() {
+ return hboxPos;
+ }
+
+ public Modality getModality() {
+ return modality;
}
}