Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
156
Server/ManageTool/GridControl/GridCtrl_src/GridDropTarget.cpp
Normal file
156
Server/ManageTool/GridControl/GridCtrl_src/GridDropTarget.cpp
Normal file
@@ -0,0 +1,156 @@
|
||||
// GridDropTarget.cpp : implementation file
|
||||
//
|
||||
// MFC Grid Control - Drag/Drop target implementation
|
||||
//
|
||||
// CGridDropTarget is an OLE drop target for CGridCtrl. All it does
|
||||
// is handle the drag and drop windows messages and pass them
|
||||
// directly onto the grid control.
|
||||
//
|
||||
// Written by Chris Maunder <cmaunder@mail.com>
|
||||
// Copyright (c) 1998-2002. All Rights Reserved.
|
||||
//
|
||||
// This code may be used in compiled form in any way you desire. This
|
||||
// file may be redistributed unmodified by any means PROVIDING it is
|
||||
// not sold for profit without the authors written consent, and
|
||||
// providing that this notice and the authors name and all copyright
|
||||
// notices remains intact.
|
||||
//
|
||||
// An email letting me know how you are using it would be nice as well.
|
||||
//
|
||||
// This file is provided "as is" with no expressed or implied warranty.
|
||||
// The author accepts no liability for any damage/loss of business that
|
||||
// this product may cause.
|
||||
//
|
||||
// For use with CGridCtrl v2.10+
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "GridCtrl.h"
|
||||
|
||||
#ifndef GRIDCONTROL_NO_DRAGDROP
|
||||
#include "GridDropTarget.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CGridDropTarget
|
||||
|
||||
CGridDropTarget::CGridDropTarget()
|
||||
{
|
||||
m_pGridCtrl = NULL;
|
||||
m_bRegistered = FALSE;
|
||||
}
|
||||
|
||||
CGridDropTarget::~CGridDropTarget()
|
||||
{
|
||||
}
|
||||
|
||||
// Overloaded Register() function performs the normal COleDropTarget::Register
|
||||
// but also serves to connect this COleDropTarget with the parent grid control,
|
||||
// where all drop messages will ultimately be forwarded.
|
||||
BOOL CGridDropTarget::Register(CGridCtrl *pGridCtrl)
|
||||
{
|
||||
if (m_bRegistered)
|
||||
return FALSE;
|
||||
|
||||
// Stop re-entry problems
|
||||
static BOOL bInProcedure = FALSE;
|
||||
if (bInProcedure)
|
||||
return FALSE;
|
||||
bInProcedure = TRUE;
|
||||
|
||||
ASSERT(pGridCtrl->IsKindOf(RUNTIME_CLASS(CGridCtrl)));
|
||||
ASSERT(pGridCtrl);
|
||||
|
||||
if (!pGridCtrl || !pGridCtrl->IsKindOf(RUNTIME_CLASS(CGridCtrl)))
|
||||
{
|
||||
bInProcedure = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
m_pGridCtrl = pGridCtrl;
|
||||
|
||||
m_bRegistered = COleDropTarget::Register(pGridCtrl);
|
||||
|
||||
bInProcedure = FALSE;
|
||||
return m_bRegistered;
|
||||
}
|
||||
|
||||
void CGridDropTarget::Revoke()
|
||||
{
|
||||
m_bRegistered = FALSE;
|
||||
COleDropTarget::Revoke();
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CGridDropTarget, COleDropTarget)
|
||||
//{{AFX_MSG_MAP(CGridDropTarget)
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CGridDropTarget message handlers
|
||||
|
||||
DROPEFFECT CGridDropTarget::OnDragScroll(CWnd* pWnd, DWORD dwKeyState, CPoint /*point*/)
|
||||
{
|
||||
// TRACE("In CGridDropTarget::OnDragScroll\n");
|
||||
if (pWnd->GetSafeHwnd() == m_pGridCtrl->GetSafeHwnd())
|
||||
{
|
||||
if (dwKeyState & MK_CONTROL)
|
||||
return DROPEFFECT_COPY;
|
||||
else
|
||||
return DROPEFFECT_MOVE;
|
||||
} else
|
||||
return DROPEFFECT_NONE;
|
||||
}
|
||||
|
||||
DROPEFFECT CGridDropTarget::OnDragEnter(CWnd* pWnd, COleDataObject* pDataObject,
|
||||
DWORD dwKeyState, CPoint point)
|
||||
{
|
||||
TRACE(_T("In CGridDropTarget::OnDragEnter\n"));
|
||||
ASSERT(m_pGridCtrl);
|
||||
|
||||
if (pWnd->GetSafeHwnd() == m_pGridCtrl->GetSafeHwnd())
|
||||
return m_pGridCtrl->OnDragEnter(pDataObject, dwKeyState, point);
|
||||
else
|
||||
return DROPEFFECT_NONE;
|
||||
}
|
||||
|
||||
void CGridDropTarget::OnDragLeave(CWnd* pWnd)
|
||||
{
|
||||
TRACE(_T("In CGridDropTarget::OnDragLeave\n"));
|
||||
ASSERT(m_pGridCtrl);
|
||||
|
||||
if (pWnd->GetSafeHwnd() == m_pGridCtrl->GetSafeHwnd())
|
||||
m_pGridCtrl->OnDragLeave();
|
||||
}
|
||||
|
||||
DROPEFFECT CGridDropTarget::OnDragOver(CWnd* pWnd, COleDataObject* pDataObject,
|
||||
DWORD dwKeyState, CPoint point)
|
||||
{
|
||||
// TRACE("In CGridDropTarget::OnDragOver\n");
|
||||
ASSERT(m_pGridCtrl);
|
||||
|
||||
if (pWnd->GetSafeHwnd() == m_pGridCtrl->GetSafeHwnd())
|
||||
return m_pGridCtrl->OnDragOver(pDataObject, dwKeyState, point);
|
||||
else
|
||||
return DROPEFFECT_NONE;
|
||||
}
|
||||
|
||||
BOOL CGridDropTarget::OnDrop(CWnd* pWnd, COleDataObject* pDataObject,
|
||||
DROPEFFECT dropEffect, CPoint point)
|
||||
{
|
||||
TRACE(_T("In CGridDropTarget::OnDrop\n"));
|
||||
ASSERT(m_pGridCtrl);
|
||||
|
||||
if (pWnd->GetSafeHwnd() == m_pGridCtrl->GetSafeHwnd())
|
||||
return m_pGridCtrl->OnDrop(pDataObject, dropEffect, point);
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#endif // GRIDCONTROL_NO_DRAGDROP
|
||||
Reference in New Issue
Block a user