platform_display_type insert<checkbox_t>(display_t& display, platform_display_type& parent, checkbox_t& element) { ::HIViewRef parent_ref(parent); initialize(element, parent_ref); return display.insert(parent, element.control_m); }
platform_display_type insert<label_t>(display_t& display, platform_display_type& parent, label_t& element) { ::HIViewRef parent_ref(parent); initialize(element, parent_ref); ::HIViewRef ref(element.control_m.get()); platform_display_type result(display.insert(parent, ref)); element.subevent_m.handler_m.install(ref); return result; }
platform_display_type insert<button_t>(display_t& display, platform_display_type& parent, button_t& element) { static const ::Rect bounds_s = { 0, 0, 1024, 1024 }; assert(element.control_m == false); button_state_set_t::iterator state(button_default_state(element.state_set_m)); ::HIViewRef parent_ref(parent); ::WindowRef window(::GetControlOwner(parent_ref)); ADOBE_REQUIRE_STATUS(::CreatePushButtonControl(window, &bounds_s, explicit_cast<auto_cfstring_t>(state->name_m).get(), &element.control_m)); implementation::set_theme(element.control_m, element.theme_m); implementation::set_active(element.control_m, element.enabled_m); if (state->alt_text_m.empty() == false) implementation::set_control_alt_text(element.control_m, state->alt_text_m); element.hit_handler_m.handler_m.install(element.control_m); implementation::set_widget_data(element.control_m, kControlEntireControl, kControlPushButtonDefaultTag, static_cast< ::Boolean >(element.is_default_m)); implementation::set_widget_data(element.control_m, kControlEntireControl, kControlPushButtonCancelTag, static_cast< ::Boolean >(element.is_cancel_m)); assert(element.mod_key_handler_m.handler_m.is_installed() == false); if (element.state_set_m.size() > 1) element.mod_key_handler_m.handler_m.install(window); return display.insert(parent, element.control_m); }