[68] | 1 | // This file is a part of the Framsticks GDK library.
|
---|
| 2 | // Copyright (C) 2002-2011 Szymon Ulatowski. See LICENSE.txt for details.
|
---|
| 3 | // Refer to http://www.framsticks.com/ for further information.
|
---|
| 4 |
|
---|
| 5 | #ifndef _PARAMVMOBJ_H_
|
---|
| 6 | #define _PARAMVMOBJ_H_
|
---|
| 7 |
|
---|
| 8 | #include "param.h"
|
---|
| 9 | #include "extvalue.h"
|
---|
| 10 |
|
---|
| 11 | class ParamVMObj: public DestrBase
|
---|
| 12 | {
|
---|
| 13 | ParamInterface *iface;
|
---|
| 14 | public:
|
---|
| 15 | Param par;
|
---|
| 16 | ParamVMObj(ParamInterface *pi=0);
|
---|
| 17 | static ExtObject makeObject(ParamInterface *pi);
|
---|
| 18 | int findGroupId(const char* name);
|
---|
| 19 | #define STATRICKCLASS ParamVMObj
|
---|
| 20 | PARAMGETDEF(name) {arg1->setString(iface->getName());}
|
---|
| 21 | PARAMGETDEF(props) {arg1->setInt(iface->getPropCount());}
|
---|
| 22 | PARAMGETDEF(groups) {arg1->setInt(iface->getGroupCount());}
|
---|
| 23 | PARAMPROCDEF(p_make);
|
---|
| 24 | PARAMPROCDEF(p_get) {iface->get(arg1->getInt(),*arg2);}
|
---|
| 25 | PARAMPROCDEF(p_set) {arg2->setInt(iface->set(arg1[1].getInt(),arg1[0]));}
|
---|
| 26 | PARAMPROCDEF(p_getid) {arg2->setString(iface->id(arg1->getInt()));}
|
---|
| 27 | PARAMPROCDEF(p_getname) {arg2->setString(iface->name(arg1->getInt()));}
|
---|
| 28 | PARAMPROCDEF(p_getgroup) {arg2->setInt(iface->group(arg1->getInt()));}
|
---|
| 29 | PARAMPROCDEF(p_getgrname) {arg2->setString(iface->grname(arg1->getInt()));}
|
---|
| 30 | PARAMPROCDEF(p_gettype) {arg2->setString(iface->type(arg1->getInt()));}
|
---|
| 31 | PARAMPROCDEF(p_getflags) {arg2->setInt(iface->flags(arg1->getInt()));}
|
---|
| 32 | PARAMPROCDEF(p_gethelp) {arg2->setString(iface->help(arg1->getInt()));}
|
---|
| 33 | PARAMPROCDEF(p_findid) {arg2->setInt(iface->findId(arg1->getString()));}
|
---|
| 34 | PARAMPROCDEF(p_findgroupid);
|
---|
| 35 | PARAMPROCDEF(p_findidingroup);
|
---|
| 36 | PARAMPROCDEF(p_setDef) {iface->setDefault((int)arg1->getInt());}
|
---|
| 37 | PARAMPROCDEF(p_setAllDef) {iface->setDefault();}
|
---|
| 38 | PARAMPROCDEF(p_call);
|
---|
| 39 | #undef STATRICKCLASS
|
---|
| 40 | };
|
---|
| 41 |
|
---|
| 42 | #endif
|
---|