Files
Work/statbar/Statbar.hpp
2024-08-07 09:16:27 -04:00

64 lines
2.2 KiB
C++

#ifndef _STATBAR_STATBAR_HPP_
#define _STATBAR_STATBAR_HPP_
#ifndef _COMMON_WINDOWS_HPP_
#include <common/windows.hpp>
#endif
#ifndef _COMMON_STRING_HPP_
#include <common/string.hpp>
#endif
#ifndef _STATBAR_STATUSINFO_HPP_
#include <statbar/statinfo.hpp>
#endif
#ifndef _STATBAR_STATBARMENU_HPP_
#include <statbar/statmenu.hpp>
#endif
class StatusBar : public StatusBarMenu, public StatusInfo
{
public:
StatusBar(Window &mainWindow);
StatusBar(GUIWindow &guiWindow);
virtual ~StatusBar();
WORD setSequentialResourceDescriptors(UINT menuId,UINT stringID,WORD itemCount);
WORD setSequentialResourceLabels(UINT stringID,WORD itemCount);
void setText(const String &displayString);
protected:
virtual void postPaint(PureDevice &screenDevice,const Rect &paintRect);
Rect postPaintRect(void)const;
private:
CallbackData::ReturnType paintHandler(CallbackData &someCallbackData);
CallbackData::ReturnType setFocusHandler(CallbackData &someCallbackData);
CallbackData::ReturnType keyUpHandler(CallbackData &someCallbackData);
CallbackData::ReturnType keyDownHandler(CallbackData &someCallbackData);
CallbackData::ReturnType sizeHandler(CallbackData &someCallbackData);
CallbackData::ReturnType minMaxHandler(CallbackData &someCallbackData);
CallbackData::ReturnType menuSelectHandler(CallbackData &someCallbackData);
CallbackData::ReturnType destroyHandler(CallbackData &someCallbackData);
void removeHandlers(void);
void setStatBarText(int itemID,WORD redrawFlag);
void setStatBarText(PureMenu &somePureMenu,WORD redrawFlag);
void setCapLockText(void);
void setNumLockText(void);
void paintBar(void);
Callback<StatusBar> mPaintCallback;
Callback<StatusBar> mSetFocusCallback;
Callback<StatusBar> mKeyUpCallback;
Callback<StatusBar> mKeyDownCallback;
Callback<StatusBar> mSizeCallback;
Callback<StatusBar> mMinMaxCallback;
Callback<StatusBar> mMenuSelectCallback;
Callback<StatusBar> mDestroyCallback;
GUIWindow &mDisplayWindow;
String mCapLockString;
String mNumLockString;
String mBlankString;
String mLastDisplayString;
WORD mLastCapLockState;
WORD mLastNumLockState;
int mLastItemID;
WORD mKeyDownState;
RECT mStatRectSizeAdv;
};
#endif