summaryrefslogtreecommitdiff
path: root/src/main/java/prefs/editors/VSEditorFrame.java
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-06-06 08:02:52 +0300
committerPaul Buetow <paul@buetow.org>2025-06-06 08:02:52 +0300
commit1d99762c7965d351510cfb5e08eac25e48d96038 (patch)
treef469493e911878ab9055ccf0494211bf9015922d /src/main/java/prefs/editors/VSEditorFrame.java
parent4d35597bd92607c4d194686e20b125044506c79a (diff)
Modernize project structure, update Maven config, move sources, add logging config, update README and .gitignore
Diffstat (limited to 'src/main/java/prefs/editors/VSEditorFrame.java')
-rw-r--r--src/main/java/prefs/editors/VSEditorFrame.java98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/main/java/prefs/editors/VSEditorFrame.java b/src/main/java/prefs/editors/VSEditorFrame.java
new file mode 100644
index 0000000..e418801
--- /dev/null
+++ b/src/main/java/prefs/editors/VSEditorFrame.java
@@ -0,0 +1,98 @@
+package prefs.editors;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+import prefs.VSPrefs;
+import utils.VSFrame;
+
+/**
+ * The class VSEditorFrame, this is a wrapper around an VSAbstractEditor
+ * object, which should be displayed in its own frame.
+ *
+ * @author Paul C. Buetow
+ */
+public class VSEditorFrame extends VSFrame implements ActionListener {
+ /** The serial version uid */
+ private static final long serialVersionUID = 1L;
+
+ /** The editor. */
+ private VSAbstractBetterEditor editor;
+
+ /** The prefs. */
+ private VSPrefs prefs;
+
+ /**
+ * Instantiates a new VSEditorFrame object.
+ *
+ * @param prefs the prefs
+ * @param relativeTo the relative to
+ * @param editor the editor
+ */
+ public VSEditorFrame(VSPrefs prefs, Component relativeTo,
+ VSAbstractBetterEditor editor) {
+ super(editor.getTitle(), relativeTo);
+ this.prefs = prefs;
+ this.editor = editor;
+ init();
+ }
+
+ /**
+ * Inits the VSEditorFrame object.
+ */
+ private void init() {
+ editor.setFrame(this);
+ fillButtonPanel(editor.getButtonPanel());
+ setContentPane(editor.getContentPane());
+ setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+ setSize(prefs.getInteger("div.window.prefs.xsize"),
+ prefs.getInteger("div.window.prefs.ysize"));
+ setResizable(false);
+ setVisible(true);
+ }
+
+ /**
+ * Fills the button panel.
+ *
+ * @param buttonPanel the button panel
+ */
+ private void fillButtonPanel(JPanel buttonPanel) {
+ JButton okButton = new JButton(
+ prefs.getString("lang.ok"));
+ okButton.setMnemonic(prefs.getInteger("keyevent.ok"));
+ okButton.addActionListener(this);
+ buttonPanel.add(okButton, 0);
+
+ JButton cancelButton = new JButton(
+ prefs.getString("lang.cancel"));
+ cancelButton.setMnemonic(prefs.getInteger("keyevent.cancel"));
+ cancelButton.addActionListener(this);
+ buttonPanel.add(cancelButton, 1);
+ buttonPanel.repaint();
+ }
+
+ /* (non-Javadoc)
+ * @see java.awt.event.ActionListener#actionPerformed(
+ * java.awt.event.ActionEvent)
+ */
+ public void actionPerformed(ActionEvent e) {
+ String actionCommand = e.getActionCommand();
+
+ if (actionCommand.equals(prefs.getString("lang.ok"))) {
+ editor.actionPerformed(e);
+ dispose();
+
+ } else if (actionCommand.equals(prefs.getString("lang.cancel"))) {
+ editor.actionPerformed(e);
+ dispose();
+
+ } else {
+ editor.actionPerformed(e);
+ }
+ }
+}