Example #1
0
void CreateProgPage::onButtonClick( wxCommandEvent& event )
{
	if (event.GetId() == m_butCancel->GetId())
	{
		//need to remove these so they dont cause any more wxEvents once this dies
		//other wise app crashes and god kills a kitten. 
		if (m_pThread)
		{
			*m_pThread->getMcfProgressEvent() -= delegate(this, &CreateProgPage::onProgress);
			*m_pThread->getErrorEvent() -= delegate(this, &CreateProgPage::onError);
			*m_pThread->getCompleteStringEvent() -= delegate(this, &CreateProgPage::onComplete);
			m_pThread->stop();
		}

		CreateMCFForm* temp = dynamic_cast<CreateMCFForm*>(GetParent());

		if (temp)
		{
			temp->cancelPrompt();
			temp->Close();
		}
	}
	else if (event.GetId() == m_butPause->GetId())
	{
		gcFrame* par = dynamic_cast<gcFrame*>(GetParent());

		if (m_bThreadPaused)
		{
			m_butPause->SetLabel(Managers::GetString(L"#PAUSE"));

			if (par)
				par->setProgressState(gcFrame::P_NORMAL);
		}
		else
		{
			m_butPause->SetLabel(Managers::GetString(L"#RESUME"));

			if (par)
				par->setProgressState(gcFrame::P_PAUSED);
		}

		
		if (m_pThread)
		{
			if (m_bThreadPaused)
				m_pThread->unpause();
			else
				m_pThread->pause();
			
			m_bThreadPaused = !m_bThreadPaused;
		}
	}
}
Example #2
0
void CreateProgPage::onError(gcException& e)
{
	gcFrame* par = dynamic_cast<gcFrame*>(GetParent());
	if (par)
		par->setProgressState(gcFrame::P_ERROR);

	gcErrorBox(this, "#CF_ERRTITLE", "#CF_ERROR", e);

	CreateMCFForm* temp = dynamic_cast<CreateMCFForm*>(GetParent());

	if (temp)
		temp->cancelPrompt();

	GetParent()->Close();
}