www.pudn.com > uoth_src.zip > RuneBookDlg.h
#ifndef DSSI_RUNEBOOKDLG_H #define DSSI_RUNEBOOKDLG_H //----------------------------------------------------------------------------- // // @doc // // @module RuneBookDlg.h - Allow user to modify a rune book | // // This module contains the definition for the rune book 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: RuneBookDlg.h $ // //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // // Required include files // //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // // Forward definitions // //----------------------------------------------------------------------------- class CRuneLibrary; class CRuneBook; //----------------------------------------------------------------------------- // // Class definition // //----------------------------------------------------------------------------- class CRuneBookDlg : public CDialogImpl{ // @access Constructors and destructors public: // @cmember General constructor CRuneBookDlg (CRuneLibrary *pRuneLibrary, CRuneBook *pRuneBook); // @cmember General destructor ~CRuneBookDlg (); // @access COM interface list public: enum { IDD = IDD_RUNE_BOOK }; BEGIN_MSG_MAP (CRuneBookDlg) MESSAGE_HANDLER (WM_INITDIALOG, OnInitDialog) COMMAND_ID_HANDLER (IDCANCEL, OnCancel) COMMAND_ID_HANDLER (IDOK, OnOk) COMMAND_HANDLER (IDC_RUNE_BOOK_TADD, BN_CLICKED, OnAdd) COMMAND_HANDLER (IDC_RUNE_BOOK_TREMOVE, BN_CLICKED, OnRemove) COMMAND_HANDLER (IDC_RUNE_BOOK_TAVAILABLE, LBN_DBLCLK, OnAdd) COMMAND_HANDLER (IDC_RUNE_BOOK_TAVAILABLE, LBN_SELCHANGE, OnSelChange) COMMAND_HANDLER (IDC_RUNE_BOOK_TAVAILABLE, LBN_SELCANCEL, OnSelChange) COMMAND_HANDLER (IDC_RUNE_BOOK_TIN, LBN_DBLCLK, OnRemove) COMMAND_HANDLER (IDC_RUNE_BOOK_TIN, LBN_SELCHANGE, OnSelChange) COMMAND_HANDLER (IDC_RUNE_BOOK_TIN, LBN_SELCANCEL, 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 Create a new rune library LRESULT OnAdd (WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled); // @cmember Delete a rune library 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 add a rune to the listbox void AddRune (CListBox &lb, LPCTSTR pszRune); // @access Public members public: // @cmember Rune library being edited CRuneLibrary *m_pRuneLibrary; // @cmember Rune book being edited CRuneBook *m_pRuneBook; // @access Protected members protected: // @cmember Rune book name CEdit m_editName; // @cmember Available list box CListBox m_lbAvailable; // @cmember In list box CListBox m_lbIn; // @cmember Add button CButton m_btnAdd; // @cmember Remove button CButton m_btnRemove; }; #endif // DSSI_RUNEBOOKDLG_H