package com.drawbridge.utils; import java.awt.ComponentOrientation; import java.awt.Dimension; import java.awt.Toolkit; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.JPanel; import com.drawbridge.Activity; import com.drawbridge.utils.Selector.SelectorListener; /** * @author Alistair Stead */ public class Toolbar extends JPanel { private static final long serialVersionUID = 8340191311727733979L; private static Toolbar mMenu = null; private Activity mParent; private Selector mSelector = null; /** Hold the layout **/ public static Toolbar getInstance(Activity parent) { if (mMenu == null) { mMenu = new Toolbar(parent, "Menu"); return mMenu; } return mMenu; } public Selector getSelector(){ return mSelector; } public Toolbar(Activity parent, String name) { this.mParent = parent; } public void initToolbarComponents() { /** Set up the selector to change the view **/ try { mSelector = new Selector(mParent, Math.max((mParent.getSegmentNumber() -1), 1)); mSelector.addSelectorListener(new SelectorListener() { @Override public void onSelectorChange(int selectorID) { mParent.changeSegmentView(selectorID); } }); mSelector.setBorder(BorderFactory.createEmptyBorder(15, 0, 15, 0)); } catch (Exception e) { e.printStackTrace(); } /** Set up the orientation buttons **/ Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize(); int firstStrutWidth = (screenDim.width / 2) - (mSelector.getPreferredSize().width / 2); this.add(Box.createHorizontalStrut(firstStrutWidth)); this.add(mSelector); int secondStrutWidth = (screenDim.width /2) - (mSelector.getPreferredSize().width / 2); this.add(Box.createHorizontalStrut(secondStrutWidth)); this.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT); } }