diff options
Diffstat (limited to 'kdeui/tests/kwindowtest.cpp')
-rw-r--r-- | kdeui/tests/kwindowtest.cpp | 528 |
1 files changed, 0 insertions, 528 deletions
diff --git a/kdeui/tests/kwindowtest.cpp b/kdeui/tests/kwindowtest.cpp deleted file mode 100644 index 0615d492f..000000000 --- a/kdeui/tests/kwindowtest.cpp +++ /dev/null @@ -1,528 +0,0 @@ -#include <tqmessagebox.h> -#include <tqpopupmenu.h> -#include <tqpixmap.h> -#include <tqkeycode.h> -#include <tqwidget.h> -#include <tqstring.h> -#include <tqcursor.h> - -#include <stdlib.h> - -#include <kstatusbar.h> -#include <kapplication.h> -#include <kcombobox.h> -#include <khelpmenu.h> -#include <kcmdlineargs.h> -#include <kmenubar.h> -#include <ktoolbarradiogroup.h> -#include <kiconloader.h> -#include <kpopupmenu.h> -#include <tqmultilineedit.h> -#include "kwindowtest.h" - -#include <kglobal.h> - - -//#include <dclock.h> - -/* - Ok this is a constructor of our top widget. It inherits KMainWindow. - In constructor wi will create all of our interface elements: - menubar, toolbar(s), statusbar, and main widget. Non of those - interface is obligatory, i.e. you don't have to use menubar, - toolbars or statusbar if you don't want to. Theoreticly, you - don't need even main widget (but in that case, you'll get blank - KMainWindow). - */ - -static int itemId = 0; - -testWindow::testWindow (TQWidget *parent, const char *name) - : KMainWindow (parent,name) -{ - ena=false; - setCaption("test window"); -setAutoSaveSettings(); - /******************************/ - /* First, we setup setup Menus */ - /******************************/ - menuBar = new KMenuBar (this); - - // First popup... - fileMenu = new TQPopupMenu; - // We insert this popup in menubar with caption "File". - // Prefix "&" means that "F" will be underlined - menuBar->insertItem ("&File", fileMenu); - // We insert item "Exit" with accelerator ALT-Q, and connect - // it to application's exit-slot. - fileMenu->insertItem ("&Exit", KApplication::kApplication(), - TQT_SLOT( quit() ), ALT + Key_Q ); - - // Another popup... - toolBarMenu = new TQPopupMenu; - menuBar->insertItem ("&Toolbars", toolBarMenu); - toolBarMenu->insertItem ("(Un)Hide tollbar 1", this, TQT_SLOT(slotHide1())); - toolBarMenu->insertItem ("(Un)Hide tollbar 2", this, TQT_SLOT(slotHide2())); - - itemsMenu = new TQPopupMenu; - menuBar->insertItem ("&Items", itemsMenu); - - exitB = true; // exit button is shown - lineL = true; // Lined is enabled - greenF = false; // Frame not inserted - - itemsMenu->insertItem ("delete/insert exit button", this, TQT_SLOT(slotExit())); - itemsMenu->insertItem ("insert/delete green frame!", this, TQT_SLOT(slotFrame())); - itemsMenu->insertItem ("enable/disable Lined", this, TQT_SLOT(slotLined())); - itemsMenu->insertItem ("Toggle fileNew", this, TQT_SLOT(slotNew())); - itemsMenu->insertItem ("Clear comboBox", this, TQT_SLOT(slotClearCombo())); - itemsMenu->insertItem ("Insert List in Combo", this, TQT_SLOT(slotInsertListInCombo())); - itemsMenu->insertItem ("Make item 3 curent", this, TQT_SLOT(slotMakeItem3Current())); - //itemsMenu->insertItem ("Insert clock!", this, TQT_SLOT(slotInsertClock())); - itemsMenu->insertItem ("Important!", this, TQT_SLOT(slotImportant())); - - menuBar->insertSeparator(); - helpMenu = new KHelpMenu(this, "KWindowTest was programmed by Sven Radej"); - menuBar->insertItem( "&Help", helpMenu->menu() ); - - /**************************************************/ - /*Now, we setup statusbar order is not important. */ - /**************************************************/ - statusBar = new KStatusBar (this); - statusBar->insertItem("Hi there! ", 0); - statusBar->insertItem("Look for tooltips to see functions", 1); - - //DigitalClock *clk = new DigitalClock (statusBar); - //clk->setFrameStyle(TQFrame::NoFrame); - //statusBar->insertWidget(clk, 70, 2); - - /***********************/ - /* And now the toolbar */ - /***********************/ - - // pixmap which we will use - TQPixmap pix; - - // Create toolbar... - tb = toolBar(); - - // and set it to full width - tb->setFullSize(true); - - - - // First four buttons - pix = BarIcon("filenew"); - itemId = tb->insertButton(pix, 0, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotNew()), - true, "Create.. (toggles upper button)", 50); - pix = BarIcon("fileopen"); - tb->insertButton(pix, 1, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotOpen()), - false, "Open"); - pix = BarIcon("filefloppy"); - tb->insertButton(pix, 2, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotSave()), - true, "Save (beep or delayed popup)"); - tb->setDelayedPopup(2, itemsMenu); - pix = BarIcon("fileprint"); - tb->insertButton(pix, 3, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotPrint()), - true, "Print (enables/disables open)"); - - // And a combobox - // arguments: text (or strList), ID, writable, signal, object, slot, enabled, - // tooltiptext, size - tb->insertCombo (TQString("one"), 4, true, TQT_SIGNAL(activated(const TQString&)), this, - TQT_SLOT(slotList(const TQString&)), true, "ComboBox", 150); - - - // Then one line editor - // arguments: text, id, signal, object (this), slot, enabled, tooltiptext, size - tb->insertLined ("ftp://ftp.kde.org/pub/kde", 5, TQT_SIGNAL(returnPressed()), this, - TQT_SLOT(slotReturn()), true, "Location", 200); - - // Set this Lined to auto size itself. Note that only one item (Lined or Combo) - // Can be set to autosize; If you specify more of them only last (according to - /// index) will be set to autosize itself. Only Lined or Combo can be - // set to autosize. All items after autoSized one must be aligned right. - // Auto size is valid only for fullWidth toolbars. - - tb->setItemAutoSized (5); - - // Now add another button and align it right - pix = BarIcon("exit"); - tb->insertButton(pix, 6, TQT_SIGNAL(clicked()), KApplication::kApplication(), - TQT_SLOT( quit() ), true, "Exit"); - tb->alignItemRight (6); - - // Another toolbar - tb1 = new KToolBar(this, TQMainWindow::DockTop); // this one is normal and has separators - - - pix = BarIcon("filenew"); - tb1->insertButton(pix, 0, true, "Create new file2 (Toggle)"); - tb1->setToggle(0); - tb1->addConnection (0, TQT_SIGNAL(toggled(bool)), this, TQT_SLOT(slotToggle(bool))); - - pix = BarIcon("fileopen"); - tb1->insertButton(pix, 1, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotOpen()), - true, "Open (starts progres in sb)"); - - tb1->insertSeparator (); - - pix = BarIcon("filefloppy"); - tb1->insertButton(pix, 2, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotSave()), - true, "Save file2 (autorepeat)"); - tb1->setAutoRepeat(2); - - pix = BarIcon("fileprint"); - tb1->insertButton(pix, 3, itemsMenu, true, "Print (pops menu)"); - - tb1->insertSeparator (); - /**** RADIO BUTTONS */ - pix = BarIcon("filenew"); - tb1->insertButton(pix, 4, true, "Radiobutton1"); - tb1->setToggle(4); - - pix = BarIcon("fileopen"); - tb1->insertButton(pix, 5, true, "Radiobutton2"); - tb1->setToggle(5); - - pix = BarIcon("filefloppy"); - tb1->insertButton(pix, 6, true, "Radiobutton3"); - tb1->setToggle(6); - - pix = BarIcon("fileprint"); - tb1->insertButton(pix, 7, true, "Radiobutton4"); - tb1->setToggle(7); - - //Create - rg = new KToolBarRadioGroup (tb1); - - rg->addButton(4); - rg->addButton(5); - rg->addButton(6); - rg->addButton(7); - - connect (tb1, TQT_SIGNAL(toggled(int)), this, TQT_SLOT(slotToggled(int))); - - // Set caption for floating toolbars - tb->setTitle ("Toolbar 1"); - tb1->setTitle ("Toolbar 2"); - - // Set main widget. In this example it is Qt's multiline editor. - widget = new TQMultiLineEdit (this); - - // Setup is now complete - - // add two toolbars - //addToolBar (tb1); - //addToolBar (tb); - - connect (tb, TQT_SIGNAL(highlighted(int,bool)), this, TQT_SLOT(slotMessage(int, bool))); - connect (tb1, TQT_SIGNAL(highlighted(int, bool)), this, TQT_SLOT(slotMessage(int, bool))); - - // Floating is enabled by default, so you don't need this. - // tb->enableFloating(true); - // tb1->enableFloating(true); - - // Show toolbars - tb->show(); - tb1->show(); - - //... and main widget - setCentralWidget (widget); - - // This is not strictly related to toolbars, menubars or KMainWindow. - // Setup popup for completions - completions = new TQPopupMenu; - - completions->insertItem("/"); - completions->insertItem("/usr/"); - completions->insertItem("/lib/"); - completions->insertItem("/var/"); - completions->insertItem("/bin/"); - completions->insertItem("/kde/"); - completions->insertItem("/home/"); - completions->insertItem("/vmlinuz :-)"); - - connect (completions, TQT_SIGNAL(activated(int)), this, TQT_SLOT(slotCompletionsMenu(int))); - pr = 0; -} -/***********************************/ -/* Now slots for toolbar actions */ -/***********************************/ -void testWindow::slotToggled(int) -{ - statusBar->message ("Buton toggled", 1500); -} - -void testWindow::slotInsertClock() -{ - //DigitalClock *clock = new DigitalClock(tb1); - //clock->setFrameStyle(TQFrame::NoFrame); - //tb1->insertWidget(8, 70, clock); -} - -void testWindow::slotNew() -{ - tb1->toggleButton(0); - toolBar()->removeItem( itemId ); -} -void testWindow::slotOpen() -{ - if (pr == 0) - pr = new TQProgressBar (statusBar); -// statusBar->message(pr); - timer = new TQTimer (pr); - - connect (timer, TQT_SIGNAL(timeout()), this, TQT_SLOT(slotGoGoGoo())); - timer->start(100); -} - -void testWindow::slotGoGoGoo() -{ - pr->setProgress(pr->progress()+1); - if (pr->progress()==100) - { - timer->stop(); - statusBar->clear(); - delete pr; - pr = 0; - } -} - -void testWindow::slotSave() -{ - kapp->beep(); - statusBar->changeItem("Saving properties...", 0); -} - -void testWindow::slotPrint() -{ - statusBar->changeItem("Print file pressed", 0); - ena=!ena; - tb->setItemEnabled(1,ena ); -} -void testWindow::slotReturn() -{ - TQString s = "You entered "; - s = s + tb->getLinedText(5); - statusBar->changeItem(s, 0); - -} -void testWindow::slotList(const TQString &str) -{ - TQString s = "You chose "; - s = s + str; - statusBar->changeItem(s, 0); -} - -void testWindow::slotCompletion() -{ - // Now do a completion - // Call your completing function and set that text in klined - // TQString s = tb->getLinedText(/* ID */ 4) - // TQString completed = complete (s); - // tb->setLinedText(/* ID */ 4, completed.data()) - - // for now this: - - completions->popup(TQCursor::pos()); // This popup should understunf keys up and down - - /* This is just an example. KLined automatically sets cursor at end of string - when ctrl-d or ctrl-s is pressed. KToolBar will also put cursor at end of text in Lined - after inserting text with setLinedText (...). - */ - -} - -void testWindow::slotListCompletion() -{ - /* - Combo is not behaving good and it is ugly. I will see how it behaves in Qt-1.3, - and then decide should I make a new combobox. - */ - TQString s(tb->getComboItem(4)); // get text in combo - s+= "(completing)"; - //tb->getCombo(4)->changeItem(s.data()); // setTextIncombo - -} - -void testWindow::slotCompletionsMenu(int id) -{ - // Now set text in lined - TQString s =completions->text(id); - tb->setLinedText(5, s); // Cursor is automatically at the end of string after this -} - -void testWindow::slotHide2 () -{ - tb1->show(); -} - -void testWindow::slotHide1 () -{ - tb->show(); -} - -testWindow::~testWindow () -{ - /********************************************************/ - /* */ - /* THIS IS NOT ANY MORE IMPORTANT BUT ALLOWED!!! */ - /* */ - /********************************************************/ - - delete tb1->getWidget(8); - //debug ("kwindowtest: deleted clock"); - - delete tb; - delete tb1; - delete menuBar; - - qDebug ("kwindowtest finished"); -} - -void testWindow::beFixed() -{ - widget->setFixedSize (400, 200); -} - -void testWindow::beYFixed() -{ - widget->setMinimumSize(400, 200); - widget->setMaximumSize(9999, 200); -} - -void testWindow::slotImportant () -{ - statusBar->message("This important message will go away in 15 seconds", 15000); -} - -void testWindow::slotExit () -{ - if (exitB == true) - { - tb->removeItem(6); - exitB = false; - } - else - { - TQPixmap pix; - pix = BarIcon("exit"); - tb->insertButton(pix, 6, TQT_SIGNAL(clicked()), KApplication::kApplication(), - TQT_SLOT( quit() ), true, "Exit"); - tb->alignItemRight (6); - exitB = true; - } -} - -void testWindow::slotLined() -{ - lineL = !lineL; - tb->setItemEnabled(5, lineL); // enable/disable lined -} - -void testWindow::slotToggle (bool on) -{ - if (on == true) - statusBar->changeItem("Toggle is on", 0); - else - statusBar->changeItem("Toggle is off", 0); -} - -void testWindow::slotFrame() -{ -#if 0 - if (greenF == false) - { - tb1->insertFrame(10, 100); - tb1->alignItemRight (10); // this is pointless 'cause tb1 is not fullwidth - - TQFrame *myFrame = tb1->getFrame(10); // get frame pointer - - if (myFrame == 0) - { - warning ("bad frame ID"); - return; - } - - //paint it green - // Or do whatever you want with it, just don't change its height (height = hardcoded = 24) - // And don't move it - // If you want to have something right from your toolbar you can reduce its - // max_width with setMaxWidth() - myFrame->setBackgroundColor (TQColor("green")); - - greenF = true; - } - else - { - tb1->removeItem (10); - greenF = false; - } -#endif -} - -void testWindow::slotMessage(int, bool boo) -{ - if (boo) - statusBar->message("This button does this and that", 1500); - else - statusBar->clear(); -} -// Now few Combo slots, for Torben - -void testWindow::slotClearCombo() -{ - tb->getCombo(4)->clear(); -} - -void testWindow::slotInsertListInCombo() -{ - TQStringList list; - list.append("ListOne"); - list.append("ListTwo"); - list.append("ListThree"); - list.append("ListFour"); - list.append("ListFive"); - list.append("ListSix"); - list.append("ListSeven"); - list.append("ListEight"); - list.append("ListNine"); - list.append("ListTen"); - list.append("ListEleven"); - list.append("ListAndSoOn"); - tb->getCombo(4)->insertStringList (list,0); -} - -void testWindow::slotMakeItem3Current() -{ - tb->getCombo(4)->setCurrentItem(3); -} - -int main( int argc, char *argv[] ) -{ - int i; - KCmdLineArgs::init(argc, argv, "KWindowTest", "description", "version"); - - KApplication *myApp = new KApplication(); - testWindow *test = new testWindow; - - myApp->setMainWidget(test); - - i = TQMessageBox::information(0, "Select", "Select type of mainwidget", - "Fixed", "Y-fixed", "Resizable"); - if (i == 0) - test->beFixed(); - else if (i == 1) - test->beYFixed(); - - test->show(); - test->resize(400, 500); - int ret = myApp->exec(); - - //delete test; - return ret; -} - -#include "kwindowtest.moc" - |