# GH_RibbonLayoutEditor class

Namespace: [Grasshopper.GUI](https://developer.rhino3d.com/api/gh1/namespace/grasshopper.gui.md) · Assembly: [Grasshopper](https://developer.rhino3d.com/api/gh1/assembly/grasshopper.md)

```cs
public class GH_RibbonLayoutEditor : GH_DoubleBufferedPanel
```

## Constructors

- [GH_RibbonLayoutEditor](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/ctor.md)

## Properties

- [RedoCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/redocount.md)
- [RibbonLayout](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/ribbonlayout.md): Gets or sets the ribbon layout in this control. Setting the layout erases the undo/redo stack.
- [UndoCount](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/undocount.md)

## Methods

- [ClearUndo](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/clearundo.md)
- [OnPaint](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/onpaint.md)
- [OnPaintBackground](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/onpaintbackground.md)
- [RecordUndo](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/recordundo.md)
- [Redo](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/redo.md)
- [Undo](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/undo.md)

## Events

- [UndoRedoChanged](https://developer.rhino3d.com/api/gh1/type/grasshopper.gui.gh-ribbonlayouteditor/undoredochanged.md)
