Files
2026-08-16 18:24:52 +07:00

74 lines
3.3 KiB
C++

// 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<SharedPointer<UIAttributes> >& 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