⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wshmview.h

📁 提供交互的方式选取合适的震相
💻 H
字号:
// wshmView.h : interface of the CWshmView class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_WSHMVIEW_H__09B45637_E4A0_451C_8D69_B2F88C0089E0__INCLUDED_)
#define AFX_WSHMVIEW_H__09B45637_E4A0_451C_8D69_B2F88C0089E0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CDlgSKSinfo;
class CSacFile;

class CWshmView : public CView
{
protected: // create from serialization only
	CWshmView();
	DECLARE_DYNCREATE(CWshmView)

// Attributes
public:
	CWshmDoc* GetDocument();

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CWshmView)
	public:
	virtual void OnDraw(CDC* pDC);  // overridden to draw this view
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	protected:
	virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
	virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
	virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
	virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL

// Implementation
public:
	void SetDataShowByOption( BOOL bOn=true );

	void GotoPhase( int nPhaseIndex );
	
	// 设置mouse所在位置的文件索引值, 文件时间轴纵坐标,pt是客户区坐标
	void CalcMouseAtFileIndex(CPoint pt); 

	virtual ~CWshmView();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

	void GetDrawRect(CRect & drawRc) {
		GetClientRect(&drawRc);
		drawRc.DeflateRect(m_cDeflateRect);
	}
	CSacFile *GetSelSacFile(void);

// Generated message map functions
protected:
	//{{AFX_MSG(CWshmView)
	afx_msg void OnToolVerticalMagnify();
	afx_msg void OnToolVerticalMinify();
	afx_msg void OnToolMarkIasp91();
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnUpdateToolMarkIasp91(CCmdUI* pCmdUI);
	afx_msg void OnToolHorizontalStepAdd();
	afx_msg void OnToolHorizontalStepMinus();
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnToolMagnify();
	afx_msg void OnUpdateToolMagnify(CCmdUI* pCmdUI);
	afx_msg void OnToolShowE();
	afx_msg void OnUpdateToolShowE(CCmdUI* pCmdUI);
	afx_msg void OnToolShowN();
	afx_msg void OnUpdateToolShowN(CCmdUI* pCmdUI);
	afx_msg void OnToolShowZ();
	afx_msg void OnUpdateToolShowZ(CCmdUI* pCmdUI);
	afx_msg void OnToolModeEvent();
	afx_msg void OnUpdateToolModeEvent(CCmdUI* pCmdUI);
	afx_msg void OnToolModeFile();
	afx_msg void OnUpdateToolModeFile(CCmdUI* pCmdUI);
	afx_msg void OnToolSelectSks();
	afx_msg void OnUpdateToolSelectSks(CCmdUI* pCmdUI);
	afx_msg void OnFileOpen();
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
	std::list<CFileDataHolder *> m_lsShow; // 所有具有show属性的CFileDataHolder对象集合
	CDlgSKSinfo * m_pDlgSKSinfo;
	const CRect m_cDeflateRect;
	bool m_bCalcIASP91;
	bool m_bMouseDown;
	bool m_bFirstDraw;
	CPoint m_ptMouseDown; // mouse左键按下时的坐标
	CPoint m_ptOldMouseMove; // 临时存储鼠标这次移动前的坐标
	int m_iDrawMoveVPos; //mouse所在位置的文件绘制区的垂向中心
	long m_selFileIndex; //mouse所在位置的文件索引
	long m_bDrawFileIndex; // 起始绘制文件的索引
	int m_curTool; //当前选择的工具
	char m_strCurEvt[100]; // 当前选择的事件名称
	
	int m_ShowOption; // 显示选项
	enum ShowOption{
		eShowE = 1, eShowN = 2, eShowZ = 4, eShowFile = 8, 
		eShowEvent = 16
	};
	FILE * skslog;

	
	const int & ShowOption(void) {
		return m_ShowOption;
	}
	void ShowE(bool bOn) {
		if(bOn)
			m_ShowOption |= eShowE;
		else
			m_ShowOption &= ~eShowE;
	}
	BOOL ShowE(void) {
		return m_ShowOption & eShowE;
	}
	void ShowN(bool bOn) {
		if(bOn)
			m_ShowOption |= eShowN;
		else
			m_ShowOption &= ~eShowN;
	}
	BOOL ShowN(void) {
		return m_ShowOption & eShowN;
	}
	void ShowZ(bool bOn) {
		if(bOn)
			m_ShowOption |= eShowZ;
		else
			m_ShowOption &= ~eShowZ;
	}
	BOOL ShowZ(void) {
		return (m_ShowOption & eShowZ);
	}
	void ShowFile(bool bOn) {
		if(bOn) {
			m_ShowOption |= eShowFile;
			m_ShowOption &= ~eShowEvent; //clear the event mode flag
		}
		else { // will in event mode
			m_ShowOption &= ~eShowFile;
			m_ShowOption |= eShowEvent;
		}
	}
	BOOL ShowFile(void) {
		return (m_ShowOption & eShowFile);
	}
	void ShowEvent(bool bOn) {
		if(bOn) {
			m_ShowOption |= eShowEvent;
			m_ShowOption &= ~eShowFile; //clear the file mode flag
		}
		else {
			m_ShowOption &= ~eShowEvent;
			m_ShowOption |= eShowFile;
		}
	}
	BOOL ShowEvent(void) {
		return (m_ShowOption & eShowEvent);
	}

	void CalcCurSKSparam(const CPoint & point);

};

#ifndef _DEBUG  // debug version in wshmView.cpp
inline CWshmDoc* CWshmView::GetDocument()
   { return (CWshmDoc*)m_pDocument; }
#endif

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_WSHMVIEW_H__09B45637_E4A0_451C_8D69_B2F88C0089E0__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -