001 // GraphLab Project: http://graphlab.sharif.edu 002 // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology 003 // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ 004 005 /* 006 * GToolbar.java 007 * 008 * Created on February 25, 2005, 11:14 AM 009 */ 010 package graphlab.ui.components; 011 012 import javax.swing.*; 013 import java.awt.*; 014 import java.util.Comparator; 015 import java.util.Vector; 016 017 /** 018 * @author azin azadi 019 */ 020 public class GToolbar extends JComponent { 021 /** 022 * 023 */ 024 private static final long serialVersionUID = -7694324289573873831L; 025 026 private JToolBar lastToolbar; 027 028 Vector<pair> indices = new Vector<pair>(); 029 030 public Component addIndexed(JToolBar comp, int index) { 031 pair o = new pair(comp, index); 032 indices.add(o); 033 Object[] a = indices.toArray(); 034 // Arrays.sort(a, (Comparator<? super Object>) new pair(null, null)); 035 for (int _index = 0; _index < a.length; _index++) 036 if (a[_index] == o) 037 return super.add(comp, _index); 038 return super.add(comp, -1); 039 } 040 041 public GToolbar() { 042 FlowLayout fl = new FlowLayout(); 043 fl.setAlignment(FlowLayout.LEFT); 044 fl.setHgap(0); 045 fl.setVgap(0); 046 setLayout(fl); 047 setBorder(null); 048 // setBorder(new LineBorder(Color.WHITE,1,true)); 049 } 050 051 /** 052 * creates a toolbar, add it, and return it 053 */ 054 public JToolBar createToolBar() { 055 lastToolbar = new JToolBar(); 056 // lastToolbar.setBorderPainted(false); 057 lastToolbar.setFloatable(false); 058 lastToolbar.setMargin(new Insets(0, 0, 0, 0)); 059 lastToolbar.setRollover(false); 060 lastToolbar.setBorder(null); 061 lastToolbar.setOpaque(true); 062 add(lastToolbar); 063 return lastToolbar; 064 } 065 066 /** 067 * returns the last toolbar which created with createToolbar() 068 */ 069 public JToolBar getLastToolBar() { 070 return lastToolbar; 071 } 072 } 073 074 class pair implements Comparator<pair> { 075 private JToolBar b; 076 private Integer index; 077 078 public pair(JToolBar j, Integer index) { 079 this.b = j; 080 this.index = index; 081 } 082 083 public int compareTo(pair o) { 084 return index.compareTo(o.index); 085 } 086 087 public int compare(pair o1, pair o2) { 088 return o1.compareTo(o2); 089 } 090 }