99 lines
3.0 KiB
C++
99 lines
3.0 KiB
C++
// ParameterDialog.h: interface for the CParameterDialog class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_PARAMETERDIALOG_H__7E09B741_A330_11D3_B6C8_00902752C68E__INCLUDED_)
|
|
#define AFX_PARAMETERDIALOG_H__7E09B741_A330_11D3_B6C8_00902752C68E__INCLUDED_
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
|
|
typedef enum {
|
|
PARAMETER_NOPICK = 0,
|
|
PARAMETER_PICKPARAM = 1,
|
|
PARAMETER_PICKOBJECT = 2,
|
|
PARAMETER_PICKALL = 3,
|
|
} PARAMETER_PICK;
|
|
|
|
|
|
#define PARAMETER_RESIZE TRUE
|
|
#define PARAMETER_NORESIZE FALSE
|
|
|
|
class CParameterDialog;
|
|
class CBaseParameterDialog;
|
|
class CKeyParameterDialog;
|
|
|
|
__declspec(dllexport) HWND CreateParameterDialog(HWND parent,CParameterDialog* Dlg,UINT Template,PARAMETER_PICK PickFlags=PARAMETER_NOPICK,CK_CLASSID ckcid=0,BOOL Size=FALSE);
|
|
__declspec(dllexport) CKeyParameterDialog* CreateKeyDialog(HWND parent,CKParameter* param);
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CParameterDialog dialog
|
|
|
|
class AFX_EXT_CLASS CParameterDialog : public CDialog
|
|
{
|
|
// Construction
|
|
public:
|
|
CParameterDialog(CKParameter* Parameter,CK_CLASSID Cid=CKCID_OBJECT); // standard constructor
|
|
virtual ~CParameterDialog() {}
|
|
// Dialog Data
|
|
//{{AFX_DATA(CParameterDialog)
|
|
// NOTE: the ClassWizard will add data members here
|
|
//}}AFX_DATA
|
|
|
|
virtual CKBOOL On_Init() { return TRUE; }
|
|
virtual CKBOOL On_Cancel() { return TRUE; }
|
|
virtual CKBOOL On_UpdateFromParameter(CKParameter* Param){ return TRUE; }
|
|
virtual CKBOOL On_UpdateToParameter(CKParameter* Param) { return TRUE; }
|
|
virtual CKBOOL ChangeSize(CKBOOL Max) { return TRUE; }
|
|
virtual CK_ID On_Pick(LPPOINT ClientPoint,int ClassID) { return 0; }
|
|
virtual CK_ID On_ParameterPick(LPPOINT ScreenPoint,int ParameterType) { return 0; }
|
|
// Pre Implemented methods
|
|
virtual CKBOOL On_Ok() { return On_UpdateToParameter(NULL); }
|
|
virtual CKBOOL On_PickResult(CK_ID picked,HWND Control,CKBOOL Clicked = FALSE);
|
|
|
|
void StartPick(int PickFilter,CK_CLASSID ckcid, HWND Control,BOOL start=TRUE);
|
|
CKBOOL NotifyParameterModification(HWND wnd);
|
|
|
|
CKObject* CKGetObject(CK_ID id) { return m_Context->GetObject(id); }
|
|
|
|
public:
|
|
CK_ID m_EditedParameter;
|
|
CK_CLASSID m_EditedClassID;
|
|
CKBOOL m_PickActive;
|
|
CKDWORD m_PickFilter;
|
|
CK_CLASSID m_ObjPickCid;
|
|
|
|
HWND m_PickControl;
|
|
BOOL m_PickResult;
|
|
BOOL m_Maximized;
|
|
CBaseParameterDialog* m_Owner;
|
|
CWnd* m_FocusWindow;
|
|
CKContext* m_Context;
|
|
|
|
// Overrides
|
|
// ClassWizard generated virtual function overrides
|
|
//{{AFX_VIRTUAL(CParameterDialog)
|
|
public:
|
|
virtual BOOL PreTranslateMessage(MSG* pMsg);
|
|
protected:
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
|
|
virtual void PostNcDestroy();
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
protected:
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CParameterDialog)
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
|
|
|
|
#endif // !defined(AFX_PARAMETERDIALOG_H__7E09B741_A330_11D3_B6C8_00902752C68E__INCLUDED_)
|