home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 14 / IOPROG_14.ISO / soft / sdkjava / sdkjava.exe / SDKJava.cab / Samples / AFC / Puzzle15 / Src / Pz15Menu.java < prev    next >
Encoding:
Java Source  |  1998-03-05  |  2.1 KB  |  75 lines

  1. //
  2. // (c) 1998 Microsoft Corporation.  All rights reserved.
  3. //
  4. import java.awt.Event;
  5. import com.ms.ui.*;
  6. import com.ms.fx.FxFont;
  7.  
  8. class Pz15Menu extends UIBandBox implements Pz15Consts
  9. {
  10.     private Pz15Callbacks pzctrl;
  11.     private UIMenuItem m_new, m_undo, m_restart, m_soln, m_opts, m_exit;
  12.  
  13.     public Pz15Menu(Pz15Callbacks pzctrl, boolean app)
  14.     {
  15.         this.pzctrl = pzctrl;
  16.  
  17.         UIBand    mainmenu = new UIBand();
  18.         UIMenuList gamemenu = new UIMenuList();
  19.         gamemenu.setFont(new FxFont("Courier", FxFont.BOLD, 12));
  20.  
  21.         add(mainmenu);
  22.         mainmenu.add(new UIMenuButton("Game", 0, gamemenu));
  23.  
  24.         m_new =     new UIMenuItem("New Game           F2");
  25.         m_restart = new UIMenuItem("Restart Game       F4"); m_restart.setEnabled(false);
  26.         m_undo =    new UIMenuItem("Undo Move      Ctrl-Z"); m_undo.setEnabled(false);
  27.         m_soln =    new UIMenuItem("Show Optimal Soln  F3"); m_soln.setEnabled(false);
  28.         m_opts =    new UIMenuItem("Game Options...    F7");
  29.         m_exit =    new UIMenuItem("Exit           Ctrl-X");
  30.         if ( !app )
  31.             m_exit.setEnabled(false);
  32.  
  33.         gamemenu.add(m_new); gamemenu.add(m_restart); gamemenu.add(new UILine());
  34.         gamemenu.add(m_undo); gamemenu.add(new UILine());
  35.         gamemenu.add(m_soln); gamemenu.add(new UILine());
  36.         gamemenu.add(m_opts); gamemenu.add(new UILine());
  37.         gamemenu.add(m_exit);
  38.     }
  39.  
  40.     public void enable(int idx, boolean set)
  41.     {
  42.         if ( idx == ID_SOLUTION )
  43.             m_soln.setEnabled(set);
  44.         else if ( idx == ID_UNDO )
  45.             m_undo.setEnabled(set);
  46.         else if ( idx == ID_RESTART )
  47.             m_restart.setEnabled(set);
  48.     }
  49.  
  50.     public boolean action(Event e, Object arg)
  51.     {
  52.         if ( arg instanceof UIMenuItem )
  53.         {
  54.             UIMenuItem item = (UIMenuItem)arg;
  55.  
  56.             if ( item == m_new )
  57.                 pzctrl.newGame();
  58.             else if ( item == m_restart )
  59.                 pzctrl.restartGame();
  60.             else if ( item == m_undo )
  61.                 pzctrl.undoMove();
  62.             else if ( item == m_opts )
  63.                 pzctrl.displayOptionsDialog();
  64.             else if ( item == m_soln )
  65.                 pzctrl.displayOptimalSolution();
  66.             else if ( item == m_exit ) {
  67.                 pzctrl.stopSolver();
  68.                 System.exit(0);
  69.             }
  70.             return true;
  71.         }
  72.         return super.action(e, arg);
  73.     }
  74. }
  75.