SavvyUI C++ UI Library
Loading...
Searching...
No Matches
PanelBase.h
Go to the documentation of this file.
1#pragma once
2
3#include "Component.h"
4#include "Label.h"
5
21
28class PanelBase : public Component
29{
30protected:
31 std::vector<PanelBaseChild> _children;
32
42 BOOL getCreateWindowOptions(wstring& title, UINT& widownStyles, wstring& wndClassName, BOOL& isCustomWndProc);
43
49 virtual wstring getClassName() = 0;
50
51public:
56
60 virtual ~PanelBase();
61
66
74 void onAction(WinHandle hTarget, long actionId, const ProcParams& procParams);
75
85 void onSelectionChanged(WinHandle hTarget, int itemIndex, const wstring& itemText, BOOL itemChecked, const ProcParams& procParams);
86
94 void onDataChanged(WinHandle hTarget, const wstring& newValue, const ProcParams& procParams);
95
103 BOOL onHorzScroll(WinHandle hTarget, const ProcParams& procParams);
104
112 BOOL onDrawMeasureItem(LPMEASUREITEMSTRUCT dis, const ProcParams& procParams);
113
121 BOOL onDrawItem(LPDRAWITEMSTRUCT dis, const ProcParams& procParams);
122};
HWND WinHandle
Definition Common.h:16
Base class for all UI components providing window creation, event handling, and listener management.
Definition Component.h:32
Component()
Constructs a new Component instance.
A UI component for displaying text with customizable alignment.
Definition Label.h:13
Definition PanelBase.h:7
int _row
Definition PanelBase.h:10
int _y
Definition PanelBase.h:14
int _width
Definition PanelBase.h:15
wstring _labelText
Definition PanelBase.h:18
Component * _component
Definition PanelBase.h:17
Label * _label
Definition PanelBase.h:19
int _column
Definition PanelBase.h:9
int _height
Definition PanelBase.h:16
int _x
Definition PanelBase.h:13
int _rowCount
Definition PanelBase.h:12
int _columnCount
Definition PanelBase.h:11
BOOL onHorzScroll(WinHandle hTarget, const ProcParams &procParams)
Handles horizontal scroll events.
virtual wstring getClassName()=0
Gets the class name for the window. Must be implemented by derived classes.
void onAction(WinHandle hTarget, long actionId, const ProcParams &procParams)
Handles action events from child components.
void onWindowMoved()
Called when the panel window has moved.
BOOL getCreateWindowOptions(wstring &title, UINT &widownStyles, wstring &wndClassName, BOOL &isCustomWndProc)
Retrieves window creation options such as window title, styles, and class name.
virtual ~PanelBase()
Virtual destructor to clean up resources.
PanelBase()
Constructs a PanelBase instance.
BOOL onDrawItem(LPDRAWITEMSTRUCT dis, const ProcParams &procParams)
Handles draw item owner-draw events.
BOOL onDrawMeasureItem(LPMEASUREITEMSTRUCT dis, const ProcParams &procParams)
Handles measure item owner-draw events.
std::vector< PanelBaseChild > _children
Definition PanelBase.h:31
void onDataChanged(WinHandle hTarget, const wstring &newValue, const ProcParams &procParams)
Handles data changed events from child components.
void onSelectionChanged(WinHandle hTarget, int itemIndex, const wstring &itemText, BOOL itemChecked, const ProcParams &procParams)
Handles selection changed events from child components.
Definition Component.h:9