/* * Quick and dirty histo view. */ #include #include #include #include #include #include #include #include class HistoBrowser : public StringBrowser { public: HistoBrowser(int rows, int cols); }; HistoBrowser::HistoBrowser(int rows, int cols) : StringBrowser(new ButtonState(), rows, cols) {} class UpButton : public PushButton { public: UpButton(); protected: virtual void Press(); }; UpButton::UpButton() : PushButton(" Up ", new ButtonState(), 1) {} void UpButton::Press() { printf("In UpButton::Press\n"); } class DownButton : public PushButton { public: DownButton(); protected: virtual void Press(); }; DownButton::DownButton() : PushButton(" Down ", new ButtonState(), 1) {} void DownButton::Press() { printf("In DownButton::Press\n"); } main() { World* w = new World(); HistoBrowser* histobrowser = new HistoBrowser(10, 15); VScroller* scrl = new VScroller(histobrowser); HBox* hb = new HBox(histobrowser, scrl); histobrowser->Append("100 ***"); histobrowser->Append(" 99 *"); histobrowser->Append("-------- A"); histobrowser->Append(" 98 *"); histobrowser->Append("-------- B"); histobrowser->Append(" 97 *"); histobrowser->Append("-------- C"); histobrowser->Append(" 96 *"); histobrowser->Append(" 95 *"); histobrowser->Append(" 94 *"); histobrowser->Append(" 93 *"); histobrowser->Append(" 92 *"); histobrowser->Append(" 91 *"); histobrowser->Append("-------- D"); histobrowser->Append(" 90 *"); histobrowser->Append("-------- F"); w->InsertApplication( new Tray( new VBox( hb, new VGlue(5,0,0), new HBox( new UpButton(), new HGlue(10), new DownButton() ) ) ) ); w->Run(); }