|
From: Ralph T. <ra...@us...> - 2005-04-22 20:17:20
|
Update of /cvsroot/adobe-source/sandbox/visual_refactor/adobe/test/visual/sources In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8191/visual_refactor/adobe/test/visual/sources Modified Files: client_assembler.cpp Log Message: The widget size now comes from the parent by default (rather than from the token). Index: client_assembler.cpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/visual_refactor/adobe/test/visual/sources/client_assembler.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** client_assembler.cpp 22 Apr 2005 19:29:20 -0000 1.6 --- client_assembler.cpp 22 Apr 2005 20:17:09 -0000 1.7 *************** *** 829,833 **** void set_up_control(client_proxy_t& local, Widget& control, const adobe::widget_node_t& parent, const adobe::factory_token_t& token) { ! local.size_m = token.dialog_size_m; adobe::ui_core_interface::adorn_theme(control, size_to_theme(local.size_m)); --- 829,833 ---- void set_up_control(client_proxy_t& local, Widget& control, const adobe::widget_node_t& parent, const adobe::factory_token_t& token) { ! local.size_m = parent.size_m; adobe::ui_core_interface::adorn_theme(control, size_to_theme(local.size_m)); *************** *** 989,993 **** { display_token_m = parent.display_token_m; ! size_m = token.dialog_size_m; } --- 989,993 ---- { display_token_m = parent.display_token_m; ! size_m = parent.size_m; } *************** *** 1022,1026 **** { display_token_m = parent.display_token_m; ! size_m = token.dialog_size_m; } --- 1022,1026 ---- { display_token_m = parent.display_token_m; ! size_m = parent.size_m; } *************** *** 1053,1057 **** { display_token_m = parent.display_token_m; ! size_m = token.dialog_size_m; } --- 1053,1057 ---- { display_token_m = parent.display_token_m; ! size_m = parent.size_m; } *************** *** 2773,2777 **** const adobe::widget_node_t& parent) : client_proxy_t(parameters), ! control_m(name_m, adobe::value_t(true), adobe::value_t(false), size_to_theme(token.dialog_size_m)), last_m(0) { --- 2773,2777 ---- const adobe::widget_node_t& parent) : client_proxy_t(parameters), ! control_m(name_m, adobe::value_t(true), adobe::value_t(false), size_to_theme(parent.size_m)), last_m(0) { *************** *** 2872,2876 **** layout_m = &token.layout_m; ! size_m = token.dialog_size_m; adobe::window_attributes_t attributes(adobe::window_attributes_standard_handler_s); --- 2872,2876 ---- layout_m = &token.layout_m; ! size_m = parent.size_m; adobe::window_attributes_t attributes(adobe::window_attributes_standard_handler_s); *************** *** 2973,2977 **** parameters.get<bool>(key_metal, metal); ! size_m = token.dialog_size_m; adobe::window_attributes_t attributes(adobe::window_attributes_standard_handler_s); --- 2973,2977 ---- parameters.get<bool>(key_metal, metal); ! size_m = parent.size_m; adobe::window_attributes_t attributes(adobe::window_attributes_standard_handler_s); *************** *** 3145,3155 **** wire_to_eve(const adobe::factory_token_t& token, const adobe::widget_node_t& parent, const adobe::dictionary_t& parameters) { - // The view_proxy_t will be owned by Eve. We are only interested in deleting the proxy object. - // - // REVISIT (ralpht): I still don't understand why auto_new_proxy is here. - // adobe::eve_t::signal_suite_t signals; ! adobe::auto_ptr<T> auto_new_proxy(new T(parameters, token, parent)); ! T* new_proxy(auto_new_proxy.get()); signals.eve_container_defaults_proc_m = optional_container_defaults<T>(); --- 3145,3150 ---- wire_to_eve(const adobe::factory_token_t& token, const adobe::widget_node_t& parent, const adobe::dictionary_t& parameters) { adobe::eve_t::signal_suite_t signals; ! T* new_proxy(new T(parameters, token, parent)); signals.eve_container_defaults_proc_m = optional_container_defaults<T>(); *************** *** 3158,3173 **** signals.eve_place_proc_m = boost::bind(&adobe::eve_interface::place<T>, boost::ref(*new_proxy), _1, _2); ! new_proxy->eve_token_m = token.layout_m.add_view_element( parent.eve_token_m, ! adobe::eve_t::insert_element_t( ! optional_container_defaults<T>::is_container, ! parameters, ! signals) ! ); ! token.assemblage_m.delete_on_destruction(new_proxy); ! auto_new_proxy.release(); ! ! return adobe::widget_node_t(new_proxy->eve_token_m, new_proxy->display_token_m); } --- 3153,3166 ---- signals.eve_place_proc_m = boost::bind(&adobe::eve_interface::place<T>, boost::ref(*new_proxy), _1, _2); ! new_proxy->eve_token_m = ! token.layout_m.add_view_element(parent.eve_token_m, ! adobe::eve_t::insert_element_t( ! optional_container_defaults<T>::is_container, ! parameters, ! signals) ! ); token.assemblage_m.delete_on_destruction(new_proxy); ! return adobe::widget_node_t(new_proxy->size_m, new_proxy->eve_token_m, new_proxy->display_token_m); } *************** *** 3326,3337 **** { // ! // If we don't have any parent (which is the case the first time ! // this function is called), then we make one up. // ! return default_factory(class_name, arguments, ! parent.empty() ? ! adobe::widget_node_t(adobe::eve_t::iterator(), adobe::get_main_display().root()) : ! boost::any_cast<adobe::widget_node_t>(parent), ! token); } --- 3319,3327 ---- { // ! // REVISIT (ralpht): It looks almost like boost::bind could replace the ! // client assembler. The only change due here is to use the factory ! // function given to window_server_t rather than default_factory. // ! return default_factory(class_name, arguments, boost::any_cast<adobe::widget_node_t>(parent), token); } *************** *** 3475,3481 **** adobe::eve_t* result_eve(new adobe::eve_t()); ! adobe::factory_token_t token(adobe::get_main_display(), result->assemblage_m, *result_eve, sheet, notifier, result->widget_stream_m, result->show_window_m, dialog_size); ! adobe::eve::parse(stream, adobe::line_position_t(file_name), adobe::eve::position_t(), boost::bind(&::client_assembler, boost::ref(token), _1, _3, boost::bind(adobe::eve::evaluate_arguments(), _4))); --- 3465,3476 ---- adobe::eve_t* result_eve(new adobe::eve_t()); ! adobe::factory_token_t token(adobe::get_main_display(), result->assemblage_m, *result_eve, sheet, notifier, result->widget_stream_m, result->show_window_m); ! // ! // We set the initial parent to be the root of the main display, an ! // empty eve iterator and the given dialog size. ! // ! adobe::eve::parse(stream, adobe::line_position_t(file_name), ! adobe::widget_node_t(dialog_size, adobe::eve_t::iterator(), adobe::get_main_display().root()), boost::bind(&::client_assembler, boost::ref(token), _1, _3, boost::bind(adobe::eve::evaluate_arguments(), _4))); |