// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea
// Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com
// Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology
// Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/
/*
* GToolbar.java
*
* Created on February 25, 2005, 11:14 AM
*/
package graphtea.ui.components;
import javax.swing.*;
import java.awt.*;
import java.util.Comparator;
import java.util.Vector;
/**
* @author azin azadi
*/
public class GToolbar extends JComponent {
/**
*
*/
private static final long serialVersionUID = -7694324289573873831L;
private JToolBar lastToolbar;
Vector<pair> indices = new Vector<>();
public Component addIndexed(JToolBar comp, int index) {
pair o = new pair(comp, index);
indices.add(o);
Object[] a = indices.toArray();
// Arrays.sort(a, (Comparator<? super Object>) new pair(null, null));
for (int _index = 0; _index < a.length; _index++)
if (a[_index] == o)
return super.add(comp, _index);
return super.add(comp, -1);
}
public GToolbar() {
FlowLayout fl = new FlowLayout();
fl.setAlignment(FlowLayout.LEFT);
fl.setHgap(0);
fl.setVgap(0);
setLayout(fl);
setBorder(null);
// setBorder(new LineBorder(Color.WHITE,1,true));
}
/**
* creates a toolbar, add it, and return it
*/
public JToolBar createToolBar() {
lastToolbar = new JToolBar();
// lastToolbar.setBorderPainted(false);
lastToolbar.setFloatable(false);
lastToolbar.setMargin(new Insets(0, 0, 0, 0));
lastToolbar.setRollover(false);
lastToolbar.setBorder(null);
lastToolbar.setOpaque(true);
add(lastToolbar);
return lastToolbar;
}
/**
* returns the last toolbar which created with createToolbar()
*/
public JToolBar getLastToolBar() {
return lastToolbar;
}
}
class pair implements Comparator<pair> {
private JToolBar b;
private Integer index;
public pair(JToolBar j, Integer index) {
this.b = j;
this.index = index;
}
public int compareTo(pair o) {
return index.compareTo(o.index);
}
public int compare(pair o1, pair o2) {
return o1.compareTo(o2);
}
}