Kommentare, Kommentare
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@509 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
477e8e9b82
commit
74d8205f30
18 changed files with 315 additions and 154 deletions
|
@ -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();
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
||||
}
|
|
@ -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,13 +290,60 @@ 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
|
||||
*/
|
||||
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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() {
|
||||
|
|
Reference in a new issue