FEMM/femm/FemmeView.h

182 lines
5.4 KiB
C++

#if !defined(AFX_FEMMEVIEW_H__9D980E92_AF25_49AD_94B8_5FC96599FC59__INCLUDED_)
#define AFX_FEMMEVIEW_H__9D980E92_AF25_49AD_94B8_5FC96599FC59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// FemmeView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CFemmeView view
class CFemmeView : public CView
{
protected:
CFemmeView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CFemmeView)
// Attributes
public:
CFemmeDoc* GetDocument();
void ScreenToDwg(int xs, int ys, double *xd, double *yd, RECT *r);
BOOL DwgToScreen(double xd, double yd, int *xs, int *ys, RECT *r);
void DrawPSLG();
void EnterPoint();
BOOL ScanPreferences();
BOOL WritePreferences();
void OnNewDocument();
void CheckIt();
int EditAction; // tells if operating on points, lines, or blox
double mx,my; // location of the mouse in model coordinates
double ox,oy,mag; // location of lower left corner & scaling factor
CStatusBar* StatBar; // pointer to the main window's status bar
double GridSize; // size of each block in the grid
BOOL GridFlag; // Flag telling whether or not to show grid
BOOL SnapFlag;
BOOL MeshFlag;
BOOL ShowNames;
BOOL MeshUpToDate;
int FirstPoint;
int ZoomWndFlag;
int SelectWndFlag;
int SelectCircFlag;
int CreateRadiusFlag;
double wzx,wzy;
double MaxSeg,ArcAngle;
// Colors used to render the view
COLORREF SelColor;
COLORREF MeshColor;
COLORREF BlockColor;
COLORREF LineColor;
COLORREF GridColor;
COLORREF BackColor;
COLORREF NodeColor;
COLORREF NameColor;
// default view properties
int d_action; //=0;
double d_mag; //=100.;
double d_gridsize; //=0.25;
BOOL d_showgrid; //=TRUE;
BOOL d_snapgrid; //=FALSE;
BOOL d_showorigin;
BOOL d_shownames;
CString BinDir; // pathname for other FEMM executables
CArray <CZPix,CZPix&> ZoomPix;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFemmeView)
public:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
protected:
virtual void OnInitialUpdate(); // called first time after construct
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
virtual void OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView);
//}}AFX_VIRTUAL
// Implementation
public:
void lua_zoomin();
void lua_zoomout();
void lua_zoomnatural();
void lnu_show_mesh();
void lnu_purge_mesh();
void lnuMakeMesh();
void lnu_analyze(int bShow);
void MyMoveTo(CDC *pDC, int x, int y);
void MyLineTo(CDC *pDC, int x, int y);
BOOL GetBoundingBox(double *x, double *y);
virtual ~CFemmeView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
// Generated message map functions
protected:
//{{AFX_MSG(CFemmeView)
afx_msg void OnNodeOp();
afx_msg void OnSegmentOp();
afx_msg void OnBlockOp();
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
afx_msg void OnZoomIn();
afx_msg void OnZoomOut();
afx_msg void OnShowGrid();
afx_msg void OnSetGrid();
afx_msg void OnSnapGrid();
afx_msg void OnShowMesh();
afx_msg void OnEditCopy();
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnRButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnZoomNatural();
afx_msg void OnZoomWnd();
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
afx_msg void OnMakeMesh();
afx_msg void OnMenuAnalyze();
afx_msg void OnMenuViewres();
afx_msg void OnArcsegOp();
afx_msg void OnUndo();
afx_msg void OnKbdZoom();
afx_msg void OnMoveObjects();
afx_msg void OnCopyObjects();
afx_msg void OnDxfin();
afx_msg void OnPurgemesh();
afx_msg void OnDxfwrite();
afx_msg void OnSelectwnd();
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnPanDown();
afx_msg void OnPanLeft();
afx_msg void OnPanRight();
afx_msg void OnPanUp();
afx_msg void OnMenuMatlib();
afx_msg void OnGroupOp();
afx_msg void OnOpenSelected();
afx_msg void OnEditScale();
afx_msg void OnEditMirror();
afx_msg void OnEditCut();
afx_msg void OnEditCopyAsMetafile();
afx_msg void OnViewShownames();
afx_msg void OnFDSelectCirc();
afx_msg void OnViewShowOrphans();
afx_msg void OnCreateRadius();
afx_msg void OnUpdateEditExterior(CCmdUI* pCmdUI);
afx_msg void OnMakeABC();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
};
#ifndef _DEBUG // debug version in femmeView.cpp
inline CFemmeDoc* CFemmeView::GetDocument()
{ return (CFemmeDoc*)m_pDocument; }
#endif
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FEMMEVIEW_H__9D980E92_AF25_49AD_94B8_5FC96599FC59__INCLUDED_)