#ifndef __GROUPTGBUTTON_H #define __GROUPTGBUTTON_H #include #include #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