X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdocs.cpp;h=aa70dbfb4bb72c563fd38cdb5019ff8e0f557857;hb=08c1ec110dc7936c2bbd1c619bd2cf3618c6b4cc;hp=96f7ee3c2ae793d842e34f91a0fce7abdb99b47f;hpb=4d5f56994972346351a48730315a7d85924103ba;p=ctsim.git diff --git a/src/docs.cpp b/src/docs.cpp index 96f7ee3..aa70dbf 100644 --- a/src/docs.cpp +++ b/src/docs.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: docs.cpp,v 1.30 2001/02/25 16:21:36 kevin Exp $ +** $Id: docs.cpp,v 1.34 2001/03/11 17:55:29 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -104,6 +104,13 @@ ImageFileDocument::getView() const return dynamic_cast(GetFirstView()); } +void +ImageFileDocument::Activate() +{ +#if CTSIM_MDI + getView()->getFrame()->Activate(); +#endif +}; bool ImageFileDocument::Revert () @@ -130,27 +137,20 @@ ImageFileDocument::Revert () IMPLEMENT_DYNAMIC_CLASS(BackgroundProcessingDocument, wxDocument) BEGIN_EVENT_TABLE(BackgroundProcessingDocument, wxDocument) -EVT_MENU(BackgroundSupervisor::MSG_BACKGROUND_SUPERVISOR_ADD, BackgroundProcessingDocument::OnAddBackground) -EVT_MENU(BackgroundSupervisor::MSG_BACKGROUND_SUPERVISOR_REMOVE, BackgroundProcessingDocument::OnRemoveBackground) END_EVENT_TABLE() +#ifdef HAVE_WXTHREADS void -BackgroundProcessingDocument::OnAddBackground (wxCommandEvent& event) +BackgroundProcessingDocument::addBackgroundSupervisor (BackgroundSupervisor* pSupervisor) { - BackgroundSupervisor* pSupervisor = reinterpret_cast(event.GetClientData()); - wxASSERT (pSupervisor != NULL); - wxCriticalSectionLocker locker (m_criticalSection); if (pSupervisor) m_vecpBackgroundSupervisors.push_back (pSupervisor); } void -BackgroundProcessingDocument::OnRemoveBackground (wxCommandEvent& event) +BackgroundProcessingDocument::removeBackgroundSupervisor (BackgroundSupervisor* pSupervisor) { - BackgroundSupervisor* pSupervisor = reinterpret_cast(event.GetClientData()); - wxASSERT (pSupervisor != NULL); - m_criticalSection.Enter(); bool bFound = false; for (BackgroundContainer::iterator i = m_vecpBackgroundSupervisors.begin(); @@ -165,24 +165,24 @@ BackgroundProcessingDocument::OnRemoveBackground (wxCommandEvent& event) if (! bFound) sys_error (ERR_SEVERE, "Could not find background task [OnRemoveBackground]"); - - wxCommandEvent ackEvent (wxEVT_COMMAND_MENU_SELECTED, BackgroundSupervisor::MSG_DOCUMENT_ACK_REMOVE); - wxPostEvent (pSupervisor, ackEvent); } +#endif void BackgroundProcessingDocument::cancelRunningTasks() { +#ifdef HAVE_WXTHREADS m_criticalSection.Enter(); for (BackgroundContainer::iterator i = m_vecpBackgroundSupervisors.begin(); i != m_vecpBackgroundSupervisors.end(); i++) - BackgroundSupervisor::cancelSupervisor(*i); + (*i)->onCancel(); m_criticalSection.Leave(); while (m_vecpBackgroundSupervisors.size() > 0) { ::wxYield(); ::wxUsleep(50); } +#endif }