class MAknsSkinInstance |
Interface to skin instance. Skin instance is a singleton object that can be retrieved using AknsUtils::SkinInstance(). It maintains item cache, but also local item definition list and root data context. While skin instance can be used directly by client code, it is often easier to use utility methods provided in AknsUtils and AknsDrawUtils.
This is a public interface class that contains no exported functions. The class is not intended for derivation outside the library.
2.0
Public Member Functions | |
---|---|
~MAknsSkinInstance() | |
CAknsItemData * | CreateUncachedItemDataL(const TAknsItemID &, const TAknsItemType) |
CAknsItemData * | CreateUncachedItemDataL(const TAknsItemID &) |
CAknsItemData * | GetCachedItemData(const TAknsItemID &, const TAknsItemType) |
CAknsItemData * | GetCachedItemData(const TAknsItemID &) |
TBool | IsUpdateInProgress() |
void | NotifyClientError(const TAknsClientError) |
void | RemoveLocalItemDefs() |
MAknsDataContext * | RootDataContext() |
void | SetChangeEventsEnabled(TBool) |
void | SetLocalItemDefL(CAknsItemDef *) |
TAknsSkinChangeReason | SkinChangeReason() |
~MAknsSkinInstance | ( | ) | [inline, virtual] |
Destructor for internal use. Destructor is reserved for internal use and should be never called by client code on singleton instance.
CAknsItemData * | CreateUncachedItemDataL | ( | const TAknsItemID & | aID, |
const TAknsItemType | aType | |||
) | [pure virtual] |
Creates a new non-cached item data object. The method constructs a new instance of item data of the specified skin item and returns it.
2.0
Newly created item data object. Ownership of the object is transferred to the caller. If no item definition for the specified ID was found, NULL value is returned. The caller can assume that a non-NULL value is a pointer that can be casted to the subclass corresponding to aType.
Exceptions:
If item data construction fails, function leaves with an error code.
const TAknsItemID & aID | Item ID of the item to be created. |
const TAknsItemType aType | Type of the item. |
CAknsItemData * | CreateUncachedItemDataL | ( | const TAknsItemID & | aID | ) | [pure virtual] |
Creates a new non-cached item data object. The method constructs a new instance of item data of the specified skin item and returns it.
This overload can be used to create items if the type of the item is not known beforehand. In other cases, the first overload shold be preferred, since it may be considerably faster.
2.0
Newly created item data object. Ownership of the object is transferred to the caller. If no item definition for the specified ID was found, NULL value is returned.
Exceptions:
If item data construction fails, function leaves with an error code.
const TAknsItemID & aID | Item ID of the item to be created. |
CAknsItemData * | GetCachedItemData | ( | const TAknsItemID & | aID, |
const TAknsItemType | aType | |||
) | [pure virtual] |
Returns (and constructs if necessary) cached item data object. The method first searches the cache for the specified item. If none is found, it creates and caches a new instance of the item data.
2.0
Item data for the specified item, or NULL value if none was found or an error occured. The caller can assume that a non-NULL value is a pointer that can be casted to the subclass corresponding to aType.
Exceptions:
Since this is a non-leaving method, the skin instance may perform error handling, e.g., by instructing the system to switch to the default skin.
const TAknsItemID & aID | Item ID of the item to be retrieved. |
const TAknsItemType aType | Type of the item. |
CAknsItemData * | GetCachedItemData | ( | const TAknsItemID & | aID | ) | [pure virtual] |
Returns (and constructs if necessary) cached item data object. The method first searches the cache for the specified item. If none is found, it creates and caches a new instance of the item data.
This overload can be used to retrieve items if the type of the item is not known beforehand. In other cases, the first overload shold be preferred, since it may be considerably faster.
2.0
Item data for the specified item, or NULL value if none was found or an error occured.
Exceptions:
Since this is a non-leaving method, the skin instance may perform error handling, e.g., by instructing the system to switch to the default skin.
const TAknsItemID & aID | Item ID of the item to be retrieved. |
TBool | IsUpdateInProgress | ( | ) | [pure virtual] |
Checks whether a skin update is currently being done.
5.0
void | NotifyClientError | ( | const TAknsClientError | aError | ) | [pure virtual] |
Notifies the skin instance about an error condition. Errors that can be reported to the skin instance include incorrect skin content (e.g., a bitmap that can not be constructed) or out of memory situations. The error condition is usually handled by switching to the default system skin. Error notifications will be ignored when there is no reasonable recovery operation available.
2.0
const TAknsClientError aError | Error type. Currently only EAknsClientErrorUnspecified is supported. |
void | RemoveLocalItemDefs | ( | ) | [pure virtual] |
Removes all local item defs from this instance set by SetLocalItemDefL
MAknsDataContext * | RootDataContext | ( | ) | [pure virtual] |
Returns root data context. Root data context is used by other data context instances to indicate data reservations and releases. It may also be used directly by application code, if no other context is available. Nearest data context can be retrieved using AknsUtils::DataContext(MObjectProvider* aMop) utility method.
2.0
Pointer to root data context. Skin instance still owns the data context and its lifetime is that of skin instance itself.
void | SetChangeEventsEnabled | ( | TBool | aEnabled | ) | [pure virtual] |
Enables or disables change notifications. When enabled, resource change events are sent to the application when item definitions change. If a change occurs when events are disabled, it will be sent (collated, only one event) when events are re-enabled.
2.0
TBool aEnabled | ETrue to enable events, EFalse to disable them. |
void | SetLocalItemDefL | ( | CAknsItemDef * | aDef | ) | [pure virtual] |
Sets local item definition. Adds (or replaces if one already exists) a local item definition.
2.0
Exceptions:
If an error occurs, function leaves with an error code. Item definition object is either added into local definition list or destroyed depending on when the error occured.
Note:
Since the method always assumes ownership of aDef, it must not be pushed into the cleanup stack.
CAknsItemDef * aDef | New local item definition. Ownership of definition object is transferred to skin instance and caller should make no access to it after this call. |
TAknsSkinChangeReason | SkinChangeReason | ( | ) | [pure virtual] |
Queries the last skin change reason. This function can be used to query the last reason why skin change occurred. Usually client would use this inside the HandleResourceChange call. If no skin change events have been reported for the application, the function returns ENormalSkinChange.
3.1
the last skin change reason.