File : API\core\INamed.h Namespace : core
Interface for naming entities like tools, user interface elements, and so on. Almost any object that user deals with and need to have a visual title, need to support this interface, unless it's directly have methods like "getName" (like in rend::IMaterial), or "getTitle". Naming objects with core::INamed interface is a common ZModeler semantic.
Even if you unsure whether certain class need to inherit from core::INamed, it's better to give it a naming support (you can inherit your class from a helper core::CNamed class if you like). It would be hard to recollect all cases when supporting core::INamed is requied, but here a couple of examples:
getName | Provides name of an implementation object (usually a fully-qualified class name) |
setName | Sets name of an implementation object. |
getTitle | Provides a user-friendly title of an object (can changed by localization service). |
setTitle | Sets user-friendly title of an object (usually by localization service). |
getDescription | Provides a description. In case of tools, this is a set of hints displayed as tooltips. |
setDescription | Sets description (usually by localization service). |