-
Widget update
Hi all,
please excuse my ignorance, I am not really familiar with xwindows and
motif programming, but I have to fix some older code. The situation is
as follows: there is a table (rowcolumn container with widgets) that
has a row header and a column header. It also has to be scrolled in
both directions. The thing is that when scrolled the headers are not
visible, so I have to detach them, which I already did, by placing them
in a separate rowcolumn, and scroll them in a synchronus manner with
the table itself, which I already did by setting some callbacks and
moving the new rowcolumns along with the scrollbars. The thing is that
when the rowcolumns are moved, only the visible widgets (a set of
labels) are drawn: that is the hidden widgets are not updated. The last
widget to the right is actually drawn half while scrolling left. Now it
seems that - since something is drawn - the windows server is not
informed to invalidate the rectangle that is exposed and redraw it. I
tried some tricks to force a redraw but nothing worked. It seems that I
have to notify that a new rectangle is exposed somehow. Any ideas will
be greatly appreciated!
TIA
BR
ds
-
Re: Widget update
dps wrote:[color=blue]
> Hi all,
>
> please excuse my ignorance, I am not really familiar with xwindows and
> motif programming, but I have to fix some older code. The situation is
> as follows: there is a table (rowcolumn container with widgets) that
> has a row header and a column header. It also has to be scrolled in
> both directions. The thing is that when scrolled the headers are not
> visible, so I have to detach them, which I already did, by placing them
> in a separate rowcolumn, and scroll them in a synchronus manner with
> the table itself, which I already did by setting some callbacks and
> moving the new rowcolumns along with the scrollbars. The thing is that
> when the rowcolumns are moved, only the visible widgets (a set of
> labels) are drawn: that is the hidden widgets are not updated. The last
> widget to the right is actually drawn half while scrolling left. Now it
> seems that - since something is drawn - the windows server is not
> informed to invalidate the rectangle that is exposed and redraw it. I
> tried some tricks to force a redraw but nothing worked. It seems that I
> have to notify that a new rectangle is exposed somehow. Any ideas will
> be greatly appreciated![/color]
Maybe comp.windows.x.motif would be more appropriate?
Anyway - replacing the rowcolumn by an XbaeMatrix widget seems the
easiest way. RC was definitely never intended for such use.
[url]http://xbae.sourceforge.net/[/url]
[color=blue]
>
> TIA
>
> BR
>
> ds
>[/color]
--
Michel Bardiaux
R&D Director
T +32 [0] 2 790 29 41
F +32 [0] 2 790 29 02
E mailto:mbardiaux@mediaxim.be
Mediaxim NV/SA
Vorstlaan 191 Boulevard du Souverain
Brussel 1160 Bruxelles
[url]http://www.mediaxim.com/[/url]
-
Re: Widget update
Hello Michel,
thanks for the answer, I'll also try the motif group. I cannot use
anything but what I already have... Also it is not a matter of the
RowColumn widget itself, rather than the way to force the labels inside
the rowcolumn to redraw when it is moved, just as it happens when the
rowcolumn is placed in a scrollwindow.
Thanks again for the answer!!
dps
-
Re: Widget update
FWIW I got a dirty hack: move the labels instead of the container!