00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "py_commands.h"
00010 #include "VMDApp.h"
00011 #include "Mouse.h"
00012
00013 static PyObject *mousemode(PyObject *self, PyObject *args) {
00014 int mode, submode = -1;
00015 if (!PyArg_ParseTuple(args, (char *)"i|i", &mode, &submode))
00016 return NULL;
00017
00018 VMDApp *app = get_vmdapp();
00019 app->mouse_set_mode(mode, submode);
00020 Py_INCREF(Py_None);
00021 return Py_None;
00022 }
00023
00024 static PyMethodDef methods[] = {
00025 {(char *)"mode", (vmdPyMethod)mousemode, METH_VARARGS,
00026 (char *)"mode(mode, submode) -- set mouse behavior in graphics window"},
00027 {NULL, NULL}
00028 };
00029
00030 void initmouse() {
00031 PyObject *m = Py_InitModule((char *)"mouse", methods);
00032 PyModule_AddIntConstant(m, "ROTATE", Mouse::ROTATION);
00033 PyModule_AddIntConstant(m, "TRANSLATE", Mouse::TRANSLATION);
00034 PyModule_AddIntConstant(m, "SCALE", Mouse::SCALING);
00035 PyModule_AddIntConstant(m, "LIGHT", Mouse::LIGHT);
00036 PyModule_AddIntConstant(m, "PICK", Mouse::PICK);
00037 PyModule_AddIntConstant(m, "USERPOINT", Mouse::USERPOINT);
00038
00039 PyModule_AddIntConstant(m, "QUERY", Mouse::QUERY);
00040 PyModule_AddIntConstant(m, "CENTER", Mouse::CENTER);
00041 PyModule_AddIntConstant(m, "LABELATOM", Mouse::LABELATOM);
00042 PyModule_AddIntConstant(m, "LABELBOND", Mouse::LABELBOND);
00043 PyModule_AddIntConstant(m, "LABELANGLE", Mouse::LABELANGLE);
00044 PyModule_AddIntConstant(m, "LABELDIHEDRAL", Mouse::LABELDIHEDRAL);
00045 PyModule_AddIntConstant(m, "MOVEATOM", Mouse::MOVEATOM);
00046 PyModule_AddIntConstant(m, "MOVERES", Mouse::MOVERES);
00047 PyModule_AddIntConstant(m, "MOVEFRAG", Mouse::MOVEFRAG);
00048 PyModule_AddIntConstant(m, "MOVEMOL", Mouse::MOVEMOL);
00049 PyModule_AddIntConstant(m, "MOVEREP", Mouse::MOVEREP);
00050 PyModule_AddIntConstant(m, "FORCEATOM", Mouse::FORCEATOM);
00051 PyModule_AddIntConstant(m, "FORCERES", Mouse::FORCERES);
00052 PyModule_AddIntConstant(m, "FORCEFRAG", Mouse::FORCEFRAG);
00053 PyModule_AddIntConstant(m, "ADDBOND", Mouse::ADDBOND);
00054
00055 }
00056