예제 #1
0
void draw_control::xlsx_convert(oox::xlsx_conversion_context & Context)
{
	if (!control_id_) return;

	oox::forms_context::_state & state = Context.get_forms_context().get_state_element(*control_id_);
	if (state.id.empty()) return;

	if (state.ctrlPropId.empty())
	{
		std::wstring target;
		state.ctrlPropId = Context.get_mediaitems().add_control_props(target);
		
		std::wstringstream strm;		
		
		form_element* control = dynamic_cast<form_element*>(state.element);
		if (control)
		{
			control->serialize_control_props(strm);
		}

		Context.add_control_props(state.ctrlPropId, target, strm.str());
	}

	Context.get_drawing_context().start_frame();
	Context.get_drawing_context().set_control(state.ctrlPropId);
	
	common_xlsx_convert(Context);

	Context.get_drawing_context().end_frame();
	Context.get_drawing_context().clear();

}