# FunctionEditorControl class

Namespace: [Grasshopper2.UI.Graphing](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.ui.graphing.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
public sealed class FunctionEditorControl : FlexControl
```

Control for editing FunctionUI instances.

## Constructors

- [FunctionEditorControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/ctor.md): Create a new editor.

## Properties

- [AllowCreate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/allowcreate.md): Gets or sets whether the user can add new functions or replace the ones already hosted. If this property is false, existing functions can be edited or deleted.
- [AllowDelete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/allowdelete.md): Gets or sets whether the user can delete functions.
- [Constraints](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/constraints.md): Assign new limits to this frame. The limits are used verbatim. Gets or sets the axis constraints of the hosted editor.
- [Count](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/count.md): Gets the number of functions in this editor.
- [EditorFrame](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/editorframe.md): Gets the frame used in the editor.

## Indexers

- [this[]](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/item.md): Gets the UI at the given index.

## Methods

- [Add](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/add.md): Add a function to this editor.
- [AdoptProjection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/adoptprojection.md): Adopt another view's projection, matching its X:Y ratio rather than its literal limits. See [FunctionEditorBase.AdoptProjection(FrameF)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorbase/adoptprojection.md).
- [BeginUndoTracking](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/beginundotracking.md): Start tracking function edits for local undo, taking the current collection as the baseline. Call once after the initial functions have been loaded so that load isn't itself recorded as an undoable step.
- [CreateFloatingButtons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/createfloatingbuttons.md)
- [OnPinchGesture](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/onpinchgesture.md)
- [OnScrollGesture](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/onscrollgesture.md)
- [Remove](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/remove.md): Remove a ui from this editor.
- [SetFrameLimits](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/setframelimits.md): (2 overloads) Same as [FunctionEditorControl.SetFrameLimits(double, double, double, double)](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/setframelimits.md) but with explicit control over the "fresh" flag. See the base overload for details.

## Events

- [DisplayChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/displaychanged.md)
- [FunctionsChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.graphing.functioneditorcontrol/functionschanged.md)

## Inherited Members

- From [FlexControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol.md): [AllowPan](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/allowpan.md), [AllowScrollGesture](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/allowscrollgesture.md), [AllowZoom](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/allowzoom.md), [AutoWindowSelect](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/autowindowselect.md), [Border](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/border.md), [ContentBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/contentbounds.md), [ContentToControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/contenttocontrol.md), [ControlToContent](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/controltocontent.md), [CurrentWindowSelection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/currentwindowselection.md), [DrawContentBoundary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/drawcontentboundary.md), [DrawScrollbars](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/drawscrollbars.md), [FloatingButtonRail](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/floatingbuttonrail.md), [FloatingButtons](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/floatingbuttons.md), [FocusObject](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/focusobject.md), [InnerBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/innerbounds.md), [InnerScreenBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/innerscreenbounds.md), [IntegerOrigin](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/integerorigin.md), [IsDragSource](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/isdragsource.md), [IsDropTarget](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/isdroptarget.md), [MaximumZoom](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/maximumzoom.md), [MinimumZoom](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/minimumzoom.md), [MouseDwellDelay](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/mousedwelldelay.md), [OuterBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/outerbounds.md), [ParentControl](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/parentcontrol.md), [Projection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/projection.md), [ResizeBehaviour](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/resizebehaviour.md), [ResponsivesBackwards](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/responsivesbackwards.md), [ResponsivesForwards](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/responsivesforwards.md), [ScreenBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/screenbounds.md), [VisibleFrame](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/visibleframe.md), [ZoomFeedbackLocation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/zoomfeedbacklocation.md), [Draw](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/draw.md), [MouseDwell](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/mousedwell.md), [PopulateContextMenu](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/populatecontextmenu.md), [ProjectionChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/projectionchanged.md), [WindowSelection](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/windowselection.md), [AddSparkle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/addsparkle.md), [Animate<T>](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/animate.md), [AnimatedZoomFactor](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/animatedzoomfactor.md), [BeginWindowSelect](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/beginwindowselect.md), [ComputeWrappingBounds](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/computewrappingbounds.md), [DispatchRotation](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/dispatchrotation.md), [DrawWindowSelectionEdge](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/drawwindowselectionedge.md), [DrawWindowSelectionFill](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/drawwindowselectionfill.md), [EndWindowSelect](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/endwindowselect.md), [FloatingButtonTooltipOverride](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/floatingbuttontooltipoverride.md), [LooksLikeSingleClick](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/lookslikesingleclick.md), [Map](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/map.md), [Navigate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/navigate.md), [OnKeyDown](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onkeydown.md), [OnKeyUp](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onkeyup.md), [OnLoad](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onload.md), [OnLoadComplete](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onloadcomplete.md), [OnMouseDoubleClick](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onmousedoubleclick.md), [OnMouseDown](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onmousedown.md), [OnMouseLeave](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onmouseleave.md), [OnMouseMove](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onmousemove.md), [OnMouseUp](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onmouseup.md), [OnMouseWheel](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onmousewheel.md), [OnPaint](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onpaint.md), [OnPopulateContextMenu](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onpopulatecontextmenu.md), [OnSizeChanged](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/onsizechanged.md), [OnTextInput](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/ontextinput.md), [PopFocus](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/popfocus.md), [PushFocus](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/pushfocus.md), [RegisterIResponsive](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/registeriresponsive.md), [ScheduleRedraw](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/scheduleredraw.md), [UnregisterIResponsive](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/unregisteriresponsive.md), [UpdateMapping](https://developer.rhino3d.com/api/gh2/type/grasshopper2.ui.flex.flexcontrol/updatemapping.md)
