Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
246
Src/Wasabi/api/skin/widgets/checkbox.h
Normal file
246
Src/Wasabi/api/skin/widgets/checkbox.h
Normal file
|
@ -0,0 +1,246 @@
|
|||
#ifndef __CHECKBOX_H
|
||||
#define __CHECKBOX_H
|
||||
|
||||
#include <api/wnd/wndclass/guiobjwnd.h>
|
||||
#include <api/script/objects/c_script/h_guiobject.h>
|
||||
#include <api/script/objects/c_script/h_button.h>
|
||||
|
||||
#define CHECKBOX_PARENT GuiObjectWnd
|
||||
|
||||
class TextClicks;
|
||||
class ToggleClicks;
|
||||
|
||||
|
||||
/**
|
||||
Class
|
||||
|
||||
@short
|
||||
@author Nullsoft
|
||||
@ver 1.0
|
||||
@see
|
||||
*/
|
||||
class CheckBox : public CHECKBOX_PARENT {
|
||||
|
||||
public:
|
||||
|
||||
CheckBox(const wchar_t *_text = L"ERROR", const wchar_t *_radioid = NULL);
|
||||
virtual ~CheckBox();
|
||||
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
virtual int onInit();
|
||||
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
virtual int getPreferences(int what);
|
||||
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
void toggle(int self_switch); // this is called by the click catchers.
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
void setActivated(int activated, int writetocfg=1);
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
int isActivated();
|
||||
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
void setText(const wchar_t *_text);
|
||||
const wchar_t *getText();
|
||||
void setRadioid(const wchar_t *_radioid);
|
||||
const wchar_t *getRadioid() { return radioid; }
|
||||
void setRadioVal(const wchar_t *val, int use_radioval=TRUE);
|
||||
const wchar_t *getRadioVal() { return radioval; }
|
||||
|
||||
|
||||
#ifdef WASABI_COMPILE_CONFIG
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
virtual int onReloadConfig();
|
||||
#endif
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
virtual void onNewContent();
|
||||
|
||||
virtual int wantFocus() { return 1; }
|
||||
virtual int onChar(unsigned int c);
|
||||
|
||||
virtual void setAction(const wchar_t *str);
|
||||
virtual void setActionTarget(const wchar_t *target);
|
||||
virtual void setActionParam(const wchar_t *param);
|
||||
virtual const wchar_t *getActionParam();
|
||||
|
||||
protected:
|
||||
virtual void onToggle(); //override to catch toggles
|
||||
|
||||
private:
|
||||
|
||||
void doAction();
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
void updateText();
|
||||
|
||||
TextClicks *textclicks;
|
||||
ToggleClicks *toggleclicks;
|
||||
StringW text;
|
||||
StringW radioid;
|
||||
GuiObject *buttonGuiObj;
|
||||
StringW radioval;
|
||||
int use_radioval;
|
||||
StringW action, action_target, action_param;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
Class
|
||||
|
||||
@short
|
||||
@author Nullsoft
|
||||
@ver 1.0
|
||||
@see
|
||||
*/
|
||||
class TextClicks : public H_GuiObject {
|
||||
public:
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
TextClicks(ScriptObject *textobj, CheckBox *_callback) :
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
callback(_callback), H_GuiObject(textobj) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
virtual void hook_onLeftButtonDown(int x, int y) {
|
||||
callback->toggle(0);
|
||||
}
|
||||
private:
|
||||
CheckBox *callback;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
Class
|
||||
|
||||
@short
|
||||
@author Nullsoft
|
||||
@ver 1.0
|
||||
@see
|
||||
*/
|
||||
class ToggleClicks : public H_Button {
|
||||
public:
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
ToggleClicks(ScriptObject *button, CheckBox *_callback) :
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
callback(_callback), H_Button(button) {
|
||||
inhere=0;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Method
|
||||
|
||||
@see
|
||||
@ret
|
||||
@param
|
||||
*/
|
||||
virtual void hook_onActivate(int activate) {
|
||||
if (inhere) return;
|
||||
inhere=1;
|
||||
callback->toggle(1);
|
||||
inhere=0;
|
||||
}
|
||||
|
||||
private:
|
||||
CheckBox *callback;
|
||||
int inhere;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue