/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package org.jlab.groot.studio;

import java.awt.Image;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JSeparator;
import javax.swing.JToggleButton;
import javax.swing.JToolBar;
import org.jlab.groot.tree.Tree;

/**
 *
 * @author gavalian
 */
public class StudioToolBar {
    private int iconSizeX = 25;
    private int iconSizeY = 25;
    public JToggleButton fastButton;
    private JToolBar  toolbar = null;
    Map   toolBarButtons = new HashMap();
            
    public StudioToolBar(ActionListener listener){
        init(listener);
    }
    
    private void init(ActionListener listener){
        ImageIcon histogramIcon = new ImageIcon();
        ImageIcon cutIcon = new ImageIcon();
        ImageIcon grapherrorsIcon = new ImageIcon();
        ImageIcon playIcon = new ImageIcon();
        ImageIcon importIcon = new ImageIcon();
        ImageIcon fastIcon = new ImageIcon();
        ImageIcon operationIcon = new ImageIcon();
        ImageIcon editTreeIcon = new ImageIcon();


        try {
			Image graphErrorsImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/grapherrors.png"));
			Image cutImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/cut.png"));
			Image histogramImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/histogram.png"));
			Image playImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/play.png"));
			Image importImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/import.png"));
			Image fastImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/fast.png"));
			Image operationImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/operations.png"));
			Image editTreeImage = ImageIO.read(Tree.class.getClassLoader().getResource("icons/tree/edit_tree.png"));

			grapherrorsIcon.setImage(graphErrorsImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        cutIcon.setImage(cutImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        histogramIcon.setImage(histogramImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        playIcon.setImage(playImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        importIcon.setImage(importImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        fastIcon.setImage(fastImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        operationIcon.setImage(operationImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        editTreeIcon.setImage(editTreeImage.getScaledInstance(iconSizeX, iconSizeY, Image.SCALE_SMOOTH));
	        
		} catch (IOException e) {
			System.out.println("Error: Could not load icons!");
			e.printStackTrace();
		}
        toolbar = new JToolBar();
        JButton histogramButton = new JButton(histogramIcon);
        JButton graphErrorsButton = new JButton(grapherrorsIcon);
        JButton cutButton = new JButton(cutIcon);
        JButton playButton = new JButton(playIcon);
        JButton importButton = new JButton(importIcon);
        fastButton = new JToggleButton(fastIcon);
        JButton operationButton = new JButton(operationIcon);
        JButton editTreeButton = new JButton(editTreeIcon);

        histogramButton.setToolTipText("Add Histogram");
        cutButton.setToolTipText("Add Cut");
        
        histogramButton.setActionCommand("Add Descriptor");
        cutButton.setActionCommand("Add Cut");
        graphErrorsButton.setActionCommand("Add GraphErrors");
        importButton.setActionCommand("Import ASCII");
        fastButton.setActionCommand("Preview Mode");
        playButton.setActionCommand("Play");
        operationButton.setActionCommand("Action Jack");
        editTreeButton.setActionCommand("Edit Tree");
        
        histogramButton.addActionListener(listener);
        cutButton.addActionListener(listener);
        graphErrorsButton.addActionListener(listener);
        importButton.addActionListener(listener);
        fastButton.addActionListener(listener);
        playButton.addActionListener(listener);
        operationButton.addActionListener(listener);
        editTreeButton.addActionListener(listener);

        toolbar.add(importButton);
        toolbar.addSeparator();
        //toolbar.add(new JSeparator());
        toolbar.add(histogramButton);
        toolbar.add(graphErrorsButton);
        toolbar.add(cutButton);
        toolbar.add(operationButton);
        toolbar.addSeparator();
        toolbar.add(editTreeButton);
        toolbar.addSeparator();
        //toolbar.add(new JSeparator());
        toolbar.add(playButton);
        toolbar.add(fastButton);
        

        
    }
    
    public JToolBar  getToolBar(){
        return this.toolbar;
    }
}

 

Ads help maintain this website.