struct CCL::ISkinEditSupport

#include <iskineditsupport.h>

struct ISkinEditSupport: public CCL::IClassAllocator
{
    // methods

    virtual const ITypeLibrary*CCL_API getTypeLibrary () const = 0;
    virtual const ITypeInfo*CCL_API getViewBaseClass () const = 0;
    virtual const ITypeInfo*CCL_API getFormClass () const = 0;

    virtual tbool CCL_API suggestSourceFile (
        String& sourceFile,
        UIDRef cid,
        StringRef initialName
    ) const = 0;

    virtual tbool CCL_API suggestAssetFolder (IUrl& folder, UIDRef cid = kNullUID) const = 0;

    virtual tbool CCL_API getSupportedFileTypes (
        IFileTypeFilter& fileTypes,
        UIDRef cid
    ) const = 0;

    virtual IImage*CCL_API loadImage (StringRef fileName) const = 0;
    virtual IMemoryStream*CCL_API loadBinaryFile (StringRef fileName) const = 0;

    virtual SkinAttributeType CCL_API getAttributeType (
        ISkinElement* element,
        StringID attributeName
    ) const = 0;

    virtual tbool CCL_API isVariantOrTabView (ISkinViewElement* viewElement) const = 0;
    virtual tbool CCL_API canHaveChildViews (ISkinViewElement* viewElement) const = 0;
    virtual ISkinViewElement*CCL_API getReferencedForm (ISkinViewElement* viewElement) const = 0;

    virtual tbool CCL_API getSizeChange (
        SkinValueChange& valueChange,
        ISkinViewElement* viewElement,
        RectRef newSize
    ) const = 0;

    virtual tbool CCL_API detectSizeChange (
        Rect& newSize,
        ISkinViewElement* viewElement,
        const SkinValueChange& valueChange
    ) const = 0;

    virtual tbool CCL_API drawFormBackground (
        IGraphics& graphics,
        ISkinViewElement* viewElement
    ) const = 0;

    virtual tbool CCL_API drawViewElement (
        IGraphics& graphics,
        ISkinViewElement* viewElement
    ) const = 0;

    virtual tbool CCL_API getSourceCodeForElement (
        String& sourceCode,
        ISkinElement* element
    ) const = 0;

    virtual void CCL_API setModelDirty (
        ISkinModel::ElementType type,
        ISkinElement* changedElement = nullptr
    ) = 0;

    virtual tbool CCL_API saveModelChanges (IProgressNotify* progress = nullptr) = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    virtual tresult CCL_API createInstance (UIDRef cid, UIDRef iid, void** obj) = 0;