#include #include #include #include #include #include #include #include #include #include "kstatusbar.h" #include #include #include #include "kstatusbartest.h" testWindow::testWindow (TQWidget *, const char *name) : KMainWindow (0, name) { // Setup Menus menuBar = new KMenuBar (this); fileMenu = new TQPopupMenu; menuBar->insertItem ("&File", fileMenu); fileMenu->insertItem ("&Exit", KApplication::kApplication(), TQT_SLOT( quit() ), ALT + Key_Q ); statusbar = new KStatusBar (this); statusbar->insertItem("Zoom: XXXX", 0); statusbar->insertItem("XXX", 1); statusbar->insertItem("Line: XXXXX", 2); statusbar->changeItem("Zoom: 100%", 0); statusbar->changeItem("INS", 1); insert = true; statusbar->changeItem("Line: 13567", 2); connect (statusbar, TQT_SIGNAL(pressed(int)), this, TQT_SLOT(slotPress(int))); connect (statusbar, TQT_SIGNAL(released(int)), this, TQT_SLOT(slotClick(int))); widget = new TQMultiLineEdit (this); setCentralWidget(widget); setCaption( KApplication::kApplication()->caption() ); smenu = new TQPopupMenu; smenu->insertItem("50%"); smenu->insertItem("75%"); smenu->insertItem("100%"); smenu->insertItem("150%"); smenu->insertItem("200%"); smenu->insertItem("400%"); smenu->insertItem("oo%"); connect (smenu, TQT_SIGNAL(activated(int)), this, TQT_SLOT(slotMenu(int))); } void testWindow::slotClick(int id) { switch (id) { case 0: break; case 1: if (insert == true) { insert = false; statusbar->changeItem("OVR", 1); } else { insert = true; statusbar->changeItem("INS", 1); } break; case 2: TQMessageBox::information(0, "Go to line", "Enter line number:", "where?"); statusbar->changeItem("16543", 2); break; } } void testWindow::slotPress(int id) { if (id == 0) smenu->popup(TQCursor::pos()); // This popup should understand keys up and down } void testWindow::slotMenu(int id) { TQString s = "Zoom: "; s.append (smenu->text(id)); statusbar->changeItem(s,0); } testWindow::~testWindow () { // I would delete toolbars here, but there are none delete statusbar; } int main( int argc, char *argv[] ) { KApplication *myApp = new KApplication( argc, argv, "KStatusBarTest" ); testWindow *test = new testWindow; myApp->setMainWidget(test); test->show(); test->resize(test->width(), test->height()); // I really really really dunno why it doesn't show int ret = myApp->exec(); delete test; return ret; } #include "kstatusbartest.moc"