Skip to content

Commit

Permalink
Insert the code snippets as one undo/redo operation.
Browse files Browse the repository at this point in the history
  • Loading branch information
adeas31 committed May 3, 2017
1 parent dbc1049 commit 90a4593
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 32 deletions.
9 changes: 5 additions & 4 deletions OMEdit/OMEditGUI/Editors/BaseEditor.cpp
Expand Up @@ -1539,15 +1539,15 @@ void PlainTextEdit::insertCompletionItem(const QModelIndex &index)
QString selectiontext = completerItem.mSelect;
QStringList completionlength = completerItem.mValue.split("\n");
QTextCursor cursor = textCursor();
cursor.beginEditBlock();
int extra = completionlength[0].length() - mpCompleter->completionPrefix().length();
cursor.movePosition(QTextCursor::EndOfWord);
cursor.insertText(completionlength[0].right(extra));
// store the cursor position to be used for selecting text when inserting code snippets
int currentpos = cursor.position();
int startpos = currentpos-completionlength[0].length();
setTextCursor(cursor);
// To insert CodeSnippets
if (completionlength.length()>1) {
if (completionlength.length() > 1) {
// Calculate the indentation spaces for the inserted text
TabSettings tabSettings = OptionsDialog::instance()->getTabSettings();
cursor.insertText("\n");
Expand All @@ -1562,9 +1562,10 @@ void PlainTextEdit::insertCompletionItem(const QModelIndex &index)
// set the cursor to appropriate selection text
int indexpos=completionlength[0].indexOf(selectiontext,0); //find the index position of the selection text from the word
cursor.setPosition(startpos+indexpos,QTextCursor::MoveAnchor);
cursor.setPosition(startpos+indexpos+selectiontext.length(), QTextCursor::KeepAnchor);
setTextCursor(cursor);
cursor.setPosition(startpos+indexpos+selectiontext.length(), QTextCursor::KeepAnchor);
}
cursor.endEditBlock();
setTextCursor(cursor);
}

QString PlainTextEdit::textUnderCursor() const
Expand Down
30 changes: 15 additions & 15 deletions OMEdit/OMEditGUI/Editors/MetaModelicaEditor.cpp
Expand Up @@ -87,21 +87,21 @@ void MetaModelicaEditor::popUpCompleter()
QList<CompleterItem> MetaModelicaEditor::getCodeSnippets()
{
QList<CompleterItem> codesnippetslist;
codesnippetslist << CompleterItem("match" ,"match (control)\n" " case (condition) then (value);\n" " case (condition) then (value);\n" "end match;", "control")
<< CompleterItem("matchcontinue" ,"matchcontinue (control)\n" " case (condition) then (value);\n" " case (condition) then (value);\n" "end matchcontinue;", "control")
<< CompleterItem("function" ,"function name\n" "end name;", "name")
<< CompleterItem("block" ,"block name\n" "end name;", "name")
<< CompleterItem("model" ,"model name\n" "end name;", "name")
<< CompleterItem("class" ,"class name\n" "end name;", "name")
<< CompleterItem("connector" ,"connector name\n" "end name;", "name")
<< CompleterItem("package" ,"package name\n" "end name;", "name")
<< CompleterItem("record" ,"record name\n" "end name;", "name")
<< CompleterItem("while" ,"while condition loop\n" "end while;", "condition")
<< CompleterItem("if" ,"if condition then\n" "end if;", "condition")
<< CompleterItem("if" ,"if condition then\n" "elseif condition then\n" "else\n" "end if;", "condition")
<< CompleterItem("for" ,"for condition loop\n" "end for;", "condition")
<< CompleterItem("when", "when condition then\n" "end when;", "condition")
<< CompleterItem("when", "when condition then\n" "elsewhen condition then\n" "end when;", "condition");
codesnippetslist << CompleterItem("match" ,"match (control)\n case (condition) then (value);\n case (condition) then (value);\nend match;", "control")
<< CompleterItem("matchcontinue" ,"matchcontinue (control)\n case (condition) then (value);\n case (condition) then (value);\nend matchcontinue;", "control")
<< CompleterItem("function" ,"function name\n \nend name;", "name")
<< CompleterItem("block" ,"block name\n \nend name;", "name")
<< CompleterItem("model" ,"model name\n \nend name;", "name")
<< CompleterItem("class" ,"class name\n \nend name;", "name")
<< CompleterItem("connector" ,"connector name\n \nend name;", "name")
<< CompleterItem("package" ,"package name\n \nend name;", "name")
<< CompleterItem("record" ,"record name\n \nend name;", "name")
<< CompleterItem("while" ,"while condition loop\n \nend while;", "condition")
<< CompleterItem("if" ,"if condition then\n \nend if;", "condition")
<< CompleterItem("if" ,"if condition then\n \nelseif condition then\n \nelse\n \nend if;", "condition")
<< CompleterItem("for" ,"for condition loop\n \nend for;", "condition")
<< CompleterItem("when", "when condition then\n \nend when;", "condition")
<< CompleterItem("when", "when condition then\n \nelsewhen condition then\n \nend when;", "condition");
return codesnippetslist;
}

Expand Down
26 changes: 13 additions & 13 deletions OMEdit/OMEditGUI/Editors/ModelicaEditor.cpp
Expand Up @@ -83,19 +83,19 @@ void ModelicaEditor::popUpCompleter()
QList<CompleterItem> ModelicaEditor::getCodeSnippets()
{
QList<CompleterItem> codesnippetslist;
codesnippetslist << CompleterItem("function" ,"function name\n" "end name;", "name")
<< CompleterItem("block" ,"block name\n" "end name;", "name")
<< CompleterItem("model" ,"model name\n" "end name;", "name")
<< CompleterItem("class" ,"class name\n" "end name;", "name")
<< CompleterItem("connector" ,"connector name\n" "end name;", "name")
<< CompleterItem("package" ,"package name\n" "end name;", "name")
<< CompleterItem("record" ,"record name\n" "end name;", "name")
<< CompleterItem("while" ,"while condition loop\n" "end while;", "condition")
<< CompleterItem("if" ,"if condition then\n" "end if;", "condition")
<< CompleterItem("if" ,"if condition then\n" "elseif condition then\n" "else\n" "end if;", "condition")
<< CompleterItem("for" ,"for condition loop\n" "end for;", "condition")
<< CompleterItem("when", "when condition then\n" "end when;", "condition")
<< CompleterItem("when", "when condition then\n" "elsewhen condition then\n" "end when;", "condition");
codesnippetslist << CompleterItem("function" ,"function name\n \nend name;", "name")
<< CompleterItem("block" ,"block name\n \nend name;", "name")
<< CompleterItem("model" ,"model name\n \nend name;", "name")
<< CompleterItem("class" ,"class name\n \nend name;", "name")
<< CompleterItem("connector" ,"connector name\n \nend name;", "name")
<< CompleterItem("package" ,"package name\n \nend name;", "name")
<< CompleterItem("record" ,"record name\n \nend name;", "name")
<< CompleterItem("while" ,"while condition loop\n \nend while;", "condition")
<< CompleterItem("if" ,"if condition then\n \nend if;", "condition")
<< CompleterItem("if" ,"if condition then\n \nelseif condition then\n \nelse\n \nend if;", "condition")
<< CompleterItem("for" ,"for condition loop\n \nend for;", "condition")
<< CompleterItem("when", "when condition then\n \nend when;", "condition")
<< CompleterItem("when", "when condition then\n \nelsewhen condition then\n \nend when;", "condition");
return codesnippetslist;
}
/*!
Expand Down

0 comments on commit 90a4593

Please sign in to comment.