// This file is part of VSTGUI. It is subject to the license terms // in the LICENSE file found in the top-level directory of this // distribution and at http://github.com/steinbergmedia/vstgui/LICENSE #pragma once #include "../../lib/vstguifwd.h" #if VSTGUI_LIVE_EDITING #include "../../lib/cfont.h" namespace VSTGUI { class UIAttributes; struct FocusDrawingSettings; //---------------------------------------------------------------------------------------------------- class IAction { public: virtual ~IAction () {} virtual UTF8StringPtr getName () = 0; virtual void perform () = 0; virtual void undo () = 0; }; //---------------------------------------------------------------------------------------------------- class IActionPerformer { public: virtual ~IActionPerformer () {} virtual void performAction (IAction* action) = 0; virtual void performColorChange (UTF8StringPtr colorName, const CColor& newColor, bool remove = false) = 0; virtual void performTagChange (UTF8StringPtr tagName, UTF8StringPtr tagString, bool remove = false) = 0; virtual void performBitmapChange (UTF8StringPtr bitmapName, UTF8StringPtr bitmapPath, bool remove = false) = 0; virtual void performGradientChange (UTF8StringPtr gradientName, CGradient* newGradient, bool remove = false) = 0; virtual void performFontChange (UTF8StringPtr fontName, CFontRef newFont, bool remove = false) = 0; virtual void performColorNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performTagNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performFontNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performBitmapNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performGradientNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performAlternativeFontChange (UTF8StringPtr fontName, UTF8StringPtr newAlternativeFonts) = 0; virtual void performBitmapMultiFrameChange (UTF8StringPtr bitmapName, const CMultiFrameBitmapDescription* desc) = 0; virtual void performBitmapNinePartTiledChange (UTF8StringPtr bitmapName, const CRect* offsets) = 0; virtual void performBitmapFiltersChange (UTF8StringPtr bitmapName, const std::list >& filterDescription) = 0; virtual void beginLiveColorChange (UTF8StringPtr colorName) = 0; virtual void performLiveColorChange (UTF8StringPtr colorName, const CColor& newColor) = 0; virtual void endLiveColorChange (UTF8StringPtr colorName) = 0; virtual void performTemplateNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performTemplateMinMaxSizeChange (UTF8StringPtr templateName, CPoint minSize, CPoint maxSize) = 0; virtual void performCreateNewTemplate (UTF8StringPtr name, UTF8StringPtr baseViewClassName) = 0; virtual void performDeleteTemplate (UTF8StringPtr name) = 0; virtual void performDuplicateTemplate (UTF8StringPtr name, UTF8StringPtr dupName) = 0; virtual void onTemplateCreation (UTF8StringPtr name, CView* view) = 0; virtual void onTemplateNameChange (UTF8StringPtr oldName, UTF8StringPtr newName) = 0; virtual void performChangeFocusDrawingSettings (const FocusDrawingSettings& newSettings) = 0; virtual void beginGroupAction (UTF8StringPtr name) = 0; virtual void finishGroupAction () = 0; }; } // VSTGUI #endif // VSTGUI_LIVE_EDITING