

# tclfile -*- TCL -*- Created: ramsan Aug-1996, Modified: ramsan Dec-1996
# for tk4.0

set DeshabilitarMenuLayer 0

proc SetMenusVariables {} {
    global MenuNames MenuEntries MenuCommands MenuAcceler
    global tcl_platform GIDDEFAULT
    global GidPriv

    catch { unset MenuNames MenuEntries MenuCommands MenuAcceler }

    set MenuNames [list [_ "Files"] [_ "Geometry"] [_ "Utilities"] [_ "Data"] [_ "Meshing"] \
		       [_ "Calculate"] [_ "Help"] ]

    #---------------

    set MenuEntries(0) [list [_ "New"] [_ "Open"]... [_ "Save"] [_ "Save as"]... \
	[_ "Import"] [_ "Export"] --- \
	[_ "Print to file"] [_ "Page Setup"]... [_ "Print"]...  --- [_ "Postprocess"] \
	--- [_ "Recent files"] --- [_ "Quit"]]

    set MenuCommands(0) {{Files New} {Files Read} \
	    {Files Save} {Files SaveAs} "" "" \
	    "" "" {-np- PageSetup} {-np- HardcopyToPrint {Hardcopy PS}} \
	    "" Postprocess "" {-np- AddEntitiesToMenuRecentFiles %W } "" Quit }

    set MenuAcceler(0) { "Control-x Control-n" Control-o Control-s \
  	    "Control-x Control-s" "" "" "" "" "" "" "" "" "" \
	    "" "" Control-q }
    
    set MenuEntries(0,4) [list [_ "IGES"]... [_ "DXF"]... [_ "Parasolid"]... [_ "ACIS"]... \
        [_ "VDA"]... [_ "Shapefile"]... ---  [_ "NASTRAN mesh"]... [_ "STL mesh"]... [_ "GiD mesh"]... \
	[_ "Surface mesh"]... ---  [_ "Batch file"]... [_ "Insert GiD geometry"]... ]

    set MenuCommands(0,4) { {Files IgesRead} {Files dxfRead} {Files ParasolidRead} {Files ACISRead}\
        {Files VDARead} {Files ShapefileRead} "" {Files NASTRANRead} {Files STLRead} {Files MeshRead} \
	{Files ReadSurfMeshes ReadFromFile} "" {Files BatchFile} {Files InsertGeom} }

    set MenuAcceler(0,4) { Control-i Control-d "" "" "" "" "" "" "" "" "" "" "Control-b" "" }


    set MenuEntries(0,5) [list [_ "IGES"]... [_ "DXF"]... --- [_ "GiD mesh"]... --- \
	[_ "Text data report"]...  [_ "Ascii project"]... [_ "ON layers"]... --- \
        [_ "Calculation file"]... [_ "Using Template .bas (only mesh)"]]

    set MenuCommands(0,5) { {Files IgesWrite} {Files DXFWrite} "" {Files WriteMesh} "" \
         {Files WriteAscii} {Files SaveAsciiProj} {Files SaveLayer} "" \
         {Files WriteCalcFile} {-np- SetTemplatesMenu %W }}

    set MenuAcceler(0,5) { "" "" "" "" "" "" "" "" "" "Control-x Control-c" ""}


    set MenuEntries(0,5,10) ""


    set MenuEntries(0,7) [list [_ "PS Screen"]... [_ "PS Vectorial"]... [_ "EPS Screen"] [_ "EPS Vectorial"]... \
        [_ "BMP"]... [_ "GIF"]... [_ "JPEG"]... [_ "PNG"]... [_ "TGA"]... [_ "TIFF"]... [_ "VRML"]]

    set MenuCommands(0,7) { { -ne- Hardcopy Options VectorialPS no escape Hardcopy PS} \
	    { -ne- Hardcopy Options VectorialPS yes escape Hardcopy PS } \
	    { -ne- Hardcopy Options VectorialPS no escape Hardcopy EPS} \
	    { -ne- Hardcopy Options VectorialPS yes escape Hardcopy EPS} \
	    { -ne- Hardcopy BMP} \
	    { -ne- Hardcopy GIF} \
	    { -ne- Hardcopy JPEG} \
	    { -ne- Hardcopy PNG} \
	    { -ne- Hardcopy TGA} \
	    { -ne- Hardcopy TIFF} \
	    { -ne- Hardcopy VRML} }

    set MenuEntries(0,13) ""

    #--------------

    set MenuEntries(1) [list [_ "View geometry"] --- [_ "Create"] [_ "Delete"] [_ "Edit"]]
    set MenuCommands(1) { "Geometry" "" "" "" ""}
    set MenuAcceler(1) { "" "" "" "" "" }

    set MenuEntries(1,2) [list [_ "Point"] [_ "Line"] [_ "Arc"] [_ "Arc tangents"] \
	    [_ "NURBS line"] [_ "Polyline"] [_ "Parametric line"] [_ "NURBS surface"] [_ "Volume"] \
	    [_ "Contact"] [_ "Intersection"] [_ "Object"] [_ "Surface boolean op."] [_ "Volume boolean op."]]
    set MenuCommands(1,2) " {geometry create point} {geometry create line} \
	    {geometry create arc} {geometry create arc ByTangents} \
	    {geometry create NurbsLine} {geometry create polyline} {-np- ParametricLine} \
	    {} {} {} {} {} {} {}"

    set MenuEntries(1,2,7) [list [_ "By contour"] [_ "Automatic"] [_ "Trimmed"] \
	    [_ "Parallel Lines"] [_ "By Points"] [_ "By LinePoints"] [_ "Search"] ]
    set MenuCommands(1,2,7) " {geometry create NurbsSurface} \
	    {geometry create NurbsSurface Automatic} \
	    {geometry create TrimmedNurb} \
	    {geometry create NurbsSurface ParallelLines} \
	    {geometry create NurbsSurface ByPoints} \
	    {geometry create NurbsSurface ByLinePoints} \
	    {geometry create NurbsSurface Search} "

    set MenuEntries(1,2,8) [list [_ "By contour"] [_ "Automatic 6-sided volumes"] \
	    [_ "Search"] [_ "Hole"]]
    
    set MenuCommands(1,2,8) " {geometry create volume} \
	    {geometry create volume AutomaticStruct} \
	    {geometry create volume search} {geometry create volume hole}"

    set MenuEntries(1,2,9) [list [_ "Surface"] [_ "Volume"] [_ "Separated volume"]]
    set MenuCommands(1,2,9) { {geometry create contact surface} \
	    {geometry create contact volume} \
	    {geometry create contact SeparatedVolume}} 

    set MenuEntries(1,2,10) [list [_ "Line-line"] [_ "Multiple lines"] [_ "Surface-2 points"] \
	    [_ "Surface-lines"] [_ "Surface-surface"] [_ "Multiple surfaces"] ]
    
    set MenuCommands(1,2,10) { {geometry create IntersectLines}  \
	    {geometry create IntMultLines} {geometry create IntSurfPnts} \
	    {geometry create IntSurfLine} {geometry create IntSurfs} \
          {geometry create IntMultSurfs} }

    set MenuEntries(1,2,11) [list [_ "Rectangle"] [_ "Polygon"] [_ "Circle"] --- [_ "Sphere"] [_ "Cylinder"] \
	    [_ "Cone"] [_ "Prism"] [_ "Torus"] ]
    set MenuCommands(1,2,11) { {geometry create Object Rectangle } \
	    {geometry create Object polygonPNR } \
	    {geometry create Object CirclePNR } "" {geometry create Object Sphere } \
	    {geometry create Object Cylinder } {geometry create Object Cone } \
          {geometry create Object Prism } {geometry create Object Torus} }

    set MenuEntries(1,2,12) [list [_ "Union"] [_ "Intersection"] [_ "Substraction"] ]

    set MenuCommands(1,2,12) " {geometry create IntSolid2D Union} \
	    {geometry create IntSolid2D Intersect} \
	    {geometry create IntSolid2D Substract} "

    set MenuEntries(1,2,13) [list [_ "Union"] [_ "Intersection"] [_ "Substraction"] ]

    set MenuCommands(1,2,13) " {geometry create IntSolid3D Union} \
	    {geometry create IntSolid3D Intersect} \
	    {geometry create IntSolid3D Substract} "

    set MenuEntries(1,3) [list [_ "Point"] [_ "Line"] [_ "Surface"] [_ "Volume"] \
	    [_ "All types"]]
    set MenuCommands(1,3) { {geometry delete point} {geometry delete line} \
	    {geometry delete surface} {geometry delete volume} \
	    {geometry delete AllTypes} }

    set MenuEntries(1,4) [list [_ "Move Point"] [_ "Explode polyline"]  \
	    [_ "Divide"] [_ "Join lines end points"] [_ "Swap arc"] \
	    [_ "Edit polyline"] \
	    [_ "Edit NURBS line"]... [_ "Edit NURBS surface"]... [_ "Hole NURBS surface"] \
	    [_ "Edit SurfMesh"] [_ "Convert to NURBS"] [_ "Simplify NURBS"]]
    set MenuCommands(1,4) { {geometry edit MovePoint} \
	    {geometry edit ExplodePoly}  ""  \
	    {geometry edit JoinLinesExt} {geometry edit swaparc} \
	    {geometry edit edpoly} \
          { -np- EditNURB line } { -np- EditNURB surface } \
          {geometry edit HoleNurb} \
	    {geometry edit EditSurfMeshes} "" "" }

    set MenuEntries(1,4,2) [list [_ "Num Divisions"] [_ "Near point"] [_ "Parameter"] \
	    [_ "Relative Length"] [_ "Polylines"] [_ "Surfaces"]]
    set MenuCommands(1,4,2) { {geometry edit DivideLine NumDivisions } \
	    {geometry edit DivideLine Point } \
	    {geometry edit DivideLine Parameter } \
	    {geometry edit DivideLine RelativeLength } \
	    {geometry edit DivideLine polyline} "" }
    
    set MenuEntries(1,4,2,5) [list [_ "Num Divisions"] [_ "Near point"] [_ "Parameter"] [_ "Split"]]
    set MenuCommands(1,4,2,5) { {geometry edit DivideSurf NumDivisions } \
	    {geometry edit DivideSurf Point } \
	    {geometry edit DivideSurf Parameter } \
	    {Geometry Edit SplitSurf } }

    set MenuEntries(1,4,10) [list [_ "Line"] [_ "Surface"]]
    set MenuCommands(1,4,10) { {geometry edit ConvToNurbsL} \
	    {geometry edit ConvToNurbsS} }

    set MenuEntries(1,4,11) [list [_ "Line"] [_ "Surface"]]
    set MenuCommands(1,4,11) { {geometry edit SimplifyNurbsL} \
	    {geometry edit SimplifyNurbsS} }

    #--------------

    set MenuEntries(2) [list [_ "Undo"]... [_ "Layers"]... [_ "Preferences"]... [_ "Calculator"]... --- \
	    [_ "Graphical"] --- [_ "Status"]... [_ "List"] [_ "Copy"]... [_ "Move"]... [_ "Renumber"] \
	    [_ "Id"] [_ "Signal"] [_ "Distance"] [_ "Draw Normals"] [_ "Draw Higher"] [_ "Repair"] [_ "Collapse"] \
			    [_ "Uncollapse"] [_ "Dimension"] [_ "Report ..."]]

    set MenuCommands(2) { { -np- UndoCom} { -np- ChangeLayers } \
	    {-np- ChangeVariables } \
	    {-np- CalculatorV} "" "" "" {utilities list status } \
	    {-np- AddListEntitiesToMenu %W  } {-np- CopyMove "Copy"} \
	    {-np- CopyMove "Move"} \
	    {utilities renumber} {utilities Id} {-np- AddEntitiesToMenuAfter 0 %W \
	    {.central.s process escape escape escape escape utilities SignalEntities} } {utilities Dist} \
	    {-np- AddEntitiesToMenuDrawNormals %W } \
	    {-np- AddEntitiesToMenuDrawHigher %W } \
	    {utilities Repair} \
	    {-np- AddEntitiesToMenuCollapse %W } \
	    {} "" {-np- GIDReport::Crear} }
    
    set MenuAcceler(2) { Control-z Control-l Control-p "" "" "" "" "" ""  \
	    "Control-c" "Control-v" "" "" "" "" "" "" "" "" }

    set MenuEntries(2,5) [list [_ "Toolbars"]... --- [_ "Change light vector"] --- \
	    [_ "Save window conf"]... [_ "Move Screen Objects"] --- \
	    [_ "Coordinates window"]... [_ "Read batch window"]... [_ "Clip planes"]... \
	    [_ "Perspective"]... [_ "Comments"]... \
	    [_ "Animation controls"]... [_ "Animation script"]... \
	    [_ "Macros"]... \
	    [_ "Selection window"]... ]

    set MenuCommands(2,5) { {-np- TOBegin} "" { changelightvec} "" \
	    {-np- SaveWinConfiguration} { -ne- MoveScrObj} "" {-np- SetCoord} \
	    {-np- ReadBatch} {-np- ClipPlanes} {-np- PerspectiveW} \
	    {-np- CommentsW} \
	    {-np- PostAnimateControls} {-np- ::AutoAnimate::Crear} \
	    {-np- McrBegin} {-np- make_win_filter}}

    set MenuEntries(2,8) ""

    set MenuEntries(2,13) [list [_ "New point"]]
    set MenuCommands(2,13) { {utilities SignalEntities Point FNoJoin} }

    set MenuEntries(2,15) ""
    set MenuEntries(2,16) ""

    set MenuEntries(2,18) ""

    set MenuEntries(2,19) [list [_ "Lines"] [_ "Surfaces"]]
    set MenuCommands(2,19) { {utilities uncollapse lines} \
	    {utilities uncollapse surfaces} }

    set MenuEntries(2,20) [list [_ "Create"] [_ "Delete"] [_ "Edit"] [_ "ShowBox"] ]
    set MenuCommands(2,20) { "" {Utilities Dimension Delete} \
                             {Utilities Dimension Edit} "" }

    set MenuEntries(2,20,0) [list [_ "Vertex"] [_ "Distance"] [_ "Angle"] [_ "Radius"] [_ "Text"] ]
    set MenuCommands(2,20,0) { {Utilities Dimension Create Vertex} {Utilities Dimension Create Distance} \
                             {Utilities Dimension Create Angle} {Utilities Dimension Create Radius} \
                             {Utilities Dimension Create Text} }

    set MenuEntries(2,20,3) [list [_ "On"] [_ "Off"] ]
    set MenuCommands(2,20,3) { {Utilities Dimension ShowBox} {Utilities Dimension HideBox} }

    #---------------

    set MenuEntries(3) ""
    set MenuCommands(3) {-np- PostDataMenu %W}

    #---------------

    set MenuEntries(4) [list [_ "Quadratic elements"] [_ "Assign unstruct. sizes"] \
	    [_ "Structured"] \
	    [_ "Mesh criteria"] [_ "Element type"] [_ "Boundaries"] [_ "Draw sizes"] --- \
	    [_ "Reset mesh data"] [_ "Cancel mesh"] --- [_ "Generate"]... [_ "Mesh view"] \
	    [_ "Mesh quality"]... [_ "Edit mesh"]]
    set MenuAcceler(4) { "" "" "" "" "" "" "" "" "" "" "" Control-g Control-m "" "" }
    set MenuCommands(4) { "-np- QuadraticMenu %W" "" "" "" "" \
	    {Meshing Boundaries} "-np- DrawSizeMenu %W" "" {Meshing reset} {Meshing CancelMesh} "" \
	    {Meshing Generate} {Meshing Meshview} {-np- MeshQuality} "" }

    set MenuEntries(4,0) ""
    set MenuCommands(4,0) ""

    set MenuEntries(4,1) [list [_ "Points"] [_ "Lines"] [_ "Surfaces"] [_ "Volumes"] \
	    [_ "By cordal error"] [_ "Correct sizes"]... [_ "Background Mesh"]... ]
    set MenuCommands(4,1) { {Meshing AssignSizes Points} \
	    {Meshing AssignSizes Lines} {Meshing AssignSizes Surfaces} \
	    {Meshing AssignSizes Volumes} {-np- CEBegin} \
	    {-np- CEBeginCorrectSizes} {Meshing AssignSizes BackgMesh} }

    set MenuEntries(4,2) [list [_ "Lines"] [_ "Surfaces"] [_ "Volumes"] \
	    [_ "Concentrate elements"]]
    set MenuCommands(4,2) { {Meshing Structured Lines} \
	    {Meshing Structured Surfaces} \
	    {Meshing Structured Volumes} {Meshing StructConcentr} }

    set MenuEntries(4,3) [list [_ "Default"] [_ "Mesh"] [_ "No Mesh"]]
    set MenuCommands(4,3) { "" "" ""}

    set MenuEntries(4,3,0) [list [_ "Lines"] [_ "Surfaces"] [_ "Volumes"]]
    set MenuCommands(4,3,0) {{Meshing MeshCriteria Default Lines} \
	    {Meshing MeshCriteria Default Surfaces} \
	    {Meshing MeshCriteria Default Volumes} }

    set MenuEntries(4,3,1) [list [_ "Lines"] [_ "Surfaces"] [_ "Volumes"]]
    set MenuCommands(4,3,1) {{Meshing MeshCriteria Mesh Lines} \
	    {Meshing MeshCriteria Mesh Surfaces} \
	    {Meshing MeshCriteria Mesh Volumes} }

    set MenuEntries(4,3,2) [list [_ "Lines"] [_ "Surfaces"] [_ "Volumes"]]
    set MenuCommands(4,3,2) {{Meshing MeshCriteria NoMesh Lines} \
	    {Meshing MeshCriteria NoMesh Surfaces} \
	    {Meshing MeshCriteria NoMesh Volumes} }

    set MenuEntries(4,4) [list [_ "Linear"] [_ "Triangle"] [_ "Quadrilateral"] [_ "Tetrahedra"] \
	    [_ "Hexahedra"] [_ "Only points"]]
    set MenuCommands(4,4) { "" \
	    {-np- ChooseElemType Triangle} {-np- ChooseElemType Quadrilateral} \
	    {-np- ChooseElemType Tetrahedra} {-np- ChooseElemType Hexahedra} \
	    {-np- ChooseElemType OnlyPoints}}

    set MenuEntries(4,4,0) [list [_ "Lines"] [_ "Surfaces"] [_ "Volumes"]]
    set MenuCommands(4,4,0) {{-np- ChooseElemType Linear Lines} \
	    {-np- ChooseElemType Linear Surfaces} \
	    {-np- ChooseElemType Linear Volumes}}

    set MenuEntries(4,6) ""
    set MenuCommands(4,6) "" 

    set MenuEntries(4,14) [list [_ "Move node"] [_ "Delete elements"] [_ "Delete Lonely Nodes"]]
    set MenuCommands(4,14) {{Meshing EditMesh MoveNode} \
	    {Meshing EditMesh DeleteElems} {Meshing EditMesh DelLonelyNods}}

    #---------------

    set MenuEntries(5) [list  [_ "Cancel process"] \
			    [_ "View process info"] [_ "Calculate window..."] --- [_ "Calculate"] \
			    [_ "Calculate remote"]]
    set MenuCommands(5) {  {Utilities CancelProcess} \
	    "-np- PWViewOutput" "-np- RunWin " "" {Utilities Calculate} {Utilities RemoteCalc} }


    set MenuAcceler(5) {}

    #---------------- 


    set MenuEntries(6) [list [_ "Help"] [_ "Customization Help"] [_ "Tutorials"]\
	    [_ "What is new"] \
	    [_ "FAQ"] [_ "Visit %s web" $::GidPriv(ProgName)] --- [_ "Register"] [_ "Register Module"]\
	    --- [_ "About"]... ]
    set MenuCommands(6) [list {-np- GiDHelpWindow -type REFERENCE -start html-version} \
	    {-np- GiDHelpWindow  -type REFERENCE -start html-customization} \
	    { -np- CreateTutorial_win} \
	    { -np- GiDHelpWindow -type REFERENCE -start html_whatsnew} \
	    {-np- GiDHelpWindow -type REFERENCE -start html-faq} "-np- VisitWeb $GidPriv(ProgWeb)" \
	     "" {-np- gidregister} \
	    {-np- gidregister module} "" \
	    {-np- CreateWelcomeWin} ]
    set MenuAcceler(6) { F1 "" "" "" "" "" "" "" "" "" ""}

}
#-----------------------------------------------------------

proc SetBitmapNames {} {
    global BitMapsNames BitMapsCommands BitmapsHelp GidPriv

    catch { unset BitMapsNames BitMapsCommands BitmapsHelp }

    if { $GidPriv(bitmaps_color)} {
	if { !$GidPriv(separadores)} {
	    set BitMapsNames(0) { zoomin.gif zoomout.gif zframe.gif redraw.gif \
		    rotate.gif pan.gif line.gif arc.gif spline.gif \
		    poly.gif coonsurf.gif volume.gif object.gif erase.gif list.gif \
		    view_geom_mesh.gif }
	    
	    set BitMapsCommands(0) { {-ne- zoom in} {-ne- zoom out} {-ne- zoom frame} \
		    {-ne- redraw} {-ne- rotate trackball} {-ne- dynamicpan }  \
		    {geometry create line} \
		    {geometry create arc} {geometry create NurbsLine} \
		    {geometry create Polyline} \
		    {geometry create NurbsSurface} {geometry create volume} "" "" \
		    {-np- AddBitmapsToMenu %W {.central.s process \
		    escape escape escape escape utilities list } } \
		    {-np- ToggleGeomMesh} }

      set BitMapsNames(0,13) { rectangle.gif polygonPNR.gif CirclePNR.gif \
              sphere.gif cylinder.gif cone.gif Prism.gif tori.gif }

      set BitMapsCommands(0,13) { {geometry create Object Rectangle } \
	 {geometry create Object PolygonPNR } \
	    {geometry create Object CirclePNR } {geometry create Object Sphere } \
	    {geometry create Object Cylinder } {geometry create Object Cone } \
          {geometry create Object Prism } {geometry create Object Torus} }

	set BitMapsNames(0,14) { point.gif line.gif coonsurf.gif volume.gif alltypes.gif }

	set BitMapsCommands(0,14) { {geometry delete point} {geometry delete line} \
		{geometry delete surface}  {geometry delete volume} {geometry delete all} }
	
	set BitMapsNames(0,15) {}
	set BitMapsCommands(0,15) {}
	
	set BitmapsHelp(0) [list [_ "Zoom in"] [_ "Zoom out"] [_ "Zoom frame"] [_ "Redraw"] \
		[_ "Rotate trackball"] [_ "Pan dynamic"] [_ "Create line"] [_ "Create arc"] \
		[_ "Create nurbs line"] [_ "Create polyline"] \
		[_ "Create NURBS surface"] [_ "Create volume"] \
		[_ "Create Object:\n  Rectangle\n Polygon\n  Circle\n  Sphere\n  Cylinder\n  Cone\n  Prism\n Thorus"] \
		[_ "Delete"] \
		[_ "List entities"] [_ "Toggle geometry-mesh view"] ]

	} else {
	    set BitMapsNames(0) { zoomin.gif zoomout.gif zframe.gif redraw.gif \
		    rotate.gif pan.gif --- line.gif arc.gif spline.gif \
		    poly.gif --- coonsurf.gif volume.gif object.gif --- erase.gif \
		    list.gif --- view_geom_mesh.gif }
	    
	    set BitMapsCommands(0) { {-ne- zoom in} {-ne- zoom out} {-ne- zoom frame} \
		    {-ne- redraw} {-ne- rotate trackball} {-ne- dynamicpan } "" \
		    {geometry create line} \
		    {geometry create arc} {geometry create NurbsLine} \
		    {geometry create Polyline} "" \
		    {geometry create NurbsSurface} {geometry create volume} "" "" "" \
		    {-np- AddBitmapsToMenu %W {.central.s process \
		    escape escape escape escape utilities list } } "" \
		    {-np- ToggleGeomMesh} }
	    
	    set BitMapsNames(0,14) { rectangle.gif polygonPNR.gif CirclePNR.gif \
              sphere.gif cylinder.gif cone.gif Prism.gif tori.gif }

          set BitMapsCommands(0,14) { {geometry create Object Rectangle } \
		{geometry create Object PolygonPNR } \
	        {geometry create Object CirclePNR } {geometry create Object Sphere } \
	        {geometry create Object Cylinder } {geometry create Object Cone } \
              {geometry create Object Prism } {geometry create Object Torus }}

	    set BitMapsNames(0,16) { point.gif line.gif coonsurf.gif volume.gif \
		    alltypes.gif }
	    
	    set BitMapsCommands(0,16) { {geometry delete point} {geometry delete line} \
		    {geometry delete surface}  {geometry delete volume} \
		    {geometry delete all} }
	    
	    set BitMapsNames(0,17) {}
	    set BitMapsCommands(0,17) {}
	    
	    set BitmapsHelp(0) [list [_ "Zoom in"] [_ "Zoom out"] [_ "Zoom frame"] [_ "Redraw"] \
		    [_ "Rotate trackball"] [_ "Pan dynamic"] "" [_ "Create line"] [_ "Create arc"] \
		    [_ "Create nurbs line"] [_ "Create polyline"] "" \
		    [_ "Create NURBS surface"] [_ "Create volume"] \
		    [_ "Create Object:\n  Rectangle\n Polygon\n  Circle\n  Sphere\n  Cylinder\n  Cone\n  Prism\n Thorus"]\
		    "" [_ "Delete"] \
		    [_ "List entities"] "" [_ "Toggle geometry-mesh view"]]

	    #set BitmapsHelp(0,14) [list [_ "Create polygon"] [_ "Create Circle"] [_ "Create Sphere"] \
	    #	    [_ "Create Cylinder"] [_ "Create Cone"] [_ "Create Prism"]]
	    
	    set BitmapsHelp(0) [list [_ "Zoom in"] [_ "Zoom out"] [_ "Zoom frame"] [_ "Redraw"] \
		    [_ "Rotate trackball"] [_ "Pan dynamic"] "" [_ "Create line"] [_ "Create arc"] \
		    [_ "Create nurbs line"] [_ "Create polyline"] "" \
		    [_ "Create NURBS surface"] [_ "Create volume"] \
		    [_ "Create Object:\n  Rectangle\n Polygon\n  Circle\n  Sphere\n  Cylinder\n  Cone\n  Prism\n Thorus"]\
		    "" [_ "Delete"] \
		    [_ "List entities"] "" [_ "Toggle geometry-mesh view"]]
	}
	
    } else {
	set BitMapsNames(0) { zoomin zoomout zframe redraw \
		rotate pan line arc spline \
		poly plsurf coonsurf volume erase list}

	set BitMapsCommands(0) { {-ne- zoom in} {-ne- zoom out} {-ne- zoom frame} \
		{-ne- redraw} {-ne- rotate trackball} {-ne- dynamicpan }  \
		{geometry create line} \
		{geometry create arc} {geometry create NurbsLine} \
		{geometry create Polyline} {geometry create Planarsurface} \
		{geometry create NurbsSurface} {geometry create volume}  "" \
		{-np- AddBitmapsToMenu %W {.central.s process \
		escape escape escape escape utilities list } } }

	set BitMapsNames(0,13) { point line coonsurf volume alltypes }

	set BitMapsCommands(0,13) { {geometry delete point} {geometry delete line} \
		{geometry delete surface}  {geometry delete volume} {geometry delete all} }
	
	set BitMapsNames(0,14) {}
	set BitMapsCommands(0,14) {}
	
	set BitmapsHelp(0) [list [_ "Zoom in"] [_ "Zoom out"] [_ "Zoom frame"] [_ "Redraw"] \
		[_ "Rotate trackball"] [_ "Pan dynamic"] [_ "Create line"] [_ "Create arc"] \
		[_ "Create nurbs line"] [_ "Create polyline"] [_ "Create planar surface"] \
		[_ "Create NURBS surface"] [_ "Create volume"] [_ "Delete"] \
		[_ "List entities"]]
    }

}



#-----------------------------------------------------------

proc Set3dButtonVariables {} {
    global 3dButtonNames 3dButtonDisabled 3dButtonDisabledP 3dButtonCommands 3dButtonChange 3dButtonChangeP
    global tcl_platform

    catch { unset 3dButtonNames 3dButtonDisabled 3dButtonDisabledP 3dButtonCommands }

    global DeshabilitarMenuLayer
    if { $DeshabilitarMenuLayer} {
	if { $tcl_platform(platform) != "windows" } {
	    set 3dButtonNames(0) [list [_ "Contextual"] --- [_ "Zoom"] [_ "Rotate"] [_ "Pan"] \
		    [_ "Redraw"] [_ "Render"] [_ "Label"] --- [_ "Quit"]]
	} else {
	    set 3dButtonNames(0) [list [_ "Contextual"] --- [_ "Zoom"] [_ "Rotate"] [_ "Pan"] \
		    [_ "Redraw"] [_ "Render"] [_ "Label"] --- [_ "Clipboard copy"] \
		    --- [_ "Quit"]]
	}
    } else {
	if { $tcl_platform(platform) != "windows" } {
	    set 3dButtonNames(0) [list [_ "Contextual"] --- [_ "Zoom"] [_ "Rotate"] [_ "Pan"] \
		    [_ "Redraw"] [_ "Render"] [_ "Label"] [_ "Layer"] --- [_ "Quit"]]
	} else {
	    set 3dButtonNames(0) [list [_ "Contextual"] --- [_ "Zoom"] [_ "Rotate"] [_ "Pan"] \
		    [_ "Redraw"] [_ "Render"] [_ "Label"] [_ "Layer"] --- [_ "Clipboard copy"] \
		    --- [_ "Quit"]]
	}
    }

    if { !$DeshabilitarMenuLayer} {
	set 3dButtonDisabled ""
	#set 3dButtonDisabledP { Render Label Layer }
	set 3dButtonDisabledP [list [_ "Layer"]]
    }

    if { $DeshabilitarMenuLayer} {
	if { $tcl_platform(platform) != "windows" } {
	    set 3dButtonCommands(0) { {-np- ContextualSubMenu %W} "" "" "" "" {-ne- redraw } \
		    {-np- AddChangeToRender %W} "" "" Quit }
	} else {
	    set 3dButtonCommands(0) { {-np- ContextualSubMenu %W} "" "" "" "" {-ne- redraw } \
		    {-np- AddChangeToRender %W} "" "" {-ne- hardcopy copyclipboard} "" Quit }
	}
    } else {
	if { $tcl_platform(platform) != "windows" } {
	    set 3dButtonCommands(0) { {-np- ContextualSubMenu %W} "" "" "" "" {-ne- redraw } \
		    {-np- AddChangeToRender %W} "" "" "" Quit }
	} else {
	    set 3dButtonCommands(0) { {-np- ContextualSubMenu %W} "" "" "" "" {-ne- redraw } \
		    {-np- AddChangeToRender %W} "" "" "" {-ne- hardcopy copyclipboard} "" Quit }
	}
    }

    set 3dButtonNames(0,0) {}
    set 3dButtonCommands(0,0) {}

    set 3dButtonNames(0,2) [list [_ "In"] [_ "Out"] --- [_ "Dynamic"] [_ "Previous"] [_ "Next"] \
	    --- [_ "Frame"]]
    set 3dButtonCommands(0,2) { {-ne- zoom in} {-ne- zoom out} "" {-ne- zoom dynamic} \
	    {-ne- zoom previous} {-ne- zoom next} "" {-ne- zoom frame} }

    set 3dButtonNames(0,3) [list [_ "Trackball"] [_ "Screen axes"] [_ "Object axes"] \
	[_ "Center"] --- [_ "Plane XY (Original)"] [_ "Plane XZ"] [_ "Plane YZ"] [_ "Isometric"]]
    set 3dButtonCommands(0,3) { {-ne- rotate Trackball} {-ne- rotate ScrAxes} \
	    {-ne- rotate ObjAxes}  {-ne- rotate Center FJoin} \
	    "" {-ne- rotate angle 270 90} {-ne- rotate angle 270 0} \
	    {-ne- rotate angle 0 0} {-ne- rotate angle 45 45} }


    set 3dButtonNames(0,4) [list [_ "Two point"] [_ "Dynamic"]]
    set 3dButtonCommands(0,4) { {-ne- pan} {-ne- DynamicPan} }

    set 3dButtonNames(0,6) {}
    set 3dButtonCommands(0,6) {}

    set 3dButtonNames(0,7) [list [_ "All"] [_ "All in"] [_ "Select"] --- [_ "Off"]]
    set 3dButtonCommands(0,7) { {-ne- label All} \
	    {-np- AddBitmapsToMenu %W {.central.s process label  } } \
	    {-np- AddBitmapsToMenu %W {.central.s process label Select } } "" \
	    {-ne- label Off} }
    set 3dButtonNames(0,7,1) {}
    set 3dButtonCommands(0,7,1) {}
    set 3dButtonNames(0,7,2) {}
    set 3dButtonCommands(0,7,2) {}

    if { !$DeshabilitarMenuLayer} {
	set 3dButtonNames(0,8) [list [_ "On"] [_ "Off"] [_ "To use"] [_ "Send"] [_ "Window"]]
	set 3dButtonCommands(0,8) { {-np- AddLayerOnOff ON %W {.central.s process \
		layers on }} \
		{-np- AddLayerOnOff OFF %W {.central.s process layers off }} \
		{-np- AddLayerOnOff TOUSE %W {.central.s process layers ToUse }} \
		{-np- LayerEntities %W} { -np- ChangeLayers } }
	
	set 3dButtonNames(0,8,0) {}
	set 3dButtonNames(0,8,1) {}
	set 3dButtonNames(0,8,2) {}
	set 3dButtonNames(0,8,3) {}
	
	set 3dButtonCommands(0,8,0) {}
	set 3dButtonCommands(0,8,1) {}
	set 3dButtonCommands(0,8,2) {}
	set 3dButtonCommands(0,8,3) {}
    }

}

proc AddViewMenuAfterFiles { what } {
    #global MenuNames MenuEntries MenuCommands MenuAcceler
    global tcl_platform

    
    if { $what == "PRE" } {
	upvar #0 MenuNames MenuNames
	upvar #0 MenuEntries MenuEntries
	upvar #0 MenuCommands MenuCommands
	upvar #0 MenuAcceler MenuAcceler
    } else {
	upvar #0 MenuNamesP MenuNames
	upvar #0 MenuEntriesP MenuEntries
	upvar #0 MenuCommandsP MenuCommands
	upvar #0 MenuAccelerP MenuAcceler
    }

    set pos [expr [lsearch $MenuNames Files]+1]
    if { $pos == 0 } { set pos 1 }

    set last [expr [llength $MenuNames]-1]

    for {set i $last } { $i >= $pos } { incr i -1 } {
	foreach j [array names MenuEntries $i*] {
	    set restname ""
	    regexp ${i}(.*) $j {} restname
	    set MenuEntries([expr $i+1]$restname) $MenuEntries($j)
	    unset MenuEntries($j)
	}
	foreach j [array names MenuCommands $i*] {
	    set restname ""
	    regexp ${i}(.*) $j {} restname
	    set MenuCommands([expr $i+1]$restname) $MenuCommands($j)
	    unset MenuCommands($j)
	}
	foreach j [array names MenuAcceler $i*] {
	    set restname ""
	    regexp ${i}(.*) $j {} restname
	    set MenuAcceler([expr $i+1]$restname) $MenuAcceler($j)
	    unset MenuAcceler($j)
	}
    }
    set MenuNames [lreplace $MenuNames $pos -1 [_ "View"] ]


    global DeshabilitarMenuLayer

    if { $what == "PRE" } {
	if { $DeshabilitarMenuLayer} {
	    if { $tcl_platform(platform) != "windows" } {
		set MenuEntries($pos) [list [_ "Zoom"] [_ "Rotate"] \
			[_ "Pan"] --- \
			[_ "Redraw"] [_ "Render"] [_ "Label"] \
			[_ "View"] [_ "Background Image"]  [_ "Multiple windows"]...]
	    } else {
		set MenuEntries($pos) [list [_ "Zoom"] [_ "Rotate"] [_ "Pan"] --- \
			[_ "Redraw"] [_ "Render"] [_ "Label"] \
			[_ "View"] [_ "Background Image"] [_ "Multiple windows"]... --- [_ "Clipboard copy"]]
	    }
	} else {
	    if { $tcl_platform(platform) != "windows" } {
		set MenuEntries($pos) [list [_ "Zoom"] [_ "Rotate"] \
			[_ "Pan"] --- \
			[_ "Redraw"] [_ "Render"] [_ "Label"] [_ "Layer"]  \
			[_ "View"] [_ "Background Image"]  [_ "Multiple windows"]...]
	    } else {
		set MenuEntries($pos) [list [_ "Zoom"] [_ "Rotate"] [_ "Pan"] --- \
			[_ "Redraw"] [_ "Render"] [_ "Label"] [_ "Layer"]  \
			[_ "View"] [_ "Background Image"] [_ "Multiple windows"]... --- [_ "Clipboard copy"]]
	    }
	}
    } else {
	if { $tcl_platform(platform) != "windows" } {
	    set MenuEntries($pos) [list [_ "Zoom"] [_ "Rotate"] \
		    [_ "Pan"] --- \
		    [_ "Redraw"] [_ "Render"] [_ "Label"] \
                [_ "View"] [_ "Background Image"] [_ "Multiple windows"]...]
	} else {
	    set MenuEntries($pos) [list [_ "Zoom"] [_ "Rotate"] [_ "Pan"] --- \
		    [_ "Redraw"] [_ "Render"] [_ "Label"] \
		    [_ "View"] [_ "Background Image"] [_ "Multiple windows"]... --- [_ "Clipboard copy"]]
	}
    }

    if { $what == "PRE" } {
	if { $DeshabilitarMenuLayer} {
	    if { $tcl_platform(platform) != "windows" } {
		set MenuCommands($pos) { "" "" "" "" {-ne- redraw } \
			{-np- AddChangeToRender %W} "" "" "" "-np- ViewSeveralWindows"}
	    } else {
		set MenuCommands($pos) {  "" "" "" "" {-ne- redraw } \
			{-np- AddChangeToRender %W} "" "" "" "-np- ViewSeveralWindows" "" \
			{-ne- hardcopy copyclipboard}}
	    }
	} else {
	    if { $tcl_platform(platform) != "windows" } {
		set MenuCommands($pos) { "" "" "" "" {-ne- redraw } \
			{-np- AddChangeToRender %W} "" "" "" "" "-np- ViewSeveralWindows"}
	    } else {
		set MenuCommands($pos) {  "" "" "" "" {-ne- redraw } \
			{-np- AddChangeToRender %W} "" "" "" "" "-np- ViewSeveralWindows" "" \
			{-ne- hardcopy copyclipboard}}
	    }
	}
    } else {
	if { $tcl_platform(platform) != "windows" } {
	    set MenuCommands($pos) { "" "" "" "" {-ne- redraw } \
		    {-np- AddChangeToRender %W} "" "" "" "-np- ViewSeveralWindows" }
	} else {
	    set MenuCommands($pos) {  "" "" "" "" {-ne- redraw } \
		    {-np- AddChangeToRender %W} "" "" "" "-np- ViewSeveralWindows" "" \
		    {-ne- hardcopy copyclipboard}}
	}
    }

    set MenuEntries($pos,0) [list [_ "In"] [_ "Out"] --- [_ "Dynamic"] [_ "Previous"] \
	    [_ "Next"] --- [_ "Frame"]]
    set MenuCommands($pos,0) { {-ne- zoom in} {-ne- zoom out} "" \
	    {-ne- zoom dynamic} \
	    {-ne- zoom previous} {-ne- zoom next} "" {-ne- zoom frame} }

    set MenuEntries($pos,1) [list [_ "Trackball"] [_ "Screen axes"] [_ "Object axes"] \
	    [_ "Center"] --- [_ "Plane XY (Original)"] [_ "Plane XZ"] [_ "Plane YZ"] [_ "Isometric"]]
    set MenuCommands($pos,1) { {-ne- rotate Trackball} {-ne- rotate ScrAxes} \
	    {-ne- rotate ObjAxes}  {-ne- rotate Center FJoin} \
	    "" {-ne- rotate angle 270 90} {-ne- rotate angle 270 0} \
	    {-ne- rotate angle 0 0} {-ne- rotate angle 45 45} }


    set MenuEntries($pos,2) [list [_ "Two point"] [_ "Dynamic"]]
    set MenuCommands($pos,2) { {-ne- pan} {-ne- DynamicPan} }

    set MenuEntries($pos,5) {}
    set MenuCommands($pos,5) {}

    set MenuEntries($pos,6) [list [_ "All"] [_ "All in"] [_ "Select"] --- [_ "Off"]]
    set MenuCommands($pos,6) { {-ne- label All} \
	    {-np- AddBitmapsToMenu %W {.central.s process label  } } \
	    {-np- AddBitmapsToMenu %W {.central.s process label Select } } "" \
	    {-ne- label Off} }
    set MenuEntries($pos,6,1) {}
    set MenuCommands($pos,6,1) {}
    set MenuEntries($pos,6,2) {}
    set MenuCommands($pos,6,2) {}

    if {$what == "PRE" } {
	if { $DeshabilitarMenuLayer} {
	    set MenuEntries($pos,7) [list [_ "Save"]... [_ "Read"]...]
	    set MenuCommands($pos,7) { {View SaveView} {View ReadView} }
	    
	    set MenuEntries($pos,8) [list [_ "Fit screen"]... [_ "Real size"]...  [_ "Default"]]
	    set MenuCommands($pos,8) { { utilities backgroundimg backgroundimg} \
		    { utilities backgroundimg realsizeimg} { utilities backgroundimg default} }
	} else {
	    set MenuEntries($pos,7) [list [_ "On"] [_ "Off"] [_ "To use"] [_ "Send"] [_ "Window"]...]
	    set MenuCommands($pos,7) { {-np- AddLayerOnOff ON %W {.central.s process \
		    layers on }} \
		    {-np- AddLayerOnOff OFF %W {.central.s process layers off }} \
		    {-np- AddLayerOnOff TOUSE %W {.central.s process layers ToUse }} \
		    {-np- LayerEntities %W} { -np- ChangeLayers } }
	    
	    set MenuEntries($pos,7,0) {}
	    set MenuEntries($pos,7,1) {}
	    set MenuEntries($pos,7,2) {}
	    set MenuEntries($pos,7,3) {}
	    
	    set MenuCommands($pos,7,0) {}
	    set MenuCommands($pos,7,1) {}
	    set MenuCommands($pos,7,2) {}
	    set MenuCommands($pos,7,3) {}
	    
	    set MenuEntries($pos,8) [list [_ "Save"]... [_ "Read"]...]
	    set MenuCommands($pos,8) { {View SaveView} {View ReadView} }
	    
	    set MenuEntries($pos,9) [list [_ "Fit screen"]... [_ "Real size"]...  [_ "Default"]]
	    set MenuCommands($pos,9) { { utilities backgroundimg backgroundimg} \
		    { utilities backgroundimg realsizeimg} { utilities backgroundimg default} }
	}
    } else {
        set MenuEntries($pos,7) [list [_ "Save"]... [_ "Read"]...]
        set MenuCommands($pos,7) { {View SaveView} {View ReadView} }

        set MenuEntries($pos,8) [list [_ "Fit screen"]... [_ "Real size"]... [_ "Default"] ]
        set MenuCommands($pos,8) { { utilities backgroundimg backgroundimg}\
	        { utilities backgroundimg realsizeimg} { utilities backgroundimg default} }
    }

}



#------------------------------------------------------------------------

proc SetMenusVariablesP {} {
    global MenuNamesP MenuEntriesP MenuCommandsP MenuAccelerP
    global tcl_platform GidPriv GIDDEFAULT

    catch { unset MenuNamesP MenuEntriesP MenuCommandsP MenuAccelerP }

    set MenuNamesP [list [_ "Files"] [_ "Utilities"] [_ "Do cuts"] [_ "View results"] [_ "Options"] \
	    [_ "Windows"] [_ "Help"]]

    #-----------------

    set MenuEntriesP(0) [list [_ "New"] [_ "Open"]... [_ "Merge (ASCII)"]... [_ "Import"] [_ "Export"] \
	    --- [_ "Print to file"] [_ "Page Setup"]... [_ "Print"]  --- [_ "Preprocess"] --- [_ "Quit"] ]
    set MenuCommandsP(0) { { files new} { files read} { files add} "" "" \
	"" "" {-np- PageSetup} {-np- HardcopyToPrint {Hardcopy PS}} "" {preprocess} "" {quit} }

    set MenuAccelerP(0) { "Control-n" Control-o "" "" "" "" "" "" "" "" "" "" Control-q }

    set MenuEntriesP(0,3) [list [_ "FEMAP ASCII file"]... [_ "TECPLOT ASCII file"]...  --- [_ "Cut"]...  [_ "Graph"]]

    set MenuCommandsP(0,3) { { files readFEMAP} { files readTECPLOT} "" { files readcut} { results graphs readgraph} }

    
    set MenuEntriesP(0,4) [list [_ "Post information"] [_ "Cut"] [_ "Graph"] [_ "Cover mesh"]...]

    set MenuCommandsP(0,4) { "" \
	    {-np- AddCutsToMenu %W { .central.s process escape escape escape escape files savecut}} \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape \
	    results graphs writegraph} 1} \
	    { Files savecovermesh} }
    
    set MenuEntriesP(0,4,0) [list [_ "ASCII files"]... [_ "One binary file"]... [_ "Binary results"] \
	    [_ "ASCII boundaries"]...]

    set MenuCommandsP(0,4,0) { { files saveall allmeshessets} \
	    { files saveall binMeshesSets} { files saveall binRes} \
	    { files saveall boundaries} }
    
    set MenuEntriesP(0,4,1) ""

    set MenuEntriesP(0,4,2) ""

    set MenuEntriesP(0,6) [list [_ "PS Screen"] [_ "PS Vectorial"]... [_ "EPS Screen"]... [_ "EPS Vectorial"]... \
	    [_ "BMP"]... [_ "GIF"]... [_ "JPEG"]... [_ "PNG"]... [_ "TGA"]... [_ "TIFF"]... [_ "VRML"]... ]

    set MenuCommandsP(0,6) { { -ne- Hardcopy Options VectorialPS no escape Hardcopy PS} \
	    { -ne- Hardcopy Options VectorialPS yes escape Hardcopy PS } \
	    { -ne- Hardcopy Options VectorialPS no escape Hardcopy EPS} \
	    { -ne- Hardcopy Options VectorialPS yes escape Hardcopy EPS} \
	    { -ne- Hardcopy BMP} \
	    { -ne- Hardcopy GIF} \
	    { -ne- Hardcopy JPEG} \
	    { -ne- Hardcopy PNG} \
	    { -ne- Hardcopy TGA} \
	    { -ne- Hardcopy TIFF} \
	    { -ne- Hardcopy VRML} }

    #-----------------

    if { $GidPriv(Texturas)} {
	set MenuEntriesP(1) [list  [_ "Id"] [_ "Signal"] [_ "Distance"] [_ "Copy"] [_ "Collapse nodes"] [_ "Join"] [_ "Delete"] \
				 [_ "Texture"] --- [_ "Graphical"] --- [_ "Status..."] [_ "List"] [_ "Preferences..."] [_ "Calculator..."] [_ "Dimension"] [_ "Report ..."] ]
	set MenuCommandsP(1) { {utilities id}  {-np- AddEntitiesToMenu %W \
		{.central.s process escape escape escape escape utilities \
		SignalEntities } } {utilities dist} {-np- CopyMove "Copy" } \
		{utilities collapse} "" "" "" "" "" "" \
		{utilities list status } "" {-np- ChangeVariables} {-np- CalculatorV} "" \
		{ -np- GIDReport::Crear} }
	set MenuAccelerP(1) { "" "" "" Control-c "" "" "" "" "" "" "" "" "" Control-p "" "" }
    } else {
	set MenuEntriesP(1) [list [_ "Id"] [_ "Signal"] [_ "Distance"] [_ "Copy"] [_ "Collapse nodes"] [_ "Join"] [_ "Delete"] \
				 --- [_ "Graphical"] --- [_ "Status..."] [_ "List"] [_ "Preferences..."] [_ "Calculator..."] [_ "Dimension"] ]
	set MenuCommandsP(1) { {utilities id}  {-np- AddEntitiesToMenu %W \
		{.central.s process escape escape escape escape utilities \
		SignalEntities } } {utilities dist} {-np- CopyMove "Copy" } \
		{utilities collapse} "" "" "" "" "" "" \
		{utilities list status } "" {-np- ChangeVariables} {-np- CalculatorV} "" }
	set MenuAccelerP(1) { "" "" "" Control-c "" "" "" "" "" "" "" "" Control-p "" }
    }

    set MenuEntriesP(1,1) ""

    #set MenuEntriesP(1,4) [list [_ "Nodes in Sets"] ]
    #set MenuCommandsP(1,4) { { utilities collapse nodesinsets} }

    set MenuEntriesP(1,5) [list [_ "Volume sets"] [_ "Surface sets"] ]
    set MenuCommandsP(1,5) { { utilities join meshes} { utilities join sets} }

    set MenuEntriesP(1,6) [list [_ "Volume sets"] [_ "Surface sets"] [_ "Cut sets"] ]
    set MenuCommandsP(1,6) { {-np- AddMeshSetCutMenu %W \
	    { .central.s process escape escape escape escape utilities delete } volumes} \
	    {-np- AddMeshSetCutMenu %W \
	    { .central.s process escape escape escape escape utilities delete } surfaces} \
	    {-np- AddMeshSetCutMenu %W \
	    { .central.s process escape escape escape escape utilities delete } cuts} \
	}

    set MenuEntriesP(1,6,0) ""
    set MenuEntriesP(1,6,1) ""
    set MenuEntriesP(1,6,2) ""

    if { $GidPriv(Texturas)} {
	set MenuEntriesP(1,7) [list [_ "View"] [_ "Add"] [_ "Change"] ]
	set MenuCommandsP(1,7) { "" "" ""}
	
	set MenuEntriesP(1,7,0) [list [_ "No"] [_ "Fast"] [_ "Nice"] ]
	set MenuCommandsP(1,7,0) { { utilities texture lit} { utilities texture fast} \
		{ utilities texture nice}}
	
	set MenuEntriesP(1,7,1) [list [_ "Screen map"]... [_ "To 4 sided set"]... [_ "BoundImg to BoundSet"]... ]
	set MenuCommandsP(1,7,1) { { utilities texture addtexture} { utilities texture addto4sided} \
		{ utilities texture addbtob}}
	
	set MenuEntriesP(1,7,2) [list [_ "Flip horiz."] [_ "Flip vert."] ]
	set MenuCommandsP(1,7,2) { { utilities texture flips} { utilities texture flipt}}
	
	set MenuEntriesP(1,9) [list [_ "Toolbars"]... --- [_ "Change light vector"] --- \
				   [_ "Save window conf"]... [_ "Move Screen Objects"] --- \
				   [_ "Read batch window"]... [_ "Clip planes"]... [_ "Perspective"]... \
				   [_ "Comments"]... \
				   [_ "Animation controls"]... [_ "Animation script"]... \
				   [_ "Macros"]... ]
	set MenuCommandsP(1,9) { {-np- TOBegin} "" { utilities render changelightvec} \
		"" {-np- SaveWinConfiguration} { -ne- MoveScrObj} "" \
		{-np- ReadBatch} {-np- ClipPlanes} {-np- PerspectiveW} {-np- CommentsW} \
		{-np- PostAnimateControls} {-np- ::AutoAnimate::Crear} {-np- McrBegin}}
	
	set MenuAccelerP(1,9) { "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""}
	
	#set MenuEntriesP(1,12)  [list [_ "Nodes"] [_ "Elements"] [_ "Current results"]]
	#set MenuCommandsP(1,12) { { utilities list nodes} { utilities list elements} \
		#	 {-np- ListCurrentResults } }
	set MenuEntriesP(1,12)  [list [_ "Nodes"] [_ "Elements"]]
	set MenuCommandsP(1,12) { { utilities list nodes} { utilities list elements} \
	    }

      set MenuEntriesP(1,15) [list [_ "Create"] [_ "Delete"] [_ "Edit"] [_ "ShowBox"] ]
      set MenuCommandsP(1,15) { "" {Utilities Dimension Delete} \
                             {Utilities Dimension Edit} "" }

      set MenuEntriesP(1,15,0) [list [_ "Vertex"] [_ "Distance"] [_ "Angle"] [_ "Radius"] [_ "Text"] ]
      set MenuCommandsP(1,15,0) { {Utilities Dimension Create Vertex} {Utilities Dimension Create Distance} \
                             {Utilities Dimension Create Angle} {Utilities Dimension Create Radius} \
                             {Utilities Dimension Create Text} }

      set MenuEntriesP(1,15,3) [list [_ "On"] [_ "Off"] ]
      set MenuCommandsP(1,15,3) { {Utilities Dimension ShowBox} {Utilities Dimension HideBox} }


    } else {
	# no texturas
	set MenuEntriesP(1,8) [list [_ "Toolbars"]... --- [_ "Change light vector"] --- \
				   [_ "Save window conf"]...  [_ "Move Screen Objects"] --- \
				   [_ "Read batch window"]... [_ "Clip planes"]... \
				   [_ "Perspective"]... [_ "Comments"]... \
				   [_ "Animation controls"]... [_ "Animation script"]... \
				   [_ "Macros"]... ]
	set MenuCommandsP(1,8) { {-np- TOBegin} "" \
		{ utilities render changelightvec} \
		"" {-np- SaveWinConfiguration} { -ne- MoveScrObj} "" \
		{-np- ReadBatch} {-np- ClipPlanes} {-np- PerspectiveW} {-np- CommentsW} \
		{-np- PostAnimateControls} {-np- ::AutoAnimate::Crear} {-np- McrBegin}}
	
	set MenuAccelerP(1,8) { "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" ""}
	
	set MenuEntriesP(1,11) [list [_ "Nodes"] [_ "Elements"]]
	set MenuCommandsP(1,11) { { utilities list nodes} { utilities list elements} }

      set MenuEntriesP(1,14) [list [_ "Create"] [_ "Delete"] [_ "Edit"] [_ "ShowBox"] ]
      set MenuCommandsP(1,14) { "" {Utilities Dimension Delete} \
                             {Utilities Dimension Edit} "" }

      set MenuEntriesP(1,14,0) [list [_ "Vertex"] [_ "Distance"] [_ "Angle"] [_ "Radius"] [_ "Text"] ]
      set MenuCommandsP(1,14,0) { {Utilities Dimension Create Vertex} {Utilities Dimension Create Distance} \
                             {Utilities Dimension Create Angle} {Utilities Dimension Create Radius} \
                             {Utilities Dimension Create Text} }

      set MenuEntriesP(1,14,3) [list [_ "On"] [_ "Off"] ]
      set MenuCommandsP(1,14,3) { {Utilities Dimension ShowBox} {Utilities Dimension HideBox} }

    }


    #-----------------

    set MenuEntriesP(2) [list [_ "Cut Plane"] [_ "Divide by selection"] [_ "Divide volume sets"] \
			     [_ "Divide surface sets"] [_ "Divide lines"] [_ "Succesion"] [_ "Cut Wire"] [_ "Convert cuts to surface sets"] ]
    set MenuCommandsP(2) {  ""  { Select Elements} "" "" "" \
	    { DoCut Succesion} { DoCut CutWire} {DoCut TurnIntoMeshes} }

    set MenuEntriesP(2,0) [list [_ "2 points"] [_ "3 points"] ]
    set MenuCommandsP(2,0) { { DoCut CutPlane} \
	    { DoCut CutPlane ThreePoints} }

    set MenuEntriesP(2,2) [list [_ "2 points"] [_ "3 points"] ]
    set MenuCommandsP(2,2) { { DoCut DivideMesh} \
	    { DoCut DivideMesh ThreePoints} }

    set MenuEntriesP(2,3) [list [_ "2 points"] [_ "3 points"] ]
    set MenuCommandsP(2,3) { { DoCut DivideSets} \
	    { DoCut DivideSets ThreePoints} }

    set MenuEntriesP(2,4) [list [_ "2 points"] [_ "3 points"] ]
    set MenuCommandsP(2,4) { { DoCut DivideLines} \
	    { DoCut DivideLines ThreePoints} }

    #----------------

    set MenuEntriesP(3) [list [_ "No Results"] [_ "No Graphs"] --- [_ "Default Analysis/Step"] --- \
			     [_ "Contour Fill"] [_ "Smooth Contour Fill"] \
			     [_ "Contour Lines"] [_ "Contour Ranges"] [_ "Show Min Max"] \
			     [_ "Display Vectors"] [_ "Iso Surfaces"] [_ "Stream Lines"] [_ "Graphs"] [_ "Result surface"] \
			     [_ "Deformation"] \
			     [_ "Line Diagram"] ]
    set MenuCommandsP(3) { { Results Geometry NoResults Geometry Original} \
	    { Results Graphs OptionsGraph ShowGraphs No} \
	    ""  {-np- AddAnalysisStepsToMenu %W} "" \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results contourfill } "Contour_Fill"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results smoothcontourfill } "Smooth_Contour_Fill"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results contourlines } "Contour_Lines"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results contourranges } "Contour_Ranges"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results shminmax } "Sh_Min_Max"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results displayvectors } "Display_Vectors"} \
	    "" \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results streamlines } "Stream_Lines"} \
	    "" \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results resultsurface } "Result_Surface"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results geometry original geometry deformation } \
	    "Deformation"} \
	    "" }

    set MenuEntriesP(3,3) { "" }
    set MenuCommandsP(3,3) { "" }

    set MenuEntriesP(3,5) { "" }
    set MenuCommandsP(3,5) { "" }

    set MenuEntriesP(3,6) { "" }
    set MenuCommandsP(3,6) { "" }

    set MenuEntriesP(3,7) { "" }
    set MenuCommandsP(3,7) { "" }

    set MenuEntriesP(3,8) { "" }
    set MenuCommandsP(3,8) { "" }

    set MenuEntriesP(3,9) { "" }
    set MenuCommandsP(3,9) { "" }

    set MenuEntriesP(3,10) { "" }
    set MenuCommandsP(3,10) { "" }

    set MenuEntriesP(3,11) [list [_ "Exact"] [_ "Automatic"] [_ "Automatic Width"] ]
    set MenuCommandsP(3,11) { {-np- AddResultsToMenu %W \
	    {.central.s process escape escape escape escape results isosurfaces exact} "Iso_Surfaces" 1} \
	    {-np- AddResultsToMenu %W \
	    {.central.s process escape escape escape escape results isosurfaces automatic} "Iso_Surfaces" 2} \
	    {-np- AddResultsToMenu %W \
	    {.central.s process escape escape escape escape results isosurfaces automaticwidth} "Iso_Surfaces" 3}}

    set MenuEntriesP(3,11,0) { "" }
    set MenuCommandsP(3,11,0) { "" }

    set MenuEntriesP(3,11,1) { "" }
    set MenuCommandsP(3,11,1) { "" }

    set MenuEntriesP(3,11,2) { "" }
    set MenuCommandsP(3,11,2) { "" }

    set MenuEntriesP(3,12) { "" }
    set MenuCommandsP(3,12) { "" }

    set MenuEntriesP(3,13) [list [_ "Show"] [_ "Clear"] [_ "Point Analysis"] [_ "Point Graph"] [_ "Border Graph"] ]
    set MenuCommandsP(3,13) { \
	    { Results Graphs OptionsGraph ShowGraphs} \
	    { Results Graphs OptionsGraph ClearGraphs} \
	    {-np- AddGraphsResultsToMenu %W \
	    {.central.s process escape escape escape escape results graphs pointanalysis} "Point_Analysis" } \
	    {-np- AddGraphsXYResultsToMenu %W \
	    {.central.s process escape escape escape escape results graphs pointgraph} "Point_Graph" } \
	    {-np- AddGraphsXYResultsToMenu %W \
	    {.central.s process escape escape escape escape results graphs bordergraph} "Border_Graph" } }

    set MenuEntriesP(3,13,2) { ""}
    set MenuCommandsP(3,13,2) { ""}

    set MenuEntriesP(3,13,3) { ""}
    set MenuCommandsP(3,13,3) { ""}

    set MenuEntriesP(3,13,4) { ""}
    set MenuCommandsP(3,13,4) { ""}

    set MenuEntriesP(3,14) { "" }
    set MenuCommandsP(3,14) { "" }

    set MenuEntriesP(3,15) { "" }
    set MenuCommandsP(3,15) { "" }

    set MenuEntriesP(3,16) [list [_ "Scalar"] [_ "Vector"] ]
    set MenuCommandsP(3,16) { \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results linediagram scalardiagram } "Scalar_Line_Diagram"} \
	    {-np- AddResultsToMenu %W \
	    {.central.s  process escape escape escape escape results linediagram vectordiagram } "Vector_Line_Diagram"} \
	}

    set MenuEntriesP(3,16,0) { ""}
    set MenuCommandsP(3,16,0) { ""}

    set MenuEntriesP(3,16,1) { ""}
    set MenuCommandsP(3,16,1) { ""}

    #----------------

    set MenuEntriesP(4) [list [_ "Legends"] --- [_ "Geometry"] [_ "Change Color"] [_ "Change Name"] --- [_ "Contour"] [_ "Iso Surfaces"] [_ "Vectors"] [_ "Stream Lines"] [_ "Graphs"] [_ "Line Diagrams"] ]
    set MenuCommandsP(4) { \
	    {-np- PostLegendOptionsMenu %W } \
	    "" "" "" "" "" "" "" "" "" "" "" }

    set MenuEntriesP(4,0) ""
#[list [_ "Show"] [_ "Opaque"] [_ "Show Title"] [_ "Change Title"] [_ "Outside"] [_ "Automatic Comments"] ]
    set MenuCommandsP(4,0) ""
#{ \
#	     { -ne- Hardcopy Options ShowLegends} \
#	     { -ne- Hardcopy Options OpaqueLegends} \
#	     { Results ContOptions ShowTitleLeg} \
#	     { Results ContOptions ChangeTitleLeg} \
#	     { -np- PostLegend} { Utilities Comments Automatic} }
    
    set MenuEntriesP(4,2) [list [_ "Border Angle"] [_ "Massive Body"] [_ "Transparent"] [_ "Opaque"] \
			       [_ "Point Options..."] [_ "Line options..."] [_ "Covering mesh"] ]
    set MenuCommandsP(4,2) { \
	    { Results Options BorderAngle} \
	    { Results Options MassiveBody} \
	    { Utilities Render transparent} \
	    { Utilities Render opaque} \
	    {-np- PostPointOptions} \
	    {-np- PostLineOptions LineSize LineDetail info_tamanno_linea "Line Options" } \
	    { Results Options ShowCoverMesh}}

    set MenuEntriesP(4,3) [list [_ "Volume sets"] [_ "Surface sets"] [_ "Cut sets"] ]
    set MenuCommandsP(4,3) { {-np- AddPostGeomToMenu %W \
	    {.central.s process escape escape escape escape utilities changecolor volumes} volumes \
	    "Ambient Diffuse Specular Shininess Default" } \
	    {-np- AddPostGeomToMenu %W \
	    {.central.s process escape escape escape escape utilities changecolor surfaces} surfaces \
	    "Ambient Diffuse Specular Shininess Default" } \
	    {-np- AddPostGeomToMenu %W \
	    {.central.s process escape escape escape escape utilities changecolor cuts} cuts \
	    "Ambient Diffuse Specular Shininess Default" } }

    set MenuEntriesP(4,3,0) { ""}
    set MenuCommandsP(4,3,0) { ""}

    set MenuEntriesP(4,3,1) { ""}
    set MenuCommandsP(4,3,1) { ""}

    set MenuEntriesP(4,3,2) { ""}
    set MenuCommandsP(4,3,2) { ""}

    set MenuEntriesP(4,4) [list [_ "Volume sets"] [_ "Surface sets"] [_ "Cut sets"] ]
    set MenuCommandsP(4,4) { {-np- AddPostGeomToMenu %W \
	    {.central.s process escape escape escape escape utilities changename volumes} volumes \
	    "" } \
	    {-np- AddPostGeomToMenu %W \
	    {.central.s process escape escape escape escape utilities changename surfaces} surfaces \
	    "" } \
	    {-np- AddPostGeomToMenu %W \
	    {.central.s process escape escape escape escape utilities changename cuts} cuts \
	    "" } }
	    
    set MenuEntriesP(4,4,0) { ""}
    set MenuCommandsP(4,4,0) { ""}

    set MenuEntriesP(4,4,1) { ""}
    set MenuCommandsP(4,4,1) { ""}

    set MenuEntriesP(4,4,2) { ""}
    set MenuCommandsP(4,4,2) { ""}
    
    set MenuEntriesP(4,6) [list [_ "Number of Colors"] [_ "Width Intervals"] [_ "Set Limits"] [_ "Define Limits"] \
			       [_ "Reset Limit Values"] [_ "Reset All"] [_ "Max Options"] [_ "Min Options"] \
			       [_ "Color Scale"] [_ "Smoothing type"] [_ "Color window"]... ]
#"Fix Analysis Min/Max" "Max Options" "Min Options" "Color Scale" 
    set MenuCommandsP(4,6) { \
	    { Results ContOptions NumberOfColor} \
	    { Results ContOptions FixIntervals} \
	    "" \
	    { -np- PostContLimitsWin} \
	    { Results ContOptions SetMaxOptions ResetValue escape escape escape escape \
	    Results ContOptions SetMinOptions ResetValue escape escape escape escape \
            Utilities Redisplay} \
	    { Results ContOptions SetMaxOptions ResetValue escape \
	    SetMinOptions ResetValue escape \
	    NumberOfColors 50 \
	    SetMinOptions MinColor Standard escape \
	    SetMaxOptions MaxColor Standard escape \
	    ColorRamp Tangent escape escape escape escape escape \
            Utilities Redisplay } \
	    "" "" {-np- PostContourWhichScaleMenu %W} {-np- PostSmoothContourTypeMenu %W} {-np- PostContourColors}}
#	    { Results ContOptions FixAnalysisLim } "" "" 
    
    set MenuEntriesP(4,6,2) [list [_ "Shown Sets for This Step"] [_ "All Sets for This Step"] \
				 [_ "Shown Sets for All Steps"] [_ "All Sets for All Steps"] ]
    set MenuCommandsP(4,6,2) { \
	    { Results ContOptions WhichContLimit ShownSets \
            escape escape escape escape Utilities Redisplay } \
	    { Results ContOptions WhichContLimit AllSets\
            escape escape escape escape Utilities Redisplay } \
	    { Results ContOptions FixAnalysisLim \
            escape escape escape escape Utilities Redisplay } \
	    { Results ContOptions FixAbsLimits \
            escape escape escape escape Utilities Redisplay } }
    
    # set MenuEntriesP(4,6,6) [list [_ "Reset Value"] [_ "Set Value"] [_ "Out Max Color"] [_ "Def. Max Color"] ]
    # set MenuCommandsP(4,6,6) { \
    # 	      { Results ContOptions SetMaxOptions ResetValue} \
    # 	      { Results ContOptions SetMaxOptions SetValue} \
    # 	      "" \
    # 	      { Results ContOptions SetMaxOptions MaxColor User} }

    set MenuEntriesP(4,6,6) [list [_ "Reset Value"] [_ "Out Max Color"] [_ "Def. Max Color"] [_ "Set Value"] ]
    set MenuCommandsP(4,6,6) { \
	    { Results ContOptions SetMaxOptions ResetValue\
            escape escape escape escape Utilities Redisplay } \
	    { -np- PostOutMinMaxColourMenu %W Max} \
	    { Results ContOptions SetMaxOptions MaxColor User} \
     	    { Results ContOptions SetMaxOptions SetValue} }
    
    set MenuEntriesP(4,6,6,1) ""
#[list [_ "Black"] [_ "Max Color"] [_ "Transparent"] [_ "Material"] ]
    set MenuCommandsP(4,6,6,1) ""
#{ \
#	     { Results ContOptions SetMaxOptions OutMaxColor Black\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMaxOptions OutMaxColor MaxColor\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMaxOptions OutMaxColor Transparent\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMaxOptions OutMaxColor Material\
#	     escape escape escape escape Utilities Redisplay } }
    
    # set MenuEntriesP(4,6,7) [list [_ "Reset Value"] [_ "Set Value"] [_ "Out Min Color"] [_ "Def. Min Color"] ]
    # set MenuCommandsP(4,6,7) { \
    # 	      { Results ContOptions SetMinOptions ResetValue} \
    # 	      { Results ContOptions SetMinOptions SetValue} \
    # 	      "" \
    # 	      { Results ContOptions SetMinOptions MinColor User} }

    set MenuEntriesP(4,6,7) [list [_ "Reset Value"] [_ "Out Min Color"] [_ "Def. Min Color"] [_ "Set Value"] ]
    set MenuCommandsP(4,6,7) { \
	    { Results ContOptions SetMinOptions ResetValue\
            escape escape escape escape Utilities Redisplay } \
	    { -np- PostOutMinMaxColourMenu %W Min} \
	    { Results ContOptions SetMinOptions MinColor User} \
	    { Results ContOptions SetMinOptions SetValue} }
    
    set MenuEntriesP(4,6,7,1) ""
#[list [_ "Black"] [_ "Min Color"] [_ "Transparent"] [_ "Material"] ]
    set MenuCommandsP(4,6,7,1) ""
#{ \
#	     { Results ContOptions SetMinOptions OutMinColor Black\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMinOptions OutMinColor MinColor\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMinOptions OutMinColor Transparent\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMinOptions OutMinColor Material\
#	     escape escape escape escape Utilities Redisplay } }
    
    set MenuEntriesP(4,6,8) ""
#[list [_ "Standard"] [_ "Inverse Standard"] [_ "Terrain Map"] [_ "Black White"] [_ "Scale Ramp"] [_ "Scale Type"] ]
    set MenuCommandsP(4,6,8) ""
#{ \
#	     { Results ContOptions SetMinOptions MinColor Standard \
#	     escape escape escape escape Results ContOptions SetMaxOptions MaxColor Standard\
#	     escape escape escape escape Results ContOptions ColorRamp Tangent \
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMinOptions MinColor InverseStd \
#	     escape escape escape escape Results ContOptions SetMaxOptions MaxColor InverseStd \
#	     escape escape escape escape Results ContOptions ColorRamp Tangent\
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions ColorRamp TerrainMap \
#	     escape escape escape escape Utilities Redisplay } \
#	     { Results ContOptions SetMinOptions MinColor Black \
#	     escape escape escape escape Results ContOptions SetMaxOptions MaxColor White \
#	     escape escape escape escape Results ContOptions ColorRamp Tangent \
#	     escape escape escape escape Utilities Redisplay } \
#	     {-np- PostContourScaleOptionsMenu %W ScaleRamp} \
#	     {-np- PostContourScaleOptionsMenu %W ScaleType} }
#    
#    set MenuEntriesP(4,6,8,4) ""
##[list [_ "Tangent"] [_ "Linear"] [_ "ArcTangent"] ]
#    set MenuCommandsP(4,6,8,4) ""
##{ \
##	     { Results ContOptions ColorRamp Tangent \
##	     escape escape escape escape Utilities Redisplay } \
##	     { Results ContOptions ColorRamp ArcTangent \
##	     escape escape escape escape Utilities Redisplay } \
##	     { Results ContOptions ColorRamp Linear \
##	     escape escape escape escape Utilities Redisplay } }
#    
#    set MenuEntriesP(4,6,8,5) ""
##[list [_ "RGB"] [_ "HSV"] ]
#    set MenuCommandsP(4,6,8,5) ""
##{ \
##	     { Results ContOptions ColorRamp RGB \
##	     escape escape escape escape Utilities Redisplay } \
##	     { Results ContOptions ColorRamp HSV \
##	     escape escape escape escape Utilities Redisplay } }

    set MenuEntriesP(4,6,9) ""
#[ list [_ "Minimum value"] [_ "Maximum value"] [_ "Mean value"]]
    set MenuCommandsP(4,6,9) ""
#{ \
#	     { Results ContOptions SmoothingType MinimumSmooth } \
#	     { Results ContOptions SmoothingType MaximumSmooth } \
#	     { Results ContOptions SmoothingType MeanSmooth } \
#	 }

    set MenuEntriesP(4,7) [list [_ "Display Style"] [_ "Render"] [_ "Transparency"] [_ "Convert to cuts"] ]
    set MenuCommandsP(4,7) { \
	    {-np- PostIsoSurfaceOptionsMenu %W DisplayStyle} \
	    {-np- PostIsoSurfaceOptionsMenu %W Render} \
	    {-np- PostIsoSurfaceOptionsMenu %W Transparency} \
	    { Results isosurfaces TurnIntoCuts } }
#	    "" "" ""  \
	
    set MenuEntriesP(4,7,0) ""
#[list [_ "All Lines"] [_ "Hidden Lines"] [_ "Body"] [_ "Body Lines"] ]
    set MenuCommandsP(4,7,0) ""
#{ \
#	     { Results isosurfaces DisplayStyle AllLines} \
#	     { Results isosurfaces DisplayStyle HiddenLines} \
#	     { Results isosurfaces DisplayStyle Body} \
#	     { Results isosurfaces DisplayStyle BodyLines} }

    set MenuEntriesP(4,7,1) ""
#[list [_ "Normal"] [_ "Flat"] ]
    set MenuCommandsP(4,7,1) ""
#{ \
#	     { Results isosurfaces DisplayStyle Normal} \
#	     { Results isosurfaces DisplayStyle Render} }

    set MenuEntriesP(4,7,2) ""
#[list [_ "Opaque"] [_ "Transparent"] ]
    set MenuCommandsP(4,7,2) ""
#{ \
#	     { Results isosurfaces DisplayStyle Opaque} \
#	     { Results isosurfaces DisplayStyle Transparent} }

    set MenuEntriesP(4,8) [list [_ "Interior/All vectors"] [_ "Number of Colors"] [_ "Color Mode"] [_ "Offset"] [_ "Change colour (mono)"] [_ "Detail"] ]
    set MenuCommandsP(4,8) { \
	    { Results Options AllVectors} \
	    { Results Options VectorNumCols} \
	    { Results Options VectorColour} \
	    { Results Options VectorOffset} \
	    { Results Options VMonoColor} \
	    {-np- PostVectorsDetailMenu %W } }

    set MenuEntriesP(4,8,5) ""
#[list [_ "No Arrow"] [_ "Point"] [_ "Lines"] [_ "2 Triangles"] [_ "4 Triangles"] [_ "8 Triangles"] ]
    set MenuCommandsP(4,8,5) ""
#{ \
#	     { Results Options VectorDetail NoArrow} \
#	     { Results Options VectorDetail Points} \
#	     { Results Options VectorDetail Lines} \
#	     { Results Options VectorDetail 2triangles} \
#	     { Results Options VectorDetail 4triangles} \
#	     { Results Options VectorDetail 8triangles} }

#    set MenuEntriesP(4,9) [list [_ "Label"] [_ "Line Size"] ]
#    set MenuCommandsP(4,9) { 
#	     { Results Options StreamLabel } \
#	     { Results Options StreamLineSize}}
    set MenuEntriesP(4,9) [list [_ "Change colour"] [_ "Delete"] [_ "Label"] [_ "Size & detail . . ."] ]
    set MenuCommandsP(4,9) { \
	    { Results Options StreamColor} \
	    { Results Options StreamDelete } \
	    { Results Options StreamLabel } \
	    {-np- PostLineOptions StLineSize StLineDetail info_tamanno_stream_line "Stream line options" } }

#     set MenuEntriesP(4,9,0) { "None" "0 - End" "Ini - End"}
#     set MenuCommandsP(4,9,0) { \
# 	    { Results Options StreamLabel None} \
# 	    { Results Options StreamLabel 0_End} \
# 	    { Results Options StreamLabel Ini_End} }

    set MenuEntriesP(4,10) [list [_ "Grids"] [_ "Current style"] [_ "Change style graph"] \
				[_ "Change color graph"] [_ "Change line width"] [_ "Change line pattern"] \
				[_ "Change pattern factor"] [_ "Change point size"] [_ "Change title graph"] [_ "Title"] \
				[_ "Reset axis values"] [_ "X axis"] [_ "Y axis"] ]
    set MenuCommandsP(4,10)  { \
	    { Results Graphs OptionsGraph Grids} \
	    { Results Graphs OptionsGraph CurrentStyle} \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph stylegraphs} 1 } \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph colorgraphs} 1 } \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph linewidthgraphs} 1 } \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph patterngraphs} 1 } \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph patternfactor} 1 } \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph pointsize} 1 } \
	    {-np- AddGraphsToMenu %W { .central.s process escape escape escape escape results graphs optionsgraph titlegraphs}} \
	    "" \
	    { Results Graphs OptionsGraph X_Axis Reset Y_Axis Reset} "" ""}

    set MenuEntriesP(4,10,2) { ""}
    set MenuCommandsP(4,10,2) { ""}

    set MenuEntriesP(4,10,3) { ""}
    set MenuCommandsP(4,10,3) { ""}

    set MenuEntriesP(4,10,4) { ""}
    set MenuCommandsP(4,10,4) { ""}

    set MenuEntriesP(4,10,5) { ""}
    set MenuCommandsP(4,10,5) { ""}

    set MenuEntriesP(4,10,6) { ""}
    set MenuCommandsP(4,10,6) { ""}

    set MenuEntriesP(4,10,7) { ""}
    set MenuCommandsP(4,10,7) { ""}

    set MenuEntriesP(4,10,8) { ""}
    set MenuCommandsP(4,10,8) { ""}

    set MenuEntriesP(4,10,9) [list [_ "Change text"] [_ "Change position"] [_ "Reset"] ]
    set MenuCommandsP(4,10,9) { { Results Graphs OptionsGraph MainTitle} \
	    { Results Graphs OptionsGraph Legend2Title}  \
	    { Results Graphs OptionsGraph MainTitle "''"}}

    set MenuEntriesP(4,10,11) [list [_ "Reset"] [_ "Set min value"] [_ "Set max value"] [_ "Set divisions"] [_ "Set label"] ]
    set MenuCommandsP(4,10,11) { { Results Graphs OptionsGraph X_Axis Reset } \
	    { Results Graphs OptionsGraph X_Axis SetMin} \
	    { Results Graphs OptionsGraph X_Axis SetMax} \
	    { Results Graphs OptionsGraph X_Axis SetDivisions} \
	    { Results Graphs OptionsGraph X_Axis SetLabel}}

    set MenuEntriesP(4,10,12) [list [_ "Reset"] [_ "Set min value"] [_ "Set max value"] [_ "Set divisions"] [_ "Set label"] ]
    set MenuCommandsP(4,10,12) { { Results Graphs OptionsGraph Y_Axis Reset } \
	    { Results Graphs OptionsGraph Y_Axis SetMin} \
	    { Results Graphs OptionsGraph Y_Axis SetMax} \
	    { Results Graphs OptionsGraph Y_Axis SetDivisions} \
	    { Results Graphs OptionsGraph Y_Axis SetLabel}}

    set MenuEntriesP(4,11) [list [_ "Show elevations"] ]
    set MenuCommandsP(4,11) { { -np- PostDiagramOptionsMenu %W } }

    set MenuEntriesP(4,11,0) ""
#[list [_ "None"] [_ "Nodes only"] [_ "Whole line"] [_ "Filled line"] [_ "Contour filled"] ]

    set MenuCommandsP(4,11,0) ""
# { \
#	     { Results LineDiagram Options ShowElevations None} \
#	     { Results LineDiagram Options ShowElevations NodesOnly} \
#	     { Results LineDiagram Options ShowElevations WholeLine} \
#	     { Results LineDiagram Options ShowElevations FilledLine} \
#	     { Results LineDiagram Options ShowElevations ContFillLine} }

#     set MenuEntriesP(4,5,0) { "Yes" "No"}
#     set MenuCommandsP(4,5,0) { \
# 	    { Results Graphs OptionsGraph ShowGrafs Yes} \
# 	    { Results Graphs OptionsGraph ShowGrafs No} }
    
#     set MenuEntriesP(4,5,1) { "Yes" "No"}
#     set MenuCommandsP(4,5,1) { \
# 	    { Results Graphs OptionsGraph Grids Yes} \
# 	    { Results Graphs OptionsGraph Grids No} }
    
#     set MenuEntriesP(4,5,3) { "Default" "Dot" "Line" "Dot & Line"}
#     set MenuCommandsP(4,5,3) { \
# 	    { Results Graphs OptionsGraph CurrentStyle Default} \
# 	    { Results Graphs OptionsGraph CurrentStyle Dot} \
# 	    { Results Graphs OptionsGraph CurrentStyle Line} \
# 	    { Results Graphs OptionsGraph CurrentStyle DotLine} }
    

    #----------------

    set MenuEntriesP(5) [list [_ "View style"]... [_ "View results"]... [_ "Deform mesh"]... [_ "Animate"]... \
			     --- [_ "Border graph"]... [_ "Several Results"]... [_ "Results ranges table"]... ]
    set MenuCommandsP(5) { { -np- PostDisplay} { -np- PostResults} { -np- PostGeom::Create} \
	{ -np- PostAnimateM} {} { -np- PostGraphResultsWindow} { -np- PostVariosResultados} \
	{ -np- PostRangesTable::Create } }

    set MenuAccelerP(5) { Control-s Control-v Control-d Control-m "" "" "" ""}

    #----------------

    set MenuEntriesP(6) [list [_ "Help"] [_ "Customization Help"] [_ "Tutorials"]\
	    [_ "What is new"] \
	    [_ "FAQ"] [_ "Visit %s web" $::GidPriv(ProgName)] --- [_ "Register"] [_ "Register Module"]\
	    --- [_ "About"]... ]
    set MenuCommandsP(6) [list {-np- GiDHelpWindow -type REFERENCE -start html-version} \
	    {-np- GiDHelpWindow  -type REFERENCE -start html-customization} \
	    { -np- CreateTutorial_win} \
	    { -np- GiDHelpWindow -type REFERENCE -start html_whatsnew} \
	    {-np- GiDHelpWindow -type REFERENCE -start html-faq} "-np- VisitWeb $GidPriv(ProgWeb)" \
	     "" {-np- gidregister} \
	    {-np- gidregister module} "" \
	    {-np- CreateWelcomeWin} ]
    set MenuAccelerP(6) {F1 "" "" "" "" "" "" "" ""}
}

#-----------------------------------------------------------

proc SetBitmapNamesP {} {
    global BitMapsNamesP BitMapsCommandsP BitmapsHelpP GidPriv

    catch { unset BitMapsNamesP BitMapsCommandsP BitmapsHelpP }

    if { $GidPriv(bitmaps_color)} {
	if { !$GidPriv(separadores)} {
	    set BitMapsNamesP(0) { zoomin.gif zoomout.gif zframe.gif redraw.gif \
		    rotate.gif pan.gif lightpos.gif \
		    displaystyle.gif cullstyle.gif meshes.gif sets.gif cuts.gif \
		    docut.gif usermax.gif usermin.gif resetminmax.gif list.gif }
	} else {
	    set BitMapsNamesP(0) { zoomin.gif zoomout.gif zframe.gif redraw.gif \
		    rotate.gif pan.gif --- lightpos.gif \
		    displaystyle.gif cullstyle.gif --- meshes.gif sets.gif cuts.gif --- \
		    docut.gif --- usermax.gif usermin.gif resetminmax.gif list.gif }
	}
    } else {
	set BitMapsNamesP(0) { zoomin zoomout zframe redraw \
		rotate pan lightpos \
		displaystyle cullstyle volumes surfaces cuts \
		docut usermax usermin resetminmax list}
    }
#dividemesh dividesets 

    if { !$GidPriv(separadores)} {
	set BitMapsCommandsP(0) { {-ne- zoom in} {-ne- zoom out} {-ne- zoom frame} \
		{-ne- redraw} {-ne- rotate trackball} {-ne- dynamicpan } \
		{ utilities render changelightvec} \
		{-np- AddBitmapsToDisplayStyle %W \
		{ .central.s process escape escape escape escape displaystyle}} \
		{-np- AddBitmapsToCullStyle %W \
		{ .central.s process escape escape escape escape utilities render culling}} \
		{-np- AddBitmapsToMeshSetCut %W \
		{ .central.s process escape escape escape escape Select} volumesets} \
		{-np- AddBitmapsToMeshSetCut %W \
		{ .central.s process escape escape escape escape Select} surfacesets} \
		{-np- AddBitmapsToMeshSetCut %W \
		{ .central.s process escape escape escape escape Select} cutsets} \
		{-np- AddBitmapsToCutDivide %W \
		{ .central.s process escape escape escape escape DoCut} CutPlane} \
		{-np- PostContLimitsMaxEntry %W } \
		{-np- PostContLimitsMinEntry %W } \
		{ Results ContOptions SetMaxOptions ResetValue escape escape escape escape \
		Results ContOptions SetMinOptions ResetValue escape escape escape escape \
		Utilities Redisplay }  \
		{-np- AddBitmapsToMenu %W {.central.s process \
		escape escape escape escape utilities list } }
	    }

	#	     {-np- AddBitmapsToCutDivide %W \
		#	     { .central.s process escape escape escape escape DoCut} DivideMesh} \
		#	     {-np- AddBitmapsToCutDivide %W \
		#	     { .central.s process escape escape escape escape DoCut} DivideSets}
	
	set BitmapsHelpP(0) [list [_ "Zoom in"] [_ "Zoom out"] [_ "Zoom frame"] [_ "Redraw"] \
				  [_ "Rotate trackball"] [_ "Pan"] [_ "Change light vector direction"] \
				  [_ "Display Style"] [_ "Culling Style"] [_ "Switch Volume set On/Off"] \
				  [_ "Switch Surface set On/Off"] [_ "Switch Cut set On/Off"] \
				  [_ "Cut Volume/Surface sets with 2/3 points, succesion"] [_ "Set maximum value"] \
				  [_ "Set minimum value"] [_ "Reset Contour Limit Values"] [_ "List Entities"]]
	#"Divide Mesh with 2/3 points" \
		#	    "Divide Sets with 2/3 points"

	set BitMapsNamesP(0,7) { boundaries hiddenbound alllines hiddenlines body bodybound bodylines points}
	set BitMapsCommandsP(0,7) { boundaries hiddenbound alllines hiddenlines body bodybound bodylines points}

	set BitMapsNamesP(0,8) { cullnone cullfrontfaces cullbackfaces cullfrontback}
	set BitMapsCommandsP(0,8) { none frontfaces backfaces frontback}

	set BitMapsNamesP(0,9) { volumesets}
	set BitMapsCommandsP(0,9) { volumesets}

	set BitMapsNamesP(0,10) { surfacesets}
	set BitMapsCommandsP(0,10) { surfacesets}

	set BitMapsNamesP(0,11) { cutsets}
	set BitMapsCommandsP(0,11) { cutsets}

	set BitMapsNamesP(0,12) { cut2p cut3p}
	set BitMapsCommandsP(0,12) { cut2p cut3p}

	#set BitMapsNamesP(0,14) { cut2p cut3p}
	#set BitMapsCommandsP(0,14) { cut2p cut3p}
	#
	#set BitMapsNamesP(0,15) { cut2p cut3p}
	#set BitMapsCommandsP(0,15) { cut2p cut3p}

	set BitMapsNamesP(0,16) { }
	set BitMapsCommandsP(0,16) { }

    } else {
	# con separadores

	set BitMapsCommandsP(0) { {-ne- zoom in} {-ne- zoom out} {-ne- zoom frame} \
		{-ne- redraw} {-ne- rotate trackball} {-ne- dynamicpan } "" \
		{ utilities render changelightvec} \
		{-np- AddBitmapsToDisplayStyle %W \
		{ .central.s process escape escape escape escape displaystyle}} \
		{-np- AddBitmapsToCullStyle %W \
		{ .central.s process escape escape escape escape utilities render culling}} \
		"" {-np- AddBitmapsToMeshSetCut %W \
		{ .central.s process escape escape escape escape Select} volumesets} \
		{-np- AddBitmapsToMeshSetCut %W \
		{ .central.s process escape escape escape escape Select} surfacesets} \
		{-np- AddBitmapsToMeshSetCut %W \
		{ .central.s process escape escape escape escape Select} cutsets} \
		"" {-np- AddBitmapsToCutDivide %W \
		{ .central.s process escape escape escape escape DoCut} CutPlane} \
		"" {-np- PostContLimitsMaxEntry %W } \
		{-np- PostContLimitsMinEntry %W }\
		{ Results ContOptions SetMaxOptions ResetValue escape escape escape escape \
		Results ContOptions SetMinOptions ResetValue escape escape escape escape \
		Utilities Redisplay }  \
		{-np- AddBitmapsToMenu %W {.central.s process \
		escape escape escape escape utilities list } "list" }
	    }

	#	     {-np- AddBitmapsToCutDivide %W \
		#	     { .central.s process escape escape escape escape DoCut} DivideMesh} \
		#	     {-np- AddBitmapsToCutDivide %W \
		#	     { .central.s process escape escape escape escape DoCut} DivideSets}

	set BitmapsHelpP(0) [list [_ "Zoom in"] [_ "Zoom out"] [_ "Zoom frame"] [_ "Redraw"] \
				  [_ "Rotate trackball"] [_ "Pan"] "" [_ "Change light vector direction"] \
				  [_ "Display Style"] [_ "Culling Style"] "" [_ "Switch Volume sets On/Off"] \
				  [_ "Switch Surface set On/Off"] [_ "Switch Cut set On/Off"] \
				  "" [_ "Cut Volume/Surface sets with 2/3 points, succesion"] "" \
				  [_ "Set maximum value"] [_ "Set minimum value"] \
				  [_ "Reset Contour Limit Values"] [_ "List Entities"] ]
	#"Divide Mesh with 2/3 points" \
		#	    "Divide Sets with 2/3 points"

	set BitMapsNamesP(0,8) { boundaries hiddenbound alllines hiddenlines body bodybound bodylines points}
	set BitMapsCommandsP(0,8) { boundaries hiddenbound alllines hiddenlines body bodybound bodylines points}

	set BitMapsNamesP(0,9) { cullnone cullfrontfaces cullbackfaces cullfrontback}
	set BitMapsCommandsP(0,9) { none frontfaces backfaces frontback}

	set BitMapsNamesP(0,11) { volumesets}
	set BitMapsCommandsP(0,11) { volumesets}

	set BitMapsNamesP(0,12) { surfacesets}
	set BitMapsCommandsP(0,12) { surfacesets}

	set BitMapsNamesP(0,13) { cutsets}
	set BitMapsCommandsP(0,13) { cutsets}

	set BitMapsNamesP(0,15) { cut2p cut3p}
	set BitMapsCommandsP(0,15) { cut2p cut3p}

	#set BitMapsNamesP(0,14) { cut2p cut3p}
	#set BitMapsCommandsP(0,14) { cut2p cut3p}
	#
	#set BitMapsNamesP(0,15) { cut2p cut3p}
	#set BitMapsCommandsP(0,15) { cut2p cut3p}

	set BitMapsNamesP(0,20) { }
	set BitMapsCommandsP(0,20) { }

    }
}

proc SetAllMenusVariables {} {
    global GidPriv
    
    SetMenusVariables
    SetBitmapNames
    Set3dButtonVariables
    SetMenusVariablesP
    SetBitmapNamesP
    if { [info exists GidPriv(haveviewmenu)] && $GidPriv(haveviewmenu)} {
	AddViewMenuAfterFiles PRE
	AddViewMenuAfterFiles POST
    }
    DWInitUserDataOptions
}

# proc _L2 { list } {

#     set retlist ""
#     foreach i $list {
# 	if { [lindex $i 0] == "-np-" } {
# 	    lappend retlist $i
# 	} else {
# 	    set sub ""
# 	    foreach j $i {
# 		if { $j == "-ne-" || $j == "escape" } {
# 		    lappend sub $j
# 		} else {
# 		    lappend sub $j
# 		}
# 	    }
# 	    lappend retlist $sub
# 	}
#     }
#     return $retlist
# }

proc ClearMenu { w } {
    set lastentry [$w index last]
    if { $lastentry == "none" } {
	return
    }
    for { set i 0 } { $i <= $lastentry } { incr i } {
	if { [$w type $i] == "cascade" } {
	    set wchild [$w entrycget $i -menu]
	    ClearMenu $wchild
	    destroy $wchild
	}
    }
    $w delete 0 last
}


proc SwapCopyMove { {mode "Copy"} } {  
    set w .wcopymove
    if { [winfo exist $w] } { 
       destroy $w
    } else {
       CopyMove $mode
    }
}

proc SwapChangeVariables { } {  
    set w .gid.wvar
    if { [winfo exist $w] } { 
       destroy $w
    } else {
        ChangeVariables
    }
}

proc SwapChangeLayers { } {    
    if { [catch { set whatuse [lindex [.central.s info Project] 4] }] } {
        set whatuse GEOMETRYUSE
    }
    if { ( $whatuse == "GEOMETRYUSE") || ( $whatuse == "MESHUSE") } {
        #preprocess
        set w .gid.wlay
        if { [winfo exist $w] } { 
           destroy $w
        } else {
          ChangeLayers
        }
    } else {
        #postprocess
        set w .wPostDisplay
        if { [winfo exist $w] } { 
           destroy $w
        } else {
          PostDisplay
        }
    }
}

proc SwapHelpWindow { {help_type "REFERENCE"} {dir "" } } {  
    set w .gid.help_win
    if { [winfo exist $w] } { 
       destroy $w
    } else {
       HelpWindow $help_type $dir
    }
}


proc StdBitmaps { { what "DEFAULT" }} {
    global StdBitmapsNames StdBitmapsCommands StdBitmapsHelp GIDDEFAULT
    global GidPriv

    set StdBitmapsNames(0) "new.gif open2.gif save.gif --- camera.gif print.gif --- \
	    prepost.gif copy.gif prefs.gif layer.gif --- search.gif help.gif --- exit.gif \
            $GidPriv(InfoGiDBitmapName)"
    set GidPriv(InfoGiDBitmapsWidth) 77
    set GidPriv(InfoGiDBitmapsHeight) 24

    set StdBitmapsCommands(0) [list { files new} { files read} { files save} "" \
	    {-np- AddBitmapsToCamera %W { .central.s process hardcopy } } \
	    {-np- HardcopyToPrint {Hardcopy PS}} "" {-np- TogglePrePost} \
	    {-np- SwapCopyMove "Copy"} {-np- SwapChangeVariables } {-np- SwapChangeLayers} "" \
	    {-np- GiDHelpWindow -type REFERENCE -start html-version -tab search} \
	    {-np- GiDHelpWindow -type REFERENCE -start html-version} "" Quit \
            "-np- $GidPriv(InfoGiDProc)"]
    
    
    if { [catch { set whatuse [lindex [.central.s info Project] 4] }] } {
        set whatuse GEOMETRYUSE
    }
    if { ( $whatuse == "GEOMETRYUSE") || ( $whatuse == "MESHUSE") } {
        #preprocess   
	set StdBitmapsHelp(0) [list [_ "New GiD project"] [_ "Open GiD project"] [_ "Save GiD project"] \
				    "" [_ "Take a snapshot"] [_ "Print current view"] "" \
				    [_ "Toggle between pre and postprocess"] [_ "Copy/Transform"] [_ "Preferences"] \
				    [_ "Layers"] "" [_ "Help search"] [_ "Help"] "" [_ "Exit GiD"] [_ "GiD Info"] ]
       } else {
        #postprocess
	   set StdBitmapsHelp(0) [list [_ "New GiD project"] [_ "Open GiD project"] [_ "Save GiD project"] \
				       "" [_ "Take a snapshot"] [_ "Print current view"] "" \
				       [_ "Toggle between pre and postprocess"] [_ "Copy/Transform"] [_ "Preferences"] \
				       [_ "View style"] "" [_ "Help search"] [_ "Help"] "" [_ "Exit GiD"] [_ "GiD Info"] ] 
       }




    set StdBitmapsNames(0,4) { eps ps bmp gif jpeg png tga tiff vrml}
    set StdBitmapsCommands(0,4) { eps ps bmp gif jpeg png tga tiff vrml}

    CreateOtherBitmaps StdBar [_ "Standard Bar"] StdBitmapsNames StdBitmapsCommands \
	    StdBitmapsHelp $GIDDEFAULT/bitmaps StdBitmaps $what PrePost
    AddNewToolbar "Standard bar" PrePostStdBarWindowGeom StdBitmaps

}



