void wxGISTaskCmd::OnClick(void) { wxGxSelection* pSel = m_pApp->GetGxSelection(); wxGxCatalogBase* pCat = GetGxCatalog(); switch(m_subtype) { case 0: if(pCat && pSel) { //for(size_t i = 0; i < pSel->GetCount(); ++i) //{ // wxGxObject* pGxObject = pCat->GetRegisterObject(pSel->GetSelectedObjectId(i)); // IGxTask* pGxTask = dynamic_cast<IGxTask*>(pGxObject); // if(pGxTask) // pGxTask->ShowToolConfig(dynamic_cast<wxWindow*>(m_pApp)); //} } break; case 1: if(pCat && pSel) { //for(size_t i = 0; i < pSel->GetCount(); ++i) //{ // wxGxObject* pGxObject = pCat->GetRegisterObject(pSel->GetSelectedObjectId(i)); // IGxTask* pGxTask = dynamic_cast<IGxTask*>(pGxObject); // if(pGxTask) // pGxTask->ShowProcess(dynamic_cast<wxWindow*>(m_pApp)); //} } break; case 2: if(pCat && pSel) { for(size_t i = 0; i < pSel->GetCount(); ++i) { wxGxObject* pGxObject = pCat->GetRegisterObject(pSel->GetSelectedObjectId(i)); IGxTask* pGxTask = dynamic_cast<IGxTask*>(pGxObject); if(pGxTask) pGxTask->StartTask(); } } break; case 3: if(pCat && pSel) { for(size_t i = 0; i < pSel->GetCount(); ++i) { wxGxObject* pGxObject = pCat->GetRegisterObject(pSel->GetSelectedObjectId(i)); IGxTask* pGxTask = dynamic_cast<IGxTask*>(pGxObject); if(pGxTask) pGxTask->StopTask(); } } break; default: return; } }