void ananasTreeView::ContextMenuAdd( QMenu* m ) { //--QLabel *caption = new QLabel( tr("<font color=darkblue><u><b>" "Context Menu</b></u></font>"), this ); //--caption->setAlignment( Qt::AlignCenter ); //--m->insertItem( caption ); //m->insertItem( tr("&Rename"), this, SLOT( itemRename() ), //Qt::CTRL+Qt::Key_R); QAction* rename = m->addAction(tr("&Rename")); rename->setShortcut(Qt::CTRL+Qt::Key_R); connect(rename,SIGNAL(triggered()),SLOT(itemRename())); //m->insertItem( tr("&Edit"), this, SLOT( itemEdit() ), //Qt::CTRL+Qt::Key_E ); QAction* edit = m->addAction(tr("&Edit")); edit->setShortcut(Qt::CTRL+Qt::Key_E); connect(edit,SIGNAL(triggered()),SLOT(itemEdit())); //m->insertItem( tr("&Delete"), this, SLOT( itemDelete() ), //Qt::CTRL+Qt::Key_D ); QAction* del = m->addAction(tr("&Delete")); del->setShortcut(Qt::CTRL+Qt::Key_D); connect(del,SIGNAL(triggered()),SLOT(itemDelete())); //m->insertItem( tr("&MoveUp"), this, SLOT( itemMoveUp() ), //Qt::CTRL+Qt::Key_U ); QAction* moveUp = m->addAction(tr("&MoveUp")); moveUp->setShortcut(Qt::CTRL+Qt::Key_U); connect(moveUp,SIGNAL(triggered()),SLOT(itemMoveUp())); //m->insertItem( tr("&MoveDown"), this, SLOT( itemMoveDown() ), //Qt::CTRL+Qt::Key_M ); QAction* moveDown = m->addAction(tr("&MoveDown")); moveDown->setShortcut(Qt::CTRL+Qt::Key_M); connect(moveDown,SIGNAL(triggered()),SLOT(itemMoveDown())); //m->insertItem( tr("&SaveItem"), this, SLOT( itemSave() ) ); QAction* saveItem = m->addAction(tr("&SaveItem")); connect(saveItem,SIGNAL(triggered()),SLOT(itemSave())); //m->insertItem( tr("&LoadItem"), this, SLOT( itemLoad() ) ); QAction* loadItem = m->addAction(tr("&LoadItem")); connect(loadItem,SIGNAL(triggered()),SLOT(itemLoad())); m->addSeparator(); };
// a context menu action was selected void UserMenuTree::slotPopupActivated(int id) { KILE_DEBUG() << "popup activated with id: " << id; switch (id ) { case POPUP_INSERT_ABOVE: insertMenuItem (m_popupItem, false); break; case POPUP_INSERT_BELOW: insertMenuItem (m_popupItem, true); break; case POPUP_SEPARATOR_ABOVE: insertSeparator(m_popupItem, false); break; case POPUP_SEPARATOR_BELOW: insertSeparator(m_popupItem, true); break; case POPUP_SUBMENU_ABOVE: insertSubmenu (m_popupItem, false); break; case POPUP_SUBMENU_BELOW: insertSubmenu (m_popupItem, true); break; case POPUP_INTO_SUBMENU: insertIntoSubmenu(m_popupItem, UserMenuData::Text); break; case POPUP_SEPARATOR_INTO_SUBMENU: insertIntoSubmenu(m_popupItem, UserMenuData::Separator); break; case POPUP_SUBMENU_INTO_SUBMENU: insertIntoSubmenu(m_popupItem, UserMenuData::Submenu); break; case POPUP_DELETE_ITEM: itemDelete(m_popupItem); break; case POPUP_DELETE_TREE: deleteMenuTree(); break; case POPUP_COLLAPSE_ITEM: m_popupItem->setExpanded(false); break; case POPUP_EXPAND_ITEM: m_popupItem->setExpanded(true); break; case POPUP_COLLAPSE_TREE: collapseAll(); break; case POPUP_EXPAND_TREE: expandAll(); break; case POPUP_ITEM_INFO: itemInfo(m_popupItem); break; } }
void RegionEditDialog::on_addButton_clicked() { RectFrame *aFrame=new RectFrame(mAttributes, this); if (ui->itemsLayout->count()==0) { aFrame->setUpEnabled(false); } else { ((RectFrame *)ui->itemsLayout->itemAt(ui->itemsLayout->count()-1)->widget())->setDownEnabled(true); } aFrame->setDownEnabled(false); connect(aFrame, SIGNAL(upPressed()), this, SLOT(itemUp())); connect(aFrame, SIGNAL(downPressed()), this, SLOT(itemDown())); connect(aFrame, SIGNAL(deletePressed()), this, SLOT(itemDelete())); ui->itemsLayout->addWidget(aFrame); ui->mainScrollArea->verticalScrollBar()->setValue(ui->mainScrollArea->verticalScrollBar()->maximum()); updateCountButtons(); }
static int canvasFunc( ClientData data, Tcl_Interp *interp, int objc, Tcl_Obj * const objv[] ) { const char *cmds[] = { "delete", "configure", "cget", "isMapped", "getCurrentSize", "update", "raise", "lower", "create", "itemDelete", "itemShow", "itemConfigure", "itemCget", "itemCommand", "affine", "scale", "move", "rotate", "windowToCanvas", "canvasToWindow", "findItemAt", "getBounds", "findWithTag", NULL }; enum cmdIdx { DeleteIdx, ConfigureIdx, CgetIdx, IsMappedIdx, GetCurSizeIdx, UpdateIdx, RaiseIdx, LowerIdx, CreateIdx, ItemDeleteIdx, ItemShowIdx, ItemConfigureIdx, ItemCgetIdx, ItemCommandIdx, AffineIdx, ScaleIdx, MoveIdx, RotateIdx, WindowToCanvasIdx, CanvasToWindowIdx, FindItemAtIdx, GetBoundsIdx, GetIDsFromTagIdx }; CanvasParams *para = (CanvasParams *)data; GtkWidget *widget = GTK_WIDGET( para->canvas ); int idx; if( objc < 2 ) { Tcl_WrongNumArgs( interp, 1, objv, "command" ); return TCL_ERROR; } if( Tcl_GetIndexFromObj( interp, objv[1], cmds, "command", TCL_EXACT, &idx ) != TCL_OK ) return TCL_ERROR; switch( idx ) { case DeleteIdx: return gnoclDelete( interp, widget, objc, objv ); case ConfigureIdx: { int ret = TCL_ERROR; if( gnoclParseAndSetOptions( interp, objc - 1, objv + 1, canvasOptions, G_OBJECT( widget ) ) == TCL_OK ) { if( canvasOptions[antialiasedIdx].status == GNOCL_STATUS_CHANGED ) { Tcl_SetResult( interp, "antialiasing cannot be changed " "after creation", TCL_STATIC ); } else ret = configure( interp, para, canvasOptions ); } gnoclClearOptions( canvasOptions ); return ret; } break; case CgetIdx: { int idx; switch( gnoclCget( interp, objc, objv, G_OBJECT( widget ), canvasOptions, &idx ) ) { case GNOCL_CGET_ERROR: return TCL_ERROR; case GNOCL_CGET_HANDLED: return TCL_OK; case GNOCL_CGET_NOTHANDLED: return cget( interp, para->canvas, canvasOptions, idx ); } break; } case IsMappedIdx: return isMapped( interp, widget, objc, objv ); case GetCurSizeIdx: return getCurSize( interp, widget, objc, objv ); case UpdateIdx: if( objc != 2 ) { Tcl_WrongNumArgs( interp, 2, objv, NULL ); return TCL_ERROR; } gnome_canvas_update_now( para->canvas ); break; case CreateIdx: return canvasCreateItem( interp, objc, objv, para ); case RaiseIdx: case LowerIdx: case ItemDeleteIdx: case ItemShowIdx: case ItemConfigureIdx: case ItemCgetIdx: case ItemCommandIdx: case AffineIdx: case ScaleIdx: case MoveIdx: case RotateIdx: case GetBoundsIdx: case GetIDsFromTagIdx: { GPtrArray *items; int ret; if( objc < 3 ) { Tcl_WrongNumArgs( interp, 2, objv, "tag-or-id ?option val ...?" ); return TCL_ERROR; } if( gnoclCanvasItemsFromTagOrId( interp, para, Tcl_GetString( objv[2] ), &items ) != TCL_OK ) return TCL_ERROR; switch( idx ) { case RaiseIdx: case LowerIdx: ret = itemRaise( interp, objc, objv, para, items, idx == RaiseIdx ); break; case ItemDeleteIdx: ret = itemDelete( interp, objc, objv, para, items ); break; case ItemShowIdx: ret = itemShow( interp, objc, objv, para, items ); break; case ItemConfigureIdx: ret = itemConfigure( interp, objc, objv, para, items ); break; case ItemCgetIdx: ret = itemCget( interp, objc, objv, para, items ); break; case ItemCommandIdx: ret = itemCommand( interp, objc, objv, para, items ); break; case AffineIdx: ret = affine( interp, objc, objv, para, items, Affine ); break; case ScaleIdx: ret = affine( interp, objc, objv, para, items, Scale ); break; case MoveIdx: ret = affine( interp, objc, objv, para, items, Move ); break; case RotateIdx: ret = affine( interp, objc, objv, para, items, Rotate ); break; case GetBoundsIdx: ret = itemBounds( interp, objc, objv, para, items ); break; case GetIDsFromTagIdx: ret = getIDs( interp, objc, objv, para, items ); break; default: assert( 0 ); } if( items ) g_ptr_array_free( items, 0 ); return ret; } break; case WindowToCanvasIdx: return windowToCanvas( interp, objc, objv, para, 0 ); case CanvasToWindowIdx: return windowToCanvas( interp, objc, objv, para, 1 ); case FindItemAtIdx: return findItemAt( interp, objc, objv, para ); } return TCL_OK; }