14 #ifndef __INCLUDED_SCOPIRA_CORE_REGISTER_H__ 15 #define __INCLUDED_SCOPIRA_CORE_REGISTER_H__ 17 #include <scopira/tool/objflowloader.h> 40 vg_windowui_c = 0x0004,
42 vg_needs_project_c = 0x0100,
43 vg_needs_copyfunc_c = 0x0200,
52 no_uimode_c = vg_noui_c,
54 windowonly_uimode_c = vg_windowui_c,
82 SCOPIRA_EXPORT
void link_model_imp(
const std::type_info &
id,
bool linktomodeltype);
84 SCOPIRA_EXPORT
void link_view_imp(
const std::type_info &
id,
const char *model_type,
const char *menu_name,
int vgmask);
112 const char * pm_parents[4];
117 mi_set(
const char *parent0)
118 { pm_parents[0] = parent0; pm_parents[1] = 0; }
119 mi_set(
const char *parent0,
const char *parent1)
120 { pm_parents[0] = parent0; pm_parents[1] = parent1; pm_parents[2] = 0; }
121 mi_set(
const char *parent0,
const char *parent1,
const char *parent2)
122 { pm_parents[0] = parent0; pm_parents[1] = parent1; pm_parents[2] = parent2; pm_parents[3] = 0; }
159 : parent_type(fullname)
163 : parent_type(fullname)
168 : parent_type(fullname, dummy)
192 : parent_type(fullname)
196 : parent_type(fullname)
201 : parent_type(fullname)
205 : parent_type(fullname, 1)
239 register_view(
const char *fullname,
const char *model_type,
const char *menu_name,
int vgmask = default_uimode_c)
240 : parent_type(fullname)
register_model(const char *fullname, const char *parent_name, copyable_model_type dummyinstance)
ctor, null parent_name means "model_i", this version is for stuff with cpy ctors
Definition: core/register.h:195
Definition: objecttype.h:38
register_model(const char *fullname, const char *parent_name, interface_model_type dummyinstance)
ctor, null parent_name means "model_i", interface version (ie. no loader)
Definition: core/register.h:204
void link_model_imp(const std::type_info &id, bool linktomodeltype)
internal functions
register_object(const char *fullname, const char *parent_name=0)
ctor, null parent_name means "top level object" (ie from tool::object)
Definition: core/register.h:158
register_flow(const char *fullname, int dummy)
version that has a NULL loader
Definition: core/register.h:141
Definition: core/register.h:69
Definition: archiveflow.h:20
register_model(const char *fullname, mi_set s)
ctor
Definition: core/register.h:200
register_model(const char *fullname, const char *parent_name=0)
ctor, null parent_name means "model_i"
Definition: core/register.h:191
Definition: core/register.h:109
register_object(const char *fullname, const char *parent_name, int dummy)
Definition: core/register.h:167
void link_object_parent_imp(const std::type_info &id, const char *parent_name)
internal functions
a class type for models that are just interfaces
Definition: core/register.h:58
void link_view_imp(const std::type_info &id, const char *model_type, const char *menu_name, int vgmask)
internal functions
register_object(const char *fullname, mi_set s)
ctor
Definition: core/register.h:162
void build_objecttype_tree(scopira::tool::count_ptr< scopira::core::objecttype > &out)
internal functions
const char * model_type_c
common type string: base of all models
const char * project_type_c
common type string: base of all project-enabled models
const char * view_type_c
common type string: base of all views
void link_object_copyfunc(const std::type_info &id, copyfunc_t cf)
internal functions
Definition: core/register.h:67
a class type for models that are copyable
Definition: core/register.h:60
const char * object_type_c
common type string: base of everything
register_flow(const char *fullname)
ctor, yes, just plain char *
Definition: core/register.h:137
Definition: core/register.h:68
void flow_reg_imp(const std::type_info &id, const char *name, scopira::tool::objflowloader::loadfunc_t loader)
internal functions
register_view(const char *fullname, const char *model_type, const char *menu_name, int vgmask=default_uimode_c)
ctor, null parent_name means "top level object" (ie from tool::object)
Definition: core/register.h:239
Definition: core/register.h:70