##################################################################################################
#
# Copyright (c)2000 TogetherSoft Corporation. Patents pending. All rights reserved.
#
##################################################################################################

##################################################################################################
# view.config
#
# @author Joeseph Zeldin
# @version 1.2.5 23.06.2000
###################################################################################################

###################################################################################################
# <attribute>
###################################################################################################
view.map.*.xmlAttribute.isTopLevel() =
\ hideElement()

view.map.*.xmlAttribute.!isTopLevel() =
\  if (hasProperty ("$name"),
\      namelabel = label(getProperty("$name"))
\     );
\  setGraphicObject(namelabel);
\  if (hasProperty("$hyperLink") || hasProperty("url"),
\      setForeground(RGB(0,0,255))
\     );
\  backgroundColor = RGB(getViewProperty("backgroundColor"));
\  if(backgroundColor != null, setBackground(backgroundColor));
\  foregroundColor = RGB(getViewProperty("foregroundColor"));
\  if(foregroundColor != null, setForeground(foregroundColor));
\  setInplaceEditor({property:="$name", default:=true});
\  if (setCompartment("Attributes") == null,
\      hideElement()
\     );
\  setLayoutConstraints(preferredHeight(16),fixedHeight(true))
##################################################################################################
# </attribute>
##################################################################################################

###################################################################################################
# <attributeRef>
###################################################################################################
view.map.*.xmlAttributeRef.isTopLevel() =
\ hideElement()

view.map.*.xmlAttributeRef.!isTopLevel() =
\  if (hasProperty ("$name"),
\      namelabel = label("<ref>"+getProperty("$name"))
\     );
\  setGraphicObject(namelabel);
\  if (hasProperty("$hyperLink") || hasProperty("url"),
\      setForeground(RGB(0,0,255))
\     );
\  backgroundColor = RGB(getViewProperty("backgroundColor"));
\  if(backgroundColor != null, setBackground(backgroundColor));
\  foregroundColor = RGB(getViewProperty("foregroundColor"));
\  if(foregroundColor != null, setForeground(foregroundColor));
\  if (setCompartment("Attributes") == null,
\      hideElement()
\     );
\  setLayoutConstraints(preferredHeight(16),fixedHeight(true))
##################################################################################################
# </attributeRef>
##################################################################################################

###################################################################################################
# <attributeGroup>
###################################################################################################
view.map.*.xmlAttributeGroup.true = 
\  setGraphicObject("$RoundRectangle");
\  if( !hasViewProperty("2DLook"),
\      setShadow(3, RGB(0,0,128))
\    );
# names compartment
\  names = addCompartment( "RectangleInvisible", "Names" );
\  names->setLayoutConstraints( minHeight(20), preferredWidth(40), fixedHeight(true) );
\
# attributes compartment
\  attributes = addCompartment("$ScrolledRectangle","Attributes");
\  attributes->setLayoutConstraints(preferredWidth(40),preferredHeight(20));
\  attributes->setHorizontalMargin(5);
\
# markers compartment
\  markersCompartment = addCompartment( "RectangleInvisible", "MarkersCompartment" );
\  markersCompartment->setLayoutConstraints( minHeight(10), fixedHeight(true));
\  markers = markersCompartment->addCompartment( "RectangleInvisible", "Markers" );
\  markers->setLayoutConstraints( widthAlign("parentDefined"), heightAlign("parentDefined"), toDecreaseWidth(true) );
\  markers->setLayout( "Move" );
\
# read only
\  if( hasProperty("$readOnly"),
\      readonlyMark=markers->addCompartment( "LockMark", "lockMark" );
\      readonlyMark->setLayoutConstraints( minWidth(10), minHeight(10), horizontalAlign("right") )
\    );
\  if( hasViewProperty("$imported"),
\      importedMark=markers->addCompartment("ShortcutMark", "shortcutMark");
\      importedMark->setLayoutConstraints(minWidth(12), minHeight(10), horizontalAlign("left"))
\    );
# name
\  if( hasProperty("$name"),
\      nameLabel = addToCompartment(label(getProperty("$name")),"Names");
\      if (!hasProperty("$readOnly"),
\          nameLabel->setInplaceEditor({property:="$name", default:=true}));
\      nameLabel->setAlignment("Center");
\      nameLabel->setFont(%defaultFontName%, "Bold", 12);
\      nameLabel->setWholeWordsOnly();
\      nameLabel->setUnderlined();
\      if (hasProperty("$hyperLink") || hasProperty("url"),
\          nameLabel->setForeground(RGB(0,0,255))
\         )
\    );
\  setCanHaveLinks();
\  setHorizontalMargin(5);
\  backgroundColor = RGB(getViewProperty("backgroundColor"));
\  if(backgroundColor != null, setBackground(backgroundColor));
\  foregroundColor = RGB(getViewProperty("foregroundColor"));
\  if(foregroundColor != null, setForeground(foregroundColor));
\
\  setLayoutConstraints( minWidth(40), minHeight(20), preferredWidth(40), preferredHeight(60), canShiftX(true), canShiftY(true) )

view.map.*.xmlAttributeGroup.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </attributeGroup>
###################################################################################################

###################################################################################################
# <attributeGroupReference>
###################################################################################################
view.map.*.xmlAttributeGroupRef.isTopLevel() =
\ hideElement()

view.map.*.xmlAttributeGroupRef.!isTopLevel() =
\  if (hasProperty ("$name"),
\      namelabel = label("<group>:"+getProperty("$name"))
\     );
\  setGraphicObject(namelabel);
\  if (setCompartment("Attributes") == null,
\      hideElement()
\     );
\  setLayoutConstraints(preferredHeight(16),fixedHeight(true));
\  if (hasProperty("$hyperLink") || hasProperty("url"),
\      setForeground(RGB(0,0,255))
\     );
\  backgroundColor = RGB(getViewProperty("backgroundColor"));
\  if(backgroundColor != null, setBackground(backgroundColor));
\  foregroundColor = RGB(getViewProperty("foregroundColor"));
\  if(foregroundColor != null, setForeground(foregroundColor))
###################################################################################################
# </attributeGroupReference>
###################################################################################################

###################################################################################################
# <element>                               
###################################################################################################
view.map.*.xmlElement.isTopLevel() =
\  setGraphicObject("RectangleObject");
\  if( !hasViewProperty("2DLook"),
\      setShadow(3, RGB(0,0,128))
\    );
\  setLayoutConstraints( minWidth(40), minHeight(20), preferredWidth(40), preferredHeight(60), canShiftX(true), canShiftY(true) );
\  setCanHaveLinks();
\  setHorizontalMargin(5);
# names compartment 
\  names = addCompartment( "RectangleInvisible", "Names" );
\  names->setLayoutConstraints( minHeight(20), preferredWidth(40), fixedHeight(true) );
\
# attributes compartment
\  attributes = addCompartment("$ScrolledRectangle","Attributes");
\  attributes->setLayoutConstraints(preferredWidth(40),preferredHeight(20));
\  attributes->setHorizontalMargin(5);
\
# markers compartment
\  markersCompartment = addCompartment( "RectangleInvisible", "MarkersCompartment" );
\  markersCompartment->setLayoutConstraints( minHeight(10), fixedHeight(true));
\  markers = markersCompartment->addCompartment( "RectangleInvisible", "Markers" );
\  markers->setLayoutConstraints( widthAlign("parentDefined"), heightAlign("parentDefined"), toDecreaseWidth(true) );
\  markers->setLayout( "Move" );
\
# content
\  if( hasPropertyValue("$content", "empty"),    icon = getIcon("empty"));
\  if( hasPropertyValue("$content", "textonly"), icon = getIcon("textonly"));
\  if( hasPropertyValue("$content", "any"),      icon = getIcon("any"));
\  if( hasPropertyValue("$content", "children"), icon = getIcon("children"));
\  if( hasPropertyValue("$content", "mixed"),    icon = getIcon("mixed"));
\  contentMark = addToCompartment(label("",icon), "Markers");
\  contentMark->setLayoutConstraints(minWidth(22), minHeight(22), horizontalAlign("center"));
\
# read only
\  if( hasProperty("$readOnly"),
\      readonlyMark=markers->addCompartment( "LockMark", "lockMark" );
\      readonlyMark->setLayoutConstraints( minWidth(10), minHeight(10), horizontalAlign("right") )
\    );
\  if( hasViewProperty("$imported"),
\      importedMark=markers->addCompartment("ShortcutMark", "shortcutMark");
\      importedMark->setLayoutConstraints(minWidth(12), minHeight(10), horizontalAlign("left"))
\    );
\
# name
\  if( hasProperty("$name"),
\      nameLabel = addToCompartment(label(getProperty("$name")),"Names");
\      if (!hasProperty("$readOnly"),                          
\          nameLabel->setInplaceEditor({property:="$name", default:=true}));
\      nameLabel->setAlignment("Center");
\      nameLabel->setFont(%defaultFontName%, "Bold", 12);
\      nameLabel->setWholeWordsOnly();
\      nameLabel->setUnderlined();
\      if (hasProperty("$hyperLink") || hasProperty("url"),
\          nameLabel->setForeground(RGB(0,0,255))
\         )
\    );
\  backgroundColor = RGB(getViewProperty("backgroundColor"));
\  if(backgroundColor != null, setBackground(backgroundColor));
\  foregroundColor = RGB(getViewProperty("foregroundColor"));
\  if(foregroundColor != null, setForeground(foregroundColor))

view.map.*.xmlElement.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </element>
###################################################################################################

###################################################################################################
# <elementref>
###################################################################################################
view.map.*.xmlElementRef.isTopLevel() =
\ hideElement ()

view.map.*.xmlElementRef.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </elementref>
###################################################################################################

###################################################################################################
# <modelgroup>
###################################################################################################
view.map.*.xmlModelGroup.isTopLevel() =
\  setGraphicObject("Circle");
\  if (!hasViewProperty("2DLook"), setShadow(3, RGB(0,0,128)));
\  setLayoutConstraints( minWidth(20), minHeight(20), preferredWidth(20), preferredHeight(20), canShiftX(true), canShiftY(true) );
\  setCanHaveLinks();
\  setHorizontalMargin(5);
\
# names compartment
\  names = addCompartment( "RectangleInvisible", "Names" );
\  names->setLayoutConstraints( minHeight(20), preferredWidth(20), fixedHeight(true) );
\
# markers compartment
\  markersCompartment = addCompartment( "RectangleInvisible", "MarkersCompartment" );
\  markersCompartment->setLayoutConstraints( minHeight(10), fixedHeight(true));
\  markers = markersCompartment->addCompartment( "RectangleInvisible", "Markers" );
\  markers->setLayoutConstraints( widthAlign("parentDefined"), heightAlign("parentDefined"), toDecreaseWidth(true) );
\  markers->setLayout( "Move" );
\
# read only
\  if( hasProperty("$readOnly"),
\      readonlyMark=markers->addCompartment( "LockMark", "lockMark" );
\      readonlyMark->setLayoutConstraints( minWidth(10), minHeight(10), horizontalAlign("right") )
\    );
\  if( hasViewProperty("$imported"),
\      importedMark=markers->addCompartment("ShortcutMark", "shortcutMark");
\      importedMark->setLayoutConstraints(minWidth(12), minHeight(10), horizontalAlign("left"))
\    );
\
# compositor
\  if( hasPropertyValue("compositor", "sequence"), nameLabel = addToCompartment(label("AND"),"Names"));
\  if( hasPropertyValue("compositor", "choice"), nameLabel = addToCompartment(label("OR"),"Names"));
\  nameLabel->setAlignment("Center");
\  nameLabel->setFont(%defaultFontName%, "Bold", 12);
#\  nameLabel->setUnderlined()
\  if (hasProperty("$hyperLink") || hasProperty("url"),
\      nameLabel->setForeground(RGB(0,0,255))
\     );
\  backgroundColor = RGB(getViewProperty("backgroundColor"));
\  if(backgroundColor != null, setBackground(backgroundColor));
\  foregroundColor = RGB(getViewProperty("foregroundColor"));
\  if(foregroundColor != null, setForeground(foregroundColor))

view.map.*.xmlModelGroup.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </modelgroup>
###################################################################################################

###################################################################################################
# <modelgroupref>
###################################################################################################
view.map.*.xmlModelGroupRef.isTopLevel() =
\ hideElement ()

view.map.*.xmlModelGroupRef.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </modelgroupref>
###################################################################################################

##################################################################################################
# <referencelink>
##################################################################################################
view.map.*.xmlReferenceLink.true =
\   setForeground(black);
\   setBackground(white);
\   setLayoutDirection("direct");
\   setMerged();
\   icon = addLabelIcon(getProperty("$occurs"),"AboveLeftDestination");
\   icon->setForeground (black);
\   addIcon("OpenTriangle","OnDestination")
##################################################################################################
# </referencelink>
##################################################################################################

###################################################################################################
# <notation>
###################################################################################################
view.map.*.xmlNotation.isTopLevel() =
\ hideElement()

view.map.*.xmlNotation.!isTopLevel() =
\ hideElement()
###################################################################################################
# </notation>
###################################################################################################

###################################################################################################
# <entity>
###################################################################################################
view.map.*.xmlEntity.isTopLevel() =
\ hideElement ()

view.map.*.xmlEntity.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </entity>
###################################################################################################

###################################################################################################
# <pi>
###################################################################################################
view.map.*.xmlPI.isTopLevel() =
\ hideElement ()

view.map.*.xmlPI.!isTopLevel() =
\ hideElement ()
###################################################################################################
# </pi>
###################################################################################################

