added ModelWrapperSpace for wrapping the pt::Space class
This commit is contained in:
24
src/model.h
24
src/model.h
@@ -457,7 +457,7 @@ protected:
|
||||
|
||||
void field(const wchar_t * field_name, pt::Space & field_value, const FT & field_type = FT::default_type)
|
||||
{
|
||||
field_generic(field_name, field_name, field_value, field_type);
|
||||
field_space(field_name, field_name, field_value, field_type);
|
||||
}
|
||||
|
||||
void field(const wchar_t * field_name, Model & field_value, const FT & field_type = FT::default_type)
|
||||
@@ -587,7 +587,7 @@ protected:
|
||||
|
||||
void field(const wchar_t * db_field_name, const wchar_t * flat_field_name, pt::Space & field_value, const FT & field_type = FT::default_type)
|
||||
{
|
||||
field_generic(db_field_name, flat_field_name, field_value, field_type);
|
||||
field_space(db_field_name, flat_field_name, field_value, field_type);
|
||||
}
|
||||
|
||||
void field(const wchar_t * db_field_name, const wchar_t * flat_field_name, Model & field_value, const FT & field_type = FT::default_type)
|
||||
@@ -823,6 +823,26 @@ protected:
|
||||
}
|
||||
|
||||
|
||||
void field_space(const wchar_t * db_field_name, const wchar_t * flat_field_name, pt::Space & field_value, const FT & field_type)
|
||||
{
|
||||
if( model_connector && model_env )
|
||||
{
|
||||
if( model_env->model_work_mode == MORM_MODEL_WORK_MODE_GET_MODEL_WRAPPER )
|
||||
{
|
||||
if( (is_empty_field(model_env->db_field_name) || is_the_same_field(db_field_name, model_env->db_field_name)) &&
|
||||
(is_empty_field(model_env->flat_field_name) || is_the_same_field(flat_field_name, model_env->flat_field_name)) &&
|
||||
!model_env->model_wrapper )
|
||||
{
|
||||
model_env->model_wrapper = new ModelWrapperSpace(&field_value);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
field_generic(db_field_name, flat_field_name, field_value, field_type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void field_member_set_field_value(
|
||||
const wchar_t * db_field_name,
|
||||
|
Reference in New Issue
Block a user