winamp/Src/Wasabi/api/wnd/wndclass/status.h
2024-09-24 14:54:57 +02:00

179 lines
2.2 KiB
C++

#ifndef _STATUS_H
#define _STATUS_H
#include <api/wnd/wndclass/guiobjwnd.h>
#include <bfc/string/StringW.h>
#include <api/wndmgr/guistatuscb.h>
#include <bfc/depend.h>
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> appcmds;
};
#endif