CaRMtl/eric/GUI/window/LeftPanel.java

195 lines
5.6 KiB
Java
Raw Permalink Normal View History

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package eric.GUI.window;
import eric.GUI.pipe_tools;
import eric.GUI.windowComponent;
import eric.GUI.themes;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import rene.gui.Global;
/**
*
* @author erichake
*/
public class LeftPanel extends windowComponent {
private static LeftPanel me;
private static int factorySize=250;
private static int actualSize=0; //width of this panel
private static final int marginW=5, marginH=4, space=2;
private static int H=themes.getIcon("leftpanelbackground.gif").getIconHeight();
private static Image on_btn=themes.getImage("leftpanel_on_btn.gif");
private static Image off_btn=themes.getImage("leftpanel_off_btn.gif");
private static Dimension btn_dim=new Dimension(themes.getIcon("leftpanel_on_btn.gif").getIconWidth(), themes.getIcon("leftpanel_on_btn.gif").getIconHeight());
private static LeftPanel_macros_btn macros_btn=new LeftPanel_macros_btn();
private static LeftPanel_history_btn history_btn=new LeftPanel_history_btn();
private static LeftPanel_help_btn help_btn=new LeftPanel_help_btn();
private static LeftPanel_scripts_btn scripts_btn=new LeftPanel_scripts_btn();
private static LeftPanel_close_btn close_btn=new LeftPanel_close_btn();
public void paintComponent(Graphics g) {
Dimension d=getSize();
g.setColor(Color.white);
g.fillRect(0, 0, d.width, d.height);
g.drawImage(themes.getImage("leftpanelbackground.gif"), 0, 0, d.width, H, this);
// super.paintComponent(g);
}
public static Image getOnBtn() {
return on_btn;
}
public static Image getOffBtn() {
return off_btn;
}
public static Dimension getBtnDim() {
return btn_dim;
}
public static void selectHelp(){
select(help_btn);
}
public static void select(LeftPanel_btn btn) {
macros_btn.select(macros_btn.equals(btn));
history_btn.select(history_btn.equals(btn));
help_btn.select(help_btn.equals(btn));
scripts_btn.select(scripts_btn.equals(btn));
me.repaint();
pipe_tools.actualiseLeftPanels();
}
public static int x(LeftPanel_btn btn) {
int macr=marginW;
int hist=macr+((macros_btn.isVisible())?space+btn_dim.width:0);
int help=hist+((history_btn.isVisible())?space+btn_dim.width:0);
int scripts=help+((scripts_btn.isVisible())?space+btn_dim.width:0);
if (macros_btn.equals(btn)) {
return macr;
} else if (history_btn.equals(btn)) {
return hist;
} else if (help_btn.equals(btn)) {
return help;
} else if(scripts_btn.equals(btn)){
return scripts;
}
return 0;
}
public static int y() {
return marginH;
}
public static void setPanelWidth(int size) {
actualSize=size;
}
public static int getPanelWidth() {
return actualSize;
}
public static int getPanelHeight() {
return H;
}
public static boolean isPanelVisible() {
return (actualSize!=0);
}
public static void setMacroBtnVisible(boolean b){
macros_btn.setVisible(b);
LeftPanel_content.setPanelVisibility();
me.init();
}
public static void setHistoryBtnVisible(boolean b){
history_btn.setVisible(b);
LeftPanel_content.setPanelVisibility();
me.init();
}
public static void setHelpBtnVisible(boolean b){
help_btn.setVisible(b);
LeftPanel_content.setPanelVisibility();
me.init();
}
public static void setScriptsBtnVisible(boolean b){
scripts_btn.setVisible(b);
LeftPanel_content.setPanelVisibility();
me.init();
}
public static boolean isMacroBtnVisible(){
return macros_btn.isVisible();
}
public static boolean isHistoryBtnVisible(){
return history_btn.isVisible();
}
public static boolean isHelpBtnVisible(){
return help_btn.isVisible();
}
public static boolean isScriptsBtnVisible(){
return scripts_btn.isVisible();
}
public static boolean isHistoryPanelVisible() {
return ((isPanelVisible())&&(history_btn.isPanelSelected()));
}
public static boolean isHelpPanelVisible() {
return ((isPanelVisible())&&(help_btn.isPanelSelected()));
}
public static boolean isMacroPanelVisible() {
return ((isPanelVisible())&&(macros_btn.isPanelSelected()));
}
public static boolean isScriptsPanelVisible(){
return ((isPanelVisible())&&(scripts_btn.isPanelSelected()));
}
public static int getFactorySize(){
return factorySize;
}
public static void setFactorySize(int size){
factorySize=size;
actualSize=size;
pipe_tools.setWindowComponents();
}
public static void showPanel(boolean vis) {
int w=(vis)?Global.getParameter("leftpanelwidth", factorySize):0;
setPanelWidth(w);
pipe_tools.setWindowComponents();
pipe_tools.actualiseLeftPanels();
}
public void init() {
setBounds(themes.getVerticalBorderWidth(),
themes.getTitleBarHeight()+themes.getMenuBarHeight()+themes.getCommentsHeight(),
actualSize,
H);
macros_btn.init();
history_btn.init();
help_btn.init();
scripts_btn.init();
close_btn.init();
}
public LeftPanel() {
super();
me=this;
setOpaque(true);
setLayout(null);
add(macros_btn);
add(history_btn);
add(help_btn);
add(scripts_btn);
add(close_btn);
}
}