Class SEMenuAssembly

  extended by com.hdcookbook.grin.Feature
      extended by com.hdcookbook.grin.features.Assembly
          extended by com.hdcookbook.grin.features.SEAssembly
              extended by com.hdcookbook.grin.features.SEMenuAssembly
All Implemented Interfaces:
Node, SENode, SEScalableNode

public class SEMenuAssembly
extends SEAssembly

Field Summary
Fields inherited from class com.hdcookbook.grin.features.Assembly
activated, currentFeature, partNames, parts
Fields inherited from class com.hdcookbook.grin.Feature
name, show
Constructor Summary
SEMenuAssembly(SEShow show, MenuAssemblyHelper helper)
Method Summary
 void accept(SEShowVisitor visitor)
          Calls the visit method corresponding to this node type.
 MenuAssemblyHelper getHelper()
 java.lang.String toString()
Methods inherited from class com.hdcookbook.grin.features.SEAssembly
changeFeatureReference, getPartName, getRuntimeClassName, postProcess, scaleBy, writeInstanceData
Methods inherited from class com.hdcookbook.grin.features.Assembly
addDisplayAreas, addSubgraph, createClone, destroy, findPart, getCurrentPart, getPartNames, getParts, getX, getY, initialize, markDisplayAreasChanged, needsMoreSetup, nextFrame, paintFrame, readInstanceData, setActivateMode, setCurrentFeature, setParts, setSetupMode
Methods inherited from class com.hdcookbook.grin.Feature
activate, cloneCommands, clonedReference, cloneSubgraph, deactivate, destroyClonedSubgraph, getName, initializeClone, isSetup, makeNewClone, resetFeature, sendFeatureSetup, setName, setup, unsetup
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


public SEMenuAssembly(SEShow show,
                      MenuAssemblyHelper helper)
Method Detail


public MenuAssemblyHelper getHelper()


public void accept(SEShowVisitor visitor)
Description copied from interface: SENode
Calls the visit method corresponding to this node type.

If you are defining a user-defined feature, there are some restrictions that you'll want to follow. If your extension is a feature that has children, then you should make it a subclass of one of the built-in feature types, Assembly, Modifer or Group. That's because the GRIN compiler defines visitors that need to visit every node in the tree, but these built-in visitors don't know about your extension types. By making your extension type a subclass of one of the standard ones, and by making your accept() method call either visitAssembly(), visitGroup() or visitUserDefinedModifier(), as appropriate, you'll ensure that all the children get visited.

Specified by:
accept in interface SENode
accept in class SEAssembly
visitor - SEShowVisitor object.
See Also:


public java.lang.String toString()

toString in class SEAssembly
a developer-friendly description of this feature, for debugging