Motif/Xt: Dynamically resize the visible item count of an XmList

Chris Sorenson csoren at cpinternet.com
Mon Dec 6 00:41:55 UTC 2021


>

> Hi,
>
> I have an XmList (actually a ScrolledList) inside a RowColumn widget.
>
> The visible item count of the list is configured at widget creation
> time. When the RowColumn widget is resized, I would like to adapt that
> visible item count to the new size of the parent widget.
>
> Is there an easy way to do this?
>
> What I have come up with so far in theroy is to do the following:
> Listen to the resize event of the RowColumn widget, recompute the
> visible line count in a callback and then set it explicitly using
> XtSetValues(XmNvisibleItemCount).
>
> Unfortunately, I have not found any callback resource in the RowColumn
> widget.
>
> How can I listen to resize events of a widget?
>
> Best,
> Holger
>

I'm sure this is an oversimplification, but tell me what you think:

Widget rc, list;

rc = XtVaCreateManagedWidget ("rowcol",
  	 xmRowColumnWidgetClass,  toplevel,
  	 XmNwidth, 200,
  	 XmNheight, 200,
  	 NULL);

list = XtVaCreateManagedWidget ("list",
        xmListWidgetClass, rc,
    	 XmNrightAttachment, XmATTACH_WIDGET,
    	 XmNrightWidget, rc,
    	 XmNleftAttachment, XmATTACH_WIDGET,
    	 XmNleftWidget, rc,
    	 XmNtopAttachment, XmATTACH_WIDGET,
    	 XmNtopWidget, rc,
    	 NULL);


More information about the xorg mailing list