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
|
---|