projects
/
ctsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
r632: Added Clipboard functions to image files
[ctsim.git]
/
src
/
docs.cpp
diff --git
a/src/docs.cpp
b/src/docs.cpp
index 96f7ee3c2ae793d842e34f91a0fce7abdb99b47f..aa70dbfb4bb72c563fd38cdb5019ff8e0f557857 100644
(file)
--- 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
**
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: docs.cpp,v 1.3
0 2001/02/25 16:21:36
kevin Exp $
+** $Id: docs.cpp,v 1.3
4 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
**
** 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<ImageFileView*>(GetFirstView());
}
return dynamic_cast<ImageFileView*>(GetFirstView());
}
+void
+ImageFileDocument::Activate()
+{
+#if CTSIM_MDI
+ getView()->getFrame()->Activate();
+#endif
+};
bool
ImageFileDocument::Revert ()
bool
ImageFileDocument::Revert ()
@@
-130,27
+137,20
@@
ImageFileDocument::Revert ()
IMPLEMENT_DYNAMIC_CLASS(BackgroundProcessingDocument, wxDocument)
BEGIN_EVENT_TABLE(BackgroundProcessingDocument, wxDocument)
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()
END_EVENT_TABLE()
+#ifdef HAVE_WXTHREADS
void
void
-BackgroundProcessingDocument::
OnAddBackground (wxCommandEvent& event
)
+BackgroundProcessingDocument::
addBackgroundSupervisor (BackgroundSupervisor* pSupervisor
)
{
{
- BackgroundSupervisor* pSupervisor = reinterpret_cast<BackgroundSupervisor*>(event.GetClientData());
- wxASSERT (pSupervisor != NULL);
-
wxCriticalSectionLocker locker (m_criticalSection);
if (pSupervisor)
m_vecpBackgroundSupervisors.push_back (pSupervisor);
}
void
wxCriticalSectionLocker locker (m_criticalSection);
if (pSupervisor)
m_vecpBackgroundSupervisors.push_back (pSupervisor);
}
void
-BackgroundProcessingDocument::
OnRemoveBackground (wxCommandEvent& event
)
+BackgroundProcessingDocument::
removeBackgroundSupervisor (BackgroundSupervisor* pSupervisor
)
{
{
- BackgroundSupervisor* pSupervisor = reinterpret_cast<BackgroundSupervisor*>(event.GetClientData());
- wxASSERT (pSupervisor != NULL);
-
m_criticalSection.Enter();
bool bFound = false;
for (BackgroundContainer::iterator i = m_vecpBackgroundSupervisors.begin();
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]");
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()
{
void
BackgroundProcessingDocument::cancelRunningTasks()
{
+#ifdef HAVE_WXTHREADS
m_criticalSection.Enter();
for (BackgroundContainer::iterator i = m_vecpBackgroundSupervisors.begin();
i != m_vecpBackgroundSupervisors.end(); i++)
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);
}
m_criticalSection.Leave();
while (m_vecpBackgroundSupervisors.size() > 0) {
::wxYield();
::wxUsleep(50);
}
+#endif
}
}