desktop/desktop-sample/src/main/java/cz/xelfi/quoridor/desktop/sample/KukTopComponent.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Mon, 13 Sep 2010 16:27:07 +0200
branchdesktop
changeset 260 8ebffb5aa10e
parent 257 03762a20a808
child 261 cf7e6b8259e1
permissions -rw-r--r--
Shows all current games
jaroslav@257
     1
/*
jaroslav@257
     2
 * To change this template, choose Tools | Templates
jaroslav@257
     3
 * and open the template in the editor.
jaroslav@257
     4
 */
jaroslav@257
     5
package cz.xelfi.quoridor.desktop.sample;
jaroslav@257
     6
jaroslav@257
     7
import org.openide.util.NbBundle;
jaroslav@257
     8
import org.openide.windows.TopComponent;
jaroslav@257
     9
//import org.openide.util.ImageUtilities;
jaroslav@257
    10
import org.netbeans.api.settings.ConvertAsProperties;
jaroslav@257
    11
jaroslav@257
    12
/**
jaroslav@260
    13
 * Top component which displays the board.
jaroslav@257
    14
 */
jaroslav@257
    15
@ConvertAsProperties(dtd = "-//cz.xelfi.quoridor.desktop.sample//Kuk//EN",
jaroslav@257
    16
autostore = false)
jaroslav@257
    17
public final class KukTopComponent extends TopComponent {
jaroslav@257
    18
jaroslav@257
    19
    /** path to the icon used by the component and its open action */
jaroslav@257
    20
//    static final String ICON_PATH = "SET/PATH/TO/ICON/HERE";
jaroslav@257
    21
    private static final String PREFERRED_ID = "KukTopComponent";
jaroslav@257
    22
jaroslav@260
    23
    private String id;
jaroslav@260
    24
jaroslav@257
    25
    public KukTopComponent() {
jaroslav@257
    26
        initComponents();
jaroslav@257
    27
        
jaroslav@257
    28
        setName(NbBundle.getMessage(KukTopComponent.class, "CTL_KukTopComponent"));
jaroslav@257
    29
        setToolTipText(NbBundle.getMessage(KukTopComponent.class, "HINT_KukTopComponent"));
jaroslav@257
    30
//        setIcon(ImageUtilities.loadImage(ICON_PATH, true));
jaroslav@260
    31
        
jaroslav@260
    32
    }
jaroslav@260
    33
    
jaroslav@260
    34
    public void setGameId(String id) {
jaroslav@260
    35
        this.id = id;
jaroslav@260
    36
        boardPane1.setBoard(Quoridor.getDefault().getGame(id).getBoard());
jaroslav@257
    37
    }
jaroslav@257
    38
jaroslav@257
    39
    /** This method is called from within the constructor to
jaroslav@257
    40
     * initialize the form.
jaroslav@257
    41
     * WARNING: Do NOT modify this code. The content of this method is
jaroslav@257
    42
     * always regenerated by the Form Editor.
jaroslav@257
    43
     */
jaroslav@257
    44
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
jaroslav@257
    45
    private void initComponents() {
jaroslav@257
    46
jaroslav@257
    47
        boardPane1 = new cz.xelfi.quoridor.visidor.BoardPane();
jaroslav@257
    48
jaroslav@257
    49
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
jaroslav@257
    50
        this.setLayout(layout);
jaroslav@257
    51
        layout.setHorizontalGroup(
jaroslav@257
    52
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
jaroslav@257
    53
            .addGap(0, 450, Short.MAX_VALUE)
jaroslav@257
    54
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
jaroslav@257
    55
                .addGroup(layout.createSequentialGroup()
jaroslav@257
    56
                    .addGap(0, 0, Short.MAX_VALUE)
jaroslav@257
    57
                    .addComponent(boardPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
jaroslav@257
    58
                    .addGap(0, 0, Short.MAX_VALUE)))
jaroslav@257
    59
        );
jaroslav@257
    60
        layout.setVerticalGroup(
jaroslav@257
    61
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
jaroslav@257
    62
            .addGap(0, 450, Short.MAX_VALUE)
jaroslav@257
    63
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
jaroslav@257
    64
                .addGroup(layout.createSequentialGroup()
jaroslav@257
    65
                    .addGap(0, 0, Short.MAX_VALUE)
jaroslav@257
    66
                    .addComponent(boardPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
jaroslav@257
    67
                    .addGap(0, 0, Short.MAX_VALUE)))
jaroslav@257
    68
        );
jaroslav@257
    69
    }// </editor-fold>//GEN-END:initComponents
jaroslav@257
    70
jaroslav@257
    71
    // Variables declaration - do not modify//GEN-BEGIN:variables
jaroslav@257
    72
    private cz.xelfi.quoridor.visidor.BoardPane boardPane1;
jaroslav@257
    73
    // End of variables declaration//GEN-END:variables
jaroslav@257
    74
jaroslav@257
    75
    @Override
jaroslav@257
    76
    public int getPersistenceType() {
jaroslav@257
    77
        return TopComponent.PERSISTENCE_ALWAYS;
jaroslav@257
    78
    }
jaroslav@257
    79
jaroslav@257
    80
    @Override
jaroslav@257
    81
    public void componentOpened() {
jaroslav@257
    82
        // TODO add custom code on component opening
jaroslav@257
    83
    }
jaroslav@257
    84
jaroslav@257
    85
    @Override
jaroslav@257
    86
    public void componentClosed() {
jaroslav@257
    87
        // TODO add custom code on component closing
jaroslav@257
    88
    }
jaroslav@257
    89
jaroslav@257
    90
    void writeProperties(java.util.Properties p) {
jaroslav@257
    91
        // better to version settings since initial version as advocated at
jaroslav@257
    92
        // http://wiki.apidesign.org/wiki/PropertyFiles
jaroslav@257
    93
        p.setProperty("version", "1.0");
jaroslav@260
    94
        if (id != null) {
jaroslav@260
    95
            p.setProperty("id", id);
jaroslav@260
    96
        }
jaroslav@257
    97
    }
jaroslav@257
    98
jaroslav@257
    99
    final void readProperties(java.util.Properties p) {
jaroslav@257
   100
        String version = p.getProperty("version");
jaroslav@260
   101
        String myId = p.getProperty("id");
jaroslav@260
   102
        if (myId != null) {
jaroslav@260
   103
            setGameId(myId);
jaroslav@260
   104
        }
jaroslav@257
   105
    }
jaroslav@257
   106
jaroslav@257
   107
    @Override
jaroslav@257
   108
    protected String preferredID() {
jaroslav@257
   109
        return PREFERRED_ID;
jaroslav@257
   110
    }
jaroslav@257
   111
}