Example #1
0
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;
	}
}