Commit 541c8c0b authored by Guido van Rossum's avatar Guido van Rossum

Added many new functions

parent 97ad2d80
...@@ -703,7 +703,7 @@ drawing_getattr(wp, name) ...@@ -703,7 +703,7 @@ drawing_getattr(wp, name)
return findmethod(drawing_methods, (object *)wp, name); return findmethod(drawing_methods, (object *)wp, name);
} }
static typeobject Drawingtype = { typeobject Drawingtype = {
OB_HEAD_INIT(&Typetype) OB_HEAD_INIT(&Typetype)
0, /*ob_size*/ 0, /*ob_size*/
"drawing", /*tp_name*/ "drawing", /*tp_name*/
...@@ -917,6 +917,27 @@ text_setfocus(self, args) ...@@ -917,6 +917,27 @@ text_setfocus(self, args)
return None; return None;
} }
static object *
text_settext(self, args)
textobject *self;
object *args;
{
object *text;
char *buf;
int size;
if (!getstrarg(args, &text))
return NULL;
size = getstringsize(text);
if ((buf = NEW(char, size)) == NULL) {
err_set(MemoryError);
return NULL;
}
memcpy(buf, getstringvalue(text), size);
tesetbuf(self->t_text, buf, size); /* Becomes owner of buffer */
INCREF(None);
return None;
}
static object * static object *
text_replace(self, args) text_replace(self, args)
textobject *self; textobject *self;
...@@ -941,6 +962,7 @@ static struct methodlist text_methods[] = { ...@@ -941,6 +962,7 @@ static struct methodlist text_methods[] = {
"move", text_move, "move", text_move,
"replace", text_replace, "replace", text_replace,
"setfocus", text_setfocus, "setfocus", text_setfocus,
"settext", text_settext,
{NULL, NULL} /* sentinel */ {NULL, NULL} /* sentinel */
}; };
...@@ -976,7 +998,7 @@ text_setattr(tp, name, v) ...@@ -976,7 +998,7 @@ text_setattr(tp, name, v)
return dictinsert(tp->t_attr, name, v); return dictinsert(tp->t_attr, name, v);
} }
static typeobject Texttype = { typeobject Texttype = {
OB_HEAD_INIT(&Typetype) OB_HEAD_INIT(&Typetype)
0, /*ob_size*/ 0, /*ob_size*/
"textedit", /*tp_name*/ "textedit", /*tp_name*/
...@@ -1154,7 +1176,7 @@ menu_setattr(mp, name, v) ...@@ -1154,7 +1176,7 @@ menu_setattr(mp, name, v)
return dictinsert(mp->m_attr, name, v); return dictinsert(mp->m_attr, name, v);
} }
static typeobject Menutype = { typeobject Menutype = {
OB_HEAD_INIT(&Typetype) OB_HEAD_INIT(&Typetype)
0, /*ob_size*/ 0, /*ob_size*/
"menu", /*tp_name*/ "menu", /*tp_name*/
...@@ -1251,6 +1273,18 @@ window_gettitle(wp, args) ...@@ -1251,6 +1273,18 @@ window_gettitle(wp, args)
return wp->w_title; return wp->w_title;
} }
static object *
window_getwinpos(wp, args)
windowobject *wp;
object *args;
{
int h, v;
if (!getnoarg(args))
return NULL;
wgetwinpos(wp->w_win, &h, &v);
return makepoint(h, v);
}
static object * static object *
window_getwinsize(wp, args) window_getwinsize(wp, args)
windowobject *wp; windowobject *wp;
...@@ -1438,6 +1472,7 @@ static struct methodlist window_methods[] = { ...@@ -1438,6 +1472,7 @@ static struct methodlist window_methods[] = {
{"getdocsize", window_getdocsize}, {"getdocsize", window_getdocsize},
{"getorigin", window_getorigin}, {"getorigin", window_getorigin},
{"gettitle", window_gettitle}, {"gettitle", window_gettitle},
{"getwinpos", window_getwinpos},
{"getwinsize", window_getwinsize}, {"getwinsize", window_getwinsize},
{"menucreate", window_menucreate}, {"menucreate", window_menucreate},
{"scroll", window_scroll}, {"scroll", window_scroll},
...@@ -1484,7 +1519,7 @@ window_setattr(wp, name, v) ...@@ -1484,7 +1519,7 @@ window_setattr(wp, name, v)
return dictinsert(wp->w_attr, name, v); return dictinsert(wp->w_attr, name, v);
} }
static typeobject Windowtype = { typeobject Windowtype = {
OB_HEAD_INIT(&Typetype) OB_HEAD_INIT(&Typetype)
0, /*ob_size*/ 0, /*ob_size*/
"window", /*tp_name*/ "window", /*tp_name*/
...@@ -1700,8 +1735,8 @@ stdwin_setdefscrollbars(sw, args) ...@@ -1700,8 +1735,8 @@ stdwin_setdefscrollbars(sw, args)
} }
static object * static object *
stdwin_getdefwinpos(wp, args) stdwin_getdefwinpos(self, args)
windowobject *wp; object *self;
object *args; object *args;
{ {
int h, v; int h, v;
...@@ -1712,8 +1747,8 @@ stdwin_getdefwinpos(wp, args) ...@@ -1712,8 +1747,8 @@ stdwin_getdefwinpos(wp, args)
} }
static object * static object *
stdwin_getdefwinsize(wp, args) stdwin_getdefwinsize(self, args)
windowobject *wp; object *self;
object *args; object *args;
{ {
int width, height; int width, height;
...@@ -1724,8 +1759,8 @@ stdwin_getdefwinsize(wp, args) ...@@ -1724,8 +1759,8 @@ stdwin_getdefwinsize(wp, args)
} }
static object * static object *
stdwin_getdefscrollbars(wp, args) stdwin_getdefscrollbars(self, args)
windowobject *wp; object *self;
object *args; object *args;
{ {
int h, v; int h, v;
...@@ -1916,6 +1951,30 @@ stdwin_fetchcolor(self, args) ...@@ -1916,6 +1951,30 @@ stdwin_fetchcolor(self, args)
return newintobject((long)wfetchcolor(getstringvalue(colorname))); return newintobject((long)wfetchcolor(getstringvalue(colorname)));
} }
static object *
stdwin_getscrsize(self, args)
object *self;
object *args;
{
int width, height;
if (!getnoarg(args))
return NULL;
wgetscrsize(&width, &height);
return makepoint(width, height);
}
static object *
stdwin_getscrmm(self, args)
object *self;
object *args;
{
int width, height;
if (!getnoarg(args))
return NULL;
wgetscrmm(&width, &height);
return makepoint(width, height);
}
static struct methodlist stdwin_methods[] = { static struct methodlist stdwin_methods[] = {
{"askfile", stdwin_askfile}, {"askfile", stdwin_askfile},
{"askstr", stdwin_askstr}, {"askstr", stdwin_askstr},
...@@ -1927,6 +1986,8 @@ static struct methodlist stdwin_methods[] = { ...@@ -1927,6 +1986,8 @@ static struct methodlist stdwin_methods[] = {
{"getdefwinpos", stdwin_getdefwinpos}, {"getdefwinpos", stdwin_getdefwinpos},
{"getdefwinsize", stdwin_getdefwinsize}, {"getdefwinsize", stdwin_getdefwinsize},
{"getevent", stdwin_getevent}, {"getevent", stdwin_getevent},
{"getscrmm", stdwin_getscrmm},
{"getscrsize", stdwin_getscrsize},
{"getselection", stdwin_getselection}, {"getselection", stdwin_getselection},
{"menucreate", stdwin_menucreate}, {"menucreate", stdwin_menucreate},
{"message", stdwin_message}, {"message", stdwin_message},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment