Example #1
0
MenuBar::MenuBar(QWidget *parent) :
    QMenuBar(parent)
{
    fileMenu = new QMenu("File");
    fileMenu->addAction("New", this, SLOT(newFile()), QKeySequence("CTRL+N"));
    fileMenu->addAction("Open", this, SLOT(openFile()), QKeySequence("CTRL+O"));
    // fileMenu->addAction("Open Recent");
    recentMenu = new QMenu("Open recent files");
    fileMenu->addMenu(recentMenu);

    fileMenu->addAction("Save", this, SLOT(saveFile()), QKeySequence("CTRL+S"));
    fileMenu->addAction("Save As...", this, SLOT(saveFileAs()), QKeySequence("SHIFT+CTRL+S"));
    fileMenu->addSeparator();
    fileMenu->addAction("Close", this, SLOT(closeFile()), QKeySequence("CTRL+W"));
    fileMenu->addAction("Close All", this, SLOT(closeAllFiles()), QKeySequence("SHIFT+CTRL+W"));
    fileMenu->addSeparator();
    fileMenu->addAction("Quit", this, SLOT(quit()), QKeySequence("CTRL+Q"));

    sessionMenu = new QMenu("Session");


    editMenu = new QMenu("Edit");
    editMenu->addAction("Previous Buffer", this, SLOT(decrementBuffer()), QKeySequence("ALT+LEFT"));
    editMenu->addAction("Next Buffer", this, SLOT(incrementBuffer()), QKeySequence("ALT+RIGHT"));

    languageMenu = new QMenu("Language");
    languageMenu->addAction("Evaluate code", this, SLOT(evaluateCode()), QKeySequence("SHIFT+RETURN"));
    languageMenu->addAction("Toggle OpenGL", this, SLOT(toggleOpenGL()), QKeySequence("F1"));

    helpMenu = new QMenu("Help");
    helpMenu->addAction("About", this, SLOT(about()));

    addMenu(fileMenu);
    addMenu(sessionMenu);
    addMenu(editMenu);
    addMenu(languageMenu);
    addMenu(helpMenu);
}
Example #2
0
void executeKeyPress(int choice) {

	if (globalCurrentPage->keyboard.isNum == 0) {

		//Alpha keys
		if (choice <= 30) {

			Key k = globalCurrentPage->keyboard.currentKeyset[choice];
			updateBuffer(k, globalCurrentPage);

		}

		//Delete Key
		if (choice == 31) {

			decrementBuffer(globalCurrentPage);
		}

		//Uppercase/Lowercase Key
		if (choice == 32) {

			if (globalCurrentPage->keyboard.isUpper == 1) {
				globalCurrentPage->keyboard.isUpper = 0;
				globalCurrentPage->keyboard.currentKeyset =
						globalCurrentPage->keyboard.keyset_lowercase;
			} else {
				globalCurrentPage->keyboard.isUpper = 1;
				globalCurrentPage->keyboard.currentKeyset =
						globalCurrentPage->keyboard.keyset_uppercase;

			}
		}

		//Numbers Key
		if (choice == 33) {

			globalCurrentPage->keyboard.isNum = 1;
			globalCurrentPage->keyboard.currentKeyset =
					globalCurrentPage->keyboard.numberset1;
		}

		//Done Key
		if (choice == 34) {

			int k;
			k = globalCurrentPage->keyboard.curInputBoxIndex;

			strcpy(globalCurrentPage->keyboard.caller->inputBoxes[k].inputBuf,
					globalCurrentPage->keyboard.buffer);
			clearBuffer(globalCurrentPage);

			globalCurrentPage = globalCurrentPage->keyboard.caller;
			updateInputBox(&(globalCurrentPage->inputBoxes[k]));

		}

	} else {

		//Number Keys
		if (choice < 10) {

			Key k = globalCurrentPage->keyboard.currentKeyset[choice];
			updateBuffer(k, globalCurrentPage);

		}
		//Delete Key
		if (choice == 10) {

			decrementBuffer(globalCurrentPage);

		}
		//Return to letters key
		if (choice == 11) {

			globalCurrentPage->keyboard.isNum = 0;
			globalCurrentPage->keyboard.currentKeyset =
					globalCurrentPage->keyboard.keyset_lowercase;
		}

		//Done Key
		if (choice == 12) {

			int k;
			k = globalCurrentPage->keyboard.curInputBoxIndex;

			strcpy(globalCurrentPage->keyboard.caller->inputBoxes[k].inputBuf,
					globalCurrentPage->keyboard.buffer);
			clearBuffer(globalCurrentPage);

			globalCurrentPage = globalCurrentPage->keyboard.caller;
			updateInputBox(&(globalCurrentPage->inputBoxes[k]));

		}

	}

}