rodecomp/Source/UI/SelectPackageItemBox/SelectPackageItemBox.h
ragnarok-clanker 89a874690f Maintenance: Move mid-file forward declarations out of .cpp files into owning headers: CUIListBoxEx explicit-specialization declarati
Batch #18338 by ragnarok-clanker: no function's compiled code changes; checked with 433 compiled unit(s), including every includer of Source/Client/Application/ApplicationWindow.h, Source/Client/Mode/CGameMode.h, Source/Client/Session/Session.h, Source/Contents/Configuration/ServiceOptions.h, Source/Contents/Map/MapSkyMgr.h, Source/Contents/Messenger/ClientMessenger.h, Source/Contents/SignBoard/SignBoard.h, Source/Contents/Skills/ClientSkills.h, Source/Contents/Sound/SoundConfiguration.h, Source/Render/DX7/RenderSystemDX7.h, Source/Render/Device/DisplayMode.h, Source/Resource/Json/JsonCppLoader.h, Source/Security/NProtectGameGuardMgr.h, Source/UI/Cooldowns/CooldownOwner.h, Source/UI/Enchant/EnchantUI.h, Source/UI/Exchange/UIExchangeUI.h, Source/UI/GameSettings/GameSettingsUI.h, Source/UI/ProbabilityTable/UIProbabilityTable.h, Source/UI/Quest/UIOngoingQuestInfo.h, Source/UI/RuneSystem/UIRuneSystemWnd.h, Source/UI/SelectPackageItemBox/SelectPackageItemBox.h, Source/UI/SkillDelayInfo/SkillDelayInfo.h, Source/UI/Text/TextWrapping.h, Source/Contents/Actors/Resources/BodyResources.h, Source/Resource/Json/JsonCppLoaderExternal.h, Source/Resource/Json/JsonCppLoaderParsing.h, Source/Security/NProtectGameMon.h.
2026-11-12 13:39:07 +00:00

94 lines
3 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_SELECTPACKAGEITEMBOX_SELECTPACKAGEITEMBOX_H
#define RAGNAROK_SOURCE_UI_SELECTPACKAGEITEMBOX_SELECTPACKAGEITEMBOX_H
#include "Contents/Items/ItemInfo.h"
#include "UI/Window/FrameSkin.h"
#include "UI/Lists/UIListBoxTemplate.h"
#include <cstddef>
#include <string>
class CUIBasicButton;
class CUIGameItem;
class CUIStaticImage;
class CUIStaticText;
namespace SelectPackageItemBox {
class CTabInfoData {
public:
/* 0000 */ int packageId;
/* 0004 */ int tabIndex;
/* 0008 */ std::string name;
};
class CUIItemInfo : public CUIListItem {
public:
CUIItemInfo();
void OnCreate(int width, int height) override;
void OnInit() override;
void Paint() override;
/* 00E8 */ CUIStaticImage* image;
/* 00EC */ CUIGameItem* gameItem;
/* 00F0 */ CUIStaticText* nameText;
};
class CUITabInfo : public CUIListItem {
public:
CUITabInfo();
void OnCreate(int width, int height) override;
void OnInit() override;
/* 00E8 */ CUIStaticText* nameText;
};
}
class CUISelectPackageItemBox : public CUIFrameWnd {
public:
__declspec(noinline) CUISelectPackageItemBox();
void OnCreate(int width, int height) override;
void OnInit() override;
virtual void Initialize();
void OnCancel();
void OnClickClose();
void OnClose();
void OnOk();
void OnSelectItem(SelectPackageItemBox::CUIItemInfo* item, const ITEM_INFO& data);
void OnSelectTab(SelectPackageItemBox::CUITabInfo* tab, const SelectPackageItemBox::CTabInfoData& data);
void BindItem(SelectPackageItemBox::CUIItemInfo* item, const ITEM_INFO& data);
void BindTab(SelectPackageItemBox::CUITabInfo* tab, const SelectPackageItemBox::CTabInfoData& data);
void Open(int sourceIndex);
/* 00D8 */ CUITitleBar* title;
/* 00DC */ CUIListBoxEx<SelectPackageItemBox::CUITabInfo, SelectPackageItemBox::CTabInfoData>* tabList;
/* 00E0 */ CUIListBoxEx<SelectPackageItemBox::CUIItemInfo, ITEM_INFO>* itemList;
/* 00E4 */ CUIBasicButton* okButton;
/* 00E8 */ CUIBasicButton* cancelButton;
/* 00EC */ int sourceIndex;
/* 00F0 */ int packageId;
};
template <>
void CUIListBoxEx<SelectPackageItemBox::CUIItemInfo, ITEM_INFO>::AddNewItem();
template <>
void CUIListBoxEx<SelectPackageItemBox::CUITabInfo, SelectPackageItemBox::CTabInfoData>::AddNewItem();
template <>
void CUIListBoxEx<SelectPackageItemBox::CUIItemInfo, ITEM_INFO>::LoadSkin(bool resolveSkin);
template <>
void CUIListBoxEx<SelectPackageItemBox::CUITabInfo, SelectPackageItemBox::CTabInfoData>::LoadSkin(bool resolveSkin);
template <>
void CUIListBoxEx<SelectPackageItemBox::CUIItemInfo, ITEM_INFO>::Resize(int width, int height);
template <>
void CUIListBoxEx<SelectPackageItemBox::CUITabInfo, SelectPackageItemBox::CTabInfoData>::Resize(int width, int height);
template <>
void CUIListBoxEx<SelectPackageItemBox::CUIItemInfo, ITEM_INFO>::OnScroll(int position);
template <>
void CUIListBoxEx<SelectPackageItemBox::CUITabInfo, SelectPackageItemBox::CTabInfoData>::OnScroll(int position);
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(SelectPackageItemBox::CTabInfoData) == 0x20);
#endif
#endif