[comp.windows.interviews] Resize problem

jcd@sunkist.west.sun.com (Jean-Claude Dulac) (06/25/91)

    Problem: When I change the interior of an interactor, the window
    does not get resized, it becomes white, nothing get redrawn.

    What am I doing wrong? (IV3.0 beta - SUN)
    Thanks for any help.

-Jean-Claude Dulac

    I include the little test program.
---------------------------------------------------------------------------
#include <InterViews/scene.h>
#include <InterViews/frame.h>
#include <InterViews/2.6/InterViews/box.h>
#include <InterViews/message.h>
#include <InterViews/world.h>
#include <InterViews/2.6/InterViews/glue.h>
#include <Dispatch/dispatcher.h>
#include <Dispatch/iocallback.h>

class Test : public MonoScene {
public :
      Test() ;
      void timerExpired(long,long) ;
protected :
      HBox * hbox ;
} ;

Test::Test() {
    hbox = new HBox() ;
    hbox-> Insert( new Message("message 1") ) ;
    Insert(
       new MarginFrame(
	  new VBox( 
	       new Message("Title"),
	       new VGlue(20),
	       new Frame(hbox)
	  ),
	  20
       )
    ) ;
}

void Test::timerExpired(long,long) {
    Interactor * i = new Message("message 2") ;
    hbox-> Insert(new HGlue(20)) ;
    hbox-> Insert(i) ;
    hbox-> Change(i) ;
}

declare(IOCallback,Test) ;
implement(IOCallback,Test) ;
     
main(int argc,char *argv[]) {
      World world("test",argc,argv) ;

      Test * t = new Test();
      world.Insert(t) ;

      IOHandler *timer = new IOCallback(Test)(t,&Test::timerExpired) ;
      Dispatcher::instance().startTimer(5,0,timer) ;

      world.run() ;
}