rodecomp/Source/UI/Lists/UITabControl.h
ragnarok-clanker 05cb11f08a Decompile 4 functions in Source/UI/Buttons/UITextButton.cpp, Source/UI/Lists/UIComboBoxDefWnd.h, ...
Batch #6273 by eAthena: 0 byte-identical, 4 confirmed by peer review.

- fn_11406 UINewComboBoxCtrl::Slot26: logic confirmed by peer review
- fn_11416 UIDescriptRace::Slot25: logic confirmed by peer review
- fn_11410 UITabControl::Slot26: logic confirmed by peer review
- fn_11373 UINewComboBoxCtrl::Paint: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, willerthal, superintelligence
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 21:31:37 +00:00

65 lines
2.2 KiB
C++

#ifndef RAGNAROK_SOURCE_UI_LISTS_UITABCONTROL_H
#define RAGNAROK_SOURCE_UI_LISTS_UITABCONTROL_H
#include "UI/Window/UIWindow.h"
#include <string>
#include <vector>
struct UIButtonContext;
class UIEditCtrl;
class UITabControl : public UIWindow {
public:
UITabControl(UIWindowContext& windows, UIButtonContext& controls);
int TabCount();
int TabAt(int x, int y);
void FillTab(int index, int x, int y, int width, int height, std::uint32_t color);
void DrawVerticalTab(int index);
void DrawHorizontalTab(int index);
void DrawTabBorder(int x, int y, int width, int height, std::uint32_t color);
void RecalculateWidths();
void FitToTabs();
void SelectTab(int index);
void RemoveTab(int index);
void ClearTabs();
void AddTab(const char* label, const char* tooltip);
void SetFlag(int index, bool value);
void HideEdit();
int SendMsg(UIWindow* sender, int message, std::intptr_t argument1, std::intptr_t argument2, std::intptr_t argument3, std::intptr_t argument4) override;
void Slot10(int argument1, int argument2, std::intptr_t argument3) override;
void Slot25(int x, int y) override;
void Slot26(int x, int y) override;
void Slot27(int x, int y) override;
void Slot28(int x, int y) override;
void Slot31(int x, int y) override;
/* 0080 */ int layout;
/* 0084 */ int tabHeight;
/* 0088 */ int tabPadding;
/* 008C */ unsigned char uniformWidths;
/* 008D */ unsigned char unknown_008D[0x3];
/* 0090 */ std::uint32_t activeFillColor;
/* 0094 */ std::uint32_t inactiveFillColor;
/* 0098 */ std::uint32_t activeBorderColor;
/* 009C */ std::uint32_t inactiveBorderColor;
/* 00A0 */ std::uint32_t activeTextColor;
/* 00A4 */ std::uint32_t inactiveTextColor;
/* 00A8 */ unsigned char unknown_00A8;
/* 00A9 */ unsigned char unknown_00A9;
/* 00AC */ int dragX;
/* 00B0 */ int dragY;
/* 00B4 */ std::vector<std::string> labels;
/* 00C0 */ std::vector<std::uint32_t> colors;
/* 00CC */ std::vector<int> widths;
/* 00D8 */ UIEditCtrl* edit;
/* 00DC */ std::vector<std::string> tooltips;
/* 007C */ int unknown_007C;
/* 00E8 */ int unknown_00E8;
/* 00EC */ std::vector<bool> flags;
private:
UIButtonContext* m_controls;
};
#endif