//static void TransformTools::RemoveUncopyable() { std::list<HeeksObj*> uncopyable_objects; for(std::list<HeeksObj*>::const_iterator It = wxGetApp().m_marked_list->list().begin(); It != wxGetApp().m_marked_list->list().end(); It++) { HeeksObj* object = *It; if(!object->CanBeCopied())uncopyable_objects.push_back(object); } if(uncopyable_objects.size() > 0)wxGetApp().m_marked_list->Remove(uncopyable_objects, true); }
void MarkedList::GetTools(MarkedObject* clicked_object, std::list<Tool*>& t_list, const wxPoint* p, bool copy_and_paste_tools){ if(wxGetApp().m_no_creation_mode)return; if (m_list.size() > 0) { t_list.push_back(&delete_marked_list_tool); t_list.push_back(new MenuSeparator); } if(m_list.size() == 1) { m_list.front()->GetTools(&t_list, p); } GetConversionMenuTools(&t_list); #ifdef MULTIPLE_OWNERS GetConstraintMenuTools(&t_list); #endif GetSketchMenuTools(&t_list); GetSolidMenuTools(&t_list); if(copy_and_paste_tools) { // cut and copy tools for(std::list<HeeksObj*>::iterator It = m_list.begin(); It != m_list.end(); It++) { HeeksObj* object = *It; if(object->CanBeCopied()) { t_list.push_back(©_marked_list); break; } } // paste if (wxGetApp().IsPasteReady()) { paste_tool.m_paste_into = clicked_object->GetObject(); t_list.push_back(&paste_tool); } } }