X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fviews.h;h=14a7e0c93913d80b271d0391408b722c42231c7d;hb=82ea0c94394a5a175b260160760155a6686203a1;hp=94b41fec60547e9285c10de55d8cb476ef64c185;hpb=af2b058715fb690c708734708ac178490371b3ad;p=ctsim.git diff --git a/src/views.h b/src/views.h index 94b41fe..14a7e0c 100644 --- a/src/views.h +++ b/src/views.h @@ -7,9 +7,9 @@ ** Date Started: July 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: views.h,v 1.34 2001/01/27 02:01:41 kevin Exp $ +** $Id: views.h,v 1.45 2001/02/08 06:25:07 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 @@ -36,6 +36,10 @@ #include "docs.h" #include "imagefile.h" +#if wxUSE_GLCANVAS +#include "graph3dview.h" +#endif + class ImageFileCanvas; class ImageFileView : public wxView { @@ -44,8 +48,9 @@ private: wxMemoryDC m_memoryDC; wxBitmap m_bitmap; + wxMenu* m_pMenuAnalyze; - ImageFileCanvas *CreateCanvas(wxView *view, wxFrame *parent); + ImageFileCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; wxDocMDIChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); @@ -66,7 +71,7 @@ private: wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame()->GetClientWindow(); } + { return theApp->getMainFrame(); } #else { return m_pFrame; } #endif @@ -85,12 +90,12 @@ public: void OnUpdate(wxView *sender, wxObject *hint = NULL); bool OnClose (bool deleteWindow = true); - void OnScaleSize (wxCommandEvent& event); - void OnExport (wxCommandEvent& event); - + void OnRevert (wxCommandEvent& event); + void OnExport (wxCommandEvent& event); void OnProperties (wxCommandEvent& event); - void OnCompare (wxCommandEvent& event); - + + void OnCompare (wxCommandEvent& event); + void OnScaleSize (wxCommandEvent& event); void OnInvertValues (wxCommandEvent& event); void OnSquare (wxCommandEvent& event); void OnSquareRoot (wxCommandEvent& event); @@ -104,7 +109,10 @@ public: void OnInverseFourier (wxCommandEvent& event); void OnShuffleNaturalToFourierOrder (wxCommandEvent& event); void OnShuffleFourierToNaturalOrder (wxCommandEvent& event); - +#if wxUSE_GLCANVAS + void OnConvert3d (wxCommandEvent& event); +#endif + #ifdef HAVE_FFT void OnFFT (wxCommandEvent& event); void OnIFFT (wxCommandEvent& event); @@ -130,9 +138,14 @@ public: void OnCompareRow (wxCommandEvent& event); void OnCompareCol (wxCommandEvent& event); - wxFrame* getFrame() - { return m_pFrame; } - +#if CTSIM_MDI + wxDocMDIChildFrame* getFrame() { return m_pFrame; } +#else + wxDocChildFrame* getFrame() { return m_pFrame; } +#endif + + wxMenu* getMenuAnalyze() { return m_pMenuAnalyze; } + ImageFileDocument* GetDocument() { return dynamic_cast(wxView::GetDocument()); } @@ -143,6 +156,7 @@ class ImageFileCanvas: public wxScrolledWindow { private: ImageFileView* m_pView; + int m_xCursor; int m_yCursor; @@ -151,6 +165,7 @@ public: virtual ~ImageFileCanvas(); virtual void OnDraw(wxDC& dc); + void OnChar(wxKeyEvent& event); void OnMouseEvent(wxMouseEvent& event); void DrawRubberBandCursor (wxDC& dc, int x, int y); bool GetCurrentCursor (int& x, int& y); @@ -173,7 +188,7 @@ class ProjectionFileView : public wxView wxBitmap m_bitmap; private: - ProjectionFileCanvas *CreateCanvas(wxView *view, wxFrame *parent); + ProjectionFileCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; wxDocMDIChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); @@ -204,7 +219,7 @@ private: wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame()->GetClientWindow(); } + { return theApp->getMainFrame(); } #else { return m_pFrame; } #endif @@ -225,8 +240,13 @@ public: void OnConvertPolar (wxCommandEvent& event); void OnConvertFFTPolar (wxCommandEvent& event); - wxFrame* getFrame () { return m_pFrame; } - +#if CTSIM_MDI + wxDocMDIChildFrame* getFrame() { return m_pFrame; } +#else + wxDocChildFrame* getFrame() { return m_pFrame; } +#endif + ProjectionFileCanvas* getCanvas() { return m_pCanvas; } + wxMenu* getFileMenu() { return m_pFileMenu; } ProjectionFileDocument* GetDocument() @@ -257,7 +277,7 @@ private: DECLARE_DYNAMIC_CLASS(PhantomFileView) DECLARE_EVENT_TABLE() - PhantomCanvas *CreateCanvas(wxView *view, wxFrame *parent); + PhantomCanvas *CreateCanvas (wxFrame* parent); #if CTSIM_MDI wxDocMDIChildFrame* m_pFrame; wxDocMDIChildFrame* CreateChildFrame(wxDocument *doc, wxView *view); @@ -276,15 +296,17 @@ private: int m_iDefaultTrace; double m_dDefaultRotation; double m_dDefaultFocalLength; - double m_dDefaultFieldOfView; + double m_dDefaultViewRatio; + double m_dDefaultScanRatio; int m_iDefaultRasterNX; int m_iDefaultRasterNY; int m_iDefaultRasterNSamples; + double m_dDefaultRasterViewRatio; wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame()->GetClientWindow(); } + { return theApp->getMainFrame(); } #else { return m_pFrame; } #endif @@ -307,7 +329,11 @@ public: { return dynamic_cast(wxView::GetDocument()); } wxMenu* getFileMenu() { return m_pFileMenu; } - wxFrame* getFrame() { return m_pFrame; } +#if CTSIM_MDI + wxDocMDIChildFrame* getFrame() { return m_pFrame; } +#else + wxDocChildFrame* getFrame() { return m_pFrame; } +#endif }; class PhantomCanvas: public wxScrolledWindow @@ -319,6 +345,7 @@ public: PhantomCanvas (PhantomFileView* v, wxFrame *frame, const wxPoint& pos, const wxSize& size, const long style); virtual ~PhantomCanvas(); + virtual wxSize GetBestSize() const; void setView(PhantomFileView* pView) { m_pView = pView; } virtual void OnDraw(wxDC& dc); @@ -348,10 +375,10 @@ private: double m_dMaxPixel; double m_dAutoScaleFactor; - PlotFileCanvas *CreateCanvas(wxView *view, wxFrame *parent); + PlotFileCanvas *CreateCanvas (wxFrame* parent); wxWindow* getFrameForChild() #if CTSIM_MDI - { return theApp->getMainFrame()->GetClientWindow(); } + { return theApp->getMainFrame(); } #else { return m_pFrame; } #endif @@ -372,8 +399,11 @@ public: void OnScaleAuto (wxCommandEvent& event); void OnScaleFull (wxCommandEvent& event); - wxFrame* getFrame () - { return m_pFrame; } +#if CTSIM_MDI + wxDocMDIChildFrame* getFrame() { return m_pFrame; } +#else + wxDocChildFrame* getFrame() { return m_pFrame; } +#endif wxMenu* getFileMenu() { return m_pFileMenu; } PlotFileDocument* GetDocument() @@ -427,9 +457,16 @@ public: void OnUpdate (wxView *sender, wxObject *hint = (wxObject *) NULL); bool OnClose (bool deleteWindow = TRUE); + TextFileDocument* GetDocument() + { return dynamic_cast(wxView::GetDocument()); } + TextFileCanvas* getTextCtrl() { return m_pCanvas; } - wxFrame* getFrame() { return m_pFrame; } wxMenu* getFileMenu() { return m_pFileMenu; } +#if CTSIM_MDI + wxDocMDIChildFrame* getFrame() { return m_pFrame; } +#else + wxDocChildFrame* getFrame() { return m_pFrame; } +#endif }; class TextFileCanvas: public wxTextCtrl