** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: docs.cpp,v 1.39 2002/06/02 17:57:02 kevin Exp $
+** $Id: docs.cpp,v 1.40 2002/06/02 19:01:58 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
*theApp->getLog() << "Read projection file " << filename << "\n";
SetFilename(filename, true);
Modify(false);
- UpdateAllViews();
getView()->setInitialClientSize();
+ UpdateAllViews();
m_bBadFileOpen = false;
return true;
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: graph3dview.cpp,v 1.24 2001/09/24 11:34:06 kevin Exp $
+** $Id: graph3dview.cpp,v 1.25 2002/06/02 19:01:58 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
{
m_pFrame = CreateChildFrame(doc, this);
- int width, height;
- m_pFrame->GetClientSize (&width, &height);
m_pFrame->SetTitle("Graph3dFileView");
m_pCanvas = CreateCanvas (m_pFrame);
InitGL();
- int x, y; // X requires a forced resize
- m_pFrame->GetSize(&x, &y);
- m_pFrame->SetSize(-1, -1, x, y);
m_pFrame->SetFocus();
m_pFrame->Show(true);
Activate(true);
int width, height;
parent->GetClientSize (&width, &height);
- pCanvas = new Graph3dFileCanvas (this, parent, wxPoint(0, 0), wxSize(200, 200), 0);
+ pCanvas = new Graph3dFileCanvas (this, parent, wxPoint(0, 0), wxSize(width,height), 0);
pCanvas->SetBackgroundColour(*wxWHITE);
pCanvas->Clear();
m_pView->OnDraw(& dc);
}
+
+wxSize
+Graph3dFileCanvas::GetBestSize() const
+{
+ return wxSize (400,400);
+}
+
void
Graph3dFileCanvas::OnSize (wxSizeEvent& event)
{
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: graph3dview.h,v 1.9 2002/05/28 18:43:16 kevin Exp $
+** $Id: graph3dview.h,v 1.10 2002/06/02 19:01:58 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
virtual ~Graph3dFileCanvas();
virtual void OnDraw(wxDC& dc);
+ virtual wxSize GetBestSize() const;
void OnSize(wxSizeEvent& event);
void OnEraseBackground(wxEraseEvent& event);
void OnChar(wxKeyEvent& event);
** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: views.cpp,v 1.157 2002/06/02 17:57:02 kevin Exp $
+** $Id: views.cpp,v 1.158 2002/06/02 19:01:58 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
Graph3dFileDocument* pGraph3d = theApp->newGraph3dDoc();
pGraph3d->setBadFileOpen();
pGraph3d->createFromImageFile (rIF);
- pGraph3d->getView()->OnUpdate (this, NULL);
pGraph3d->UpdateAllViews();
- pGraph3d->getView()->getFrame()->SetClientSize (400, 400);
pGraph3d->getView()->getFrame()->Show (true);
- GetDocumentManager()->ActivateView (pGraph3d->getView(), true, false);
+ pGraph3d->getView()->Activate(true);
::wxYield();
pGraph3d->getView()->getCanvas()->SetFocus();
}
bestSize.Set (rProj.nDet(), rProj.nView());
}
- if (bestSize.y < iMinY)
- bestSize.y = iMinY;
+ if (bestSize.x > 800)
+ bestSize.x = 800;
+ if (bestSize.y > 800)
+ bestSize.y = 800;
+
if (bestSize.x < iMinX)
bestSize.x = iMinX;
+ if (bestSize.y < iMinY)
+ bestSize.y = iMinY;
return bestSize;
}
{
m_pFrame = CreateChildFrame(doc, this);
SetFrame(m_pFrame);
-
- int width, height;
- m_pFrame->GetClientSize (&width, &height);
- m_pFrame->SetTitle ("ProjectionFileView");
m_pCanvas = CreateCanvas (m_pFrame);
-
+ m_pFrame->SetClientSize (m_pCanvas->GetBestSize());
+ m_pCanvas->SetClientSize (m_pCanvas->GetBestSize());
+ m_pFrame->SetTitle ("ProjectionFileView");
+
m_pFrame->Show(true);
Activate(true);
void
ProjectionFileView::setInitialClientSize ()
{
- wxSize bestSize = m_pCanvas->GetBestSize();
-
- if (bestSize.x > 800)
- bestSize.x = 800;
- if (bestSize.y > 800)
- bestSize.y = 800;
+ if (m_pFrame && m_pCanvas) {
+ wxSize bestSize = m_pCanvas->GetBestSize();
- m_pFrame->SetClientSize (bestSize);
- m_pFrame->Show (true);
- m_pFrame->SetFocus();
+ m_pFrame->SetClientSize (bestSize);
+ m_pFrame->Show (true);
+ m_pFrame->SetFocus();
+ }
}
void