void updateTooltip() { QStringList names; foreach(const QString &vtname, viewtypes) names << viewText(viewType(vtname.toUtf8())); Plasma::ToolTipContent data(i18n("Application Launcher Menu"), names.join(", "), icon->icon()); Plasma::ToolTipManager::self()->setContent(q, data); }
void addModel(QAbstractItemModel *model, ViewType viewtype, Kickoff::MenuView::ModelOptions options = Kickoff::MenuView::MergeFirstLevel, int formattype = -1) { Kickoff::MenuView* mainView = menuview.data(); Kickoff::MenuView* m = mainView; if (viewtypes.count() > 1 || !m) { m = new Kickoff::MenuView(mainView, viewText(viewtype), KIcon(viewIcon(viewtype))); m->setFormatType((formattype >= 0 || !mainView) ? (Kickoff::MenuView::FormatType)formattype : mainView->formatType()); mainView->addMenu(m); } m->addModel(model, options); }
void Upgrade::DrawUpgrade(Core::Graphics& graphics, Vector2D mouse, float thickness) { myColor = (CheckMouse(mouse))? RGB(134, 134, 134): RGB(94,94,94); if(upgradeCooldown < .5) { upgradeCooldown += .016f; } graphics.SetColor(myColor); for(int i=0; i<BOX_SIZE; i++) { Vector2D start(position.x + i, position.y); Vector2D end(position.x + i, position.y+BOX_SIZE); graphics.DrawLine(start.x, start.y, end.x, end.y); } if(CheckMouse(mouse)) { viewText(graphics); if(Core::Input::IsPressed(Core::Input::BUTTON_LEFT)&&upgradeCooldown >= .5f && myCash.getCash() >= upgradeCost && upgradeCount < 5) { upgradeCooldown = 0; myCash.decreaseCash(upgradeCost); upgradeCount++; } } SetUpgradeCost(); DrawGraphic(graphics); graphics.SetColor(RGB(255,255,255)); if(upgradeCount > 4) { graphics.SetColor(RGB(255,0,0)); } //Draws $ DrawHorizontalBar(graphics, thickness, Letter_Size, Vector2D(costPosition.x, costPosition.y+thickness/2)); DrawVerticalBar(graphics, thickness, (Letter_Size-3*thickness)/2, Vector2D(costPosition.x, costPosition.y + thickness)); DrawHorizontalBar(graphics, thickness, Letter_Size, Vector2D(costPosition.x, costPosition.y+thickness+((Letter_Size-3*thickness)/2))); DrawVerticalBar(graphics, thickness,(Letter_Size-3*thickness)/2, Vector2D(costPosition.x+(Letter_Size-thickness), costPosition.y + thickness*2+((Letter_Size-3*thickness)/2))); DrawHorizontalBar(graphics, thickness, Letter_Size, Vector2D(costPosition.x, costPosition.y+2*thickness + (2*((Letter_Size-3*thickness)/2)-thickness/2))); DrawVerticalBar(graphics, thickness, Letter_Size, Vector2D(costPosition.x+(Letter_Size/2.5f), costPosition.y)); //Draws Cost DrawLetters(graphics, thickness); }
KrViewer::KrViewer(QWidget *parent) : KParts::MainWindow(parent, (Qt::WindowFlags)KDE_DEFAULT_WINDOWFLAGS), manager(this, this), tabBar(this), reservedKeys(), reservedKeyActions(), sizeX(-1), sizeY(-1) { //setWFlags(Qt::WType_TopLevel | WDestructiveClose); setXMLFile("krviewer.rc"); // kpart-related xml file setHelpMenuEnabled(false); connect(&manager, SIGNAL(activePartChanged(KParts::Part*)), this, SLOT(createGUI(KParts::Part*))); connect(&tabBar, &QTabWidget::currentChanged, this, &KrViewer::tabChanged); connect(&tabBar, SIGNAL(tabCloseRequested(int)), this, SLOT(tabCloseRequest(int))); tabBar.setDocumentMode(true); tabBar.setMovable(true); setCentralWidget(&tabBar); printAction = KStandardAction::print(this, SLOT(print()), 0); copyAction = KStandardAction::copy(this, SLOT(copy()), 0); viewerMenu = new QMenu(this); QAction *tempAction; KActionCollection *ac = actionCollection(); #define addCustomMenuAction(name, text, slot, shortcut)\ tempAction = ac->addAction(name, this, slot);\ tempAction->setText(text);\ ac->setDefaultShortcut(tempAction, shortcut);\ viewerMenu->addAction(tempAction); addCustomMenuAction("genericViewer", i18n("&Generic Viewer"), SLOT(viewGeneric()), Qt::CTRL + Qt::SHIFT + Qt::Key_G); addCustomMenuAction("textViewer", i18n("&Text Viewer"), SLOT(viewText()), Qt::CTRL + Qt::SHIFT + Qt::Key_T); addCustomMenuAction("hexViewer", i18n("&Hex Viewer"), SLOT(viewHex()), Qt::CTRL + Qt::SHIFT + Qt::Key_H); addCustomMenuAction("lister", i18n("&Lister"), SLOT(viewLister()), Qt::CTRL + Qt::SHIFT + Qt::Key_L); viewerMenu->addSeparator(); addCustomMenuAction("textEditor", i18n("Text &Editor"), SLOT(editText()), Qt::CTRL + Qt::SHIFT + Qt::Key_E); viewerMenu->addSeparator(); QList<QAction *> actList = menuBar()->actions(); bool hasPrint = false, hasCopy = false; foreach(QAction *a, actList) { if (a->shortcut().matches(printAction->shortcut()) != QKeySequence::NoMatch) hasPrint = true; if (a->shortcut().matches(copyAction->shortcut()) != QKeySequence::NoMatch) hasCopy = true; } QAction *printAct = viewerMenu->addAction(printAction->icon(), printAction->text(), this, SLOT(print())); if (hasPrint) printAct->setShortcut(printAction->shortcut()); QAction *copyAct = viewerMenu->addAction(copyAction->icon(), copyAction->text(), this, SLOT(copy())); if (hasCopy) copyAct->setShortcut(copyAction->shortcut()); viewerMenu->addSeparator(); configKeysAction = ac->addAction(KStandardAction::KeyBindings, this, SLOT(configureShortcuts())); viewerMenu->addAction(configKeysAction); viewerMenu->addSeparator(); detachAction = ac->addAction("detachTab", this, SLOT(detachTab())); detachAction->setText(i18n("&Detach Tab")); //no point in detaching only one tab.. detachAction->setEnabled(false); ac->setDefaultShortcut(detachAction, Qt::META + Qt::Key_D); viewerMenu->addAction(detachAction); quitAction = ac->addAction(KStandardAction::Quit, this, SLOT(close())); viewerMenu->addAction(quitAction); tabCloseAction = ac->addAction("closeTab", this, SLOT(tabCloseRequest())); tabCloseAction->setText(i18n("&Close Current Tab")); QList<QKeySequence> shortcuts = KStandardShortcut::close(); shortcuts.append(Qt::Key_Escape); ac->setDefaultShortcuts(tabCloseAction, shortcuts); tabNextAction = ac->addAction("nextTab", this, SLOT(nextTab())); tabNextAction->setText(i18n("&Next Tab")); ac->setDefaultShortcuts(tabNextAction, KStandardShortcut::tabNext()); tabPrevAction = ac->addAction("prevTab", this, SLOT(prevTab())); tabPrevAction->setText(i18n("&Previous Tab")); ac->setDefaultShortcuts(tabPrevAction, KStandardShortcut::tabPrev()); tabBar.setTabsClosable(true); checkModified(); KConfigGroup group(krConfig, "KrViewerWindow"); int sx = group.readEntry("Window Width", -1); int sy = group.readEntry("Window Height", -1); if (sx != -1 && sy != -1) resize(sx, sy); else resize(900, 700); if (group.readEntry("Window Maximized", false)) { setWindowState(windowState() | Qt::WindowMaximized); } // filtering out the key events menuBar() ->installEventFilter(this); }
void CmpSeabaseDDL::createSeabaseView( StmtDDLCreateView * createViewNode, NAString &currCatName, NAString &currSchName) { Lng32 retcode = 0; Lng32 cliRC = 0; ComObjectName viewName(createViewNode->getViewName()); ComAnsiNamePart currCatAnsiName(currCatName); ComAnsiNamePart currSchAnsiName(currSchName); viewName.applyDefaults(currCatAnsiName, currSchAnsiName); const NAString catalogNamePart = viewName.getCatalogNamePartAsAnsiString(); const NAString schemaNamePart = viewName.getSchemaNamePartAsAnsiString(TRUE); const NAString objectNamePart = viewName.getObjectNamePartAsAnsiString(TRUE); const NAString extViewName = viewName.getExternalName(TRUE); const NAString extNameForHbase = catalogNamePart + "." + schemaNamePart + "." + objectNamePart; ExeCliInterface cliInterface(STMTHEAP, NULL, NULL, CmpCommon::context()->sqlSession()->getParentQid()); Int32 objectOwnerID = SUPER_USER; Int32 schemaOwnerID = SUPER_USER; ComSchemaClass schemaClass; retcode = verifyDDLCreateOperationAuthorized(&cliInterface, SQLOperation::CREATE_VIEW, catalogNamePart, schemaNamePart, schemaClass, objectOwnerID, schemaOwnerID); if (retcode != 0) { handleDDLCreateAuthorizationError(retcode,catalogNamePart,schemaNamePart); return; } ExpHbaseInterface * ehi = NULL; ehi = allocEHI(); if (ehi == NULL) { processReturn(); return; } if ((isSeabaseReservedSchema(viewName)) && (!Get_SqlParser_Flags(INTERNAL_QUERY_FROM_EXEUTIL))) { *CmpCommon::diags() << DgSqlCode(-1118) << DgTableName(extViewName); deallocEHI(ehi); return; } //if metadata views are being created and seabase is uninitialized, then this //indicates that these views are being created during 'initialize trafodion' //and this compiler contains stale version. //Reload version info. // if ((isSeabaseMD(viewName)) && (CmpCommon::context()->isUninitializedSeabase())) { CmpCommon::context()->setIsUninitializedSeabase(FALSE); CmpCommon::context()->uninitializedSeabaseErrNum() = 0; } retcode = existsInSeabaseMDTable(&cliInterface, catalogNamePart, schemaNamePart, objectNamePart, COM_UNKNOWN_OBJECT, FALSE, FALSE); if (retcode < 0) { deallocEHI(ehi); processReturn(); return; } if (retcode == 1) // already exists { if (NOT ((createViewNode->isCreateOrReplaceViewCascade())|| (createViewNode->isCreateOrReplaceView()))) { *CmpCommon::diags() << DgSqlCode(-1390) << DgString0(extViewName); deallocEHI(ehi); processReturn(); return; } } char * query = NULL; int64_t objectUID = -1; std::vector<ObjectPrivsRow> viewPrivsRows; bool replacingView = false; if ((retcode == 1) && // exists ((createViewNode->isCreateOrReplaceViewCascade())|| (createViewNode->isCreateOrReplaceView()))) { // Replace view. Drop this view and recreate it. Int32 objectOwnerID = 0; Int32 schemaOwnerID = 0; Int64 objUID = getObjectUIDandOwners(&cliInterface, catalogNamePart.data(), schemaNamePart.data(), objectNamePart.data(), COM_VIEW_OBJECT, objectOwnerID,schemaOwnerID); if (objUID < 0 || objectOwnerID == 0) { if (CmpCommon::diags()->getNumber(DgSqlCode::ERROR_) == 0) SEABASEDDL_INTERNAL_ERROR("getting object UID and owner for create or replace view"); deallocEHI(ehi); processReturn(); return; } if (isAuthorizationEnabled()) { // Verify user can perform operation if (!isDDLOperationAuthorized(SQLOperation::ALTER_VIEW,objectOwnerID,schemaOwnerID)) { *CmpCommon::diags() << DgSqlCode(-CAT_NOT_AUTHORIZED); deallocEHI(ehi); processReturn (); return; } // Initiate the privilege manager interface class NAString privMgrMDLoc; CONCAT_CATSCH(privMgrMDLoc,getSystemCatalog(),SEABASE_PRIVMGR_SCHEMA); PrivMgrCommands privInterface(std::string(privMgrMDLoc.data()), CmpCommon::diags()); PrivStatus privStatus = privInterface.getPrivRowsForObject(objUID,viewPrivsRows); if (privStatus != PrivStatus::STATUS_GOOD) { SEABASEDDL_INTERNAL_ERROR("Unable to retrieve privileges for replaced view"); deallocEHI(ehi); processReturn(); return; } } if (dropOneTableorView(cliInterface,extViewName.data(),COM_VIEW_OBJECT,false)) { deallocEHI(ehi); processReturn(); return; } replacingView = true; } // Gather the object and grantable privileges that the view creator has. // This code also verifies that the current user has the necessary // privileges to create the view. PrivMgrBitmap privilegesBitmap; PrivMgrBitmap grantableBitmap; privilegesBitmap.set(); grantableBitmap.set(); if (gatherViewPrivileges(createViewNode, &cliInterface, privilegesBitmap, grantableBitmap)) { processReturn(); deallocEHI(ehi); return; } NAString viewText(STMTHEAP); buildViewText(createViewNode, viewText); NAString newViewText(STMTHEAP); for (Lng32 i = 0; i < viewText.length(); i++) { if (viewText.data()[i] == '\'') newViewText += "''"; else newViewText += viewText.data()[i]; } ElemDDLColDefArray colDefArray(STMTHEAP); if (buildViewColInfo(createViewNode, &colDefArray)) { deallocEHI(ehi); processReturn(); return; } Lng32 numCols = colDefArray.entries(); ComTdbVirtTableColumnInfo * colInfoArray = new(STMTHEAP) ComTdbVirtTableColumnInfo[numCols]; if (buildColInfoArray(COM_VIEW_OBJECT, &colDefArray, colInfoArray, FALSE, 0, FALSE)) { deallocEHI(ehi); processReturn(); return; } Int64 objUID = -1; if (updateSeabaseMDTable(&cliInterface, catalogNamePart, schemaNamePart, objectNamePart, COM_VIEW_OBJECT, "N", NULL, numCols, colInfoArray, 0, NULL, 0, NULL, objectOwnerID, schemaOwnerID, objUID)) { deallocEHI(ehi); processReturn(); return; } if (objUID < 0) { deallocEHI(ehi); processReturn(); return; } // grant privileges for view if (isAuthorizationEnabled()) { char authName[MAX_AUTHNAME_LEN+1]; Int32 lActualLen = 0; Int16 status = ComUser::getAuthNameFromAuthID( (Int32) objectOwnerID , (char *)&authName , MAX_AUTHNAME_LEN , lActualLen ); if (status != FEOK) { *CmpCommon::diags() << DgSqlCode(-20235) << DgInt0(status) << DgInt1(objectOwnerID); deallocEHI(ehi); processReturn(); return; } // Initiate the privilege manager interface class NAString privMgrMDLoc; CONCAT_CATSCH(privMgrMDLoc, getSystemCatalog(), SEABASE_PRIVMGR_SCHEMA); PrivMgrCommands privInterface(std::string(privMgrMDLoc.data()), CmpCommon::diags()); retcode = privInterface.grantObjectPrivilege (objUID, std::string(extViewName.data()), COM_VIEW_OBJECT, objectOwnerID, std::string(authName), privilegesBitmap, grantableBitmap); if (retcode != STATUS_GOOD && retcode != STATUS_WARNING) { deallocEHI(ehi); processReturn(); return; } if (replacingView) { PrivStatus privStatus = privInterface.insertPrivRowsForObject(objUID,viewPrivsRows); if (privStatus != PrivStatus::STATUS_GOOD) { SEABASEDDL_INTERNAL_ERROR("Unable to restore privileges for replaced view"); deallocEHI(ehi); processReturn(); return; } } } query = new(STMTHEAP) char[newViewText.length() + 1000]; str_sprintf(query, "upsert into %s.\"%s\".%s values (%Ld, '%s', %d, %d, 0)", getSystemCatalog(), SEABASE_MD_SCHEMA, SEABASE_VIEWS, objUID, computeCheckOption(createViewNode), (createViewNode->getIsUpdatable() ? 1 : 0), (createViewNode->getIsInsertable() ? 1 : 0)); cliRC = cliInterface.executeImmediate(query); NADELETEBASIC(query, STMTHEAP); if (cliRC < 0) { if (cliRC == -8402) // string overflow, view text does not fit into metadata table *CmpCommon::diags() << DgSqlCode(-1198); else cliInterface.retrieveSQLDiagnostics(CmpCommon::diags()); deallocEHI(ehi); processReturn(); return; } if (updateTextTable(&cliInterface, objUID, COM_VIEW_TEXT, 0, newViewText)) { deallocEHI(ehi); processReturn(); return; } if (updateViewUsage(createViewNode, objUID, &cliInterface)) { deallocEHI(ehi); processReturn(); return; } if (updateObjectValidDef(&cliInterface, catalogNamePart, schemaNamePart, objectNamePart, COM_VIEW_OBJECT_LIT, "Y")) { deallocEHI(ehi); processReturn(); return; } CorrName cn(objectNamePart, STMTHEAP, schemaNamePart, catalogNamePart); ActiveSchemaDB()->getNATableDB()->removeNATable(cn, NATableDB::REMOVE_MINE_ONLY, COM_VIEW_OBJECT); deallocEHI(ehi); processReturn(); return; }