Main::Main(QGraphicsScene& c, QWidget* parent, const char* name, Qt::WindowFlags f) : Q3MainWindow(parent,name,f), canvas(c) { editor = new FigureEditor(canvas,this); QMenuBar* menu = menuBar(); Q3PopupMenu* file = new Q3PopupMenu( menu ); file->insertItem("&Fill canvas", this, SLOT(init()), Qt::CTRL+Qt::Key_F); file->insertItem("&Erase canvas", this, SLOT(clear()), Qt::CTRL+Qt::Key_E); file->insertItem("&New view", this, SLOT(newView()), Qt::CTRL+Qt::Key_N); file->insertSeparator(); file->insertItem("&Print...", this, SLOT(print()), Qt::CTRL+Qt::Key_P); file->insertSeparator(); file->insertItem("E&xit", qApp, SLOT(quit()), Qt::CTRL+Qt::Key_Q); menu->insertItem("&File", file); Q3PopupMenu* edit = new Q3PopupMenu( menu ); edit->insertItem("Add &Circle", this, SLOT(addCircle()), Qt::ALT+Qt::Key_C); edit->insertItem("Add &Hexagon", this, SLOT(addHexagon()), Qt::ALT+Qt::Key_H); edit->insertItem("Add &Polygon", this, SLOT(addPolygon()), Qt::ALT+Qt::Key_P); edit->insertItem("Add Spl&ine", this, SLOT(addSpline()), Qt::ALT+Qt::Key_I); edit->insertItem("Add &Text", this, SLOT(addText()), Qt::ALT+Qt::Key_T); edit->insertItem("Add &Line", this, SLOT(addLine()), Qt::ALT+Qt::Key_L); edit->insertItem("Add &Rectangle", this, SLOT(addRectangle()), Qt::ALT+Qt::Key_R); edit->insertItem("Add &Sprite", this, SLOT(addSprite()), Qt::ALT+Qt::Key_S); edit->insertItem("Create &Mesh", this, SLOT(addMesh()), Qt::ALT+Qt::Key_M ); edit->insertItem("Add &Alpha-blended image", this, SLOT(addButterfly()), Qt::ALT+Qt::Key_A); menu->insertItem("&Edit", edit); Q3PopupMenu* view = new Q3PopupMenu( menu ); view->insertItem("&Enlarge", this, SLOT(enlarge()), Qt::SHIFT+Qt::CTRL+Qt::Key_Plus); view->insertItem("Shr&ink", this, SLOT(shrink()), Qt::SHIFT+Qt::CTRL+Qt::Key_Minus); view->insertSeparator(); view->insertItem("&Rotate clockwise", this, SLOT(rotateClockwise()), Qt::CTRL+Qt::Key_PageDown); view->insertItem("Rotate &counterclockwise", this, SLOT(rotateCounterClockwise()), Qt::CTRL+Qt::Key_PageUp); view->insertItem("&Zoom in", this, SLOT(zoomIn()), Qt::CTRL+Qt::Key_Plus); view->insertItem("Zoom &out", this, SLOT(zoomOut()), Qt::CTRL+Qt::Key_Minus); view->insertItem("Translate left", this, SLOT(moveL()), Qt::CTRL+Qt::Key_Left); view->insertItem("Translate right", this, SLOT(moveR()), Qt::CTRL+Qt::Key_Right); view->insertItem("Translate up", this, SLOT(moveU()), Qt::CTRL+Qt::Key_Up); view->insertItem("Translate down", this, SLOT(moveD()), Qt::CTRL+Qt::Key_Down); view->insertItem("&Mirror", this, SLOT(mirror()), Qt::CTRL+Qt::Key_Home); menu->insertItem("&View", view); menu->insertSeparator(); Q3PopupMenu* help = new Q3PopupMenu( menu ); help->insertItem("&About", this, SLOT(help()), Qt::Key_F1); help->setItemChecked(dbf_id, TRUE); menu->insertItem("&Help",help); statusBar(); setCentralWidget(editor); printer = 0; init(); }
void GCUserView::qlv_contextMenuRequested(Q3ListViewItem *i, const QPoint &pos, int) { if(!i || !i->parent() || !gcDlg_) return; QPointer<GCUserViewItem> lvi = (GCUserViewItem *)i; bool self = gcDlg_->nick() == i->text(0); GCUserViewItem* c = (GCUserViewItem*) findEntry(gcDlg_->nick()); if (!c) { qWarning(QString("groupchatdlg.cpp: Self ('%1') not found in contactlist").arg(gcDlg_->nick())); return; } Q3PopupMenu *pm = new Q3PopupMenu; pm->insertItem(IconsetFactory::icon("psi/sendMessage").icon(), tr("Send &message"), 0); pm->insertItem(IconsetFactory::icon("psi/start-chat").icon(), tr("Open &chat window"), 1); pm->insertSeparator(); pm->insertItem(tr("&Kick"),10); pm->setItemEnabled(10, MUCManager::canKick(c->s.mucItem(),lvi->s.mucItem())); pm->insertItem(tr("&Ban"),11); pm->setItemEnabled(11, MUCManager::canBan(c->s.mucItem(),lvi->s.mucItem())); Q3PopupMenu* rm = new Q3PopupMenu(pm); rm->insertItem(tr("Visitor"),12); rm->setItemChecked(12, lvi->s.mucItem().role() == MUCItem::Visitor); rm->setItemEnabled(12, (!self || lvi->s.mucItem().role() == MUCItem::Visitor) && MUCManager::canSetRole(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Visitor)); rm->insertItem(tr("Participant"),13); rm->setItemChecked(13, lvi->s.mucItem().role() == MUCItem::Participant); rm->setItemEnabled(13, (!self || lvi->s.mucItem().role() == MUCItem::Participant) && MUCManager::canSetRole(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Participant)); rm->insertItem(tr("Moderator"),14); rm->setItemChecked(14, lvi->s.mucItem().role() == MUCItem::Moderator); rm->setItemEnabled(14, (!self || lvi->s.mucItem().role() == MUCItem::Moderator) && MUCManager::canSetRole(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Moderator)); pm->insertItem(tr("Change role"),rm); /*Q3PopupMenu* am = new Q3PopupMenu(pm); am->insertItem(tr("Unaffiliated"),15); am->setItemChecked(15, lvi->s.mucItem().affiliation() == MUCItem::NoAffiliation); am->setItemEnabled(15, (!self || lvi->s.mucItem().affiliation() == MUCItem::NoAffiliation) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::NoAffiliation)); am->insertItem(tr("Member"),16); am->setItemChecked(16, lvi->s.mucItem().affiliation() == MUCItem::Member); am->setItemEnabled(16, (!self || lvi->s.mucItem().affiliation() == MUCItem::Member) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Member)); am->insertItem(tr("Administrator"),17); am->setItemChecked(17, lvi->s.mucItem().affiliation() == MUCItem::Admin); am->setItemEnabled(17, (!self || lvi->s.mucItem().affiliation() == MUCItem::Admin) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Admin)); am->insertItem(tr("Owner"),18); am->setItemChecked(18, lvi->s.mucItem().affiliation() == MUCItem::Owner); am->setItemEnabled(18, (!self || lvi->s.mucItem().affiliation() == MUCItem::Owner) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Owner)); pm->insertItem(tr("Change affiliation"),am);*/ pm->insertSeparator(); //pm->insertItem(tr("Send &file"), 4); //pm->insertSeparator(); pm->insertItem(tr("Check &Status"), 2); pm->insertItem(IconsetFactory::icon("psi/vCard").icon(), tr("User &Info"), 3); int x = pm->exec(pos); bool enabled = pm->isItemEnabled(x) || rm->isItemEnabled(x); delete pm; if(x == -1 || !enabled || lvi.isNull()) return; action(lvi->text(0), lvi->s, x); }
SynchroWindow::SynchroWindow() : Q3MainWindow(0, "Project synchro", Qt::WDestructiveClose) { the = this; setCaption("Project synchro"); desktopStyle = QApplication::style()->objectName(); Q3PopupMenu * menu; QPixmap pixmap; menu = new Q3PopupMenu(this); menuBar()->insertItem("&Project", menu); // open #include "fileopen.xpm" pixmap = QPixmap(fileopen); menu->insertItem(pixmap, "&Open", this, SLOT(load()), Qt::CTRL+Qt::Key_O); // quit menu->insertItem("&Quit", this, SLOT(quit()), Qt::CTRL+Qt::Key_Q); // synchronize menu->insertSeparator(); menu->insertItem("&Synchonize", this, SLOT(synchronize()), Qt::CTRL+Qt::Key_S); // style menu = new Q3PopupMenu(this); menuBar()->insertItem("&Style", menu); menu->insertItem("Desktop", this, SLOT(desktop_style())); #ifndef QT_NO_STYLE_PLASTIQUE menu->insertItem("Plastique", this, SLOT(plastique_style())); #endif #if !defined(QT_NO_STYLE_MOTIF) menu->insertItem("Motif", this, SLOT(motif_style())); #endif #if !defined(QT_NO_STYLE_MOTIFPLUS) menu->insertItem("MotifPlus", this, SLOT(motifplus_style())); #endif menu->insertItem("Windows", this, SLOT(windows_style())); // help & about menuBar()->insertSeparator(); menu = new Q3PopupMenu(this); menuBar()->insertItem("&Help", menu); menu->insertItem("&About", this, SLOT(about()), Qt::Key_F1); menu->insertItem("About&Qt", this, SLOT(aboutQt())); // hbox = new Q3HBox(this); setCentralWidget(hbox); }
void ColMsgTable::button_pressed(int row, int col, int, const QPoint &) { if ((((unsigned) row) >= flat_msg_list.count()) || (col > CMD_COL)) // wrong signal return; if (col == MSG_COL) edit_msg(row); else if (col <= HI_RANK_COL) change_ranks(row, col); else { Q3PopupMenu m; m.insertItem(new MenuTitle(QString(TR("rank ")) + text(row, ABS_RANK_COL) + " : " + text(row, HI_RANK_COL), m.font()), -1); m.insertSeparator(); m.insertItem(TR("Edit message"), 1); m.insertItem(TR("Change ranks"), 2); m.insertSeparator(); m.insertItem(TR("Delete it"), 3); if (!flat_msg_list[row]->msgs.isEmpty()) m.insertItem(TR("Delete recursively"), 4); switch (m.exec(QCursor::pos())) { case 1: edit_msg(row); // no break; default: return; case 2: change_ranks(row, col); return; case 3: flat_msg_list[row]->delete_it(FALSE, view->get_msgs()); break; case 4: flat_msg_list[row]->delete_it(TRUE, view->get_msgs()); break; } view->update_msgs(); refresh(); } }
void GraphModeler::rightClick(Q3ListViewItem *item, const QPoint &point, int index) { if (!item) return; bool isNode=true; helper::vector<Q3ListViewItem*> selection; getSelectedItems(selection); bool isSingleSelection= (selection.size() == 1); for (unsigned int i=0; i<selection.size(); ++i) { if (getObject(item)!=NULL) { isNode = false; break; } } bool isLoader = false; if (dynamic_cast<sofa::core::loader::BaseLoader*>(getComponent(item)) != NULL) isLoader = true; Q3PopupMenu *contextMenu = new Q3PopupMenu ( this, "ContextMenu" ); if (isNode) { contextMenu->insertItem("Collapse", this, SLOT( collapseNode())); contextMenu->insertItem("Expand" , this, SLOT( expandNode())); if (isSingleSelection) { contextMenu->insertSeparator (); contextMenu->insertItem("Load" , this, SLOT( loadNode())); contextMenu->insertItem(QIconSet(), tr( "Preset"), preset); } } contextMenu->insertItem("Save" , this, SLOT( saveComponents())); /*int index_menu = */contextMenu->insertItem("Delete" , this, SLOT( deleteComponent())); //If the node/component is not erasable, clicking on Delete won't do anything. // if (isNode) // { // if ( !isNodeErasable ( getNode(item) ) ) // contextMenu->setItemEnabled ( index_menu,false ); // } // else // { // if ( !isObjectErasable ( getObject(item) )) // contextMenu->setItemEnabled ( index_menu,false ); // } contextMenu->insertItem("Modify" , this, SLOT( openModifyObject())); contextMenu->insertItem("GlobalModification" , this, SLOT( globalModification())); if (!isNode && !isLoader) contextMenu->insertItem("Link" , this, SLOT( linkComponent())); contextMenu->popup ( point, index ); }
void HubCanvas::menu(const QPoint &) { Q3PopupMenu m; MenuFactory::createTitle(m, TR("Network connexion")); m.insertSeparator(); m.insertItem(TR("Remove from diagram"), 0); switch (m.exec(QCursor::pos())) { case 0: delete_it(); break; default: return; } package_modified(); }
void ArrowJunctionCanvas::menu(const QPoint&) { #if 0 if (lines.at(0)->may_join()) { Q3PopupMenu m; m.insertItem(new MenuTitle(TR("Line break"), m.font()), -1); m.insertSeparator(); m.insertItem(TR("Remove from diagram"), 0); switch (m.exec(QCursor::pos())) { case 0: // removes the point replacing the lines around it by a single line lines.at(0)->join(lines.at(1), this); break; default: return; } package_modified(); } #endif }
void CodLinkCanvas::menu(const QPoint&) { bool new_dirs; CodDirsCanvas * d = find_dirs(); CodObjCanvas * from; CodObjCanvas * to; get_start_end(from, to); if (d == 0) { new_dirs = TRUE; (d = dirs = new CodDirsCanvas(the_canvas(), this, 0))->show(); } else new_dirs = FALSE; Q3PopupMenu m; Q3PopupMenu geo; m.insertItem(new MenuTitle(TR("Link"), m.font()), -1); m.insertSeparator(); m.insertItem(TR("add messages to ") + from->get_full_name(), 1); m.insertItem(TR("add messages to ") + to->get_full_name(), 2); m.insertSeparator(); m.insertItem(TR("Edit its messages"), 3); m.insertItem(TR("Edit all the messages"), 4); m.insertSeparator(); m.insertItem(TR("Select linked items"), 7); m.insertSeparator(); if (!new_dirs) { m.insertItem(TR("Edit drawing settings"), 5); m.insertSeparator(); } if (get_start() != get_end()) { init_geometry_menu(geo, 10); m.insertItem(TR("Geometry (Ctrl+l)"), &geo); m.insertSeparator(); } m.insertItem(TR("Remove from diagram"), 6); int rank = m.exec(QCursor::pos()); switch (rank) { case 1: { CodAddMsgDialog dialog(to, from, d, (ColDiagramView *) the_canvas()->get_view(), FALSE); dialog.raise(); if (dialog.exec() != QDialog::Accepted) return; } break; case 2: { CodAddMsgDialog dialog(from, to, d, (ColDiagramView *) the_canvas()->get_view(), TRUE); dialog.raise(); if (dialog.exec() != QDialog::Accepted) return; } break; case 3: CodEditMsgDialog::exec((ColDiagramView *) the_canvas()->get_view(), d->get_msgs()); return; case 4: CodEditMsgDialog::exec((ColDiagramView *) the_canvas()->get_view(), ((ColDiagramView *) the_canvas()->get_view())->get_msgs()); return; case 5: if (d->edit_drawing_settings()) modified(); return; case 6: delete_it(); ((ColDiagramView *) the_canvas()->get_view())->update_msgs(); break; case 7: select_associated(); return; default: if (rank >= 10) { rank -= 10; if (rank == RecenterBegin) set_decenter(-1.0, decenter_end); else if (rank == RecenterEnd) set_decenter(decenter_begin, -1.0); else if (rank != (int) geometry) set_geometry((LineGeometry) rank, TRUE); else return; } else return; } package_modified(); if (new_dirs && (dirs != 0)) { if (dirs->get_msgs().count() == 0) { dirs->delete_it(); dirs = 0; } else dirs->update_pos(beginp, endp); } }
void QSofaListView::RunSofaRightClicked( Q3ListViewItem *item, const QPoint& point, int index ) { if( item == NULL) return; //updateMatchingObjectmodel(); bool object_hasData = false; if(object_.type == typeObject) { object_hasData = object_.ptr.Object->getDataFields().size() > 0 ? true : false; } Q3PopupMenu *contextMenu = new Q3PopupMenu ( this, "ContextMenu" ); if( object_.isNode() ) { int index_menu = contextMenu->insertItem("Focus", this,SLOT(focusNode()) ); bool enable = object_.ptr.Node->f_bbox.getValue().isValid() && !object_.ptr.Node->f_bbox.getValue().isFlat(); contextMenu->setItemEnabled(index_menu,enable); } if( object_.isObject() ) { int index_menu = contextMenu->insertItem("Focus", this,SLOT( focusObject() ) ); bool enable = object_.ptr.Object->f_bbox.getValue().isValid() && !object_.ptr.Object->f_bbox.getValue().isFlat() ; contextMenu->setItemEnabled(index_menu,enable); } contextMenu->insertSeparator(); //Creation of the context Menu if ( object_.type == typeNode) { contextMenu->insertItem ( "Collapse", this, SLOT ( collapseNode() ) ); contextMenu->insertItem ( "Expand", this, SLOT ( expandNode() ) ); contextMenu->insertSeparator (); /*****************************************************************************************************************/ if (object_.ptr.Node->isActive()) contextMenu->insertItem ( "Deactivate", this, SLOT ( DeactivateNode() ) ); else contextMenu->insertItem ( "Activate", this, SLOT ( ActivateNode() ) ); contextMenu->insertSeparator (); /*****************************************************************************************************************/ contextMenu->insertItem ( "Save Node", this, SLOT ( SaveNode() ) ); contextMenu->insertItem ( "Export OBJ", this, SLOT ( exportOBJ() ) ); if ( attribute_ == SIMULATION) { contextMenu->insertItem ( "Add Node", this, SLOT ( RaiseAddObject() ) ); int index_menu = contextMenu->insertItem ( "Remove Node", this, SLOT ( RemoveNode() ) ); //If one of the elements or child of the current node is beeing modified, you cannot allow the user to erase the node if ( !isNodeErasable ( object_.ptr.Node ) ) contextMenu->setItemEnabled ( index_menu,false ); } } contextMenu->insertItem ( "Modify", this, SLOT ( Modify() ) ); if(object_hasData) { if(item->childCount() > 0) { contextMenu->insertItem("Hide Datas",this, SLOT ( HideDatas() ) ); } else { contextMenu->insertItem("Show Datas", this, SLOT ( ShowDatas() ) ); } } contextMenu->popup ( point, index ); }
ApplicationWindow::ApplicationWindow() : Q3MainWindow( 0, "example application main window", Qt::WDestructiveClose ) { // create a printer printer = new QPrinter; // create user interface actions Q3Action *fileNewAction = new Q3Action( "New", "&New", Qt::CTRL+Qt::Key_N, this, "new" ); connect( fileNewAction, SIGNAL( activated() ) , this, SLOT( newDoc() ) ); Q3Action *fileOpenAction = new Q3Action( "Open File", QPixmap( fileopen ), "&Open", Qt::CTRL+Qt::Key_O, this, "open" ); connect( fileOpenAction, SIGNAL( activated() ) , this, SLOT( load() ) ); Q3MimeSourceFactory::defaultFactory()->setPixmap( "fileopen", QPixmap( fileopen ) ); fileOpenAction->setWhatsThis( fileOpenText ); Q3Action *fileSaveAction = new Q3Action( "Save File", QPixmap( filesave ), "&Save", Qt::CTRL+Qt::Key_S, this, "save" ); connect( fileSaveAction, SIGNAL( activated() ) , this, SLOT( save() ) ); fileSaveAction->setWhatsThis( fileSaveText ); Q3Action *fileSaveAsAction = new Q3Action( "Save File As", "Save &as", 0, this, "save as" ); connect( fileSaveAsAction, SIGNAL( activated() ) , this, SLOT( saveAs() ) ); fileSaveAsAction->setWhatsThis( fileSaveText ); Q3Action *filePrintAction = new Q3Action( "Print File", QPixmap( fileprint ), "&Print", Qt::CTRL+Qt::Key_P, this, "print" ); connect( filePrintAction, SIGNAL( activated() ) , this, SLOT( print() ) ); filePrintAction->setWhatsThis( filePrintText ); Q3Action *fileCloseAction = new Q3Action( "Close", "&Close", Qt::CTRL+Qt::Key_W, this, "close" ); connect( fileCloseAction, SIGNAL( activated() ) , this, SLOT( close() ) ); Q3Action *fileQuitAction = new Q3Action( "Quit", "&Quit", Qt::CTRL+Qt::Key_Q, this, "quit" ); connect( fileQuitAction, SIGNAL( activated() ) , qApp, SLOT( quit() ) ); // create button for histo handling Q3Action *Update_histo = new Q3Action("Update Histo",QPixmap("qtbuttonsupdate.xpm"),"&Update", Qt::CTRL+Qt::Key_0, this, "update"); connect( Update_histo, SIGNAL( activated() ) , this, SLOT( execute() ) ); Q3MimeSourceFactory::defaultFactory()->setPixmap( "update", QPixmap("qtbuttonsupdate.xpm" ) ); Update_histo->setWhatsThis( updateHisto ); Q3Action *clear_histo = new Q3Action("Clear Histo",QPixmap("qtbuttonsclear.xpm"),"&Clear", Qt::CTRL+Qt::Key_0, this, "clear"); connect( clear_histo, SIGNAL( activated() ) , this, SLOT( clear_histo() ) ); Q3MimeSourceFactory::defaultFactory()->setPixmap( "clear", QPixmap("qtbuttonsclear.xpm" ) ); clear_histo->setWhatsThis( clearHisto ); // populate a tool bar with some actions Q3ToolBar* fileTools = new Q3ToolBar( this, "file operations" ); fileTools->setLabel( tr( "File Operations" ) ); fileOpenAction->addTo( fileTools ); fileSaveAction->addTo( fileTools ); filePrintAction->addTo( fileTools ); Update_histo->addTo ( fileTools ); clear_histo->addTo ( fileTools ); (void)Q3WhatsThis::whatsThisButton( fileTools ); // popuplate a menu with all actions Q3PopupMenu * file = new Q3PopupMenu( this ); menuBar()->insertItem( "&File", file ); fileNewAction->addTo( file ); fileOpenAction->addTo( file ); fileSaveAction->addTo( file ); fileSaveAsAction->addTo( file ); file->insertSeparator(); filePrintAction->addTo( file ); file->insertSeparator(); fileCloseAction->addTo( file ); fileQuitAction->addTo( file ); // add a help menu Q3PopupMenu * help = new Q3PopupMenu( this ); menuBar()->insertSeparator(); menuBar()->insertItem( "&Help", help ); help->insertItem( "&About", this, SLOT(about()), Qt::Key_F1 ); help->insertItem( "About &Qt", this, SLOT(aboutQt()) ); help->insertSeparator(); help->insertItem( "What's &This", this, SLOT(whatsThis()), Qt::SHIFT+Qt::Key_F1 ); // create and define the ROOT Canvas central widget tab = new QTabWidget(this); tab->show(); setCentralWidget( tab ); Q3MainWindow *win1 = new Q3MainWindow( 0, "tab1 main window", Qt::WDestructiveClose ); Q3MainWindow *win2 = new Q3MainWindow( 0, "tab2 main window", Qt::WDestructiveClose ); aCanvas = new TQRootCanvas(this, win1,"Qt&Root"); aCanvas2 = new TQRootCanvas(this, win2,"Qt&Root"); win1->setCentralWidget(aCanvas); win2->setCentralWidget(aCanvas2); tab->addTab(win1,"page1"); tab->addTab(win2,"page2"); win1->show(); win2->show(); // with no QTabWidget // aCanvas = new TQRootCanvas(this,"Qt&Root"); // setCentralWidget( aCanvas ); resize( 450, 500 ); // put here some ROOT Specifics ... if (aCanvas->GetCanvas()) { aCanvas->GetCanvas()->Resize(); aCanvas->GetCanvas()->SetFillColor(40); aCanvas->GetCanvas()->cd(); pad1 = new TPad("pad1","The pad with the function",0.05,0.50,0.95,0.95,21); pad1->Draw(); pad1->cd(); pad1->SetGridx(); pad1->SetGridy(); pad1->GetFrame()->SetFillColor(42); pad1->GetFrame()->SetBorderMode(-1); pad1->GetFrame()->SetBorderSize(5); histo= new TH1F("hppx","Gaussian distribution",100,-4,4); histo->SetFillColor(0); histo->Draw(); aCanvas->GetCanvas()->cd(); pad2 = new TPad("pad2","The pad with the histogram",0.05,0.05,0.95,0.45,21); pad2->Draw(); pad2->cd(); form1 = new TFormula("form1","abs(sin(x)/x)"); sqroot = new TF1("sqroot","x*gaus(0) + [3]*form1",0,10); sqroot->SetParameters(10,4,1,20); sqroot->SetLineColor(4); sqroot->SetLineWidth(6); sqroot->Draw(); } // ! aCAnvas if (aCanvas2) { TCanvas *c1 = aCanvas2->GetCanvas(); c1->Resize(); c1->SetFillColor(42); c1->GetFrame()->SetFillColor(21); c1->GetFrame()->SetBorderSize(12); c1->cd(); //graph example const Int_t n = 20; Double_t x[n], y[n]; for (Int_t i=0;i<n;i++) { x[i] = i*0.1; y[i] = 10*TMath::Sin(x[i]+0.2); // printf(" i %i %f %f \n",i,x[i],y[i]); } TGraph* gr = new TGraph(n,x,y); gr->SetLineColor(2); gr->SetLineWidth(4); gr->SetMarkerColor(4); gr->SetMarkerStyle(21); gr->SetTitle("a simple graph"); gr->Draw("ACP"); gr->GetHistogram()->SetXTitle("X title"); gr->GetHistogram()->SetYTitle("Y title"); c1->Modified(); c1->Update(); } //!aCanvas2 }
void ItemXML::contextMenu(Q3PopupMenu& _menu) { _menu.insertItem("Set Name", this, SLOT(slotRename())); _menu.insertSeparator(); }
JavaCatWindow::JavaCatWindow() : Q3MainWindow(0, "Java Catalog", Qt::WDestructiveClose) { the = this; setCaption("Java Catalog"); commented = 0; Q3PopupMenu * menu; QPixmap pixmap; Q3ToolBar * tools = new Q3ToolBar(this, "operations"); addToolBar(tools, "Operations", Qt::DockTop, TRUE); menu = new Q3PopupMenu(this); menuBar()->insertItem("&File", menu); pixmap = QPixmap(fileopen); Q3WhatsThis::add(new QToolButton(pixmap, "Open", QString::null, this, SLOT(load()), tools, "open"), OpenText); menu->setWhatsThis(menu->insertItem(pixmap, "&Open", this, SLOT(load()), Qt::CTRL+Qt::Key_O), OpenText); pixmap = QPixmap(filesave); Q3WhatsThis::add(new QToolButton(pixmap, "Save", QString::null, this, SLOT(save()), tools, "save"), SaveText); menu->setWhatsThis(menu->insertItem(pixmap, "&Save", this, SLOT(save()), Qt::CTRL+Qt::Key_S), SaveText); menu->insertSeparator(); pixmap = QPixmap(::scan); Q3WhatsThis::add(new QToolButton(pixmap, "Scan", QString::null, this, SLOT(scan()), tools, "scan"), ScanText); menu->setWhatsThis(menu->insertItem(pixmap, "S&can", this, SLOT(scan()), Qt::CTRL+Qt::Key_C), ScanText); menu->insertSeparator(); menu->insertItem("&Quit", this, SLOT(quit()), Qt::CTRL+Qt::Key_Q); menu = new Q3PopupMenu(this); menuBar()->insertItem("&Browse", menu); pixmap = QPixmap(browsersearch); Q3WhatsThis::add(new QToolButton(pixmap, "Search", QString::null, this, SLOT(browser_search()), tools, "search"), SearchText); menu->setWhatsThis(menu->insertItem(pixmap, "&Search", this, SLOT(browser_search()), Qt::CTRL+Qt::Key_S), SearchText); pixmap = QPixmap(left_xpm); Q3WhatsThis::add(new QToolButton(pixmap, "Back", QString::null, this, SLOT(historic_back()), tools, "back"), LeftText); pixmap = QPixmap(right_xpm); Q3WhatsThis::add(new QToolButton(pixmap, "Forward", QString::null, this, SLOT(historic_forward()), tools, "forward"), RightText); (void)Q3WhatsThis::whatsThisButton(tools); // menu = new Q3PopupMenu(this); menuBar()->insertItem("&Style", menu); #if !defined(QT_NO_STYLE_MOTIF) menu->insertItem("Motif", this, SLOT(motif_style())); #endif #if !defined(QT_NO_STYLE_MOTIFPLUS) menu->insertItem("MotifPlus", this, SLOT(motifplus_style())); #endif menu->insertItem("Windows", this, SLOT(windows_style())); // menuBar()->insertSeparator(); menu = new Q3PopupMenu(this); menuBar()->insertItem("&Help", menu); menu->insertItem("&About", this, SLOT(about()), Qt::Key_F1); menu->insertItem("About&Qt", this, SLOT(aboutQt())); menu->insertSeparator(); menu->insertItem("What's This", this, SLOT(whatsThis()), Qt::SHIFT+Qt::Key_F1); // spl = new QSplitter(Qt::Vertical, this, "spl"); browser = new BrowserView(spl); comment = new CommentView(spl); connect(comment, SIGNAL(refer(const QString &)), browser, SLOT(refer(const QString &))); spl->moveToFirst(browser); Q3ValueList<int> lsz = spl->sizes(); int h = lsz.first() + lsz.last(); lsz.first() = (h*3)/4; lsz.last() = h - lsz.first(); spl->setSizes(lsz); spl->setResizeMode(comment, QSplitter::KeepSize); setCentralWidget(spl); }
WordsEdit::WordsEdit( QWidget *parent, const char *name, int win_num, ResourcesWin *res ) : QWidget( parent, name ,Qt::WDestructiveClose ) { setCaption("WORDS.TOK Editor"); wordlist = new WordList(); winnum = win_num; resources_win = res; wordsfind = NULL; Q3PopupMenu *file = new Q3PopupMenu( this ); Q_CHECK_PTR( file ); file->insertItem( "New", this, SLOT(new_file()) ); file->insertItem( "Open", this, SLOT(open_file()) ); file->insertItem( "Merge", this, SLOT(merge_file()) ); file->insertItem( "Save", this, SLOT(save_file()) ); file->insertItem( "Save As", this, SLOT(save_as_file()) ); file->insertSeparator(); file->insertItem( "Close", this, SLOT(close()) ); Q3PopupMenu *words = new Q3PopupMenu( this ); Q_CHECK_PTR( words ); words->insertItem( "Add word group", this, SLOT(add_group_cb()) ); words->insertItem( "Delete word group", this, SLOT(delete_group_cb()) ); words->insertItem( "Change group number", this, SLOT(change_group_number_cb()) ); words->insertSeparator(); words->insertItem( "Add word", this, SLOT(add_word_cb()) ); words->insertItem( "Delete word", this, SLOT(delete_word_cb()) ); words->insertSeparator(); words->insertItem( "Count word groups", this, SLOT(count_groups_cb()) ); words->insertItem( "Count words", this, SLOT(count_words_cb()) ); words->insertItem( "&Find...", this, SLOT(find_cb()) , Qt::CTRL+Qt::Key_F); QMenuBar *menu = new QMenuBar(this); Q_CHECK_PTR( menu ); menu->insertItem( "File", file ); menu->insertItem( "Words", words ); menu->setSeparator( QMenuBar::InWindowsStyle ); Q3BoxLayout *all = new Q3VBoxLayout(this,10); QSplitter *split = new QSplitter(Qt::Horizontal,this); QWidget *left = new QWidget(split); Q3BoxLayout *lgroup = new Q3VBoxLayout(left,4); QLabel *labelgroup = new QLabel("Word groups",left,"Word groups"); labelgroup->setAlignment(Qt::AlignCenter); lgroup->addWidget(labelgroup); listgroup = new Q3ListBox(left); listgroup->setColumnMode (1); listgroup->setMinimumSize(200,300); connect( listgroup, SIGNAL(highlighted(int)), SLOT(select_group(int)) ); connect( listgroup, SIGNAL(selected(int)), SLOT(select_group(int)) ); lgroup->addWidget(listgroup); QWidget *right = new QWidget(split); Q3BoxLayout *lwords = new Q3VBoxLayout(right,4); labelword = new QLabel("Word group",right,"Word group"); labelword->setAlignment(Qt::AlignCenter); lwords->addWidget(labelword); listwords = new Q3ListBox(right); listwords->setColumnMode (1); listwords->setMinimumSize(200,300); connect( listwords, SIGNAL(highlighted(int)), SLOT(select_word(int)) ); connect( listwords, SIGNAL(selected(int)), SLOT(select_word(int)) ); lwords->addWidget(listwords); lineword = new QLineEdit(right); lineword->setEnabled(false); connect( lineword, SIGNAL(returnPressed()), SLOT(do_add_word()) ); lwords->addWidget(lineword); all->addWidget(split); Q3BoxLayout *buttons = new Q3HBoxLayout(all,20); add_group = new QPushButton("Add group",this); connect( add_group, SIGNAL(clicked()), SLOT(add_group_cb()) ); buttons->addWidget(add_group); delete_group = new QPushButton("Delete group",this); connect( delete_group, SIGNAL(clicked()), SLOT(delete_group_cb()) ); buttons->addWidget(delete_group); add_word = new QPushButton("Add word",this); connect( add_word, SIGNAL(clicked()), SLOT(add_word_cb()) ); buttons->addWidget(add_word); delete_word = new QPushButton("Delete word",this); connect( delete_word, SIGNAL(clicked()), SLOT(delete_word_cb()) ); buttons->addWidget(delete_word); Q3BoxLayout *buttons1 = new Q3HBoxLayout(all,20); change_group_number = new QPushButton("&Change group number",this); connect( change_group_number, SIGNAL(clicked()), SLOT(change_group_number_cb()) ); buttons1->addWidget(change_group_number); find = new QPushButton("Find",this); connect( find, SIGNAL(clicked()), SLOT(find_cb()) ); buttons1->addWidget(find); adjustSize(); changed=false; filename=""; SelectedGroup=0; FindLastGroup = FindLastWord = -1; }
void GCUserView::qlv_contextMenuRequested(Q3ListViewItem *i, const QPoint &pos, int) { if(!i || !i->parent() || !gcDlg_) return; QPointer<GCUserViewItem> lvi = (GCUserViewItem *)i; bool self = gcDlg_->nick() == i->text(0); GCUserViewItem* c = (GCUserViewItem*) findEntry(gcDlg_->nick()); if (!c) { qWarning() << QString("groupchatdlg.cpp: Self ('%1') not found in contactlist").arg(gcDlg_->nick()); return; } Q3PopupMenu *pm = new Q3PopupMenu; pm->insertItem(IconsetFactory::icon("psi/sendMessage").icon(), tr("Send &Message"), 0); pm->insertItem(IconsetFactory::icon("psi/start-chat").icon(), tr("Open &Chat Window"), 1); pm->insertSeparator(); // Kick and Ban submenus QStringList reasons = PsiOptions::instance()->getOption("options.muc.reasons").toStringList(); int cntReasons=reasons.count(); if (cntReasons>99) cntReasons=99; // Only first 99 reasons Q3PopupMenu *kickMenu = new Q3PopupMenu(pm); kickMenu->insertItem(tr("No reason"),10); kickMenu->insertItem(tr("Custom reason"),100); kickMenu->insertSeparator(); bool canKick=MUCManager::canKick(c->s.mucItem(),lvi->s.mucItem()); for (int i=0; i<cntReasons; ++i) kickMenu->insertItem(reasons[i], 101+i); kickMenu->setEnabled(canKick); Q3PopupMenu *banMenu = new Q3PopupMenu(pm); banMenu->insertItem(tr("No reason"),11); banMenu->insertItem(tr("Custom reason"),200); banMenu->insertSeparator(); bool canBan=MUCManager::canBan(c->s.mucItem(),lvi->s.mucItem()); for (int i=0; i<cntReasons; ++i) banMenu->insertItem(reasons[i], 201+i); banMenu->setEnabled(canBan); pm->insertItem(tr("&Kick"), kickMenu); pm->setItemEnabled(10, canKick); pm->insertItem(tr("&Ban"), banMenu); pm->setItemEnabled(11, canBan); Q3PopupMenu* rm = new Q3PopupMenu(pm); rm->insertItem(tr("Visitor"),12); rm->setItemChecked(12, lvi->s.mucItem().role() == MUCItem::Visitor); rm->setItemEnabled(12, (!self || lvi->s.mucItem().role() == MUCItem::Visitor) && MUCManager::canSetRole(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Visitor)); rm->insertItem(tr("Participant"),13); rm->setItemChecked(13, lvi->s.mucItem().role() == MUCItem::Participant); rm->setItemEnabled(13, (!self || lvi->s.mucItem().role() == MUCItem::Participant) && MUCManager::canSetRole(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Participant)); rm->insertItem(tr("Moderator"),14); rm->setItemChecked(14, lvi->s.mucItem().role() == MUCItem::Moderator); rm->setItemEnabled(14, (!self || lvi->s.mucItem().role() == MUCItem::Moderator) && MUCManager::canSetRole(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Moderator)); pm->insertItem(tr("Change Role"),rm); /*Q3PopupMenu* am = new Q3PopupMenu(pm); am->insertItem(tr("Unaffiliated"),15); am->setItemChecked(15, lvi->s.mucItem().affiliation() == MUCItem::NoAffiliation); am->setItemEnabled(15, (!self || lvi->s.mucItem().affiliation() == MUCItem::NoAffiliation) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::NoAffiliation)); am->insertItem(tr("Member"),16); am->setItemChecked(16, lvi->s.mucItem().affiliation() == MUCItem::Member); am->setItemEnabled(16, (!self || lvi->s.mucItem().affiliation() == MUCItem::Member) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Member)); am->insertItem(tr("Administrator"),17); am->setItemChecked(17, lvi->s.mucItem().affiliation() == MUCItem::Admin); am->setItemEnabled(17, (!self || lvi->s.mucItem().affiliation() == MUCItem::Admin) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Admin)); am->insertItem(tr("Owner"),18); am->setItemChecked(18, lvi->s.mucItem().affiliation() == MUCItem::Owner); am->setItemEnabled(18, (!self || lvi->s.mucItem().affiliation() == MUCItem::Owner) && MUCManager::canSetAffiliation(c->s.mucItem(),lvi->s.mucItem(),MUCItem::Owner)); pm->insertItem(tr("Change Affiliation"),am);*/ pm->insertSeparator(); //pm->insertItem(tr("Send &File"), 4); //pm->insertSeparator(); pm->insertItem(tr("Check &Status"), 2); pm->insertItem(IconsetFactory::icon("psi/vCard").icon(), tr("User &Info"), 3); int x = pm->exec(pos); bool enabled = pm->isItemEnabled(x) || rm->isItemEnabled(x) || kickMenu->isItemEnabled(x) || banMenu->isItemEnabled(x); delete pm; if(x == -1 || !enabled || lvi.isNull()) return; action(lvi->text(0), lvi->s, x); }
void BrowserNode::mark_menu(Q3PopupMenu & m, const char * s, int bias) const { if (! is_marked) { m.insertSeparator(); m.setWhatsThis(m.insertItem(TR("Mark"), bias), TR("to mark %1", s)); if (!marked_list.isEmpty()) { bool parents_marked = FALSE; const BrowserNode * bn = this; while (bn != BrowserView::get_project()) { bn = (BrowserNode *) bn->parent(); if (bn->is_marked) { parents_marked = TRUE; break; } } bool moveable = TRUE; #ifndef SIMPLE_DUPLICATION bool rec = FALSE; #endif Q3PtrListIterator<BrowserNode> it(marked_list); for (; (bn = it.current()) != 0; ++it) { if ((bn == BrowserView::get_project()) || !((BrowserNode *) bn->parent())->is_writable()) { moveable = FALSE; #ifndef SIMPLE_DUPLICATION } if (bn->firstChild() != 0) { rec = TRUE; #else break; #endif } } BooL duplicable_into = TRUE; BooL duplicable_after = TRUE; bool into = may_contains_them(marked_list, duplicable_into) && is_writable(); bool after = (this != BrowserView::get_project()) && ((BrowserNode *) parent())->is_writable() && ((BrowserNode *) parent())->may_contains_them(marked_list, duplicable_after); if (!parents_marked) { if (moveable) { if (into) m.setWhatsThis(m.insertItem(TR("Move marked into"), bias + 3), TR("to move the marked items into %1", s)); if (after) m.setWhatsThis(m.insertItem(TR("Move marked after"), bias + 4), TR("to move the marked items after %1", s)); } } if (into && duplicable_into) { m.setWhatsThis(m.insertItem(TR("Duplicate marked into"), bias + 5), TR("to duplicate the marked items into %1", s)); #ifndef SIMPLE_DUPLICATION if (rec && !parents_marked) m.setWhatsThis(m.insertItem(TR("Duplicate recursivelly marked into"), bias + 6), TR("to recurcivelly duplicate the marked items into %1", s)); #endif } if (after && duplicable_after) { m.setWhatsThis(m.insertItem(TR("Duplicate marked after"), bias + 7), TR("to duplicate the marked items after %1", s)); #ifndef SIMPLE_DUPLICATION if (rec && !parents_marked) m.setWhatsThis(m.insertItem(TR("Duplicate marked recursivelly after"), bias + 8), TR("to recurcivelly duplicate the marked items after %1", s)); #endif } } } else { m.insertSeparator(); m.setWhatsThis(m.insertItem(TR("Unmark"), bias + 1), TR("to unmark %1", s)); if (!marked_list.isEmpty()) m.setWhatsThis(m.insertItem(TR("Unmark all"), bias + 2), QString(TR("to unmark all the marked items"))); } }