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