/*========================================================================= * * CPAdPerm.cpp : Selection - Implementation file * * * Version 1.0 * Creation date * Revision date * * Shaitan *=======================================================================*/ #include "stdafx.h" #ifdef ACTIVE_EDITOR #include "acp_base.h" #include "itf/CPAdPerm.hpp" #include "itf/CPAInter.hpp" #include "itf/FrmGest.Hpp" //################################################################################# // CPA_DialogPermission dialog //################################################################################# /*---------------------------------------- ----------------------------------------*/ CPA_DialogPermission::CPA_DialogPermission(CWnd* pParent /*=NULL*/) : CDialog(CPA_DialogPermission::IDD, &g_oBaseFrame) { //{{AFX_DATA_INIT(CPA_DialogPermission) // NOTE: the ClassWizard will add member initialization here //}}AFX_DATA_INIT } /*---------------------------------------- ----------------------------------------*/ void CPA_DialogPermission::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPA_DialogPermission) DDX_Control(pDX, CPA_IDC_OBJECTNAME, m_cObjectName); DDX_Control(pDX, CPA_IDC_DESIGNERNAME, m_cDesignerName); DDX_Control(pDX, CPA_IDC_MODIFY, m_cModify); DDX_Control(pDX, CPA_IDC_CANCEL, m_cCancel); DDX_Control(pDX, CPA_IDC_ALWAYS, m_cAlways); //}}AFX_DATA_MAP } /*---------------------------------------- ----------------------------------------*/ BEGIN_MESSAGE_MAP(CPA_DialogPermission, CDialog) //{{AFX_MSG_MAP(CPA_DialogPermission) ON_BN_CLICKED(CPA_IDC_MODIFY, OnModify) ON_BN_CLICKED(CPA_IDC_CANCEL, OnCancel) ON_BN_CLICKED(CPA_IDC_ALWAYS, OnAlways) //}}AFX_MSG_MAP END_MESSAGE_MAP() //################################################################################# // CPA_DialogPermission message handlers //################################################################################# /*---------------------------------------- ----------------------------------------*/ BOOL CPA_DialogPermission::fn_bDoDialog (CPA_Interface *pInterface, CPA_BaseObject *pObject, long lUserIndex) { // init parameters m_pInterface = pInterface; m_lUserIndex = lUserIndex; m_pObject = pObject; // init state m_bAlways = FALSE; m_bCanModify = FALSE; // this dialog is modal DoModal(); // return permission return m_bCanModify; } /*---------------------------------------- ----------------------------------------*/ void CPA_DialogPermission::fn_vCloseDialog (void) { // release capture SetCapture(); m_p_oSurrenderCapture(); } /*---------------------------------------- ----------------------------------------*/ BOOL CPA_DialogPermission::OnInitDialog () { // Create the dialog CDialog::OnInitDialog(); // set focus to the dialog m_p_oGrabCapture(); // free capture (for controls) ReleaseCapture(); // init object name m_cObjectName.SetWindowText(m_pObject->GetName()); // init designer name m_cDesignerName.SetWindowText(m_pInterface->GetUserName(m_lUserIndex)); // init control state m_cAlways.SetCheck(m_bAlways); return TRUE; } /*---------------------------------------- ----------------------------------------*/ void CPA_DialogPermission::OnModify() { // set permission m_bCanModify = TRUE; // if necessary, add permission if (m_bAlways) m_pInterface->fn_vAddAuthorization(m_pInterface->GetUserPrefix(m_lUserIndex)); // close the dialog fn_vCloseDialog(); CDialog::OnOK(); } /*---------------------------------------- ----------------------------------------*/ void CPA_DialogPermission::OnCancel() { // set permission m_bCanModify = FALSE; // if necessary, add interdiction if (m_bAlways) m_pInterface->fn_vAddProhibition(m_pInterface->GetUserPrefix(m_lUserIndex)); // close the dialog fn_vCloseDialog(); CDialog::OnCancel(); } /*---------------------------------------- ----------------------------------------*/ void CPA_DialogPermission::OnAlways() { // set permission m_bAlways = m_cAlways.GetCheck(); } #endif // ACTIVE_EDITOR