home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1995 November / PCWK1195.iso / inne / win95 / sieciowe / hotja32.lzh / hotjava / classsrc / awt / toggle.java < prev    next >
Text File  |  1995-08-11  |  3KB  |  128 lines

  1. /*
  2.  * @(#)Toggle.java    1.12 95/02/03 Sami Shaio
  3.  *
  4.  * Copyright (c) 1994 Sun Microsystems, Inc. All Rights Reserved.
  5.  *
  6.  * Permission to use, copy, modify, and distribute this software
  7.  * and its documentation for NON-COMMERCIAL purposes and without
  8.  * fee is hereby granted provided that this copyright notice
  9.  * appears in all copies. Please refer to the file "copyright.html"
  10.  * for further important copyright and licensing information.
  11.  *
  12.  * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
  13.  * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
  14.  * TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  15.  * PARTICULAR PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR
  16.  * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
  17.  * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES.
  18.  */
  19. package awt;
  20.  
  21. /**
  22.  * A Toggle object is a gui element that has a boolean state.
  23.  *
  24.  * @version 1.12 03 Feb 1995
  25.  * @author Sami Shaio
  26.  */
  27. public class Toggle extends Component {
  28.     private    WServer    wServer;
  29.     public String label;
  30.     public RadioGroup group = null;
  31.  
  32.     /**
  33.      * Constructs a Toggle.
  34.      * @param pLabel is the label of this toggle button.
  35.      * @param pName is the name of this Toggle.
  36.      * @param pParent is the window to contain this Toggle.
  37.      * @param group is the RadioGroup this Toggle is in. If not null,
  38.      * then this Toggle becomes a radio button which means only one
  39.      * Toggle in a RadioGroup may be set.
  40.      * @param state is the initial state of this Toggle.
  41.      */
  42.     public Toggle(String pLabel,
  43.           String pName,   
  44.           Container pParent,
  45.           RadioGroup group,
  46.           boolean state) {
  47.     super(pParent, pName);
  48.     label = pLabel;
  49.     this.group = group;
  50.     Window win = Window.getWindow(parent);
  51.     wServer = win.wServer;
  52.     wServer.toggleCreate(this,
  53.                     label,
  54.                     win,
  55.                     group,
  56.                     state);
  57.     if (state && group != null) {
  58.         group.setCurrent(this);
  59.     }
  60.     }
  61.  
  62.     /**
  63.      * Constructs a Toggle (defaults RadioGroup to null)
  64.      */
  65.     public Toggle(String pLabel,
  66.           String pName,
  67.           Container pParent,
  68.           boolean state) {
  69.     this(pLabel, pName, pParent, null, state);
  70.     }
  71.  
  72.     /** Sets the state of the Toggle. */
  73.     public void setState(boolean state) {
  74.     if (state && group != null) {
  75.         group.setCurrent(this);
  76.     }
  77.     wServer.toggleSetState(this, state);
  78.     }
  79.  
  80.     /** Returns the state of the Toggle. */
  81.     public boolean getState() {
  82.     return wServer.toggleGetState(this);
  83.     }
  84.  
  85.     /** Moves this toggle.*/
  86.     public void move(int x, int y) {
  87.     super.move(x,y);
  88.     wServer.toggleMoveTo(this, x, y);
  89.     }
  90.  
  91.     /** Reshapes this Toggle. */
  92.     public void reshape(int x, int y, int w, int h) {
  93.     super.reshape(x, y, w, h);
  94.     wServer.toggleReshape(this, x, y, w, h);
  95.     }
  96.     
  97.     /** Disposes of this Toggle. */
  98.     public void dispose() {
  99.     wServer.toggleDispose(this);
  100.     }
  101.  
  102.     /** Shows this Toggle. */
  103.     public void map() {
  104.     wServer.toggleShow(this);
  105.     mapped = true;
  106.     }
  107.  
  108.     /** Hides this Toggle. */
  109.     public void unMap() {
  110.     wServer.toggleHide(this);
  111.     mapped = false;
  112.     }
  113.  
  114.     
  115.     /** Override this method to take some action when the state
  116.      * changes.
  117.      */
  118.     public void selected() {
  119.     }
  120.  
  121.     void handleStateChanged() {
  122.     if (group != null) {
  123.         group.setCurrent(this);
  124.     }
  125.     selected();
  126.     }
  127. }
  128.