74 lines
3.3 KiB
C++
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
|