void attach_popup_menu_item_set(popup_t&           control,
                                name_t             cell,
                                Sheet&             sheet,
                                assemblage_t&      assemblage,
                                eve_client_holder& /*client_holder*/)
{
    dynamic_menu_item_set_view_t* tmp = new dynamic_menu_item_set_view_t(control);

    assemblage.cleanup(boost::bind(delete_ptr(), tmp));

    attach_view(assemblage, cell, *tmp, sheet);
}
void subscribe_view_to_model(toggle_t&               control,
                             name_t                  cell, 
                             sheet_t*                layout_sheet,
                             sheet_t*                model_sheet,
                             assemblage_t&           assemblage,
                             visible_change_queue_t& visible_queue)
{
    typedef force_relayout_view_adaptor<toggle_t> adaptor_type;

    adaptor_type* view_adaptor(new adaptor_type(control, visible_queue));

    assemblage.cleanup(boost::bind(delete_ptr(), view_adaptor));

    if (layout_sheet)
    {
        attach_view(assemblage, cell, *view_adaptor, *layout_sheet);
        return;
    }

    attach_view(assemblage, cell, *view_adaptor, *model_sheet);
}
Beispiel #3
0
inline void assemblage_cleanup_connection(assemblage_t& assemblage, boost::signals::connection& x)
{ assemblage.cleanup(boost::bind(&boost::signals::connection::disconnect, x)); }
Beispiel #4
0
inline void assemblage_cleanup_ptr(assemblage_t& assemblage, T* x)
{ assemblage.cleanup(boost::bind(delete_ptr<T*>(), x)); }