#include #include #include #include #include #include class AddItemButton : public PushButton { public: AddItemButton(char* name, Tray* t); virtual void Press(); protected: Tray* t; int msgnum; }; AddItemButton::AddItemButton(char* name, Tray* t) : PushButton(name /*, new ButtonState(), true*/) { this->t = t; msgnum = 10; } void AddItemButton::Press() { char buf[10]; Message* m; sprintf(buf, "%d", msgnum++); t->Insert(m = new Message(buf)); t->Change(m); // t->Reconfig(); // t->Reshape(); } main() { /* * Code is from main3.c */ World* w = new World; Message* m0 = new Message("00000000000000"); Message* m1 = new Message("1111111111111"); Message* m2 = new Message("22222222222"); Message* m3 = new Message("33333333"); Tray* t = new Tray(new Tray()); PushButton* pb = new AddItemButton("Add Item", t); t->VBox( t, m0, new VGlue(round(0.2*inch)), m1, new VGlue(round(0.2*inch)), m2 ); t->VBox( m2, new VGlue(round(0.2*inch)), m3, new VGlue(round(0.2*inch)), pb, t ); t->Align(Left, m0, m1, m2, m3, pb); printf("Here\n"); w->InsertApplication(t); w->Run(); }