Click or drag to resize

GH_Attributes<T> Class

Derive from this class rather than implementing IGH_Attributes from scratch.
Inheritance Hierarchy

Namespace:  Grasshopper.Kernel
Assembly:  Grasshopper (in Grasshopper.dll)
Syntax
public abstract class GH_Attributes<T> : IGH_Attributes
where T : IGH_DocumentObject

Type Parameters

T
Type of the objects that owns these attributes.

The GH_Attributes<T> type exposes the following members.

Constructors
Properties
  NameDescription
Public propertyAllowMessageBalloon
Gets a value indicating whether these attributes allow warning and error balloons to be drawn on top of them.
Public propertyBounds
Gets the rectangle that contains the active content of the attributes. Typically the Contents determine the active area for menus, tooltips etc. Attributes are not supposed to draw objects beyond the Bounds.
Public propertyDocObject
Gets the owner object of these attributes.
Public propertyGetTopLevel
Gets the top-level attributes of the attribute stack these attributes belong to.
Public propertyHasInputGrip
Gets a value indicating whether or not these attributes have an input grip.
Public propertyHasOutputGrip
Gets a value indicating whether or not these attributes have an output grip.
Public propertyInputGrip
Gets the input grip location for these attributes. If HasInputGrip equals False, this point is meaningless.
Public propertyInstanceGuid
Gets the instance ID of the document object that owns these attributes.
Public propertyIsTopLevel
Gets whether these attributes are top_level (i.e. no Parent attributes)
Public propertyOutputGrip
Gets the output grip location for these attributes. If HasOutputGrip equals False, this point is meaningless.
Public propertyOwner
Gets the type-safe owner object of these attributes. This property is identical to the DocObject property.
Public propertyParent
Gets or sets the parent attributes. Top level attributes do not have parents.
Public propertyPathName
Get a description of the location of these attributes within the local attribute stack.
Public propertyPivot
Gets or sets the pivot for these attributes. The pivot controls the general placement of the attributes. If you want to move the attributes, change the pivot location.
Public propertySelected
Gets or sets the selected state of the top-level attributes.
Public propertyTooltipEnabled
Gets the tooltip enabled value. If False, no further tooltip functions will be called.
Top
Methods
  NameDescription
Public methodAppendToAttributeTree
Recursively append these attributes and all child attributes to the attribute list.
Public methodExpireLayout
Expires the entire layout of the attributes. When overridden, implementer must place a call to the base class ExpireLayout().
Public methodInvalidateCanvas
If the mouse location should cause a canvas invalidation then return true. You only need to override this function if you draw objects that are dependant on cursor positions outside the bounds of the attributes.
Protected methodStatic memberIsIconMode
Utility function for determining Icon display modes. If the supplied mode is ::application, then it will be adjusted to match the current app settings.
Public methodIsMenuRegion
Determines whether a point is available for context menu popups. By default, IsMenuRegion calls IsPickRegion(PointF).
Public methodIsPickRegion(PointF)
Determines whether a point is within the pickable region for this object. By default, any point inside the Bounds is treated as pickable.
Public methodIsPickRegion(RectangleF, GH_PickBox)
Determines whether a rectangle is a valid pick region for this object. By default, the picking rectangle is intersected with the Bounds rectangle.
Public methodIsTooltipRegion
Determines whether a point is available for tooltip popups. By default, IsMenuRegion calls IsTooltipRegion(PointF).
Protected methodLayout
Perform dedicated layout logic specific to this particular DocumentObject. This method is called from PerformLayout if the existing layout is stale.
Public methodNewInstanceGuid()
Generate a new instance GUID for the owner object.
Public methodNewInstanceGuid(Guid)
Generate a new instance GUID for the owner object. Do not use this overload unless you're > 1.95m and called David.
Public methodPerformLayout
Recompute the layout for these attributes. This function is automatically called during Drawing operations, so you typically don't have to.
Protected methodPrepareForRender
This method will always be called exactly once prior to Render(). This would be a good place to make sure all the necessary GUI data is up and running.
Public methodRead
Protected methodRender
Override this function to supply custom Render logic.
Protected methodRenderIncomingWires(GH_Painter, IEnumerable<IGH_Param>, GH_ParamWireDisplay)
Utility function for derived classes. This method draws all the wires going into the left side of the attributes.
Protected methodRenderIncomingWires(GH_Painter, IEnumerable<IGH_Param>, IEnumerable<Pen>)
Utility function for derived classes. This method draws all the wires going into the left side of the attributes.
Public methodRenderToCanvas
Render these attributes into a Canvas control. This function places calls to PrepareForRender() and Render(), you should override those.
Public methodRespondToKeyDown
Public methodRespondToKeyUp
Public methodRespondToMouseDoubleClick
Public methodRespondToMouseDown
Public methodRespondToMouseMove
Public methodRespondToMouseUp
Public methodSetupTooltip
Populates the Grasshopper tooltip with all relevant data. If this function returns True, it is assumed that all possible fields have been filled out and the tooltip is ready for display.
Public methodStatic memberSolvePathBoxPick
Utility function for testing window selections with freeform Graphics paths.
Public methodWrite
Top
See Also