//***************************************************************************** // // Beenish Chaudry, Geetika Tewari, Elif Tosun and // Ileana Streinu // // Summer 1999, Fall 1999, Spring 2000 // //***************************************************************************** // // MenuBarLine.java // menu bar for the line frame // //***************************************************************************** import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; import java.lang.*; import java.net.*; public class MenuBarLine extends MenuBar implements ActionListener, ItemListener { FramePoint bf; // parent frame window //****************************************************************** // // Menu variables // //****************************************************************** Menu mfile, // file medit, // edit mpappearance, // edit point appearance mshape, // point appearance options mfill, mfillcolor, mcontour, mcontourcolor, mplabel, mcoord, mpvisib, mlappearance, // edit line appearance mstyle, // line appearance options mcolor, mthick, mllabel, mequation, mclip, mlvisib, mwindow, // window mbackground, mgrid, mgline, mframe, mgframe, morcoord, mgorcoord, mpara, mgpara, maxes, mgaxes, mresetsize, msol, // set of lines - for manipulating the model mduality; // duality menu MenuItem freset, // File menu fclose, // Edit menu, select options epselectall, //Selects all the points epdeselectall, //Selects all selected points elselectall, //Selects all the lines eldeselectall, //Deselects all selected lines // Edit Menu, default settings epdefault, // default settings for new PointObj epcurrentset, // current settings for new points eldefault, // default settings for new LineObj elcurrentset; // current settings for new lines CheckboxMenuItem //----------------- // Edit menu Points //----------------- epinsert, epmove, epdelete, epselect, epelabel, epmoveLabel, epmoveCoord, // Edit Menu, Edit Point Appearance sscircle, slcircle, ssquare, // Set shape chcontour, chnocontour, cblack, cred, cblue, // Contour Color chfill, chnofill, fred, fcyan, fmagenta, fblack, // Fill Color chpvisible, // Visible chpinvisible, lpwithout, // Display Label lpuser, lpinsert, lpxcoord, cowithout, // Coordinates coabsolute, corelative, //----------------- // Edit menu Lines //----------------- elinsert, elmove, eldelete, elselect, elelabel, elmoveLabel, elmoveCoord, // Edit Menu, Edit Line Appearance ssolid, // line style sdotted, sarrow, lthick1, // line thickness lthick2, lthick3, flred, // line color flcyan, flmagenta, flblack, clwithout, // line clipping clclip1, llwithout, // Line Label lluser, llinsert, llxcoord, eqwithout, // Line Equation eqdual1, eqdual2, eqdual3, eqdual4, chlvisible, // Visible chlinvisible, //------------------- // Window Menu //------------------- // Window Menu, Resize chnotresize, chbasic, chaspect, // Window menu, Reset resetBasic, // resets size with Basic option resetAspect, // reset size of window preserving Aspect Ration // Window menu, Background bpink, byellow, bgreen, bwhite, borange, chgrid, // Window Menu. Grid, Parabola and Frame of Reference chnogrid, chparabola, chnoparabola, chframeofref, chnoframeofref, chaxes, chnoaxes, chorigin, chnoorigin, // Window Menu, grid etc colors lblack, lblue, lred, // grid line color frblack, frblue, frred, // frame of reference color orblack, orblue, orred, // origin of coordinates color pablack, pablue, pared, // parabola color axblack, axblue, axred, // axes color chdual1, // Set of Lines Menu, duality options chdual2, chdual3, chdual4; //********************************************************************** // // MenuBarLine constructor // //********************************************************************** public MenuBarLine(FramePoint bff) { super(); bf = bff; //*********** // // File Menu // //*********** mfile = new Menu("File"); freset = new MenuItem("Reset"); fclose = new MenuItem("Close"); mfile.add(freset); mfile.add(fclose); freset.addActionListener(this); fclose.addActionListener(this); add(mfile); //*********** // //Edit Menu // //*********** medit = new Menu("Edit"); epinsert = new CheckboxMenuItem("Insert Point"); epmove = new CheckboxMenuItem("Move Point"); epdelete = new CheckboxMenuItem("Delete Point"); epselect = new CheckboxMenuItem("Select Point"); epelabel = new CheckboxMenuItem("Edit Point User Label"); epmoveLabel = new CheckboxMenuItem("Move Point Label"); epmoveCoord = new CheckboxMenuItem("Move Point Coordinates"); epselectall= new MenuItem("Select All Points"); epdeselectall = new MenuItem("Deselect All Points"); mpappearance = new Menu("Edit Point Appearance"); epdefault = new MenuItem("Default Settings for New Points"); //----------------------------------- // Edit/ Edit Point Appearance Menu //----------------------------------- mshape = new Menu("Point Shape"); mplabel = new Menu("Point Label"); mcoord = new Menu("Point Coordinates"); mfill = new Menu("Point Fill"); mcontour = new Menu("Point Contour"); mpvisib = new Menu("Point Visibility"); //-------------------- // Shape //-------------------- sscircle = new CheckboxMenuItem("Small Circle"); slcircle = new CheckboxMenuItem("Large Circle"); ssquare = new CheckboxMenuItem("Square"); mshape.add(sscircle); mshape.add(slcircle); mshape.add(ssquare); sscircle.addItemListener(this); slcircle.addItemListener(this); ssquare.addItemListener(this); //--------------- // Label //-------------- lpwithout = new CheckboxMenuItem("No Label"); lpuser = new CheckboxMenuItem("User Label"); lpinsert = new CheckboxMenuItem("Insert Order"); lpxcoord = new CheckboxMenuItem("x-coordinate Order"); mplabel.add(lpwithout); mplabel.add(lpuser); mplabel.add(lpinsert); mplabel.add(lpxcoord); lpwithout.addItemListener(this); lpuser.addItemListener(this); lpinsert.addItemListener(this); lpxcoord.addItemListener(this); //---------------- // Coordinates //---------------- cowithout = new CheckboxMenuItem("No Coordinates"); coabsolute = new CheckboxMenuItem("Absolute"); corelative = new CheckboxMenuItem("Relative"); mcoord.add(cowithout); mcoord.add(coabsolute); mcoord.add(corelative); cowithout.addItemListener(this); coabsolute.addItemListener(this); corelative.addItemListener(this); //------------------------------- //Edit/Edit Appearance/Fill Menu //------------------------------- chfill = new CheckboxMenuItem("Fill"); chnofill = new CheckboxMenuItem("No Fill"); mfillcolor = new Menu("Fill Color"); fred = new CheckboxMenuItem("Red"); fcyan = new CheckboxMenuItem("Cyan"); fmagenta = new CheckboxMenuItem("Magenta"); fblack = new CheckboxMenuItem("Black"); mfillcolor.add(fred); mfillcolor.add(fcyan); mfillcolor.add(fmagenta); mfillcolor.add(fblack); mfill.add(chfill); mfill.add(chnofill); mfill.add(mfillcolor); fred.addItemListener(this); fcyan.addItemListener(this); fmagenta.addItemListener(this); fblack.addItemListener(this); chfill.addItemListener(this); chnofill.addItemListener(this); //------------- // Contour //------------- mcontourcolor = new Menu("Contour Color"); chcontour = new CheckboxMenuItem("Contour"); chnocontour = new CheckboxMenuItem("No Contour"); cblack = new CheckboxMenuItem("Black"); cred = new CheckboxMenuItem("Red"); cblue = new CheckboxMenuItem("Blue"); mcontour.add(chcontour); mcontour.add(chnocontour); mcontourcolor.add(cblack); mcontourcolor.add(cred); mcontourcolor.add(cblue); mcontour.add(mcontourcolor); cblack.addItemListener(this); cred.addItemListener(this); cblue.addItemListener(this); chcontour.addItemListener(this); chnocontour.addItemListener(this); //------------- // Visibilily //------------- chpvisible = new CheckboxMenuItem("Visible"); chpinvisible = new CheckboxMenuItem("Invisible"); mpvisib.add(chpvisible); mpvisib.add(chpinvisible); chpvisible.addItemListener(this); chpinvisible.addItemListener(this); //-------------------- mpappearance.add(mshape); mpappearance.add(mplabel); mpappearance.add(mcoord); mpappearance.add(mfill); mpappearance.add(mcontour); mpappearance.add(mpvisib); //------------------------- // end of Edit Point appearance //-------------------------- //------------------------------- // Edit / Edit line menu options //------------------------------- elinsert = new CheckboxMenuItem("Insert Line"); elmove = new CheckboxMenuItem("Move Line"); eldelete = new CheckboxMenuItem("Delete Line"); elselect = new CheckboxMenuItem("Select Line"); elelabel = new CheckboxMenuItem("Edit Line User Label"); elmoveLabel = new CheckboxMenuItem("Move Line Label"); elmoveCoord = new CheckboxMenuItem("Move Line Equation"); elselectall= new MenuItem("Select All Lines"); eldeselectall = new MenuItem("Deselect All Lines"); mlappearance = new Menu("Edit Line Appearance"); eldefault = new MenuItem("Default Settings for New Lines"); //---------------------------- // Edit/ Edit Line Appearance Menu //---------------------------- mstyle = new Menu("Line Style"); mllabel = new Menu("Line Label"); mequation = new Menu("Line Equation"); mclip = new Menu("Line Clipping"); mlvisib = new Menu("Line Visibility"); //-------------------- // line style //-------------------- ssolid = new CheckboxMenuItem("Solid"); sdotted = new CheckboxMenuItem("Dotted"); sarrow = new CheckboxMenuItem("Arrow"); mstyle.add(ssolid); mstyle.add(sdotted); mstyle.add(sarrow); ssolid.addItemListener(this); sdotted.addItemListener(this); sarrow.addItemListener(this); mlappearance.add(mstyle); //------------------------ // line label //------------------------ llwithout = new CheckboxMenuItem("No Label"); llinsert = new CheckboxMenuItem("Insert Order"); llxcoord = new CheckboxMenuItem("x-coordinate Order"); lluser = new CheckboxMenuItem("User Label"); mllabel.add(llwithout); mllabel.add(llinsert); mllabel.add(llxcoord); mllabel.add(lluser); llwithout.addItemListener(this); llinsert.addItemListener(this); llxcoord.addItemListener(this); lluser.addItemListener(this); mlappearance.add(mllabel); //---------------- // Line equation //---------------- eqwithout = new CheckboxMenuItem("No Equation"); eqdual1= new CheckboxMenuItem("Dual 1"); eqdual2 = new CheckboxMenuItem("Dual 2"); eqdual3= new CheckboxMenuItem("Dual 3"); eqdual4 = new CheckboxMenuItem("Dual 4"); mequation.add(eqwithout); mequation.add(eqdual1); mequation.add(eqdual2); mequation.add(eqdual3); mequation.add(eqdual4); eqwithout.addItemListener(this); eqdual1.addItemListener(this); eqdual2.addItemListener(this); eqdual3.addItemListener(this); eqdual4.addItemListener(this); mlappearance.add(mequation); //---------------- // Line Clipping //---------------- clwithout = new CheckboxMenuItem("No Clipping"); clclip1= new CheckboxMenuItem("Clipping"); mclip.add(clwithout); mclip.add(clclip1); clwithout.addItemListener(this); clclip1.addItemListener(this); mlappearance.add(mclip); //------------------------------- // Line Thickness //------------------------------- mthick = new Menu("Set Line Thickness"); lthick1 = new CheckboxMenuItem("Thickness 1"); lthick2 = new CheckboxMenuItem("Thickness 2"); lthick3 = new CheckboxMenuItem("Thickness 3"); mthick.add(lthick1); mthick.add(lthick2); mthick.add(lthick3); mlappearance.add(mthick); lthick1.addItemListener(this); lthick2.addItemListener(this); lthick3.addItemListener(this); //------------------------------- // Line color //------------------------------- mcolor = new Menu("Line Color"); flred = new CheckboxMenuItem("Red"); flcyan = new CheckboxMenuItem("Cyan"); flmagenta = new CheckboxMenuItem("Magenta"); flblack = new CheckboxMenuItem("Black"); mcolor.add(flred); mcolor.add(flcyan); mcolor.add(flmagenta); mcolor.add(flblack); mlappearance.add(mcolor); flred.addItemListener(this); flcyan.addItemListener(this); flmagenta.addItemListener(this); flblack.addItemListener(this); //------------------ // Line Visibilily //------------------ chlvisible = new CheckboxMenuItem("Visible"); chlinvisible = new CheckboxMenuItem("Invisible"); mlvisib.add(chlvisible); mlvisib.add(chlinvisible); chlvisible.addItemListener(this); chlinvisible.addItemListener(this); mlappearance.add(mlvisib); //---------------------------------- // finish seting up line edit menu //---------------------------------- medit.add(epinsert); medit.add(epmove); medit.add(epdelete); medit.add(epselect); medit.add(epelabel); medit.add(epmoveLabel); medit.add(epmoveCoord); medit.addSeparator(); //draws the horizontal divider in the menu medit.add(epselectall); medit.add(epdeselectall); medit.addSeparator(); //draws the horizontal divider in the menu medit.add(mpappearance); medit.add(epdefault); medit.addSeparator(); medit.add(elinsert); medit.add(elmove); medit.add(eldelete); medit.add(elselect); medit.add(elelabel); medit.add(elmoveLabel); medit.add(elmoveCoord); medit.addSeparator(); //draws the horizontal divider in the menu medit.add(elselectall); medit.add(eldeselectall); medit.addSeparator(); //draws the horizontal divider in the menu medit.add(mlappearance); medit.add(eldefault); // add listeners epinsert.addItemListener(this); epmove.addItemListener(this); epdelete.addItemListener(this); epselect.addItemListener(this); epelabel.addItemListener(this); epmoveLabel.addItemListener(this); epmoveCoord.addItemListener(this); epselectall.addActionListener(this); epdeselectall.addActionListener(this); epdefault.addActionListener(this); elinsert.addItemListener(this); elmove.addItemListener(this); eldelete.addItemListener(this); elselect.addItemListener(this); elelabel.addItemListener(this); elmoveLabel.addItemListener(this); elmoveCoord.addItemListener(this); elselectall.addActionListener(this); eldeselectall.addActionListener(this); eldefault.addActionListener(this); add(medit); //************** // //Window Menu // //************** mwindow = new Menu("Window"); mresetsize = new Menu("Reset Size"); chnotresize = new CheckboxMenuItem("Not Resizable"); chbasic = new CheckboxMenuItem("Basic"); chaspect = new CheckboxMenuItem("Aspect Ratio"); mbackground = new Menu("Background"); mgrid = new Menu("Grid"); mframe = new Menu("Frame of Reference"); morcoord = new Menu("Origin Coordinates"); mpara = new Menu("Parabola"); maxes = new Menu("Axes"); //------------- // Reset Size //------------- resetBasic= new CheckboxMenuItem("Basic"); resetAspect = new CheckboxMenuItem("With Aspect Ratio"); mresetsize.add(resetBasic); mresetsize.add(resetAspect); resetBasic.addItemListener(this); resetAspect.addItemListener(this); //----------- // Resize options //----------- chnotresize.addItemListener(this); chbasic.addItemListener(this); chaspect.addItemListener(this); //--------------- // background //--------------- bpink = new CheckboxMenuItem("Pink"); byellow = new CheckboxMenuItem("Yellow"); bgreen = new CheckboxMenuItem("Green"); bwhite = new CheckboxMenuItem("White"); borange = new CheckboxMenuItem("Orange"); mbackground.add(bpink); mbackground.add(byellow); mbackground.add(bgreen); mbackground.add(bwhite); mbackground.add(borange); bpink.addItemListener(this); byellow.addItemListener(this); bgreen.addItemListener(this); bwhite.addItemListener(this); borange.addItemListener(this); //------------------------------------------------------ // Window options: grid, parabola, frame, origin, axes //------------------------------------------------------ //------ grid ------- chgrid = new CheckboxMenuItem("Grid"); chnogrid = new CheckboxMenuItem("No Grid"); mgline = new Menu("Grid Color"); lblack = new CheckboxMenuItem("Black"); lblue = new CheckboxMenuItem("Blue"); lred = new CheckboxMenuItem("Red"); mgline.add(lblack); mgline.add(lblue); mgline.add(lred); mgrid.add(chgrid); mgrid.add(chnogrid); mgrid.add(mgline); chgrid.addItemListener(this); chnogrid.addItemListener(this); lblack.addItemListener(this); lblue.addItemListener(this); lred.addItemListener(this); //-------------------- // frame of reference //--------------------- chframeofref = new CheckboxMenuItem("Frame of Reference"); chnoframeofref = new CheckboxMenuItem("No Frame of Reference"); mgframe = new Menu("Color"); frblack = new CheckboxMenuItem("Black"); frblue = new CheckboxMenuItem("Blue"); frred = new CheckboxMenuItem("Red"); mgframe.add(frblack); mgframe.add(frblue); mgframe.add(frred); mframe.add(chframeofref); mframe.add(chnoframeofref); mframe.add(mgframe); chframeofref.addItemListener(this); chnoframeofref.addItemListener(this); frblack.addItemListener(this); frblue.addItemListener(this); frred.addItemListener(this); //------------------------- // origin coordinates //------------------------- chorigin = new CheckboxMenuItem("Origin Coordinates"); chnoorigin = new CheckboxMenuItem("No Origin Coordinates"); mgorcoord = new Menu("Color"); orblack = new CheckboxMenuItem("Black"); orblue = new CheckboxMenuItem("Blue"); orred = new CheckboxMenuItem("Red"); mgorcoord.add(orblack); mgorcoord.add(orblue); mgorcoord.add(orred); morcoord.add(chorigin); morcoord.add(chnoorigin); morcoord.add(mgorcoord); chorigin.addItemListener(this); chnoorigin.addItemListener(this); orblack.addItemListener(this); orblue.addItemListener(this); orred.addItemListener(this); //--------------- // parabola //--------------- chparabola = new CheckboxMenuItem("Parabola"); chnoparabola = new CheckboxMenuItem("No Parabola"); mgpara = new Menu("Color"); pablack = new CheckboxMenuItem("Black"); pablue = new CheckboxMenuItem("Blue"); pared = new CheckboxMenuItem("Red"); mgpara.add(pablack); mgpara.add(pablue); mgpara.add(pared); mpara.add(chparabola); mpara.add(chnoparabola); mpara.add(mgpara); chparabola.addItemListener(this); chnoparabola.addItemListener(this); pablack.addItemListener(this); pablue.addItemListener(this); pared.addItemListener(this); //---------------- // axes //--------------- chaxes = new CheckboxMenuItem("Axes"); chnoaxes = new CheckboxMenuItem("No Axes"); mgaxes = new Menu("Color"); axblack = new CheckboxMenuItem("Black"); axblue = new CheckboxMenuItem("Blue"); axred = new CheckboxMenuItem("Red"); mgaxes.add(axblack); mgaxes.add(axblue); mgaxes.add(axred); maxes.add(chaxes); maxes.add(chnoaxes); maxes.add(mgaxes); chaxes.addItemListener(this); chnoaxes.addItemListener(this); axblack.addItemListener(this); axblue.addItemListener(this); axred.addItemListener(this); //----------------- // end window menu //----------------- mwindow.add(mresetsize); mwindow.addSeparator(); mwindow.add(chnotresize); mwindow.add(chbasic); mwindow.add(chaspect); mwindow.addSeparator(); mwindow.add(mbackground); mwindow.add(mframe); mwindow.add(mgrid); mwindow.add(morcoord); mwindow.add(mpara); mwindow.add(maxes); add(mwindow); //**************** // // Set of Lines // //**************** msol = new Menu("Set of Lines"); mduality = new Menu("Duality"); msol.add(mduality); chdual1 = new CheckboxMenuItem("y=2ax-b"); chdual2 = new CheckboxMenuItem("y=ax-b"); chdual3 = new CheckboxMenuItem("ax+by+1=0"); chdual4 = new CheckboxMenuItem("ax+by-1=0"); mduality.add(chdual1); mduality.add(chdual2); mduality.add(chdual3); mduality.add(chdual4); chdual1.addItemListener(this); chdual2.addItemListener(this); chdual3.addItemListener(this); chdual4.addItemListener(this); add(msol); SetMenuState(); }//end of MenuBarLine constructor //******************** // // ActionPerformed // //******************** public void actionPerformed(ActionEvent e) { //************ // // File Menu // //************ if (e.getSource()== fclose) { bf.lf.setVisible(false); bf.mb.vlopen.setState(false); bf.mb.vlclose.setState(true); } if (e.getSource() == freset) { bf.lf.Reset(); } //------------------------------- // select/deselect all Points //------------------------------- if(e.getSource() == epselectall) { bf.ps.SelectAll(); } if(e.getSource() == epdeselectall) { bf.ps.DeselectAll(); } //------------------------------- // select/deselect all Lines //------------------------------- if(e.getSource() == elselectall) { bf.ps.SelectAll(); } if(e.getSource() == eldeselectall) { bf.ps.DeselectAll(); } //------------------------------------------------------- // Edit/Default settings and current settings for Points //------------------------------------------------------- if(e.getSource() == epdefault) { bf.lf.state.stateAppearanceP = StateAppearance.defaultP; medit.remove(epdefault); epcurrentset = new MenuItem("Current Settings for New Points"); medit.add(epcurrentset); epcurrentset.addActionListener(this); } if(e.getSource() == epcurrentset) { bf.lf.state.stateAppearanceP = StateAppearance.currentP; medit.remove(epcurrentset); epdefault = new MenuItem("Default Settings for New Points"); medit.add(epdefault); epdefault.addActionListener(this); } //------------------------------------------------------- // Edit/Default settings and current settings for Lines //------------------------------------------------------- if(e.getSource() == eldefault) { bf.lf.state.stateAppearanceL = StateAppearance.defaultL; medit.remove(eldefault); elcurrentset = new MenuItem("Current Settings for New Lines"); medit.add(elcurrentset); elcurrentset.addActionListener(this); } if(e.getSource() == elcurrentset) { bf.lf.state.stateAppearanceL = StateAppearance.currentL; medit.remove(elcurrentset); eldefault = new MenuItem("Default Settings for New Lines"); medit.add(eldefault); eldefault.addActionListener(this); } //--------------------- // Windows/ Reset Size //--------------------- if(e.getSource() == resetBasic) { bf.lf.setSize(bf.width, bf.height); } if(e.getSource() == resetAspect) { bf.lf.setSize(bf.width, bf.height); //if origin is in center, leave width and height as it is //if origin is not the center, preserves the aspect ratio if(bf.lf.state.stateOrigin == StateOrigin.arbitrary) { // ???? work on bf.ps.ChangeOrAfterIncrease(); bf.ps.ChangeArrayAfterIncrease(); } } bf.lf.lc.repaint(); }//end of action methodPerformed //****************************************************************** // // itemStateChanged // //****************************************************************** public void itemStateChanged (ItemEvent e) { //******************* // // Edit Point Menu // //******************* //------------- // insert //------------ if (e.getSource() == epinsert) { // tell how to interpret mouse clicks: insert new points bf.lf.state.stateMouse = StateMouse.insertP; // synchronize the states of the Edit menu items epinsert.setState(true); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); }// end if insert //-------------- // move //-------------- else if (e.getSource() == epmove) { // tell how to interpret mouse clicks: move points bf.lf.state.stateMouse = StateMouse.moveP; // deselect all // bf.ps.DeselectAll(); // decide if I want to do this, or move all points simultaneously // synchronize the states of the Edit menu items epmove.setState(true); epdelete.setState(false); epinsert.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); } //-------------- // delete //-------------- else if (e.getSource() == epdelete) { // tell how to interpret mouse clicks: delete points bf.lf.state.stateMouse = StateMouse.deleteP; // synchronize the states of the Edit menu items epdelete.setState(true); epmove.setState(false); epinsert.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); }// end if delete //------------------------------- // select //------------------------------- else if (e.getSource() == epselect) { bf.lf.state.stateMouse = StateMouse.selectP; epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(true); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); } //------------------------------- // edit user label //------------------------------- else if (e.getSource() == epelabel) { bf.lf.state.stateMouse = StateMouse.elabelP; epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(true); epmoveLabel.setState(false); epmoveCoord.setState(false); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); // pop up a LabelEdit Dialog Box System.out.println("In labeledit mode, pop-up FrameText"); //String s = bf.ft.EditText(..., bf.current point label???) // this function does not change directly the label of the point // but returns the new label as a string // set current point label to this s // when done, reset the state of the Key // if (bf.lf.state.stateKey == StateKey.labeleditP) // bf.lf.state.stateKey = bf.lf.state.oldStateKey; System.out.println("Done with key in labeledit mode"); }// end eelabel //-------------- // moveLabel //-------------- else if (e.getSource() == epmoveLabel) { // tell how to interpret mouse clicks: move labels of points bf.lf.state.stateMouse = StateMouse.moveLP; // synchronize the states of the Edit menu items epmove.setState(false); epdelete.setState(false); epinsert.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(true); epmoveCoord.setState(false); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); } //-------------- // moveCoord //-------------- else if (e.getSource() == epmoveCoord) { // tell how to interpret mouse clicks: move coordinates of points bf.lf.state.stateMouse = StateMouse.moveCP; // synchronize the states of the Edit menu items epmove.setState(false); epdelete.setState(false); epinsert.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(true); elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); } // end Edit Point menu items //************************** // // Edit/Edit Point Appearance // //************************** //------------------------------- // Edit/Edit Appearance/ Shape //------------------------------- if(e.getSource() == sscircle) { bf.lf.state.point.appearanceP.shape = StateShape.scircle; bf.ps.SetShapeSelected(StateShape.scircle); sscircle.setState(true); slcircle.setState(false); ssquare.setState(false); } if(e.getSource() == slcircle) { bf.lf.state.point.appearanceP.shape = StateShape.lcircle; bf.ps.SetShapeSelected(StateShape.lcircle); sscircle.setState(false); slcircle.setState(true); ssquare.setState(false); } if(e.getSource() == ssquare) { bf.lf.state.point.appearanceP.shape = StateShape.square; bf.ps.SetShapeSelected(StateShape.square); sscircle.setState(false); slcircle.setState(false); ssquare.setState(true); } //---------------------------- // Fill //---------------------------- if (e.getSource() == chfill) { chfill.setState(true); chnofill.setState(false); bf.lf.state.point.appearanceP.fill = StateFill.fill; bf.ps.SetFillSelected(StateFill.fill); } if (e.getSource() == chnofill) { chfill.setState(false); chnofill.setState(true); bf.lf.state.point.appearanceP.fill = StateFill.nofill; bf.ps.SetFillSelected(StateFill.nofill); } //---------------------------- // Edit/Appearance/Fill Color //---------------------------- if(e.getSource() == fred) { bf.lf.state.point.appearanceP.fillcolor = Color.red; bf.ps.SetFillColorSelected(Color.red); fred.setState(true); fcyan.setState(false); fmagenta.setState(false); fblack.setState(false); } if(e.getSource() == fcyan) { bf.lf.state.point.appearanceP.fillcolor = Color.cyan; bf.ps.SetFillColorSelected(Color.cyan); fred.setState(false); fcyan.setState(true); fmagenta.setState(false); fblack.setState(false); } if(e.getSource() == fmagenta) { bf.lf.state.point.appearanceP.fillcolor = Color.magenta; bf.ps.SetFillColorSelected(Color.magenta); fred.setState(false); fcyan.setState(false); fmagenta.setState(true); fblack.setState(false); } if(e.getSource() == fblack) { bf.lf.state.point.appearanceP.fillcolor = Color.black; bf.ps.SetFillColorSelected(Color.black); fred.setState(false); fcyan.setState(false); fmagenta.setState(false); fblack.setState(true); } //---------------------------- // Contour //---------------------------- if (e.getSource() == chcontour) { chcontour.setState(true); chnocontour.setState(false); bf.lf.state.point.appearanceP.contour = StateContour.contour; bf.ps.SetContourSelected(StateContour.contour); } if (e.getSource() == chnocontour) { chcontour.setState(false); chnocontour.setState(true); bf.lf.state.point.appearanceP.contour = StateContour.nocontour; bf.ps.SetContourSelected(StateContour.nocontour); } //------------------------------- // Edit/Appearance/Contour Color //------------------------------- if (e.getSource() == cblack) { bf.lf.state.point.appearanceP.contcolor=Color.black; bf.ps.SetContourColorSelected(Color.black); cblack.setState(true); cred.setState(false); cblue.setState(false); } else if (e.getSource() == cred ) { bf.lf.state.point.appearanceP.contcolor=Color.red; bf.ps.SetContourColorSelected(Color.red); cblack.setState(false); cred.setState(true); cblue.setState(false); } else if (e.getSource() == cblue) { bf.lf.state.point.appearanceP.contcolor=Color.blue; bf.ps.SetContourColorSelected(Color.blue); cblack.setState(false); cred.setState(false); cblue.setState(true); } //------------------------------- // Edit/Appearance/Visibility //------------------------------- if (e.getSource() == chpvisible) { chpvisible.setState(true); chpinvisible.setState(false); bf.lf.state.point.appearanceP.visible = StateVisible.visible; bf.ps.SetVisibleSelected(StateVisible.visible); } if (e.getSource() == chpinvisible) { chpvisible.setState(false); chpinvisible.setState(true); bf.lf.state.point.appearanceP.visible = StateVisible.invisible; bf.ps.SetVisibleSelected(StateVisible.invisible); } //------------------------------- // Edit/Appearance/Label //------------------------------- if (e.getSource() == lpwithout) { bf.lf.state.stateLabel = StateLabel.without; lpuser.setState(false); lpwithout.setState(true); lpinsert.setState(false); lpxcoord.setState(false); } else if (e.getSource() == lpuser) { bf.lf.state.stateLabel = StateLabel.user; lpuser.setState(true); lpwithout.setState(false); lpinsert.setState(false); lpxcoord.setState(false); } else if (e.getSource() == lpinsert) { bf.lf.state.stateLabel = StateLabel.insert; lpuser.setState(false); lpwithout.setState(false); lpinsert.setState(true); lpxcoord.setState(false); } else if (e.getSource() == lpxcoord) { bf.lf.state.stateLabel = StateLabel.xcoord; lpuser.setState(false); lpwithout.setState(false); lpinsert.setState(false); lpxcoord.setState(true); } //------------------------------- // Edit/Appearance/Coordinates //------------------------------- if (e.getSource() == cowithout) { bf.lf.state.stateCoord = StateCoord.without; cowithout.setState(true); coabsolute.setState(false); corelative.setState(false); bf.ps.SetCoordSelected(StateCoord.without); } else if (e.getSource() == coabsolute) { bf.lf.state.stateCoord = StateCoord.absolute; cowithout.setState(false); coabsolute.setState(true); corelative.setState(false); bf.ps.SetCoordSelected(StateCoord.absolute); } else if (e.getSource() == corelative) { bf.lf.state.stateCoord = StateCoord.relative; cowithout.setState(false); coabsolute.setState(false); corelative.setState(true); bf.ps.SetCoordSelected(StateCoord.relative); } //****************** // // Edit Line Menu // //****************** //------------- // insert //------------ if (e.getSource() == elinsert) { // tell how to interpret mouse clicks: insert new points bf.lf.state.stateMouse = StateMouse.insertL; // synchronize the states of the Edit menu items elinsert.setState(true); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); }// end if insert //-------------- // move //-------------- else if (e.getSource() == elmove) { // tell how to interpret mouse clicks: move points bf.lf.state.stateMouse = StateMouse.moveL; // deselect all // bf.ps.DeselectAll(); // decide if I want to do this, or move all points simultaneously // synchronize the states of the Edit menu items elmove.setState(true); eldelete.setState(false); elinsert.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); } //-------------- // delete //-------------- else if (e.getSource() == eldelete) { // tell how to interpret mouse clicks: delete points bf.lf.state.stateMouse = StateMouse.deleteL; // synchronize the states of the Edit menu items eldelete.setState(true); elmove.setState(false); elinsert.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); }// end if delete //------------------------------- // select //------------------------------- else if (e.getSource() == elselect) { bf.lf.state.stateMouse = StateMouse.selectL; elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(true); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); } //------------------------------- // edit user label //------------------------------- else if (e.getSource() == elelabel) { bf.lf.state.stateMouse = StateMouse.elabelL; elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(true); elmoveLabel.setState(false); elmoveCoord.setState(false); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); // pop up a LabelEdit Dialog Box System.out.println("In labeledit mode, pop-up FrameText"); //String s = bf.ft.EditText(..., bf.current point label???) // this function does not change directly the label of the point // but returns the new label as a string // set current point label to this s // when done, reset the state of the Key // if (bf.lf.state.stateKey == StateKey.labeleditP) // bf.lf.state.stateKey = bf.lf.state.oldStateKey; System.out.println("Done with key in labeledit mode"); }// end eelabel //-------------- // moveLabel //-------------- else if (e.getSource() == elmoveLabel) { // tell how to interpret mouse clicks: move labels of points bf.lf.state.stateMouse = StateMouse.moveLL; // synchronize the states of the Edit menu items elmove.setState(false); eldelete.setState(false); elinsert.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(true); elmoveCoord.setState(false); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); } //-------------- // moveCoord //-------------- else if (e.getSource() == elmoveCoord) { // tell how to interpret mouse clicks: move coordinates of points bf.lf.state.stateMouse = StateMouse.moveCL; // synchronize the states of the Edit menu items elmove.setState(false); eldelete.setState(false); elinsert.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(true); epinsert.setState(false); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); } // end Edit Line menu items //------------------------------------- // Edit/Appearance/Equation - Duality //------------------------------------- if (e.getSource() == eqwithout) { bf.lf.state.stateEquation = StateEquation.without; eqwithout.setState(true); eqdual1.setState(false); eqdual2.setState(false); eqdual3.setState(false); eqdual4.setState(false); bf.ps.SetEqSelected(StateEquation.without); } else if (e.getSource() == eqdual1) { bf.lf.state.stateEquation = StateEquation.dual1; eqwithout.setState(false); eqdual1.setState(true); eqdual2.setState(false); eqdual3.setState(false); eqdual4.setState(false); bf.ps.SetEqSelected(StateEquation.dual1); } else if (e.getSource() == eqdual2) { bf.lf.state.stateEquation = StateEquation.dual2; eqwithout.setState(false); eqdual1.setState(false); eqdual2.setState(true); eqdual3.setState(false); eqdual4.setState(false); bf.ps.SetEqSelected(StateEquation.dual2); } else if (e.getSource() == eqdual3) { bf.lf.state.stateEquation = StateEquation.dual2; eqwithout.setState(false); eqdual1.setState(false); eqdual2.setState(false); eqdual3.setState(true); eqdual4.setState(false); bf.ps.SetEqSelected(StateEquation.dual2); } else if (e.getSource() == eqdual4) { bf.lf.state.stateEquation = StateEquation.dual2; eqwithout.setState(false); eqdual1.setState(false); eqdual2.setState(false); eqdual3.setState(false); eqdual4.setState(true); bf.ps.SetEqSelected(StateEquation.dual2); } //---------------------------------- // Edit/Edit Appearance/ Line Style //---------------------------------- if(e.getSource() == ssolid) { ssolid.setState(true); sdotted.setState(false); sarrow.setState(false); bf.lf.state.point.appearanceL.style = StateStyle.solid; bf.ps.SetStyleSelected(StateStyle.solid); } if(e.getSource() == sdotted) { ssolid.setState(false); sdotted.setState(true); sarrow.setState(false); bf.lf.state.point.appearanceL.style = StateStyle.dotted; bf.ps.SetStyleSelected(StateStyle.dotted); } if(e.getSource() == sarrow) { ssolid.setState(false); sdotted.setState(false); sarrow.setState(true); bf.lf.state.point.appearanceL.style = StateStyle.arrow; bf.ps.SetStyleSelected(StateStyle.arrow); } //---------------------------------- // Edit/Edit Appearance/ Thickness //---------------------------------- if(e.getSource() == lthick1) { lthick1.setState(true); lthick2.setState(false); lthick3.setState(false); bf.lf.state.point.appearanceL.thickness = StateThickness.thick1; bf.ps.SetLineThicknessSelected(StateThickness.thick1); } if(e.getSource() == lthick2) { lthick1.setState(false); lthick2.setState(true); lthick3.setState(false); bf.lf.state.point.appearanceL.thickness = StateThickness.thick2; bf.ps.SetLineThicknessSelected(StateThickness.thick2); } if(e.getSource() == lthick3) { lthick1.setState(false); lthick2.setState(false); lthick3.setState(true); bf.lf.state.point.appearanceL.thickness = StateThickness.thick3; bf.ps.SetLineThicknessSelected(StateThickness.thick3); } //------------------------------- // Edit/Line Appearance/Clipping //------------------------------- if (e.getSource() == clwithout) { clwithout.setState(true); clclip1.setState(false); bf.lf.state.point.appearanceL.clipped = StateClipped.without; bf.ps.SetLineClippedSelected(StateClipped.without); } if (e.getSource() == clclip1) { clwithout.setState(false); clclip1.setState(true); bf.lf.state.point.appearanceL.clipped = StateClipped.clip1; bf.ps.SetLineClippedSelected(StateClipped.clip1); } //-------------------------- // Edit/Appearance/Line color //--------------------------- if(e.getSource() == flred) { flred.setState(true); flcyan.setState(false); flmagenta.setState(false); flblack.setState(false); bf.lf.state.point.appearanceL.color = Color.red; bf.ps.SetLineColorSelected(Color.red); } if(e.getSource() == flcyan) { flred.setState(false); flcyan.setState(true); flmagenta.setState(false); flblack.setState(false); bf.lf.state.point.appearanceL.color = Color.cyan; bf.ps.SetLineColorSelected(Color.cyan); } if(e.getSource() == flmagenta) { flred.setState(false); flcyan.setState(false); flmagenta.setState(true); flblack.setState(false); bf.lf.state.point.appearanceL.color = Color.magenta; bf.ps.SetLineColorSelected(Color.magenta); } if(e.getSource() == flblack) { flred.setState(false); flcyan.setState(false); flmagenta.setState(false); flblack.setState(true); bf.lf.state.point.appearanceL.color = Color.black; bf.ps.SetLineColorSelected(Color.black); } //------------------------------- // Edit/Appearance/Visibility //------------------------------- if (e.getSource() == chlvisible) { chlvisible.setState(true); chlinvisible.setState(false); bf.lf.state.point.appearanceP.visible = StateVisible.visible; bf.ps.SetVisibleSelected(StateVisible.visible); } if (e.getSource() == chlinvisible) { chlvisible.setState(false); chlinvisible.setState(true); bf.lf.state.point.appearanceP.visible = StateVisible.invisible; bf.ps.SetVisibleSelected(StateVisible.invisible); } //*************** // //Window Menu // //*************** //*********** // // Window // //*********** //------------- // resize //------------- if(e.getSource() == chnotresize) { chnotresize.setState(true); chbasic.setState(false); chaspect.setState(false); bf.lf.state.stateResize = StateResize.not; bf.lf.setResizable(false); } if(e.getSource() == chbasic) { chnotresize.setState(false); chbasic.setState(true); chaspect.setState(false); bf.lf.state.stateResize = StateResize.basic; bf.lf.setResizable(true); } if(e.getSource() == chaspect) { chnotresize.setState(false); chbasic.setState(false); chaspect.setState(true); bf.lf.state.stateResize = StateResize.aspect; bf.lf.setResizable(true); } //------------------------- // Window/ Background menu //------------------------- if (e.getSource() == bpink) { bpink.setState(true); byellow.setState(false); bgreen.setState(false); bwhite.setState(false); borange.setState(false); bf.lf.lc.setBackground(Color.pink); } if (e.getSource() == byellow) { bpink.setState(false); byellow.setState(true); bgreen.setState(false); bwhite.setState(false); borange.setState(false); bf.lf.lc.setBackground(Color.yellow); } if (e.getSource() == bgreen) { bpink.setState(false); byellow.setState(false); bgreen.setState(true); bwhite.setState(false); borange.setState(false); bf.lf.lc.setBackground(Color.green); } if (e.getSource() == bwhite) { bpink.setState(false); byellow.setState(false); bgreen.setState(false); bwhite.setState(true); borange.setState(false); bf.lf.lc.setBackground(Color.white); } if (e.getSource() == borange) { bpink.setState(false); byellow.setState(false); bgreen.setState(false); bwhite.setState(false); borange.setState(true); bf.lf.lc.setBackground(Color.orange); } //---------------------- // Window/ Grid Colors //---------------------- if(e.getSource() == lblack) { lblack.setState(true); lblue.setState(false); lred.setState(false); bf.lf.state.grid_line_color = Color.black; } if(e.getSource() == lblue) { lblack.setState(false); lblue.setState(true); lred.setState(false); bf.lf.state.grid_line_color = Color.blue; } if(e.getSource() == lred) { lblack.setState(false); lblue.setState(false); lred.setState(true); bf.lf.state.grid_line_color = Color.red; } //------------------------------------ // Window/ Frame of Reference colors //------------------------------------ if(e.getSource() == frblack) { frblack.setState(true); frblue.setState(false); frred.setState(false); bf.lf.state.frame_of_ref_color = Color.black; } if(e.getSource() == frblue) { frblack.setState(true); frblue.setState(false); frred.setState(false); bf.lf.state.frame_of_ref_color = Color.blue; } if(e.getSource() == frred) { frblack.setState(true); frblue.setState(false); frred.setState(false); bf.lf.state.frame_of_ref_color = Color.red; } //------------------------------------ // Window/ Origin Coordinates colors //------------------------------------ if(e.getSource() == orblack) { orblack.setState(true); orblue.setState(false); orred.setState(false); bf.lf.state.or_coord_color = Color.black; } if(e.getSource() == orblue) { orblack.setState(false); orblue.setState(true); orred.setState(false); bf.lf.state.or_coord_color = Color.blue; } if(e.getSource() == orred) { orblack.setState(false); orblue.setState(false); orred.setState(true); bf.lf.state.or_coord_color = Color.red; } //------------------------------------ // Window/ Parabola colors //------------------------------------ if(e.getSource() == pablack) { pablack.setState(true); pablue.setState(false); pared.setState(false); bf.lf.state.parabola_color = Color.black; } if(e.getSource() == pablue) { pablack.setState(false); pablue.setState(true); pared.setState(false); bf.lf.state.parabola_color = Color.blue; } if(e.getSource() == pared) { pablack.setState(false); pablue.setState(false); pared.setState(true); bf.lf.state.parabola_color = Color.red; } //------------------------------------ // Window/ Axes colors //------------------------------------ if(e.getSource() == axblack) { axblack.setState(true); axblue.setState(false); axred.setState(false); bf.lf.state.axes_color = Color.black; } if(e.getSource() == axblue) { axblack.setState(true); axblue.setState(false); axred.setState(false); bf.lf.state.axes_color = Color.blue; } if(e.getSource() == axred) { axblack.setState(true); axblue.setState(false); axred.setState(false); bf.lf.state.axes_color = Color.red; } //-------------- // Window/ Grid //-------------- if (e.getSource() == chgrid) { chgrid.setState(true); chnogrid.setState(false); bf.lf.state.stateGrid = StateGrid.yes; } if (e.getSource() == chnogrid) { chgrid.setState(false); chnogrid.setState(true); bf.lf.state.stateGrid = StateGrid.not; } //-------------------- // Window/Axes //-------------------- if (e.getSource() == chaxes) { chaxes.setState(true); chnoaxes.setState(false); bf.lf.state.stateAxes = StateAxes.yes; } if (e.getSource() == chnoaxes) { chaxes.setState(false); chnoaxes.setState(true); bf.lf.state.stateAxes = StateAxes.not; } //-------------------- // Window/Origin Coordinates //-------------------- if (e.getSource() == chorigin) { chorigin.setState(true); chnoorigin.setState(false); bf.lf.state.stateOrCoord = StateOrCoord.yes; } if (e.getSource() == chnoorigin) { chorigin.setState(false); chnoorigin.setState(true); bf.lf.state.stateOrCoord = StateOrCoord.not; } //-------------------- // Window/Parabola //-------------------- if (e.getSource() == chparabola) { chparabola.setState(true); chnoparabola.setState(false); bf.lf.state.stateParabola = StateParabola.yes; } if (e.getSource() == chnoparabola) { chparabola.setState(false); chnoparabola.setState(true); bf.lf.state.stateParabola = StateParabola.not; } //----------------------------- // Window/ Frame of Reference //----------------------------- if (e.getSource() == chframeofref) { chframeofref.setState(true); chnoframeofref.setState(false); bf.lf.state.stateFrameRefer = StateFrameRefer.yes; } if (e.getSource() == chnoframeofref) { chframeofref.setState(false); chnoframeofref.setState(true); bf.lf.state.stateFrameRefer = StateFrameRefer.not; } //**************************** // // Set of Lines // //**************************** //------------------ // Duality //------------------ if (e.getSource() == chdual1) { chdual1.setState(true); chdual2.setState(false); chdual3.setState(false); chdual4.setState(false); bf.lf.duality = StateDuality.dual1; } else if (e.getSource() == chdual2) { chdual2.setState(true); chdual1.setState(false); chdual3.setState(false); chdual4.setState(false); bf.lf.duality = StateDuality.dual2; } else if (e.getSource() == chdual3) { chdual3.setState(true); chdual1.setState(false); chdual2.setState(false); chdual4.setState(false); bf.lf.duality = StateDuality.dual3; } else if (e.getSource() == chdual4) { chdual4.setState(true); chdual1.setState(false); chdual2.setState(false); chdual3.setState(false); bf.lf.duality = StateDuality.dual4; } bf.lf.lc.repaint(); }//end of itemStateChanged //******************************************************************** //********************************************* // // SetMenuState // Set the states of the MenuBarLine // //********************************************* public void SetMenuState() { //****************** // // edit Point // //****************** epinsert.setState(true); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); //----------- // shape //----------- sscircle.setState(true); slcircle.setState(false); ssquare.setState(false); //------------ // label //------------ lpwithout.setState(false); lpuser.setState(false); lpinsert.setState(true); lpxcoord.setState(false); //--------------- // coordinates //--------------- cowithout.setState(true); coabsolute.setState(false); corelative.setState(false); //--------------- // fill //--------------- chfill.setState(true); chnofill.setState(false); fred.setState(true); fcyan.setState(false); fmagenta.setState(false); fblack.setState(false); //--------------- // contour //--------------- chcontour.setState(true); chnocontour.setState(false); cred.setState(false); cblack.setState(true); cblue.setState(false); //--------------- // visible //--------------- chpvisible.setState(true); chpinvisible.setState(false); //****************** // // edit Lines // //****************** elinsert.setState(false); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); // line style ssolid.setState(true); sdotted.setState(false); sarrow.setState(false); // line thickness lthick1.setState(true); lthick2.setState(false); lthick3.setState(false); // line clipping clwithout.setState(true); clclip1.setState(false); // line color flred.setState(false); flcyan.setState(false); flmagenta.setState(false); flblack.setState(true); //------------ // line label //------------ llwithout.setState(false); lluser.setState(false); llinsert.setState(true); llxcoord.setState(false); // Line Equation eqwithout.setState(true); eqdual1.setState(false); eqdual2.setState(false); eqdual3.setState(false); eqdual4.setState(false); //--------------- // visible //--------------- chlvisible.setState(true); chlinvisible.setState(false); //******************* // // Window // //******************* //--------------------- // Window/Not Resizable //--------------------- chnotresize.setState(true); chbasic.setState(false); chaspect.setState(false); //----------------- // background color //----------------- bpink.setState(false); byellow.setState(false); bgreen.setState(false); bwhite.setState(true); borange.setState(false); //-------------------------------------------------- // grid, frame of reference, origin, parabola, axes //-------------------------------------------------- chgrid.setState(false); chnogrid.setState(true); chframeofref.setState(false); chnoframeofref.setState(true); chorigin.setState(false); chnoorigin.setState(true); chparabola.setState(false); chnoparabola.setState(true); chaxes.setState(true); chnoaxes.setState(false); lblack.setState(true); lblue.setState(false); lred.setState(false); frblack.setState(false); frblue.setState(true); frred.setState(false); orblack.setState(false); orblue.setState(true); orred.setState(false); pablack.setState(true); pablue.setState(false); pared.setState(false); axblack.setState(false); axblue.setState(false); axred.setState(true); //************************ // // Set of Lines // //************************ //--------------------------------- // duality //--------------------------------- chdual1.setState(true); chdual2.setState(false); chdual3.setState(false); chdual4.setState(false); }// end SetMenuState //***************************************** // // Reset the state of the MenuBarPoint // //***************************************** public void ResetMenuState() { //****************** // // edit Point // //****************** epinsert.setState(true); epmove.setState(false); epdelete.setState(false); epselect.setState(false); epelabel.setState(false); epmoveLabel.setState(false); epmoveCoord.setState(false); //----------- // shape //----------- sscircle.setState(true); slcircle.setState(false); ssquare.setState(false); //------------ // label //------------ lpwithout.setState(false); lpuser.setState(false); lpinsert.setState(true); lpxcoord.setState(false); //--------------- // coordinates //--------------- cowithout.setState(true); coabsolute.setState(false); corelative.setState(false); //--------------- // fill //--------------- chfill.setState(true); chnofill.setState(false); fred.setState(true); fcyan.setState(false); fmagenta.setState(false); fblack.setState(false); //--------------- // contour //--------------- chcontour.setState(true); chnocontour.setState(false); cred.setState(false); cblack.setState(true); cblue.setState(false); //--------------- // visible //--------------- chpvisible.setState(true); chpinvisible.setState(false); //****************** // // edit Lines // //****************** elinsert.setState(true); elmove.setState(false); eldelete.setState(false); elselect.setState(false); elelabel.setState(false); elmoveLabel.setState(false); elmoveCoord.setState(false); // line style ssolid.setState(true); sdotted.setState(false); sarrow.setState(false); // line thickness lthick1.setState(true); lthick2.setState(false); lthick3.setState(false); // line clipping clwithout.setState(true); clclip1.setState(false); // line color flred.setState(false); flcyan.setState(false); flmagenta.setState(false); flblack.setState(true); //------------ // line label //------------ llwithout.setState(false); lluser.setState(false); llinsert.setState(true); llxcoord.setState(false); // Line Equation eqwithout.setState(true); eqdual1.setState(false); eqdual2.setState(false); eqdual3.setState(false); eqdual4.setState(false); //--------------- // visible //--------------- chlvisible.setState(true); chlinvisible.setState(false); //******************* // // Window // //******************* //--------------------- // Window/Not Resizable //--------------------- chnotresize.setState(true); chbasic.setState(false); chaspect.setState(false); //----------------- // background color //----------------- bpink.setState(false); byellow.setState(false); bgreen.setState(false); bwhite.setState(true); borange.setState(false); //-------------------------------------------------- // grid, frame of reference, origin, parabola, axes //-------------------------------------------------- chgrid.setState(false); chnogrid.setState(true); chframeofref.setState(false); chnoframeofref.setState(true); chorigin.setState(false); chnoorigin.setState(true); chparabola.setState(false); chnoparabola.setState(true); chaxes.setState(true); chnoaxes.setState(false); lblack.setState(true); lblue.setState(false); lred.setState(false); frblack.setState(false); frblue.setState(true); frred.setState(false); orblack.setState(false); orblue.setState(true); orred.setState(false); pablack.setState(true); pablue.setState(false); pared.setState(false); axblack.setState(false); axblue.setState(false); axred.setState(true); //************************ // // Set of Lines // //************************ //--------------------------------- // duality //--------------------------------- chdual1.setState(true); chdual2.setState(false); chdual3.setState(false); chdual4.setState(false); }// end ResetMenuState }// end class MenuBarLine