#ifndef _STATUS_H #define _STATUS_H #include #include #include #include class ButtBar; class AppCmds; #define STATUSBAR_PARENT GuiObjectWnd /** Class @short @author Nullsoft @ver 1.0 @see */ class StatusBar : public STATUSBAR_PARENT, public GuiStatusCallbackI { public: /** Method @see @ret @param */ StatusBar(); /** Method @see @ret @param */ virtual ~StatusBar(); /** Method @see @ret @param */ virtual int onInit(); // completeness indicator /** Method @see @ret @param */ virtual void pushCompleted(int max); /** Method @see @ret @param */ virtual void incCompleted(int add); /** Method @see @ret @param */ virtual void setCompleted(int pos); /** Method @see @ret @param */ virtual void popCompleted(); /** Method @see @ret @param */ virtual void timerCallback(int id); /** Method @see @ret @param */ virtual int onResize(); virtual api_dependent *status_getDependencyPtr() { return this; } /** Method @see @ret @param */ virtual void onSetStatusText(const wchar_t *text, int overlay); /** Method @see @ret @param */ virtual void onAddAppCmds(AppCmds *commands); /** Method @see @ret @param */ virtual void onRemoveAppCmds(AppCmds *commands); /** Method @see @ret @param */ void fakeButtonPush(const wchar_t *name); protected: int fakeButtonPush(ButtBar *bb, const wchar_t *name); void setExclude(const wchar_t *val); void setIncludeOnly(const wchar_t *val); StringW exclude_list, include_only; protected: void regenerate(); private: StringW contentgroupname; StringW status_text; int overtimer; // completeness int max; int completed; int progress_width; GuiObjectWnd bg; ButtBar *bbleft, *bbright; PtrList appcmds; }; #endif