snack form question
Grant Edwards
grante at visi.com
Fri Sep 28 10:27:50 EDT 2001
In article <2990527.oFCf946Emh at lunix.schabi.de>, Markus Schaber wrote:
>> Is it just me, or is do all widgets added to a form end up at
>> cooridnates (-1,-1)?
>>
>> All widgets get created with a location of (-1,-1) and there
>> doesn't seem to be any way to change the widget's location on a
>> form...
>
> It would be very helpful to tell us which widget module you
> use.
I'm using the snack module. It's a python wrapper for the
text-mode UI library "newt" (which uses slang for low level
stuff).
> Also, some code snipplets that create those widgets (or a
> reproducible description how you do it using an interface
> designer) would be helpful.
OK, here's an example:
import time
from snack import *
screen = SnackScreen()
screen.centeredWindow(40,12,"Example Code")
f = Form()
f.add(Label("Label Text"))
f.draw()
screen.refresh()
time.sleep(2)
screen.finish()
The label containing "Label Text" appears at location (-1,-1).
When a Label object is created, the position is initialized
like so:
static snackWidget * labelWidget(PyObject * s, PyObject * args) {
char * label;
snackWidget * widget;
if (!PyArg_ParseTuple(args, "s", &label)) return NULL;
widget = snackWidgetNew ();
widget->co = newtLabel(-1, -1, label);
return widget;
}
The call to newtLabel() creates a label widget and initializes
its postition to -1,-1.
In C applications that use newt, widgets that are positioned on
forms by passing the x/y coordinates to newtLabel() et al when
the widget is created.
I can't find any methods (of either the widget or the form)
that allow the position of the widget to be changed. However,
if you put the widget on a Grid instead of a Form, the grid's
add() method includes row/colum info that is used by the grid
to control the position of the widget.
For my application I can just use a Grid instead, but it seems
like there's something missing...
--
Grant Edwards grante Yow! Is it NOUVELLE
at CUISINE when 3 olives are
visi.com struggling with a scallop
in a plate of SAUCE MORNAY?
More information about the Python-list
mailing list