From b60a1ecaa059b215f7b6755e55b223604a9c81b1 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20D=C5=82ugo=C5=82=C4=99cki?= Date: Wed, 27 Jan 2016 22:02:44 +0100 Subject: [PATCH] Prepare layout code generation for editor --- Makefile.am | 10 ++- src/edit/editor.cpp | 131 ++++++++++++++++++----------- src/edit/editor.h | 19 ++++- src/edit/ui/editor.ui | 191 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 299 insertions(+), 52 deletions(-) create mode 100644 src/edit/ui/editor.ui diff --git a/Makefile.am b/Makefile.am index bbfc2ba..33527d6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -166,12 +166,18 @@ bin_logedit_CPPFLAGS = $(bin_logedit_CFLAGS) bin_logedit_LDADD = $(bin_logedit_LIBS) bin_logeditdir = src/edit bin_logedit_HEADERS =\ - src/edit/editor.h + src/edit/editor.h \ + src/edit/ui/editor.h -src/edit/editor.moc.cpp: src/edit/editor.h +src/edit/editor.moc.cpp: \ + src/edit/editor.h \ + src/edit/ui/editor.h moc-qt4 src/edit/editor.h -o src/edit/editor.moc.cpp # $(MOC) src/edit/editor.h -o src/edit/editor.moc.cpp +src/edit/ui/editor.h: + uic src/edit/ui/editor.ui -o src/edit/ui/editor.h + clean-logedit-extra: rm -f src/edit/*.moc.cpp diff --git a/src/edit/editor.cpp b/src/edit/editor.cpp index b51dcc9..b8514b0 100644 --- a/src/edit/editor.cpp +++ b/src/edit/editor.cpp @@ -74,30 +74,32 @@ void Editor::closeEvent(QCloseEvent * e) { Editor::Editor(char *hdir, QWidget * parent) : QMainWindow(parent) { + setupUi(this); + strcpy(HomeDir, hdir); find_text = ""; sensitive = FALSE; - QMenu * file = NULL; -/* QMenu * comp = new QMenu();*/ -/* QMenu * loglan = new QMenu();*/ - QMenu * medit = NULL; - QAction* action = NULL; - - file = menuBar()->addMenu("&File"); - medit = menuBar()->addMenu("&Edit"); - - action = menuBar()->addAction("&Compile", this, SLOT(cmp())); - - /* m->insertItem( "&LOGLAN ", loglan );*/ - - action = menuBar()->addAction("&Properties", this, SLOT(props())); - - file->addAction("New", this, SLOT(create()), QKeySequence(Qt::CTRL + Qt::Key_N)); - file->addAction("Open", this, SLOT(load()), QKeySequence(Qt::CTRL + Qt::Key_O)); - file->addAction("Save", this, SLOT(save()), QKeySequence(Qt::CTRL + Qt::Key_S)); - file->addAction("Save as", this, SLOT(save_as()), QKeySequence(Qt::CTRL + Qt::Key_A)); - file->addSeparator(); - file->addAction("Quit ", this, SLOT(close())); +// QMenu * file = NULL; +// /* QMenu * comp = new QMenu();*/ +// /* QMenu * loglan = new QMenu();*/ +// QMenu * medit = NULL; +// QAction* action = NULL; +// +// file = menuBar()->addMenu("&File"); +// medit = menuBar()->addMenu("&Edit"); +// +// action = menuBar()->addAction("&Compile", this, SLOT(cmp())); +// +// /* m->insertItem( "&LOGLAN ", loglan );*/ +// +// action = menuBar()->addAction("&Properties", this, SLOT(props())); +// +// file->addAction("New", this, SLOT(create()), QKeySequence(Qt::CTRL + Qt::Key_N)); +// file->addAction("Open", this, SLOT(load()), QKeySequence(Qt::CTRL + Qt::Key_O)); +// file->addAction("Save", this, SLOT(save()), QKeySequence(Qt::CTRL + Qt::Key_S)); +// file->addAction("Save as", this, SLOT(save_as()), QKeySequence(Qt::CTRL + Qt::Key_A)); +// file->addSeparator(); +// file->addAction("Quit ", this, SLOT(close())); /* comp->insertItem("Compile ", this, SLOT(cmp()), CTRL + Key_C);*/ /* comp->insertItem("Gen ", this, SLOT(gen()), CTRL + Key_G);*/ @@ -106,38 +108,38 @@ Editor::Editor(char *hdir, QWidget * parent) /* loglan->insertItem( "Program structure", this, SLOT(log_prog()));*/ /* loglan->insertItem( "Unit structure", this, SLOT(log_unit()));*/ - e = new My_Edit(this, "editor"); - connect(e, SIGNAL(cursorMove()), this, SLOT(updateline())); - medit->addAction("Copy", e, SLOT(copy()), QKeySequence(Qt::CTRL + Qt::Key_Insert)); - medit->addAction("Paste", e, SLOT(paste()), QKeySequence(Qt::SHIFT + Qt::Key_Insert)); - medit->addAction("Cut", e, SLOT(cut()), QKeySequence(Qt::CTRL + Qt::Key_Delete)); - medit->addAction("Clear All", e, SLOT(clear())); - medit->addSeparator(); - medit->addAction("Find", this, SLOT(findText()), QKeySequence(Qt::CTRL + Qt::Key_F)); - medit->addAction("Find Next", this, SLOT(find_next()), QKeySequence(Qt::CTRL + Qt::Key_L)); - - msg = new QTextEdit(this); - msg->setReadOnly(TRUE); - - QVBoxLayout * layout = new QVBoxLayout(); - layout->setContentsMargins (3, 0, 3, 0); - layout->addWidget(e); - layout->addWidget(msg); - QWidget *window = new QWidget(); - window->setLayout(layout); - setCentralWidget(window); +// e = new My_Edit(this, "editor"); +// connect(e, SIGNAL(cursorMove()), this, SLOT(updateline())); +// medit->addAction("Copy", e, SLOT(copy()), QKeySequence(Qt::CTRL + Qt::Key_Insert)); +// medit->addAction("Paste", e, SLOT(paste()), QKeySequence(Qt::SHIFT + Qt::Key_Insert)); +// medit->addAction("Cut", e, SLOT(cut()), QKeySequence(Qt::CTRL + Qt::Key_Delete)); +// medit->addAction("Clear All", e, SLOT(clear())); +// medit->addSeparator(); +// medit->addAction("Find", this, SLOT(findText()), QKeySequence(Qt::CTRL + Qt::Key_F)); +// medit->addAction("Find Next", this, SLOT(find_next()), QKeySequence(Qt::CTRL + Qt::Key_L)); + +// msg = new QTextEdit(this); +// msg->setReadOnly(TRUE); +// +// QVBoxLayout * layout = new QVBoxLayout(); +// layout->setContentsMargins (3, 0, 3, 0); +// layout->addWidget(e); +// layout->addWidget(msg); +// QWidget *window = new QWidget(); +// window->setLayout(layout); +// setCentralWidget(window); compiler_path.sprintf("%s/%s", HomeDir, "compile/logcomp"); gen_path.sprintf("%s/%s", HomeDir, "compile/gen"); file_path.sprintf("%s", HomeDir); - QColor col(200, 200, 200); - QPalette grp(Qt::black, col, col.lighter(), col.darker(), col.darker(), Qt::black, col); - - msg->setPalette(grp); - - position = new QLabel(); - statusBar()->addPermanentWidget(position); +// QColor col(200, 200, 200); +// QPalette grp(Qt::black, col, col.lighter(), col.darker(), col.darker(), Qt::black, col); +// +// msg->setPalette(grp); +// +// position = new QLabel(); +// statusBar()->addPermanentWidget(position); } /** @@ -652,6 +654,39 @@ void Editor::find_next() e->find(find_text, flags); } } +void Editor::on_actionNew_triggered() +{ +} +void Editor::on_actionOpen_triggered() +{ +} +void Editor::on_actionSave_triggered() +{ +} +void Editor::on_actionSave_as_triggered() +{ +} +void Editor::on_actionQuit_triggered() +{ +} +void Editor::on_actionCopy_triggered() +{ +} +void Editor::on_actionPaste_triggered() +{ +} +void Editor::on_actionCut_triggered() +{ +} +void Editor::on_actionClear_all_triggered() +{ +} +void Editor::on_actionFind_triggered() +{ +} +void Editor::on_actionFind_Next_triggered() +{ +} /** * Program main function. diff --git a/src/edit/editor.h b/src/edit/editor.h index 5c8fa50..5e253f3 100644 --- a/src/edit/editor.h +++ b/src/edit/editor.h @@ -8,6 +8,8 @@ #include +#include "ui/editor.h" + #define COMP_MODE 1 #define GEN_MODE 2 #define ALL_MODE 3 @@ -32,7 +34,7 @@ signals: void cursorMove(); }; -class Editor : public QMainWindow { +class Editor : public QMainWindow, private Ui::EditorWindow { Q_OBJECT public: QString compiler_path; @@ -61,7 +63,7 @@ public slots: void log_prog(); void findText(); - void find_next(); +// void find_next(); //void gotoline(); void updateline(); @@ -76,6 +78,19 @@ private: QString find_text; bool sensitive; char HomeDir[255]; + +private slots: + void on_actionNew_triggered(); + void on_actionOpen_triggered(); + void on_actionSave_triggered(); + void on_actionSave_as_triggered(); + void on_actionQuit_triggered(); + void on_actionCopy_triggered(); + void on_actionPaste_triggered(); + void on_actionCut_triggered(); + void on_actionClear_all_triggered(); + void on_actionFind_triggered(); + void on_actionFind_Next_triggered(); }; #endif // QWERTY_H diff --git a/src/edit/ui/editor.ui b/src/edit/ui/editor.ui new file mode 100644 index 0000000..a669d79 --- /dev/null +++ b/src/edit/ui/editor.ui @@ -0,0 +1,191 @@ + + + EditorWindow + + + + 0 + 0 + 800 + 600 + + + + MainWindow + + + + + 3 + + + 0 + + + 3 + + + 0 + + + + + + + + + + + 16777215 + 400 + + + + background-color: rgb(200, 200, 200); + + + true + + + Qt::TextSelectableByMouse + + + + + + + + + + + 0 + 0 + 800 + 19 + + + + + File + + + + + + + + + + + Edit + + + + + + + + + + + + Compile + + + + + Properties + + + + + + + + + + + New + + + Ctrl+N + + + + + Open + + + Ctrl+O + + + + + Save + + + Ctrl+S + + + + + Save as + + + Ctrl+Shift+S + + + + + Quit + + + + + Copy + + + Ctrl+Ins + + + + + Paste + + + Shift+Ins + + + + + Cut + + + Ctrl+Del + + + + + Clear all + + + + + Find + + + Ctrl+F + + + + + Find Next + + + Ctrl+L + + + + + + -- 2.30.2