class CCL::FileIconsPrivate

Overview

File icon registry private to current module. More…

#include <fileicons.h>

class FileIconsPrivate:
    public CCL::Object,
    public CCL::Singleton,
    public CCL::IFileIcons
{
public:
    // classes

    class FolderIcon;
    class UserIcon;

    // fields

    IImage* image;
     IFileIcons;

    // methods

    DECLARE_CLASS (FileIconsPrivate, Object);
    void setUserIcon (const FileType& fileType, IImage* image);
    void setUserIcons (const StringDictionary& dict, const IImagePalette& palette);
    void getUserAssignment (StringDictionary& dict, const IImagePalette& palette) const;
    virtual IImage*CCL_API createIcon (UrlRef url, int flags = 0);
    virtual IImage*CCL_API createIcon (const FileType& fileType, int flags = 0);
    virtual IImage*CCL_API createIcon (StringRef fileName, int flags = 0);
    virtual IImage*CCL_API createVolumeIcon (int type, int flags = 0);
    virtual void CCL_API setFolderIcon (UrlRef path, IImage* icon);
    virtual IImage*CCL_API getDefaultFolderIcon (tbool open = false) const;

    virtual IImage*CCL_API createFolderPreview (
        IImage* folderIcon,
        const IContainer& content,
        int size = 0
    ) const;

protected:
};

Inherited Members

public:
    // typedefs

    typedef CStringRef MemberID;

    // enums

    enum FileIconFlags;
    enum VolumeExtraTypes;

    // 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;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;
    virtual Object*CCL_API revealObject (const void* moduleAddress) = 0;
    virtual void CCL_API addObserver (IObserver* observer) = 0;
    virtual void CCL_API removeObserver (IObserver* observer) = 0;
    virtual void CCL_API signal (MessageRef msg) = 0;
    virtual void CCL_API deferSignal (IMessage* msg) = 0;
    static ISubject void addObserver (IUnknown* unknown, IObserver* observer);
    static void removeObserver (IUnknown* unknown, IObserver* observer);
    virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0;

    static IObserver void notify (
        IUnknown* unknown,
        ISubject* subject,
        MessageRef msg
    );

    virtual const ITypeInfo&CCL_API getTypeInfo () const = 0;
    virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0;
    virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0;
    virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0;
    virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0;
    DECLARE_BASE_CLASS (Object);
    virtual void CCL_API removeObserver (IObserver* observer);
    virtual void CCL_API signal (MessageRef msg);
    virtual void CCL_API deferSignal (IMessage* msg);
    virtual void deferChanged ();
    virtual void CCL_API notify (ISubject* subject, MessageRef msg);
    virtual bool equals (const Object& obj) const;
    virtual int compare (const Object& obj) const;
    virtual bool load (const Storage& storage);
    virtual bool save (const Storage& storage) const;
    virtual bool save (const OutputStorage& storage) const;
    virtual bool toString (String& string, int flags = 0) const;
    virtual int getHashCode (int size) const;
    IUnknown* asUnknown ();
    static void addGarbageCollected (Object* obj, bool globalScope = true);
    static void deferDestruction (Object* obj);
    static const void* getModuleAddress ();
    static T& instance ();
    static T* peekInstance ();
    static Object* __createSingleton ();
    virtual IImage*CCL_API createIcon (UrlRef url, int flags = 0) = 0;
    virtual IImage*CCL_API createIcon (const FileType& fileType, int flags = 0) = 0;
    virtual IImage*CCL_API createIcon (StringRef fileName, int flags = 0) = 0;
    virtual IImage*CCL_API createVolumeIcon (int type, int flags = 0) = 0;
    virtual void CCL_API setFolderIcon (UrlRef path, IImage* icon) = 0;
    virtual IImage*CCL_API getDefaultFolderIcon (tbool open = false) const = 0;

    virtual IImage*CCL_API createFolderPreview (
        IImage* folderIcon,
        const IContainer& content,
        int size = 0
    ) const = 0;

Detailed Documentation

File icon registry private to current module.

Methods

virtual IImage*CCL_API createIcon (UrlRef url, int flags = 0)

Create icon for given URL, must be released by caller.

virtual IImage*CCL_API createIcon (const FileType& fileType, int flags = 0)

Create icon for given file type, must be released by caller.

virtual IImage*CCL_API createIcon (StringRef fileName, int flags = 0)

Create icon for given file name, must be released by caller.

virtual IImage*CCL_API createVolumeIcon (int type, int flags = 0)

Create icon for volume (see VolumeInfo::Type and VolumeExtraTypes), must be released by caller.

virtual void CCL_API setFolderIcon (UrlRef path, IImage* icon)

Assign special icon for given folder location (null to reset).

virtual IImage*CCL_API getDefaultFolderIcon (tbool open = false) const

Get default folder icon.

virtual IImage*CCL_API createFolderPreview (
    IImage* folderIcon,
    const IContainer& content,
    int size = 0
) const

Create an icon copy with content preview.