re r table widget causing trouble with xtquerygeometry i just got a bug report and a fix for this exact problem from fisher iscp bellcore com greg fisher the most serious problem i have identified has not been incorporated this problem occurs when the table widget s geometrymanager is invoked by a child this will work correctly if the table widgets parent complies with the xt protocols however if they do not as is the case for some motif widgets and they ignore xtcwqueryonly then the sizing will be incorrect in order to see this problem the following events must happen a child of the table widget must request a new size the table widget must query its parent for a new size having set xtcwqueryonly the parent must ignore the xtcwqueryonly bit and resize the table widget as part of the resize xmptableforgetproposedlayout is called this will set tw table current cols and tw table current rows to zero the table will continue setting up the new size working under the assumption that it is working with a proposed and not actual layout at the end it will call xmptablesaveproposedlayout this will save tw table cols and tw table rows and restore their values from tw table current cols and tw table current rows however these have already been set to zero since the table widget has already been resized it will not need a second resize next another widget managed by some ancestor of the table is resized this results in the parent of the table requesting the tables preferred size since tw table cols and tw table rows are zero this will return x as the preferred size the parent is very likely to grant this request resulting in a loss of the whole table from the display he isolated the problem a proposed a workaround which seems precisely correct here is the new implementation of xmptablenewproposedlayout which will be released with the next update in weeks xmp table c void xmptablenewproposedlayout tw xmptablewidget tw xmptableconsidersamesize tw xmptableproposedcolsandrows tw xmptablequeryparentforresize tw query only no resize since we only made a query we should still need to continue however motif is broken so that we actually may already have been resized in that case the proposed layout is already forgotten so we should just quietly exit if tw table resize status rsduetorequest xmptablemakecolsfitquerywidth tw xmptablemakerowsfitqueryheight tw xmptablegetproposedchildsize tw xmptablesaveproposedlayout tw else the resize has already been done our proposed layout would have been forgotten in the process the xptable the fix is identical except of course for the names xp table c void xptablenewproposedlayout tw xptablewidget tw xptableconsidersamesize tw xptableproposedcolsandrows tw xptablequeryparentforresize tw query only no resize since we only made a query we should still need to continue however some manager widgets are broken so that we actually may already have been resized in that case the proposed layout is already forgotten so we should just quietly exit if tw table resize status rsduetorequest xptablemakecolsfitquerywidth tw xptablemakerowsfitqueryheight tw xptablegetproposedchildsize tw xptablesaveproposedlayout tw else the resize has already been done our proposed layout would have been forgotten in the process david smyth david jpl devvax jpl nasa gov senior software engineer do not use v mail yet cccp x and object guru office c jet propulsion lab m s oak grove drive pasadena ca that sun windows thingy what s it called you know its really awful x motif that s it motif yuck
