www.pudn.com > uoth_src.zip > FilterDlg.h
#ifndef DSSI_FILTERDLG_H #define DSSI_FILTERDLG_H //----------------------------------------------------------------------------- // // @doc // // @module FilterDlg.h - Allow user to modify his filter | // // This module contains the definition for the filter configuration. // // Copyright (c) 2002 - Descartes Systems Sciences, Inc. // // All rights reserved. // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: // // 1. Redistributions of source code must retain the above copyright notice, // this list of conditions and the following disclaimer. // 2. Neither the name of Descartes Systems Sciences, Inc nor the names of // its contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED // TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR // PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // @end // // $History: FilterDlg.h $ // //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // // Required include files // //----------------------------------------------------------------------------- #include "Filter.h" //----------------------------------------------------------------------------- // // Forward definitions // //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // // Class definition // //----------------------------------------------------------------------------- class CFilterDlg : public CDialogImpl{ // @access Constructors and destructors public: // @cmember General constructor CFilterDlg (CFilter *pFilter); // @cmember General destructor ~CFilterDlg (); // @access Public methods public: // @cmember Create a modeless version of the dialog HWND Create (HWND hWndParent, LPARAM dwInitParam = NULL); // @access COM interface list public: enum { IDD = IDD_FILTER }; BEGIN_MSG_MAP (CFilterDlg) MESSAGE_HANDLER (WM_INITDIALOG, OnInitDialog) COMMAND_ID_HANDLER (IDCANCEL, OnCancel) COMMAND_ID_HANDLER (IDOK, OnOk) COMMAND_HANDLER (IDC_FILTER_ADD, BN_CLICKED, OnAdd) COMMAND_HANDLER (IDC_FILTER_REMOVE, BN_CLICKED, OnRemove) COMMAND_HANDLER (IDC_FILTER_DONT_SHOW, LBN_DBLCLK, OnAdd) COMMAND_HANDLER (IDC_FILTER_DONT_SHOW, LBN_SELCHANGE, OnSelChange) COMMAND_HANDLER (IDC_FILTER_DONT_SHOW, LBN_SELCANCEL, OnSelChange) COMMAND_HANDLER (IDC_FILTER_SHOW, LBN_DBLCLK, OnRemove) COMMAND_HANDLER (IDC_FILTER_SHOW, LBN_SELCHANGE, OnSelChange) COMMAND_HANDLER (IDC_FILTER_SHOW, LBN_SELCANCEL, OnSelChange) COMMAND_ID_HANDLER (IDC_FILTER_LEVEL_ENABLE, OnSelChange) COMMAND_ID_HANDLER (IDC_FILTER_MINE, OnSelChange) COMMAND_ID_HANDLER (IDC_FILTER_TACK, OnSelChange) END_MSG_MAP () // @access Command handlers public: // @cmember Handle the Ok button LRESULT OnOk (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); // @cmember Handle the Cancel button LRESULT OnCancel (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); // @cmember Add a filter level LRESULT OnAdd (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); // @cmember Remove a filter level LRESULT OnRemove (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); // @cmember Handle a change in the selection LRESULT OnSelChange (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled) { UpdateWindow (); return 0; } // @access Message handlers protected: // @cmember Initialize the dialog box LRESULT OnInitDialog (UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); // @access Protected methods protected: // @cmember Update the state of the windows void UpdateWindow (); // @cmember Get all the current settings void GetSettings (); // @cmember add a level to the listbox void AddLevel (CListBox &lb, LPCTSTR pszLevel); // @access Public members public: // @cmember Filter being edited CFilter *m_pFilter; // @cmember Current filter settings CFilter m_sFilter; // @access Protected members protected: // @cmember Show list box CListBox m_lbShow; // @cmember Don't show CListBox m_lbDontShow; // @cmember Add button CButton m_btnAdd; // @cmember Remove button CButton m_btnRemove; // @cmember Filter level enabled CButton m_btnEnableLevel; // @cmember Tack filter CButton m_btnEnableTack; // @cmember Tack filter CButton m_btnEnableMine; }; #endif // DSSI_FILTERDLG_H