Grasshopper2.UI.Canvasnamespace

Types

Grasshopper2.UI.Canvas.IHint
Base interface for hints drawn on the canvas.
Grasshopper2.UI.Canvas.INestedNavigation
Implement this interface on your IAttributes class to participate in standard canvas object navigation.
Grasshopper2.UI.Canvas.INestedScroller
Implement this interface on your IAttributes class to participate in standard canvas object scrolling.
Grasshopper2.UI.Canvas.BreadCrumbList
A sequence of nested documents exposed via a breadcrumb control.
Grasshopper2.UI.Canvas.Canvas
Canvas control for hosting Grasshopper documents.
Grasshopper2.UI.Canvas.CanvasActions
Grasshopper2.UI.Canvas.CanvasBackgroundPaintEventArgs
Event arguments used for canvas background painting.
Grasshopper2.UI.Canvas.CanvasPaintEventArgs
Standard canvas paint event arguments.
Grasshopper2.UI.Canvas.CanvasTextField
A canvas-native, single-line editable text field.
Grasshopper2.UI.Canvas.CanvasTextField.CharTints
A resolved table of per-grapheme colours, and the CanvasTextField.Tinting delegate which reads it. Construct one per field and keep it for the lifetime of the field; call CanvasTextField.CharTints.Prepare(string, Color) once per draw and assign the result to CanvasTextField.Tinting.

The point of this class is that the resolver sees the entire string at once, so it can do as much parsing as it likes - multi-character operators, symbols whose meaning depends on their context, colour names resolved to the colour they name - and it only runs again when the text or the text colour actually change. The per-grapheme callback the field ends up invoking is a bare array lookup.

Not thread safe, and doesn't need to be: it is only touched while drawing.

Grasshopper2.UI.Canvas.CanvasTextField.Syntax
The broad syntactic roles a character can play inside a field. Each field classifies its own characters, since different notations disagree about what a given character means - a '*' is a wildcard in one and a multiplication in another - but they all draw the same roles in the same colours.
Grasshopper2.UI.Canvas.CommandTile
A command tile.
Grasshopper2.UI.Canvas.CursorMode
High-level cursor modes the canvas can be in. The mode determines the cursor displayed and how subsequent input is interpreted. When the mode is CursorMode.Normal the per-element cursor logic in the mouse-move handler runs as usual; in any other mode the modal cursor takes precedence.
Grasshopper2.UI.Canvas.DiffCanvas
A control for viewing differences between two files.
Grasshopper2.UI.Canvas.DocumentBag
A collection of documents, one of which is designated as the 'head'.
Grasshopper2.UI.Canvas.DocumentBagEventArgs
Event arguments used in the DocumentBag.
Grasshopper2.UI.Canvas.DocumentBagEventType
Enumerates the possible types of document based events.
Grasshopper2.UI.Canvas.DocumentStack
A stack of nested documents. A DocumentBag contains a collection of DocumentStack objects. Each stack contains a root document which is (ideally) associated with a *.ghz file. Then when nested documents are opened, they are pushed onto the stack. When editing a cluster, inside a cluster inside the root document, the stack will contain three documents, the innermost one being at the head.
Grasshopper2.UI.Canvas.DraggingMode
Enumerates the various constraints on shape drag motion.
Grasshopper2.UI.Canvas.DragPickingMode
Enumerates the various selection contexts.
Grasshopper2.UI.Canvas.FileTile
A tile on the canvas used for most-recent file access.
Grasshopper2.UI.Canvas.Hint<T>
A hint which is occasionally displayed on the canvas.
Grasshopper2.UI.Canvas.MotionType
Enumerates the possible navigation types.
Grasshopper2.UI.Canvas.ObjectBrowserForm
Grasshopper2.UI.Canvas.ObjectBrowserForm.ReviewState
Grasshopper2.UI.Canvas.ObjectDragInteraction
Interaction object for dragging document objects around on a canvas.
Grasshopper2.UI.Canvas.ObjectPreviewForm
Grasshopper2.UI.Canvas.OpenDocumentOptions
Various options for loading documents in the canvas.
Grasshopper2.UI.Canvas.PopupInstantiatorForm
Pop up window for searching installed document objects and inserting them into the canvas.
Grasshopper2.UI.Canvas.ScrollBar
Abstract base class for horizontal and vertical scrollers.
Grasshopper2.UI.Canvas.ScrollX
Horizontal implementation of ScrollBar.
Grasshopper2.UI.Canvas.ScrollY
Vertical implementation of ScrollBar.
Grasshopper2.UI.Canvas.SnappingAction
A single resolved snapping action.
Grasshopper2.UI.Canvas.SnappingConstraints
A collection of snapping constraints used during object dragging.
Grasshopper2.UI.Canvas.SnappingRule
Enumerates the possible snapping edges.
Grasshopper2.UI.Canvas.SnappingSettings
Collects all snapping constraint settings.
Grasshopper2.UI.Canvas.StatusBar
Grasshopper2.UI.Canvas.Tile
Base class for canvas tiles.
Grasshopper2.UI.Canvas.TileKind
Type of canvas tiles.
Grasshopper2.UI.Canvas.TileSet
A collection of tiles.
Grasshopper2.UI.Canvas.WireShape
A shape representing a wire connecting two parameters.
Grasshopper2.UI.Canvas.WireShapeDefault
A shape representing a wire connecting two parameters.