added possibility to take a Space struct in Models: Models::Add(const std::wstring & name, pt::Space & space);
This commit is contained in:
@@ -1256,12 +1256,7 @@ void Generator<StreamType>::CallSpace(morm::ModelWrapper & model_wrapper, pt::Sp
|
||||
for(size_t i=field_index ; i < fields.size() + 1 ; ++i)
|
||||
{
|
||||
bool is_last_field = (i == fields.size());
|
||||
|
||||
if( i == 0 )
|
||||
field = find_helper.fun_name;
|
||||
else
|
||||
field = &fields[i - 1];
|
||||
|
||||
field = (i == 0) ? find_helper.fun_name : &fields[i - 1];
|
||||
|
||||
if( space->is_object() )
|
||||
{
|
||||
@@ -1498,18 +1493,28 @@ void Generator<StreamType>::CallModelWrapper(FindHelper & find_helper, std::vect
|
||||
}
|
||||
else
|
||||
{
|
||||
// all fields items are models or models containers
|
||||
// all fields items are models or models containers or last one is Space
|
||||
// this is usualy in [for...] or [if ...] statements
|
||||
if( stack_tab[stack_index-1].is_for )
|
||||
|
||||
if( space )
|
||||
{
|
||||
// helper.model_wrapper is always set
|
||||
helper.model_wrapper->increment_iterator();
|
||||
helper.model_wrapper->clear_childs();
|
||||
last_res = helper.model_wrapper->is_iterator_correct();
|
||||
CallSpace(*helper.model_wrapper, *space, find_helper, fields, helper.field_index, parameters, out_stream);
|
||||
}
|
||||
else
|
||||
{
|
||||
last_res = !helper.model_wrapper->is_container_empty();
|
||||
if( stack_tab[stack_index-1].is_for )
|
||||
{
|
||||
// helper.model_wrapper is always set
|
||||
helper.model_wrapper->increment_iterator();
|
||||
helper.model_wrapper->clear_childs();
|
||||
last_res = helper.model_wrapper->is_iterator_correct();
|
||||
}
|
||||
else
|
||||
{
|
||||
last_res = !helper.model_wrapper->is_container_empty();
|
||||
}
|
||||
|
||||
// add support for "dump" parameter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user