mirror of
https://github.com/dhewm/dhewm3.git
synced 2024-12-15 15:20:56 +00:00
126 lines
3.1 KiB
C
126 lines
3.1 KiB
C
|
#ifndef __PROP_TREE_ITEM_EDIT_BUTTON_H__
|
||
|
#define __PROP_TREE_ITEM_EDIT_BUTTON_H__
|
||
|
|
||
|
|
||
|
#if _MSC_VER > 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER > 1000
|
||
|
// PropTreeItemEdit.h : header file
|
||
|
//
|
||
|
// Copyright (C) 1998-2001 Scott Ramsay
|
||
|
// sramsay@gonavi.com
|
||
|
// http://www.gonavi.com
|
||
|
//
|
||
|
// This material is provided "as is", with absolutely no warranty expressed
|
||
|
// or implied. Any use is at your own risk.
|
||
|
//
|
||
|
// Permission to use or copy this software for any purpose is hereby granted
|
||
|
// without fee, provided the above notices are retained on all copies.
|
||
|
// Permission to modify the code and to distribute modified code is granted,
|
||
|
// provided the above notices are retained, and a notice that the code was
|
||
|
// modified is included with the above copyright notice.
|
||
|
//
|
||
|
// If you use this code, drop me an email. I'd like to know if you find the code
|
||
|
// useful.
|
||
|
|
||
|
#include "PropTreeItem.h"
|
||
|
//#include "PropTreeItemEdit.h"
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CPropTreeItemEditButton window
|
||
|
|
||
|
class PROPTREE_API CPropTreeItemEditButton : public CPropTreeItemEdit
|
||
|
{
|
||
|
// Construction
|
||
|
public:
|
||
|
CPropTreeItemEditButton();
|
||
|
virtual ~CPropTreeItemEditButton();
|
||
|
|
||
|
// Attributes
|
||
|
public:
|
||
|
// The non-attribute area needs drawing
|
||
|
virtual LONG DrawItem(CDC* pDC, const RECT& rc, LONG x, LONG y);
|
||
|
|
||
|
// The attribute area needs drawing
|
||
|
virtual void DrawAttribute(CDC* pDC, const RECT& rc);
|
||
|
|
||
|
// Retrieve the item's attribute value
|
||
|
virtual LPARAM GetItemValue();
|
||
|
|
||
|
// Set the item's attribute value
|
||
|
virtual void SetItemValue(LPARAM lParam);
|
||
|
|
||
|
// Called when attribute area has changed size
|
||
|
virtual void OnMove();
|
||
|
|
||
|
// Called when the item needs to refresh its data
|
||
|
virtual void OnRefresh();
|
||
|
|
||
|
// Called when the item needs to commit its changes
|
||
|
virtual void OnCommit();
|
||
|
|
||
|
// Called to activate the item
|
||
|
virtual void OnActivate(int activateType, CPoint point);
|
||
|
|
||
|
|
||
|
enum ValueFormat
|
||
|
{
|
||
|
ValueFormatText,
|
||
|
ValueFormatNumber,
|
||
|
ValueFormatFloatPointer
|
||
|
};
|
||
|
|
||
|
// Set to specifify format of SetItemValue/GetItemValue
|
||
|
void SetValueFormat(ValueFormat nFormat);
|
||
|
|
||
|
// Set to TRUE for to use a password edit control
|
||
|
void SetAsPassword(BOOL bPassword);
|
||
|
|
||
|
// Overrideable - Returns TRUE if the point is on the button
|
||
|
virtual BOOL HitButton(const POINT& pt);
|
||
|
|
||
|
void SetButtonText( LPCSTR text );
|
||
|
|
||
|
protected:
|
||
|
CString m_sEdit;
|
||
|
float m_fValue;
|
||
|
|
||
|
ValueFormat m_nFormat;
|
||
|
BOOL m_bPassword;
|
||
|
|
||
|
|
||
|
CString buttonText;
|
||
|
CRect buttonRect;
|
||
|
CRect hitTestRect;
|
||
|
bool mouseDown;
|
||
|
|
||
|
|
||
|
// Operations
|
||
|
public:
|
||
|
|
||
|
// Overrides
|
||
|
// ClassWizard generated virtual function overrides
|
||
|
//{{AFX_VIRTUAL(CPropTreeItemEditButton)
|
||
|
//}}AFX_VIRTUAL
|
||
|
|
||
|
// Implementation
|
||
|
public:
|
||
|
|
||
|
// Generated message map functions
|
||
|
protected:
|
||
|
//{{AFX_MSG(CPropTreeItemEditButton)
|
||
|
afx_msg UINT OnGetDlgCode();
|
||
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
||
|
afx_msg void OnKillfocus();
|
||
|
//}}AFX_MSG
|
||
|
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
};
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//{{AFX_INSERT_LOCATION}}
|
||
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||
|
|
||
|
#endif // __PROP_TREE_ITEM_EDIT_BUTTON_H__
|