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);
}
}