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