Back to index

wims  3.65+svn20090927
EditIconBar.java
Go to the documentation of this file.
00001 /*
00002  * Created on 22.10.2005
00003  *
00004  */
00005 package rene.zirkel.dialogs;
00006 
00007 import java.awt.BorderLayout;
00008 import java.awt.Checkbox;
00009 import java.awt.Frame;
00010 import java.awt.GridLayout;
00011 import java.awt.Panel;
00012 
00013 import rene.gui.ButtonAction;
00014 import rene.gui.CheckboxAction;
00015 import rene.gui.Global;
00016 import rene.gui.IconBar;
00017 import rene.gui.MyPanel;
00018 import rene.zirkel.Zirkel;
00019 import rene.zirkel.ZirkelFrame;
00020 
00021 public class EditIconBar extends HelpCloseDialog
00022 {      IconBar IA,IAA,IB; 
00023        Checkbox C,CS; 
00024        boolean Abort=true; 
00025        boolean Restrict; 
00026        
00027        public EditIconBar (Frame f, boolean restrict)
00028        {      super(f,Zirkel.name("iconedit.title"),true); 
00029               Restrict=restrict; 
00030               setLayout(new BorderLayout()); 
00031               
00032               Panel p=new MyPanel(); 
00033               p.setLayout(new GridLayout(0,1)); 
00034               IA=new IconBar(f,false); 
00035               add(IA,"new"); 
00036               add(IA,"load"); 
00037               add(IA,"save"); 
00038               IA.addSeparatorLeft(); 
00039               add(IA,"back"); 
00040               add(IA,"delete"); 
00041               add(IA,"undo"); 
00042               IA.addSeparatorLeft(); 
00043               add(IA,"color","color"); 
00044               add(IA,"type","type0"); 
00045               add(IA,"thickness","thickness0"); 
00046               add(IA,"partial"); 
00047               add(IA,"plines"); 
00048               add(IA,"arrow"); 
00049               IA.addSeparatorLeft(); 
00050               add(IA,"showname"); 
00051               add(IA,"longnames"); 
00052               add(IA,"large"); 
00053               add(IA,"bold"); 
00054               add(IA,"showvalue"); 
00055               add(IA,"obtuse"); 
00056               add(IA,"solid"); 
00057               IA.addSeparatorLeft(); 
00058               add(IA,"edit"); 
00059               p.add(IA); 
00060               IAA=new IconBar(f,false); 
00061               add(IAA,"hidden"); 
00062               add(IAA,"showcolor","showcolor0"); 
00063               IAA.addSeparatorLeft(); 
00064               add(IAA,"macro","macro0"); 
00065               IAA.addSeparatorLeft(); 
00066               add(IAA,"zoom"); 
00067               add(IAA,"grid"); 
00068               add(IAA,"comment"); 
00069               add(IAA,"grab"); 
00070               add(IAA,"draw"); 
00071               add(IAA,"rename"); 
00072               add(IAA,"function"); 
00073               IAA.addSeparatorLeft(); 
00074               add(IAA,"visual"); 
00075               add(IAA,"replay"); 
00076               add(IAA,"animatebreak"); 
00077               add(IAA,"info"); 
00078               p.add(IAA); 
00079               IB=new IconBar(f,false); 
00080               for (int i=0; i<ZirkelFrame.IconNumber; i++)
00081                      add(IB,ZirkelFrame.ObjectStrings[i]); 
00082               p.add(IB); 
00083               p.add(C=new CheckboxAction(this,Zirkel.name("iconedit.twobars"))); 
00084               if (Restrict)
00085                      C.setState(Global.getParameter("restrictedicons","").indexOf("twolines")
00086                      >=0); 
00087               else
00088                      C.setState(Global.getParameter("options.fullicons",true));
00089               p.add(CS=new CheckboxAction(this,Zirkel.name("iconedit.showseparators"))); 
00090               CS.setState(Global.getParameter("iconbar.showseparators",false)); 
00091               add("Center",p); 
00092               
00093               p=new MyPanel(); 
00094               p.add(new ButtonAction(this,Zirkel.name("ok"),"OK")); 
00095               p.add(new ButtonAction(this,Zirkel.name("abort"),"Close"));
00096               addHelp(p,"iconbar"); 
00097               add("South",p); 
00098               
00099               pack(); 
00100               if (getSize().width>750) setSize(getSize().width,getSize().height);
00101               center(f); 
00102               setVisible(true); 
00103        }
00104        
00105        public void doAction (String o)
00106        {      if (o.equals("OK"))
00107               {      StringBuffer s=new StringBuffer(" "); 
00108                      if (Restrict)
00109                      {      if (C.getState()) s.append("twolines "); 
00110                      }
00111                      else
00112                      {      Global.setParameter("options.fullicons",C.getState()); 
00113                      }
00114                      add(s,IA,"new"); 
00115                      add(s,IA,"load"); 
00116                      add(s,IA,"save"); 
00117                      add(s,IA,"back"); 
00118                      add(s,IA,"delete"); 
00119                      add(s,IA,"undo"); 
00120                      add(s,IA,"color","color"); 
00121                      add(s,IA,"type","type0"); 
00122                      add(s,IA,"thickness","thickness0"); 
00123                      add(s,IA,"partial"); 
00124                      add(s,IA,"plines"); 
00125                      add(s,IA,"arrow"); 
00126                      add(s,IA,"showname"); 
00127                      add(s,IA,"longnames"); 
00128                      add(s,IA,"large"); 
00129                      add(s,IA,"bold"); 
00130                      add(s,IA,"showvalue"); 
00131                      add(s,IA,"edit"); 
00132                      add(s,IA,"obtuse"); 
00133                      add(s,IA,"solid"); 
00134                      add(s,IAA,"hidden"); 
00135                      add(s,IAA,"showcolor","showcolor0"); 
00136                      add(s,IAA,"macro","macro0"); 
00137                      add(s,IAA,"zoom"); 
00138                      add(s,IAA,"grid"); 
00139                      add(s,IAA,"comment"); 
00140                      add(s,IAA,"grab"); 
00141                      add(s,IAA,"draw"); 
00142                      add(s,IAA,"rename"); 
00143                      add(s,IAA,"function"); 
00144                      add(s,IAA,"visual"); 
00145                      add(s,IAA,"replay"); 
00146                      add(s,IAA,"animatebreak"); 
00147                      add(s,IAA,"info"); 
00148                      for (int i=0; i<ZirkelFrame.IconNumber; i++)
00149                             add(s,IB,ZirkelFrame.ObjectStrings[i]); 
00150                      Global.setParameter(
00151                             Restrict?"restrictedicons":"icons",s.toString());
00152                      Global.setParameter("iconbar.showseparators",CS.getState()); 
00153                      doclose(); 
00154                      Abort=false; 
00155               }
00156               else super.doAction(o); 
00157        }
00158        
00159        public void add (StringBuffer b, IconBar ib, String s, String o)
00160        {      if (ib.getState(o))
00161               {      b.append(s); 
00162                      b.append(" "); 
00163               }
00164        }
00165        
00166        public void add (StringBuffer b, IconBar ib, String s)
00167        {      add(b,ib,s,s); 
00168        }
00169        
00170        public void add (IconBar ib, String o, String i)
00171        {      ib.addToggleLeft(i); 
00172               if (Global.getParameter(
00173                      Restrict?"restrictedicons":"icons","none").indexOf(" "+o)>=0)
00174                      ib.setState(i,true); 
00175        }
00176        public void add (IconBar ib, String o)
00177        {      add(ib,o,o); 
00178        }
00179        
00180        public boolean isAbort ()
00181        {      return Abort; 
00182        }
00183 }
00184