** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: views.cpp,v 1.86 2001/01/28 21:57:09 kevin Exp $
+** $Id: views.cpp,v 1.87 2001/01/28 22:45:54 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
DrawRubberBandCursor (dc, pt.x, yPt);
m_xCursor = pt.x;
m_yCursor = yPt;
+ wxMenu* pMenu = m_pView->getMenuAnalyze();
+ if (pMenu && ! pMenu->IsEnabled(IFMENU_PLOT_ROW)) {
+ pMenu->Enable (IFMENU_PLOT_ROW, true);
+ pMenu->Enable (IFMENU_PLOT_COL, true);
+ pMenu->Enable (IFMENU_COMPARE_ROW, true);
+ pMenu->Enable (IFMENU_COMPARE_COL, true);
+ pMenu->Enable (IFMENU_PLOT_FFT_ROW, true);
+ pMenu->Enable (IFMENU_PLOT_FFT_COL, true);
+ }
} else
*theApp->getLog() << "Mouse out of image range (" << pt.x << "," << yPt << ")\n";
}
differenceImage.setArraySize (rIF.nx(), rIF.ny());
if (! rIF.subtractImages (rCompareIF, differenceImage)) {
- pDifferenceDoc->getView()->getFrame()->Close(true);
+ pDifferenceDoc->getView()->getFrame()->Show(true);
+ GetDocumentManager()->ActivateView (pDifferenceDoc->getView(), true, false);
+ pDifferenceDoc->getView()->getFrame()->SetFocus();
+ wxCommandEvent event;
+ GetDocumentManager()->OnFileClose (event);
+ GetDocumentManager()->ActivateView (this, true, false);
+ getFrame()->SetFocus();
return;
}
image_menu->AppendSeparator();
image_menu->Append (IFMENU_IMAGE_SCALESIZE, "S&cale Size...");
- wxMenu *analyze_menu = new wxMenu;
- analyze_menu->Append (IFMENU_PLOT_ROW, "Plot &Row");
- analyze_menu->Append (IFMENU_PLOT_COL, "Plot &Column");
- analyze_menu->Append (IFMENU_PLOT_HISTOGRAM, "Plot &Histogram");
- analyze_menu->AppendSeparator();
- analyze_menu->Append (IFMENU_PLOT_FFT_ROW, "Plot FFT Row");
- analyze_menu->Append (IFMENU_PLOT_FFT_COL, "Plot FFT Column");
- analyze_menu->AppendSeparator();
- analyze_menu->Append (IFMENU_COMPARE_IMAGES, "Compare &Images...");
- analyze_menu->Append (IFMENU_COMPARE_ROW, "Compare &Row");
- analyze_menu->Append (IFMENU_COMPARE_COL, "Compare &Column");
+ m_pMenuAnalyze = new wxMenu;
+ m_pMenuAnalyze->Append (IFMENU_PLOT_ROW, "Plot &Row");
+ m_pMenuAnalyze->Append (IFMENU_PLOT_COL, "Plot &Column");
+ m_pMenuAnalyze->Append (IFMENU_PLOT_HISTOGRAM, "Plot &Histogram");
+ m_pMenuAnalyze->AppendSeparator();
+ m_pMenuAnalyze->Append (IFMENU_PLOT_FFT_ROW, "Plot FFT Row");
+ m_pMenuAnalyze->Append (IFMENU_PLOT_FFT_COL, "Plot FFT Column");
+ m_pMenuAnalyze->AppendSeparator();
+ m_pMenuAnalyze->Append (IFMENU_COMPARE_IMAGES, "Compare &Images...");
+ m_pMenuAnalyze->Append (IFMENU_COMPARE_ROW, "Compare &Row");
+ m_pMenuAnalyze->Append (IFMENU_COMPARE_COL, "Compare &Column");
+ m_pMenuAnalyze->Enable (IFMENU_PLOT_ROW, false);
+ m_pMenuAnalyze->Enable (IFMENU_PLOT_COL, false);
+ m_pMenuAnalyze->Enable (IFMENU_COMPARE_ROW, false);
+ m_pMenuAnalyze->Enable (IFMENU_COMPARE_COL, false);
+ m_pMenuAnalyze->Enable (IFMENU_PLOT_FFT_ROW, false);
+ m_pMenuAnalyze->Enable (IFMENU_PLOT_FFT_COL, false);
wxMenu *help_menu = new wxMenu;
help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
menu_bar->Append(view_menu, "&View");
menu_bar->Append(image_menu, "&Image");
menu_bar->Append(filter_menu, "Fi<er");
- menu_bar->Append(analyze_menu, "&Analyze");
+ menu_bar->Append(m_pMenuAnalyze, "&Analyze");
menu_bar->Append(help_menu, "&Help");
subframe->SetMenuBar(menu_bar);
m_pCanvas->setView(NULL);
m_pCanvas = NULL;
}
+ m_pFrame->Show(false);
wxString s(theApp->GetAppName());
if (m_pFrame)
m_pFrame->SetTitle(s);
Activate(false);
if (deleteWindow) {
- m_pFrame->Show(false);
m_pFrame->Destroy();
m_pFrame = NULL;
}
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
#endif
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
}
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
}
if (theApp->getSetModifyNewDocs())
pPlotDoc->Modify(true);
pPlotDoc->UpdateAllViews ();
+ pPlotDoc->getView()->OnUpdate (this, NULL);
+ pPlotDoc->getView()->getFrame()->Show(true);
}
}
m_pCanvas->setView(NULL);
m_pCanvas = NULL;
}
+ m_pFrame->Show(false);
wxString s(wxTheApp->GetAppName());
if (m_pFrame)
m_pFrame->SetTitle(s);
Activate(false);
if (deleteWindow) {
- m_pFrame->Show(false);
m_pFrame->Destroy();
m_pFrame = NULL;
}
convert_menu->Append (PJMENU_CONVERT_FFT_POLAR, "&FFT->Polar Image...\tCtrl-I");
wxMenu *reconstruct_menu = new wxMenu;
- reconstruct_menu->Append (PJMENU_RECONSTRUCT_FBP, "&Filtered Backprojection...\tCtrl-R");
- reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...\tCtrl-E");
+ reconstruct_menu->Append (PJMENU_RECONSTRUCT_FBP, "&Filtered Backprojection...\tCtrl-R", "Reconstruct image using filtered backprojection");
+ reconstruct_menu->Append (PJMENU_RECONSTRUCT_FOURIER, "&Fourier...\tCtrl-E", "Reconstruct image using inverse Fourier");
+ reconstruct_menu->Enable (PJMENU_RECONSTRUCT_FOURIER, false);
wxMenu *help_menu = new wxMenu;
help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1");
m_pCanvas->setView(NULL);
m_pCanvas = NULL;
}
+ m_pFrame->Show(false);
wxString s(wxTheApp->GetAppName());
if (m_pFrame)
m_pFrame->SetTitle(s);
Activate(false);
if (deleteWindow) {
- m_pFrame->Show(false);
m_pFrame->Destroy();
m_pFrame = NULL;
}
m_pCanvas->setView (NULL);
m_pCanvas = NULL;
}
+ m_pFrame->Show(false);
wxString s(wxTheApp->GetAppName());
if (m_pFrame)
m_pFrame->SetTitle(s);
m_pFrame->SetView(NULL);
SetFrame(NULL);
if (deleteWindow) {
- m_pFrame->Show(false);
m_pFrame->Destroy();
m_pFrame = NULL;
}
return false;
m_pCanvas->Show(false);
+ m_pFrame->Show(false);
Activate(false);
SetFrame(NULL);
m_pFrame->SetView(NULL);
if (deleteWindow) {
- m_pFrame->Show(false);
m_pFrame->Destroy();
m_pFrame = NULL;