mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-11 21:31:00 -05:00
271 lines
9.8 KiB
C++
271 lines
9.8 KiB
C++
// ----------------------------------------------------------------------------
|
|
// Generated by ScriptObjectFactory [Sun Dec 14 07:21:52 2003]
|
|
//
|
|
// File : xuimenuso.cpp
|
|
// Class : XuiMenuScriptObject
|
|
// class layer : Automatic Object Scripting
|
|
// ----------------------------------------------------------------------------
|
|
#include <precomp.h>
|
|
|
|
#include "xuimenuso.h"
|
|
#include "xuimenu.h"
|
|
|
|
// ScriptController Instance
|
|
static XuiMenuScriptController _xuiMenuScriptController;XuiMenuScriptController *xuiMenuScriptController = &_xuiMenuScriptController;
|
|
|
|
// Function Descriptor Table
|
|
function_descriptor_struct XuiMenuScriptController::exportedFunctions[] = {
|
|
{L"setMenuGroup", 1, script_setMenuGroup },
|
|
{L"getMenuGroup", 0, script_getMenuGroup },
|
|
{L"setMenu", 1, script_setMenu },
|
|
{L"getMenu", 0, script_getMenu },
|
|
{L"spawnMenu", 1, script_spawnMenu },
|
|
{L"cancelMenu", 0, script_cancelMenu },
|
|
{L"setNormalId", 1, script_setNormalId },
|
|
{L"setDownId", 1, script_setDownId },
|
|
{L"setHoverId", 1, script_setHoverId },
|
|
{L"onOpenMenu", 0, script_onOpenMenu },
|
|
{L"onCloseMenu", 0, script_onCloseMenu },
|
|
{L"nextMenu", 0, script_nextMenu },
|
|
{L"previousMenu", 0, script_previousMenu },
|
|
};
|
|
|
|
// Script Object Methods
|
|
XuiMenuScriptObject::XuiMenuScriptObject() {
|
|
if (!getScriptObject()) return;
|
|
xuiMenuScriptObject_init();
|
|
}
|
|
|
|
XuiMenuScriptObject::~XuiMenuScriptObject() {
|
|
}
|
|
|
|
void XuiMenuScriptObject::xuiMenuScriptObject_init() {
|
|
// Assign the script interface to this instance.
|
|
getScriptObject()->vcpu_setInterface(XuiMenuScriptGuid, (void *)static_cast<XuiMenu*>(this));
|
|
// Assign the class name to this instance.
|
|
getScriptObject()->vcpu_setClassName(L"Menu");
|
|
// Assign the controller instance to this script object instance.
|
|
getScriptObject()->vcpu_setController(xuiMenuScriptController);
|
|
}
|
|
|
|
// Script Object Methods
|
|
|
|
void XuiMenuScriptObject::script_onOpenMenu() {
|
|
XuiMenuScriptController::script_onOpenMenu(SCRIPT_CALL, getScriptObject());
|
|
}
|
|
|
|
void XuiMenuScriptObject::script_onCloseMenu() {
|
|
XuiMenuScriptController::script_onCloseMenu(SCRIPT_CALL, getScriptObject());
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_setMenuGroup(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ mg) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->setMenuGroup(GET_SCRIPT_STRING(mg));
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*const char **/ XuiMenuScriptController::script_getMenuGroup(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
|
|
if (_pObj)
|
|
return MAKE_SCRIPT_STRING(_pObj->getMenuGroup());
|
|
|
|
return MAKE_SCRIPT_STRING(L"");
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_setMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ m) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->setMenu(GET_SCRIPT_STRING(m));
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*const char **/ XuiMenuScriptController::script_getMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
|
|
if (_pObj)
|
|
return MAKE_SCRIPT_STRING(_pObj->getMenu());
|
|
|
|
return MAKE_SCRIPT_STRING(L"");
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_spawnMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*int */ monitor) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->spawnMenu(GET_SCRIPT_INT(monitor));
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_cancelMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->cancelMenu();
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_setNormalId(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ id) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj)
|
|
{
|
|
// Then properly call the hosted object;
|
|
_pObj->setNormalId(GET_SCRIPT_STRING(id));
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_setDownId(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ id) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->setDownId(GET_SCRIPT_STRING(id));
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_setHoverId(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO, scriptVar /*const char **/ id) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->setHoverId(GET_SCRIPT_STRING(id));
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_onOpenMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Honnor C++ hooks
|
|
PROCESS_HOOKS0(_pSO, xuiMenuScriptController);
|
|
// If there are no script hooks to execute, we abort here.
|
|
SCRIPT_FUNCTION_CHECKABORTEVENT;
|
|
// Otherwise we execute the script methods by calling this.
|
|
SCRIPT_EXEC_EVENT0(_pSO);
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_onCloseMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Honnor C++ hooks
|
|
PROCESS_HOOKS0(_pSO, xuiMenuScriptController);
|
|
// If there are no script hooks to execute, we abort here.
|
|
SCRIPT_FUNCTION_CHECKABORTEVENT;
|
|
// Otherwise we execute the script methods by calling this.
|
|
SCRIPT_EXEC_EVENT0(_pSO);
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_nextMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->nextMenu();
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
scriptVar /*void */ XuiMenuScriptController::script_previousMenu(SCRIPT_FUNCTION_PARAMS, ScriptObject *_pSO) {
|
|
// Begin all script methods with the init block.
|
|
SCRIPT_FUNCTION_INIT;
|
|
// Find the proper pointer for the "this" object, _pSO.
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(_pSO->vcpu_getInterface(XuiMenuScriptGuid));
|
|
if (_pObj) {
|
|
// Then properly call the hosted object;
|
|
_pObj->previousMenu();
|
|
}
|
|
RETURN_SCRIPT_VOID;
|
|
}
|
|
|
|
// Script Controller
|
|
|
|
// This method returns the human readable name of the class in script files.
|
|
const wchar_t *XuiMenuScriptController::getClassName() {
|
|
return L"Menu";
|
|
}
|
|
|
|
// This method returns the human readable name of the parent of this class.
|
|
const wchar_t *XuiMenuScriptController::getAncestorClassName() {
|
|
return XUIMENU_SCRIPTPARENTCLASS;
|
|
}
|
|
|
|
// This method returns the controller object for the parent class.
|
|
ScriptObjectController *XuiMenuScriptController::getAncestorController() {
|
|
return WASABI_API_MAKI->maki_getController(guiObjectGuid);
|
|
}
|
|
|
|
// This method returns the number of methods this class publishes.
|
|
int XuiMenuScriptController::getNumFunctions() {
|
|
return sizeof(exportedFunctions) / sizeof(function_descriptor_struct);
|
|
}
|
|
|
|
// This method returns the block of published function descriptors.
|
|
const function_descriptor_struct *XuiMenuScriptController::getExportedFunctions() {
|
|
return exportedFunctions;
|
|
}
|
|
|
|
// This method returns the GUID assigned to this script class.
|
|
GUID XuiMenuScriptController::getClassGuid() {
|
|
return XuiMenuScriptGuid;
|
|
}
|
|
|
|
// This method creates and returns a new script class instance.
|
|
ScriptObject *XuiMenuScriptController::instantiate() {
|
|
XuiMenu*_pObj = new XuiMenu();
|
|
ASSERT(_pObj != NULL);
|
|
return _pObj->XuiMenuScriptObject::getScriptObject();
|
|
}
|
|
|
|
// This method deletes a given script class instance.
|
|
void XuiMenuScriptController::destroy(ScriptObject *o) {
|
|
XuiMenu*_pObj = static_cast<XuiMenu*>(o->vcpu_getInterface(XuiMenuScriptGuid));
|
|
ASSERT(_pObj != NULL);
|
|
delete _pObj;
|
|
}
|
|
|
|
// This method returns an encapsulated interface for the given instance.
|
|
void *XuiMenuScriptController::encapsulate(ScriptObject *o) {
|
|
// No automatic encapsulation
|
|
return NULL;
|
|
}
|
|
|
|
// This method frees a previously encapsulated interface.
|
|
void XuiMenuScriptController::deencapsulate(void *o) {
|
|
}
|
|
|