/* * $Id$ * * (C) 2003-2005 Gabest * * This file is part of asf2mkv. * * Asf2mkv is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * Asf2mkv is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #pragma once #include #define WM_OPENURL WM_APP class CUrlDropTarget : public COleDropTarget { public: CUrlDropTarget() {} DROPEFFECT OnDragEnter(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point); DROPEFFECT OnDragOver(CWnd* pWnd, COleDataObject* pDataObject, DWORD dwKeyState, CPoint point); BOOL OnDrop(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropEffect, CPoint point); DROPEFFECT OnDropEx(CWnd* pWnd, COleDataObject* pDataObject, DROPEFFECT dropDefault, DROPEFFECT dropList, CPoint point); void OnDragLeave(CWnd* pWnd); DROPEFFECT OnDragScroll(CWnd* pWnd, DWORD dwKeyState, CPoint point); DECLARE_MESSAGE_MAP() }; // Casf2mkvDlg dialog class Casf2mkvDlg : public CResizableDialog { CComPtr pGB; CComQIPtr pMC; CComQIPtr pME; CComQIPtr pMS; CComQIPtr pVW; CComQIPtr pBV; bool m_fRecording; CString m_dst; class CRecentFileAndURLList : public CRecentFileList { public: CRecentFileAndURLList(UINT nStart, LPCTSTR lpszSection, LPCTSTR lpszEntryFormat, int nSize, int nMaxDispLen = AFX_ABBREV_FILENAME_LEN); virtual void Add(LPCTSTR lpszPathName); // we have to override CRecentFileList::Add because the original version can't handle URLs }; CRecentFileAndURLList m_mru; void SetupCombo(); void SetVideoRect(); CUrlDropTarget m_urlDropTarget; // Construction public: Casf2mkvDlg(CWnd* pParent = NULL); // standard constructor // Dialog Data enum { IDD = IDD_ASF2MKV_DIALOG }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support // Implementation protected: HICON m_hIcon; CComboBox m_combo; CStatic m_video; // Generated message map functions virtual BOOL OnInitDialog(); virtual BOOL DestroyWindow(); DECLARE_MESSAGE_MAP() public: afx_msg void OnSysCommand(UINT nID, LPARAM lParam); afx_msg void OnPaint(); afx_msg HCURSOR OnQueryDragIcon(); afx_msg LRESULT OnGraphNotify(WPARAM wParam, LPARAM lParam); afx_msg void OnRecord(); afx_msg void OnUpdateRecord(CCmdUI* pCmdUI); afx_msg void OnUpdateFileName(CCmdUI* pCmdUI); afx_msg void OnUpdateSettings(CCmdUI* pCmdUI); afx_msg void OnSize(UINT nType, int cx, int cy); afx_msg void OnTimer(UINT nIDEvent); afx_msg void OnBnClickedButton2(); afx_msg LRESULT OnUrlOpen(WPARAM wParam, LPARAM lParam); };