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>
143 lines
4.3 KiB
C++
143 lines
4.3 KiB
C++
// GuildRestoreDlg.cpp : 구현 파일입니다.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "AdminToolClient.h"
|
|
#include "GuildRestoreDlg.h"
|
|
#include "GlobalFunctions.h"
|
|
#include "CharacterDoc.h"
|
|
#include "PacketManager.h"
|
|
#include "WindowMgr.h"
|
|
#include "AdminClientConstants.h"
|
|
#include "ListCtrlSortClass.h"
|
|
|
|
|
|
// CGuildRestoreDlg 대화 상자입니다.
|
|
|
|
IMPLEMENT_DYNAMIC(CGuildRestoreDlg, CDialog)
|
|
CGuildRestoreDlg::CGuildRestoreDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CGuildRestoreDlg::IDD, pParent)
|
|
, m_bAllGroupChk(TRUE)
|
|
, m_dwSearchCount(0)
|
|
{
|
|
INSERT_WINDOW(IDD_GUILDRESTOREDLG, static_cast<CWnd*>(this));
|
|
}
|
|
|
|
CGuildRestoreDlg::~CGuildRestoreDlg()
|
|
{
|
|
ERASE_WINDOW(IDD_GUILDRESTOREDLG);
|
|
}
|
|
|
|
void CGuildRestoreDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
DDX_Control(pDX, IDC_GUILDRESTORE_DELGUILD_LIST, m_ctrlRestoreGuildList);
|
|
DDX_Control(pDX, IDC_GUILDRESTORE_SERVERGROUP_CB, m_ctrlServerGroupCb);
|
|
DDX_Check(pDX, IDC_GUILDRESTORE_ALLSERVERGROUP_CHK, m_bAllGroupChk);
|
|
DDX_Text(pDX, IDC_GUILDRESTORE_SEARCHCOUNT, m_dwSearchCount);
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CGuildRestoreDlg, CDialog)
|
|
ON_BN_CLICKED(IDC_GUILDRESTORE_ALLSERVERGROUP_CHK, OnBnClickedAllServergroupChk)
|
|
ON_BN_CLICKED(IDC_GUILDRESTORE_SEARCH_BTN, OnBnClickedSearchBtn)
|
|
ON_NOTIFY(LVN_COLUMNCLICK, IDC_GUILDRESTORE_DELGUILD_LIST, OnLvnColumnclickGuildrestoreDelguildList)
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
// CGuildRestoreDlg 메시지 처리기입니다.
|
|
|
|
BOOL CGuildRestoreDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
ServerGroupComboSet(m_ctrlServerGroupCb);
|
|
|
|
m_ctrlRestoreGuildList.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_FLATSB);
|
|
m_ctrlRestoreGuildList.SetBkColor(RGB(255, 236, 236));
|
|
m_ctrlRestoreGuildList.SetTextBkColor(RGB(255, 236, 236));
|
|
|
|
m_ctrlRestoreGuildList.InsertColumn(0, GetLocalString("SERVER_GROUP"), LVCFMT_LEFT, 80);
|
|
m_ctrlRestoreGuildList.InsertColumn(1, _T("GID"), LVCFMT_LEFT, 65);
|
|
m_ctrlRestoreGuildList.InsertColumn(2, GetLocalString("GUILD_NAME"), LVCFMT_LEFT, 90);
|
|
m_ctrlRestoreGuildList.InsertColumn(3, _T("Gold"), LVCFMT_LEFT, 80);
|
|
m_ctrlRestoreGuildList.InsertColumn(4, GetLocalString("DISBAND_GUILD_TIME"), LVCFMT_LEFT, 130);
|
|
|
|
SetWindowText(GetLocalString("IDD_GUILDRESTOREDLG"));
|
|
|
|
SetUIString(this->m_hWnd, IDC_GUILDRESTORE_ALLSERVERGROUP_CHK, "IDC_GUILDRESTORE_ALLSERVERGROUP_CHK");
|
|
SetUIString(this->m_hWnd, IDC_GUILDRESTORE_SEARCH_BTN, "IDC_GUILDRESTORE_SEARCH_BTN");
|
|
SetUIString(this->m_hWnd, IDC_GUILDRESTORE_01, "IDC_GUILDRESTORE_01");
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
void CGuildRestoreDlg::OnBnClickedAllServergroupChk()
|
|
{
|
|
UpdateData(true);
|
|
m_ctrlServerGroupCb.EnableWindow(!m_bAllGroupChk);
|
|
}
|
|
|
|
void CGuildRestoreDlg::OnBnClickedSearchBtn()
|
|
{
|
|
m_ctrlRestoreGuildList.DeleteAllItems();
|
|
|
|
CString strGroupName;
|
|
unsigned long dwServerGroup;
|
|
|
|
if(m_bAllGroupChk)
|
|
{
|
|
for(unsigned long dwGroupIndex = 0; dwGroupIndex < CON::MAX_GROUP_NUM; dwGroupIndex++)
|
|
CPacketMgr::GetInstance()->SendGuildRestoreDataList(m_bAllGroupChk, dwGroupIndex);
|
|
}
|
|
else
|
|
{
|
|
m_ctrlServerGroupCb.GetLBText(m_ctrlServerGroupCb.GetCurSel(), strGroupName);
|
|
CCharacterDoc::GetInstance().GetServerIndex(strGroupName, dwServerGroup);
|
|
|
|
CPacketMgr::GetInstance()->SendGuildRestoreDataList(m_bAllGroupChk, dwServerGroup);
|
|
}
|
|
}
|
|
|
|
void CGuildRestoreDlg::OnLvnColumnclickGuildrestoreDelguildList(NMHDR *pNMHDR, LRESULT *pResult)
|
|
{
|
|
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
|
|
|
|
if(pNMLV->iSubItem == m_iSortListItem)
|
|
{
|
|
m_bSortListAsc = !m_bSortListAsc;
|
|
}
|
|
else
|
|
{
|
|
m_iSortListItem = pNMLV->iSubItem;
|
|
m_bSortListAsc = true;
|
|
}
|
|
|
|
SortListWndItem(&m_ctrlRestoreGuildList, m_iSortListItem);
|
|
|
|
*pResult = 0;
|
|
}
|
|
|
|
void CGuildRestoreDlg::SortListWndItem(CListCtrl* pListCtrl, const int iCol)
|
|
{
|
|
CListCtrlSortClass SortClass(pListCtrl,iCol);
|
|
|
|
switch(m_iSortListItem)
|
|
{
|
|
case SORT_TYPE::SERVER_GROUP:
|
|
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
|
break;
|
|
case SORT_TYPE::GID:
|
|
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
|
break;
|
|
case SORT_TYPE::NAME:
|
|
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
|
break;
|
|
case SORT_TYPE::GOLD:
|
|
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtINT);
|
|
break;
|
|
case SORT_TYPE::DELETE_TIME:
|
|
SortClass.Sort(m_bSortListAsc, CListCtrlSortClass::SortDataType::dtSTRING);
|
|
break;
|
|
}
|
|
} |