summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/view')
-rw-r--r--src/jrummikub/view/IConnectPanel.java15
-rw-r--r--src/jrummikub/view/IQuitWarningPanel.java27
-rw-r--r--src/jrummikub/view/IView.java95
-rw-r--r--src/jrummikub/view/LoginError.java17
-rw-r--r--src/jrummikub/view/impl/ConnectPanel.java11
-rw-r--r--src/jrummikub/view/impl/QuitWarningPanel.java14
-rw-r--r--src/jrummikub/view/impl/View.java25
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() {