diff options
Diffstat (limited to 'src/jrummikub/view')
-rw-r--r-- | src/jrummikub/view/IConnectPanel.java | 15 | ||||
-rw-r--r-- | src/jrummikub/view/IQuitWarningPanel.java | 27 | ||||
-rw-r--r-- | src/jrummikub/view/IView.java | 95 | ||||
-rw-r--r-- | src/jrummikub/view/LoginError.java | 17 | ||||
-rw-r--r-- | src/jrummikub/view/impl/ConnectPanel.java | 11 | ||||
-rw-r--r-- | src/jrummikub/view/impl/QuitWarningPanel.java | 14 | ||||
-rw-r--r-- | src/jrummikub/view/impl/View.java | 25 |
7 files changed, 150 insertions, 54 deletions
diff --git a/src/jrummikub/view/IConnectPanel.java b/src/jrummikub/view/IConnectPanel.java index 57d0aad..d09460e 100644 --- a/src/jrummikub/view/IConnectPanel.java +++ b/src/jrummikub/view/IConnectPanel.java @@ -2,10 +2,25 @@ package jrummikub.view; import jrummikub.util.IEvent;
+/**
+ * Panel shown during connection process and showing errors
+ */
public interface IConnectPanel {
+ /**
+ * Show connection process while error = null, error else
+ *
+ * @param error
+ * the error to allow specific error messages
+ */
public void setMode(LoginError error);
+ /**
+ * Is emitted when the user wants to abort connecting or has acknowledged
+ * the error
+ *
+ * @return the event
+ */
public IEvent getCancelEvent();
}
diff --git a/src/jrummikub/view/IQuitWarningPanel.java b/src/jrummikub/view/IQuitWarningPanel.java index b1f4123..34d9e07 100644 --- a/src/jrummikub/view/IQuitWarningPanel.java +++ b/src/jrummikub/view/IQuitWarningPanel.java @@ -2,8 +2,14 @@ package jrummikub.view; import jrummikub.util.IEvent; +/** + * Warning panel shown to if the emitted event would cancel the current game + */ public interface IQuitWarningPanel { + /** + * Enum summarizing the different events invoking the quit warning panel + */ public enum QuitMode { /** */ DEFAULT, @@ -13,12 +19,33 @@ public interface IQuitWarningPanel { QUIT_GAME } + /** + * Is emitted if the user is positive about quitting + * + * @return the event + */ public IEvent getQuitEvent(); + /** + * Is emitted if the user selected quit by mistake + * + * @return the event + */ public IEvent getCancelEvent(); + /** + * Sets the panel according to the event which invoked it + * + * @param mode + * the invoking event type + */ public void setMode(QuitMode mode); + /** + * Getter for quit mode + * + * @return the quit mode + */ public QuitMode getQuitMode(); }
\ No newline at end of file diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java index 9962062..f03b153 100644 --- a/src/jrummikub/view/IView.java +++ b/src/jrummikub/view/IView.java @@ -6,10 +6,8 @@ import java.util.Collection; import jrummikub.model.Stone; import jrummikub.model.StoneSet; -import jrummikub.util.Event; import jrummikub.util.IEvent; import jrummikub.util.IEvent1; -import jrummikub.view.IQuitWarningPanel.QuitMode; /** * The top-level view interface @@ -59,7 +57,7 @@ public interface IView { * Sets the current player's name * * @param playerName - * the player name + * the player name */ public void setCurrentPlayerName(String playerName); @@ -67,7 +65,7 @@ public interface IView { * Sets the stones that are to be painted selected * * @param stones - * the stones to be painted selected + * the stones to be painted selected */ public void setSelectedStones(Collection<Stone> stones); @@ -104,7 +102,7 @@ public interface IView { * Shows or hides the game settings panel * * @param show - * specifies if the panel shall be shown or hidden + * specifies if the panel shall be shown or hidden */ public void showSettingsPanel(boolean show); @@ -112,7 +110,7 @@ public interface IView { * Shows or hides the score panel * * @param show - * specifies if the panel shall be shown or hidden + * specifies if the panel shall be shown or hidden */ public void showScorePanel(boolean show); @@ -121,16 +119,16 @@ public interface IView { * along with the name * * @param color - * the current player's color + * the current player's color */ public void setCurrentPlayerColor(Color color); /** - * Is used for the PlayerPanel to display if a player has laid out along with - * the name + * Is used for the PlayerPanel to display if a player has laid out along + * with the name * * @param hasLaidOut - * specifies if the current player has laid out or not + * specifies if the current player has laid out or not */ public void setCurrentPlayerHasLaidOut(boolean hasLaidOut); @@ -145,13 +143,13 @@ public interface IView { * Sets the bottom panels type * * @param type - * the type of the bottom panel + * the type of the bottom panel */ public void setBottomPanel(BottomPanelType type); /** - * The menu new game event is emitted when the user selects the new game menu - * entry + * The menu new game event is emitted when the user selects the new game + * menu entry * * @return the event */ @@ -226,7 +224,7 @@ public interface IView { * Show/hide login panel * * @param show - * true = login panel is shown + * true = login panel is shown */ public void showLoginPanel(boolean show); @@ -234,7 +232,7 @@ public interface IView { * Enable/disable pause mode * * @param enable - * true = enable + * true = enable */ public void enablePauseMode(boolean enable); @@ -242,7 +240,7 @@ public interface IView { * Show/hide game list panel * * @param show - * true = show + * true = show */ public void showGameListPanel(boolean show); @@ -250,7 +248,7 @@ public interface IView { * Show/hide side panel * * @param show - * true to show + * true to show */ void showSidePanel(boolean show); @@ -258,7 +256,7 @@ public interface IView { * Is set if a player tried to lay out less than initial meld threshold * * @param points - * initial meld threshold + * initial meld threshold */ public void setInitialMeldError(int points); @@ -266,7 +264,7 @@ public interface IView { * Show stone collection * * @param enable - * showing collection + * showing collection */ public void setStoneCollectionHidden(boolean enable); @@ -279,7 +277,7 @@ public interface IView { * Set invalid sets to enable showing * * @param sets - * invalid sets on table + * invalid sets on table */ public void setInvalidStoneSets(Collection<StoneSet> sets); @@ -292,14 +290,61 @@ public interface IView { * Enables/disables saving in menu bar * * @param enable + * saving possible */ public void enableSave(boolean enable); + /** + * Sets the quit warning panel visible + * + * @param show + * is visible + */ public void showQuitWarningPanel(boolean show); + /** + * The quit event is emitted when the user wants to leave the application + * + * @return the event + */ public IEvent getQuitEvent(); /** + * Getter for quit warning panel + * + * @return the panel + */ + public IQuitWarningPanel getQuitWarningPanel(); + + /** + * The load file event is emitted when the user chose to discard the current + * game to save another + * + * @return the event + */ + public IEvent1<File> getLoadFileEvent(); + + /** + * Loading a game + */ + public void load(); + + /** + * Set the connect panel visible + * + * @param show + * is visible + */ + public void showConnectPanel(boolean show); + + /** + * Getter for connect panel + * + * @return the panel + */ + public IConnectPanel getConnectPanel(); + + /** * Different types of bottom panels */ public enum BottomPanelType { @@ -316,14 +361,4 @@ public interface IView { /** */ WIN_PANEL } - - public IQuitWarningPanel getQuitWarningPanel(); - - public IEvent1<File> getLoadFileEvent(); - - public void load(); - - public void showConnectPanel(boolean show); - - public IConnectPanel getConnectPanel(); } diff --git a/src/jrummikub/view/LoginError.java b/src/jrummikub/view/LoginError.java index a67a395..7176693 100644 --- a/src/jrummikub/view/LoginError.java +++ b/src/jrummikub/view/LoginError.java @@ -1,18 +1,21 @@ package jrummikub.view;
+/**
+ * Enum summarizing the different kinds of login errors
+ */
public enum LoginError {
- /** */
+ /** Error cannot be dissolved to a specific type */
UNKNOWN_ERROR,
- /** */
+ /** No answer from network */
TIMEOUT,
- /** */
+ /** Connection denied by server */
CONNECTION_REFUSED,
- /** */
+ /** Password or username incorrect */
AUTHENTICATION_FAILED,
- /** */
+ /** Username already occurs in the same channel */
RESOURCE_CONFLICT,
- /** */
+ /** Server not found */
UNKNOWN_HOST,
- /** */
+ /** Channel not found */
UNKNOWN_CHANNEL
}
diff --git a/src/jrummikub/view/impl/ConnectPanel.java b/src/jrummikub/view/impl/ConnectPanel.java index befa687..fc30bb0 100644 --- a/src/jrummikub/view/impl/ConnectPanel.java +++ b/src/jrummikub/view/impl/ConnectPanel.java @@ -21,13 +21,20 @@ import jrummikub.util.IEvent; import jrummikub.view.IConnectPanel;
import jrummikub.view.LoginError;
+/**
+ * Panel shown during network connecting process and showing errors
+ */
public class ConnectPanel extends JPanel implements IConnectPanel {
+ private static final long serialVersionUID = 1L;
private JLabel messageLabel;
private JProgressBar foobar;
private JButton cancelButton;
private Event cancelEvent = new Event();
+ /**
+ * Creates new connection panel
+ */
public ConnectPanel() {
setLayout(new GridBagLayout());
@@ -61,8 +68,8 @@ public class ConnectPanel extends JPanel implements IConnectPanel { });
add(cancelButton, c);
- setBorder(new CompoundBorder(new LineBorder(Color.BLACK), new EmptyBorder(
- 10, 10, 10, 10)));
+ setBorder(new CompoundBorder(new LineBorder(Color.BLACK),
+ new EmptyBorder(10, 10, 10, 10)));
}
@Override
diff --git a/src/jrummikub/view/impl/QuitWarningPanel.java b/src/jrummikub/view/impl/QuitWarningPanel.java index edc8947..f00ef8a 100644 --- a/src/jrummikub/view/impl/QuitWarningPanel.java +++ b/src/jrummikub/view/impl/QuitWarningPanel.java @@ -18,7 +18,11 @@ import jrummikub.util.Event; import jrummikub.util.IEvent; import jrummikub.view.IQuitWarningPanel; +/** + * Warning panel to inform users if their actions would end the current game + */ public class QuitWarningPanel extends JPanel implements IQuitWarningPanel { + private static final long serialVersionUID = 1L; private JButton cancelButton; private JButton quitButton; private QuitMode quitMode; @@ -26,6 +30,9 @@ public class QuitWarningPanel extends JPanel implements IQuitWarningPanel { private Event cancelEvent = new Event(); private JLabel messageLabel; + /** + * Creates new quit warning panel + */ public QuitWarningPanel() { setLayout(new GridBagLayout()); @@ -50,8 +57,8 @@ public class QuitWarningPanel extends JPanel implements IQuitWarningPanel { c.gridx = 1; add(quitButton, c); - setBorder(new CompoundBorder(new LineBorder(Color.BLACK), new EmptyBorder( - 10, 10, 10, 10))); + setBorder(new CompoundBorder(new LineBorder(Color.BLACK), + new EmptyBorder(10, 10, 10, 10))); } private JButton createButton(String title, final Event event) { @@ -70,7 +77,8 @@ public class QuitWarningPanel extends JPanel implements IQuitWarningPanel { this.quitMode = mode; switch (quitMode) { case QUIT_PROCESS: - messageLabel.setText("Beim Beenden geht das aktuelle Spiel verloren"); + messageLabel + .setText("Beim Beenden geht das aktuelle Spiel verloren"); break; case QUIT_GAME: messageLabel.setText("Der aktuelle Spielstand geht verloren"); diff --git a/src/jrummikub/view/impl/View.java b/src/jrummikub/view/impl/View.java index 94cb04f..5cc1a85 100644 --- a/src/jrummikub/view/impl/View.java +++ b/src/jrummikub/view/impl/View.java @@ -14,7 +14,6 @@ import java.util.Collection; import java.util.Collections; import java.util.List; -import javax.swing.JComponent; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JLayeredPane; @@ -43,7 +42,6 @@ import jrummikub.view.IHandPanel; import jrummikub.view.ILoginPanel; import jrummikub.view.IPlayerPanel; import jrummikub.view.IQuitWarningPanel; -import jrummikub.view.IQuitWarningPanel.QuitMode; import jrummikub.view.IScorePanel; import jrummikub.view.ISettingsPanel; import jrummikub.view.ISidePanel; @@ -232,7 +230,6 @@ public class View extends JFrame implements IView { loadItem.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - File file = new File(""); loadEvent.emit(); } }); @@ -314,6 +311,19 @@ public class View extends JFrame implements IView { createSettingsPanel(); + createLayeredPane(); + + addComponentListener(new ComponentAdapter() { + @Override + public void componentResized(ComponentEvent e) { + rescale(); + } + }); + + setVisible(true); + } + + private void createLayeredPane() { layeredPane.setLayer(settingsPanel, JLayeredPane.POPUP_LAYER); layeredPane.add(settingsPanel); @@ -341,15 +351,6 @@ public class View extends JFrame implements IView { scorePanel.setVisible(false); layeredPane.setLayer(scorePanel, JLayeredPane.POPUP_LAYER); layeredPane.add(scorePanel); - - addComponentListener(new ComponentAdapter() { - @Override - public void componentResized(ComponentEvent e) { - rescale(); - } - }); - - setVisible(true); } private void createSettingsPanel() { |