/*
* EditModeAction.java
* Eisenkraut
*
* Copyright (c) 2004-2016 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
*/
package de.sciss.eisenkraut.gui;
import de.sciss.app.AbstractApplication;
import de.sciss.eisenkraut.session.Session;
import javax.swing.*;
import java.awt.event.ActionEvent;
@SuppressWarnings("serial")
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));
b[i].setToolTipText(AbstractApplication.getApplication().getResourceString("ttTimelineMode" + (i+1)));
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;
}
}
}
}