diff options
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java | 102 |
1 files changed, 26 insertions, 76 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java index 2907ebc4..35a4ddad 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/Wizard.java @@ -1,10 +1,11 @@ package org.openslx.dozmod.gui.wizard; -import java.awt.BorderLayout; -import java.awt.Color; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Window; +import org.openslx.dozmod.gui.Gui; +import org.openslx.dozmod.gui.helper.I18n; +import org.openslx.dozmod.gui.helper.StatusHeader; + +import javax.swing.*; +import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; @@ -12,27 +13,9 @@ import java.awt.event.WindowEvent; import java.util.ArrayList; import java.util.List; -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JDialog; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JSeparator; -import javax.swing.SwingConstants; - -import org.openslx.dozmod.gui.Gui; -import org.openslx.dozmod.gui.control.QLabel; -import org.openslx.dozmod.gui.helper.GridManager; -import org.openslx.dozmod.gui.helper.I18n; -import org.openslx.dozmod.util.ResourceLoader; +@SuppressWarnings("serial") public abstract class Wizard extends JDialog { -@SuppressWarnings("serial") -public abstract class Wizard extends JDialog { - - private final QLabel titleLabel; - private final QLabel messageLabel; + private final StatusHeader header; private final List<WizardPage> pages = new ArrayList<>(); private WizardPage postFinishPage = null; private boolean isPostFinish = false; @@ -52,28 +35,8 @@ public abstract class Wizard extends JDialog { super(parent, ModalityType.APPLICATION_MODAL); setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); setLayout(new BorderLayout()); - JPanel header = new JPanel(); - header.setMinimumSize(Gui.getScaledDimension(0, 100)); - header.setOpaque(true); - header.setBackground(Color.WHITE); - header.setLayout(new BoxLayout(header, BoxLayout.PAGE_AXIS)); - header.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); - // Labels in header - titleLabel = new QLabel("<title>"); - messageLabel = new QLabel("<message>"); - titleLabel.setFont(titleLabel.getFont().deriveFont(Font.BOLD)); - titleLabel.setForeground(Color.BLACK); - messageLabel.setForeground(Color.BLACK); - messageLabel.setHorizontalTextPosition(SwingConstants.RIGHT); - header.add(titleLabel); - header.add(messageLabel); - // Add header - JPanel headerWrapper = new JPanel(); - GridManager grid = new GridManager(headerWrapper, 1, false); - grid.add(header).expand(true, false).fill(true, false); - grid.add(new JSeparator()).expand(true, false).fill(true, false); - grid.finish(false); - getContentPane().add(headerWrapper, BorderLayout.PAGE_START); + + this.header = new StatusHeader(getContentPane(), "<titel>", "<message>"); // Buttons in footer JPanel footer = new JPanel(); footer.setLayout(new BoxLayout(footer, BoxLayout.LINE_AXIS)); @@ -104,41 +67,34 @@ public abstract class Wizard extends JDialog { // Window events addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(WindowEvent we) { + @Override public void windowClosing(WindowEvent we) { doCancel(); } }); // Äkschns btnNext.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { + @Override public void actionPerformed(ActionEvent e) { doNext(); } }); btnPrev.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { + @Override public void actionPerformed(ActionEvent e) { doPrevious(); } }); btnCancel.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { + @Override public void actionPerformed(ActionEvent e) { doCancel(); } }); btnFinish.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { + @Override public void actionPerformed(ActionEvent e) { doFinish(); } }); } - @SuppressWarnings("deprecation") - @Override - public void show() { + @SuppressWarnings("deprecation") @Override public void show() { if (needsLayout) { needsLayout = false; pack(); @@ -180,9 +136,8 @@ public abstract class Wizard extends JDialog { // Show an out of order page e.g. for converting an image /** - * - * @param NewPage to return to. - * @param OldPage that should be hidden. + * @param newPage to return to. + * @param oldPage that should be hidden. */ public void returnAfterOutOfOrderPage(WizardPage newPage, WizardPage oldPage) { oldPage.onPageLeave(); @@ -204,12 +159,7 @@ public abstract class Wizard extends JDialog { pageTitle = "Step " + currentPage; if (pageDesc == null) pageDesc = ""; - titleLabel.setText(pageTitle); - messageLabel.setText(pageDesc); - messageLabel.setIcon( - ResourceLoader.getScaledIcon(page.getMessageIcon(), messageLabel.getHeight(), messageLabel)); - messageLabel.setForeground(page.getMessageColor()); - messageLabel.validate(); + header.updateHeader(pageTitle, pageDesc, page.getMessageIcon(), page.getMessageColor()); setTitle(getWindowTitle() + " - " + pageTitle); } @@ -265,7 +215,7 @@ public abstract class Wizard extends JDialog { /** * Returns whether the page currently shown is the summary page. - * + * * @return whether the page currently shown is the summary page. */ protected final boolean isSummaryPage() { @@ -275,7 +225,7 @@ public abstract class Wizard extends JDialog { /** * Returns true if the wizard was cancelled. Mostly useful in onPageLeave to * distinguish what's happening. - * + * * @return true if the wizard was cancelled. */ public final boolean isCancelled() { @@ -364,7 +314,7 @@ public abstract class Wizard extends JDialog { /** * User clicked cancel or (X) - when returning false, * wizard will stay open - * + * * @return */ protected boolean onCancelRequest() { @@ -374,9 +324,9 @@ public abstract class Wizard extends JDialog { /** * Called when user clicks finish. Override to do final checks and take * appropriate actions. - * + * * @return <code>true</code> if finish is allowed, <code>false</code> - * otherwise + * otherwise */ protected boolean wantFinish() { return true; @@ -389,9 +339,9 @@ public abstract class Wizard extends JDialog { * If a wizard page is returned, it will serve as a summary page shown to * the user within the wizard frame. The prev and next buttons will * disappear, and the finish button will change to a close button. - * + * * @return A wizard page that serves as a summary page, or null if the - * wizard should just close + * wizard should just close */ protected WizardPage performFinish() { return null; |