Mercurial > vim
comparison src/if_py_both.h @ 4379:a2f03b41dca7 v7.3.938
updated for version 7.3.938
Problem: Python: not easy to get to window number.
Solution: Add vim.window.number. (ZyX)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Sun, 12 May 2013 19:00:41 +0200 |
parents | 8ec7323f417d |
children | 48a22f36ff45 |
comparison
equal
deleted
inserted
replaced
4378:b6df5640cd64 | 4379:a2f03b41dca7 |
---|---|
1846 else if (strcmp(name, "vars") == 0) | 1846 else if (strcmp(name, "vars") == 0) |
1847 return DictionaryNew(this->win->w_vars); | 1847 return DictionaryNew(this->win->w_vars); |
1848 else if (strcmp(name, "options") == 0) | 1848 else if (strcmp(name, "options") == 0) |
1849 return OptionsNew(SREQ_WIN, this->win, (checkfun) CheckWindow, | 1849 return OptionsNew(SREQ_WIN, this->win, (checkfun) CheckWindow, |
1850 (PyObject *) this); | 1850 (PyObject *) this); |
1851 else if (strcmp(name, "number") == 0) | |
1852 return PyLong_FromLong((long) get_win_number(this->win)); | |
1851 else if (strcmp(name,"__members__") == 0) | 1853 else if (strcmp(name,"__members__") == 0) |
1852 return Py_BuildValue("[ssssss]", "buffer", "cursor", "height", "vars", | 1854 return Py_BuildValue("[ssssss]", "buffer", "cursor", "height", "vars", |
1853 "options"); | 1855 "options", "number"); |
1854 else | 1856 else |
1855 return NULL; | 1857 return NULL; |
1856 } | 1858 } |
1857 | 1859 |
1858 static void | 1860 static void |
1972 vim_snprintf(repr, 100, _("<window object (deleted) at %p>"), (self)); | 1974 vim_snprintf(repr, 100, _("<window object (deleted) at %p>"), (self)); |
1973 return PyString_FromString(repr); | 1975 return PyString_FromString(repr); |
1974 } | 1976 } |
1975 else | 1977 else |
1976 { | 1978 { |
1977 int i = 0; | 1979 int w = get_win_number(this->win); |
1978 win_T *w; | 1980 |
1979 | 1981 if (w == 0) |
1980 for (w = firstwin; w != NULL && w != this->win; w = W_NEXT(w)) | |
1981 ++i; | |
1982 | |
1983 if (w == NULL) | |
1984 vim_snprintf(repr, 100, _("<window object (unknown) at %p>"), | 1982 vim_snprintf(repr, 100, _("<window object (unknown) at %p>"), |
1985 (self)); | 1983 (self)); |
1986 else | 1984 else |
1987 vim_snprintf(repr, 100, _("<window %d>"), i); | 1985 vim_snprintf(repr, 100, _("<window %d>"), w - 1); |
1988 | 1986 |
1989 return PyString_FromString(repr); | 1987 return PyString_FromString(repr); |
1990 } | 1988 } |
1991 } | 1989 } |
1992 | 1990 |