#ifndef _STATBAR_STATBAR_HPP_ #define _STATBAR_STATBAR_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _STATBAR_STATUSINFO_HPP_ #include #endif #ifndef _STATBAR_STATBARMENU_HPP_ #include #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 mPaintCallback; Callback mSetFocusCallback; Callback mKeyUpCallback; Callback mKeyDownCallback; Callback mSizeCallback; Callback mMinMaxCallback; Callback mMenuSelectCallback; Callback mDestroyCallback; GUIWindow &mDisplayWindow; String mCapLockString; String mNumLockString; String mBlankString; String mLastDisplayString; WORD mLastCapLockState; WORD mLastNumLockState; int mLastItemID; WORD mKeyDownState; RECT mStatRectSizeAdv; }; #endif