Play-/Source/ui_win32/FrameDebugger/TabHost.h

44 lines
842 B
C
Raw Normal View History

#pragma once
#include "win32/Tab.h"
#include <vector>
#include <memory>
class CTabHost : public Framework::Win32::CWindow
{
public:
enum
{
NOTIFICATION_SELCHANGED = 0xA000,
};
struct SELCHANGED_INFO : public NMHDR
{
uint32 selectedIndex;
Framework::Win32::CWindow* selectedWindow;
};
2018-04-30 21:01:23 +01:00
CTabHost(HWND, const RECT&);
virtual ~CTabHost();
2018-04-30 21:01:23 +01:00
Framework::Win32::CWindow* GetTab(unsigned int);
void InsertTab(const TCHAR*, Framework::Win32::CWindow*);
2018-04-30 21:01:23 +01:00
int GetSelection();
void SetSelection(unsigned int);
protected:
2018-04-30 21:01:23 +01:00
long OnSize(unsigned int, unsigned int, unsigned int) override;
LRESULT OnNotify(WPARAM, NMHDR*) override;
private:
typedef std::vector<Framework::Win32::CWindow*> TabItemArray;
2018-04-30 21:01:23 +01:00
void OnTabSelChanged();
2018-04-30 21:01:23 +01:00
std::unique_ptr<Framework::Win32::CTab> m_tab;
2018-04-30 21:01:23 +01:00
int m_currentSelection;
TabItemArray m_tabItems;
};