Package de.sciss.eisenkraut.gui

Source Code of de.sciss.eisenkraut.gui.EditModeAction

/*
*  EditModeAction.java
*  Eisenkraut
*
*  Copyright (c) 2004-2014 Hanns Holger Rutz. All rights reserved.
*
*  This software is published under the GNU General Public License v3+
*
*
*  For further information, please contact Hanns Holger Rutz at
*  contact@sciss.de
*
*
*  Changelog:
*    28-Jan-06  created
*/

package de.sciss.eisenkraut.gui;

import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.ButtonGroup;
import javax.swing.JToggleButton;

import de.sciss.eisenkraut.session.Session;

/**
@author    Hanns Holger Rutz
@version  0.65, 28-Jan-06
*/
public class EditModeAction
extends AbstractAction
{
  private final JToggleButton[]  b;
  private final ButtonGroup    bg;
  private final Session      doc;

  /**
   */
  public EditModeAction( Session doc )
  {
    super();
    this.doc    = doc;

    b        = new JToggleButton[ 3 ];
    bg        = new ButtonGroup();
    for( int i = 0; i < 3; i++ ) {
      b[ i ]    = new JToggleButton( this );
      GraphicsUtil.setToolIcons( b[ i ], GraphicsUtil.createToolIcons( GraphicsUtil.ICON_INSERTMODE + i ));
      bg.add( b[ i ]);
    }
   
    bg.setSelected( b[ doc.getEditMode() ].getModel(), true );
  }
 
  /**
   */
  public ButtonGroup getButtons()
  {
    return bg;
  }

  public void actionPerformed( ActionEvent e )
  {
    for( int i = 0; i < 3; i++ ) {
      if( e.getSource() == b[ i ]) {
        if( !bg.isSelected( b[ i ].getModel() )) {
          bg.setSelected( b[ i ].getModel(), true );
        }
        doc.setEditMode( i );
        break;
      }
    }
  }
}
TOP

Related Classes of de.sciss.eisenkraut.gui.EditModeAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.