winamp/Src/Wasabi/api/skin/widgets/grouptgbutton.h
2024-09-24 14:54:57 +02:00

102 lines
1.4 KiB
C++

#ifndef __GROUPTGBUTTON_H
#define __GROUPTGBUTTON_H
#include <api/skin/widgets/groupclickwnd.h>
#include <api/wnd/wndclass/guiobjwnd.h>
#define GROUPTOGGLEBUTTON_PARENT GuiObjectWnd
#define STATUS_OFF 0
#define STATUS_ON 1
/**
Class
@short
@author Nullsoft
@ver 1.0
@see
*/
class GroupToggleButton : public GROUPTOGGLEBUTTON_PARENT {
public:
/**
Method
@see
@ret
@param
*/
GroupToggleButton();
/**
Method
@see
@ret
@param
*/
virtual ~GroupToggleButton();
/**
Method
@see
@ret
@param
*/
virtual int onInit();
/**
Method
@see
@ret
@param
*/
virtual int childNotify(ifc_window *child, int msg, intptr_t param1=0, intptr_t param2=0);
virtual void setGroups(const wchar_t *on, const wchar_t *off);
virtual void toggle();
virtual int wantFullClick();
virtual void grouptoggle_onLeftPush();
virtual void grouptoggle_onRightPush();
virtual void setStatus(int s);
virtual int getStatus() { return status; }
virtual int wantAutoToggle() { return 1; }
virtual GroupClickWnd *enumGroups(int n);
virtual int getNumGroups();
private:
void initGroups();
GroupClickWnd on;
GroupClickWnd off;
StringW on_id, off_id;
int status;
};
#endif