summaryrefslogtreecommitdiffstats
path: root/objects/window-item-object.c
diff options
context:
space:
mode:
Diffstat (limited to 'objects/window-item-object.c')
-rw-r--r--objects/window-item-object.c334
1 files changed, 0 insertions, 334 deletions
diff --git a/objects/window-item-object.c b/objects/window-item-object.c
deleted file mode 100644
index 2f18f7d..0000000
--- a/objects/window-item-object.c
+++ /dev/null
@@ -1,334 +0,0 @@
-#include <Python.h>
-#include "pymodule.h"
-#include "base-objects.h"
-#include "window-item-object.h"
-#include "pyirssi.h"
-#include "pycore.h"
-#include "pyutils.h"
-#include "factory.h"
-
-/* Dealloc is overridden by sub types */
-
-PyDoc_STRVAR(PyWindowItem_server_doc,
- "Active name for item"
-);
-static PyObject *PyWindowItem_server_get(PyWindowItem *self, void *closure)
-{
- RET_NULL_IF_INVALID(self->data);
- RET_AS_OBJ_OR_NONE(self->server);
-}
-
-PyDoc_STRVAR(PyWindowItem_name_doc,
- "Name of the item"
-);
-static PyObject *PyWindowItem_name_get(PyWindowItem *self, void *closure)
-{
- RET_NULL_IF_INVALID(self->data);
- RET_AS_STRING_OR_NONE(self->data->visible_name);
-}
-
-PyDoc_STRVAR(PyWindowItem_createtime_doc,
- "Time the witem was created"
-);
-static PyObject *PyWindowItem_createtime_get(PyWindowItem *self, void *closure)
-{
- RET_NULL_IF_INVALID(self->data);
- return PyLong_FromLong(self->data->createtime);
-}
-
-PyDoc_STRVAR(PyWindowItem_data_level_doc,
- "0=no new data, 1=text, 2=msg, 3=highlighted text"
-);
-static PyObject *PyWindowItem_data_level_get(PyWindowItem *self, void *closure)
-{
- RET_NULL_IF_INVALID(self->data);
- return PyInt_FromLong(self->data->data_level);
-}
-
-PyDoc_STRVAR(PyWindowItem_hilight_color_doc,
- "Color of the last highlighted text"
-);
-static PyObject *PyWindowItem_hilight_color_get(PyWindowItem *self, void *closure)
-{
- RET_NULL_IF_INVALID(self->data);
- RET_AS_STRING_OR_NONE(self->data->hilight_color);
-}
-
-/* specialized getters/setters */
-static PyGetSetDef PyWindowItem_getseters[] = {
- {"server", (getter)PyWindowItem_server_get, NULL,
- PyWindowItem_server_doc, NULL},
- {"name", (getter)PyWindowItem_name_get, NULL,
- PyWindowItem_name_doc, NULL},
- {"createtime", (getter)PyWindowItem_createtime_get, NULL,
- PyWindowItem_createtime_doc, NULL},
- {"data_level", (getter)PyWindowItem_data_level_get, NULL,
- PyWindowItem_data_level_doc, NULL},
- {"hilight_color", (getter)PyWindowItem_hilight_color_get, NULL,
- PyWindowItem_hilight_color_doc, NULL},
- {NULL}
-};
-
-/* Methods */
-PyDoc_STRVAR(PyWindowItem_prnt_doc,
- "prnt(str, level) -> None\n"
- "\n"
- "Print to window item\n"
-);
-static PyObject *PyWindowItem_prnt(PyWindowItem *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"str", "level", NULL};
- char *str;
- int level = MSGLEVEL_CLIENTNOTICE;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "s|i", kwlist, &str, &level))
- return NULL;
-
- printtext_string(self->data->server, self->data->visible_name, level, str);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_command_doc,
- "command(cmd) -> None\n"
- "\n"
- "Send command to window item\n"
-);
-static PyObject *PyWindowItem_command(PyWindowItem *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"cmd", NULL};
- char *cmd;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "s", kwlist, &cmd))
- return NULL;
-
- py_command(cmd, self->data->server, self->data);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_window_doc,
- "window() -> Window object or None\n"
- "\n"
- "Return parent window for window item\n"
-);
-static PyObject *PyWindowItem_window(PyWindowItem *self, PyObject *args)
-{
- WINDOW_REC *win;
-
- RET_NULL_IF_INVALID(self->data);
-
- win = window_item_window(self->data);
- if (win)
- return pywindow_new(win);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_change_server_doc,
- "change_server(server) -> None\n"
- "\n"
- "Change server for window item\n"
-);
-static PyObject *PyWindowItem_change_server(PyWindowItem *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"server", NULL};
- PyObject *server = NULL;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O", kwlist,
- &server))
- return NULL;
-
- if (!pyserver_check(server))
- return PyErr_Format(PyExc_TypeError, "arg must be server");
-
- window_item_change_server(self->data, ((PyServer*)server)->data);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_is_active_doc,
- "is_active() -> bool\n"
- "\n"
- "Returns true if window item is active\n"
-);
-static PyObject *PyWindowItem_is_active(PyWindowItem *self, PyObject *args)
-{
- RET_NULL_IF_INVALID(self->data);
-
- return PyBool_FromLong(window_item_is_active(self->data));
-}
-
-PyDoc_STRVAR(PyWindowItem_set_active_doc,
- "set_active() -> None\n"
- "\n"
- "Set window item active\n"
-);
-static PyObject *PyWindowItem_set_active(PyWindowItem *self, PyObject *args)
-{
- RET_NULL_IF_INVALID(self->data);
-
- window_item_set_active(window_item_window(self->data), self->data);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_activity_doc,
- "activity(data_level, hilight_color) -> None\n"
- "\n"
-);
-static PyObject *PyWindowItem_activity(PyWindowItem *self, PyObject *args, PyObject *kwds)
-{
- static char *kwlist[] = {"data_level", "hilight_color", NULL};
- int data_level = 0;
- char *hilight_color = NULL;
-
- RET_NULL_IF_INVALID(self->data);
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "is", kwlist,
- &data_level, &hilight_color))
- return NULL;
-
- window_item_activity(self->data, data_level, hilight_color);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_destroy_doc,
- "destroy() -> None\n"
- "\n"
- "Destroy channel or query\n"
-);
-static PyObject *PyWindowItem_destroy(PyWindowItem *self, PyObject *args)
-{
- RET_NULL_IF_INVALID(self->data);
-
- window_item_destroy(self->data);
-
- Py_RETURN_NONE;
-}
-
-PyDoc_STRVAR(PyWindowItem_get_dcc_doc,
- "get_dcc() -> DccChat object or None\n"
- "\n"
- "If item is a query of a =nick, return DCC chat record of nick\n"
-);
-static PyObject *PyWindowItem_get_dcc(PyWindowItem *self, PyObject *args)
-{
- RET_NULL_IF_INVALID(self->data);
- return py_irssi_new(self->data, 1);
-}
-
-/* Methods for object */
-static PyMethodDef PyWindowItem_methods[] = {
- {"prnt", (PyCFunction)PyWindowItem_prnt, METH_VARARGS | METH_KEYWORDS,
- PyWindowItem_prnt_doc},
- {"command", (PyCFunction)PyWindowItem_command, METH_VARARGS | METH_KEYWORDS,
- PyWindowItem_command_doc},
- {"window", (PyCFunction)PyWindowItem_window, METH_NOARGS,
- PyWindowItem_window_doc},
- {"change_server", (PyCFunction)PyWindowItem_change_server, METH_VARARGS | METH_KEYWORDS,
- PyWindowItem_change_server_doc},
- {"is_active", (PyCFunction)PyWindowItem_is_active, METH_NOARGS,
- PyWindowItem_is_active_doc},
- {"set_active", (PyCFunction)PyWindowItem_set_active, METH_NOARGS,
- PyWindowItem_set_active_doc},
- {"activity", (PyCFunction)PyWindowItem_activity, METH_VARARGS | METH_KEYWORDS,
- PyWindowItem_activity_doc},
- {"destroy", (PyCFunction)PyWindowItem_destroy, METH_NOARGS,
- PyWindowItem_destroy_doc},
- {"get_dcc", (PyCFunction)PyWindowItem_get_dcc, METH_NOARGS,
- PyWindowItem_get_dcc_doc},
- {NULL} /* Sentinel */
-};
-
-PyTypeObject PyWindowItemType = {
- PyObject_HEAD_INIT(NULL)
- 0, /*ob_size*/
- "WindowItem", /*tp_name*/
- sizeof(PyWindowItem), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- 0, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- 0, /*tp_compare*/
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash */
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
- "PyWindowItem objects", /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- PyWindowItem_methods, /* tp_methods */
- 0, /* tp_members */
- PyWindowItem_getseters, /* tp_getset */
- &PyIrssiChatBaseType, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- 0, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
-};
-
-
-/* window item wrapper factory function */
-PyObject *pywindow_item_sub_new(void *witem, const char *name, PyTypeObject *subclass)
-{
- WI_ITEM_REC *rec = witem;
- PyWindowItem *pywitem = NULL;
- PyObject *server;
-
- g_return_val_if_fail(witem != NULL, NULL);
-
- server = py_irssi_chat_new(rec->server, 1);
- if (!server)
- return NULL;
-
- pywitem = py_instp(PyWindowItem, subclass);
- if (!pywitem)
- return NULL;
-
- pywitem->data = witem;
- pywitem->base_name = name;
- pywitem->server = server;
-
- return (PyObject *)pywitem;
-}
-
-PyObject *pywindow_item_new(void *witem)
-{
- return pywindow_item_sub_new(witem, NULL, &PyWindowItemType);
-}
-
-int window_item_object_init(void)
-{
- g_return_val_if_fail(py_module != NULL, 0);
-
- if (PyType_Ready(&PyWindowItemType) < 0)
- return 0;
-
- Py_INCREF(&PyWindowItemType);
- PyModule_AddObject(py_module, "WindowItem", (PyObject *)&PyWindowItemType);
-
- return 1;
-}