/*! * \brief TextDoc::TextDoc Text document constructor * \param App_ is the parent object * \param Name_ is the initial text document name */ TextDoc::TextDoc(QucsApp *App_, const QString& Name_) : QPlainTextEdit(), QucsDoc(App_, Name_) { TextFont = QFont("Courier New"); TextFont.setPointSize(QucsSettings.font.pointSize()-1); TextFont.setStyleHint(QFont::Courier); TextFont.setFixedPitch(true); document()->setDefaultFont(TextFont); simulation = true; Library = ""; Libraries = ""; SetChanged = false; devtype = DEV_DEF; tmpPosX = tmpPosY = 1; // set to 1 to trigger line highlighting Scale = (float)TextFont.pointSize(); //TODO (not supported) setUndoDepth(QucsSettings.maxUndo); setLanguage (Name_); QFileInfo Info (Name_); if(App) { if(Name_.isEmpty()) { App->DocumentTab->addTab(this, QPixmap(empty_xpm), QObject::tr("untitled")); } else { App->DocumentTab->addTab(this, QPixmap(empty_xpm), Info.fileName()); } App->DocumentTab->setCurrentPage(App->DocumentTab->indexOf(this)); viewport()->setFocus(); setWordWrapMode(QTextOption::NoWrap); setPaletteBackgroundColor(QucsSettings.BGColor); connect(this, SIGNAL(textChanged()), SLOT(slotSetChanged())); connect(this, SIGNAL(cursorPositionChanged()), SLOT(slotCursorPosChanged())); syntaxHighlight = new SyntaxHighlighter(this); syntaxHighlight->setLanguage(language); syntaxHighlight->setDocument(document()); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine())); highlightCurrentLine(); } }
/*! * \brief TextDoc::TextDoc Text document constructor * \param App_ is the parent object * \param Name_ is the initial text document name */ TextDoc::TextDoc(QucsApp *App_, const QString& Name_) : QPlainTextEdit(), QucsDoc(App_, Name_) { TextFont = QFont("Courier New"); TextFont.setPointSize(QucsSettings.font.pointSize()-1); TextFont.setStyleHint(QFont::Courier); TextFont.setFixedPitch(true); document()->setDefaultFont(TextFont); simulation = true; Library = ""; Libraries = ""; SetChanged = false; devtype = DEV_DEF; tmpPosX = tmpPosY = 1; // set to 1 to trigger line highlighting Scale = (float)TextFont.pointSize(); setLanguage (Name_); viewport()->setFocus(); setWordWrapMode(QTextOption::NoWrap); setPaletteBackgroundColor(QucsSettings.BGColor); connect(this, SIGNAL(textChanged()), SLOT(slotSetChanged())); connect(this, SIGNAL(cursorPositionChanged()), SLOT(slotCursorPosChanged())); if (App_) { connect(this, SIGNAL(signalCursorPosChanged(int, int)), App_, SLOT(printCursorPosition(int, int))); connect(this, SIGNAL(signalUndoState(bool)), App_, SLOT(slotUpdateUndo(bool))); connect(this, SIGNAL(signalRedoState(bool)), App_, SLOT(slotUpdateRedo(bool))); connect(this, SIGNAL(signalFileChanged(bool)), App_, SLOT(slotFileChanged(bool))); } syntaxHighlight = new SyntaxHighlighter(this); syntaxHighlight->setLanguage(language); syntaxHighlight->setDocument(document()); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(highlightCurrentLine())); highlightCurrentLine(); }
// --------------------------------------------------- void TextDoc::becomeCurrent (bool) { int x, y; slotCursorPosChanged(); viewport()->setFocus (); if (isUndoAvailable ()) App->undo->setEnabled (true); else App->undo->setEnabled (false); if (isRedoAvailable ()) App->redo->setEnabled (true); else App->redo->setEnabled (false); // update appropriate menu entries App->symEdit->setMenuText (tr("Edit Text Symbol")); App->symEdit->setStatusTip (tr("Edits the symbol for this text document")); App->symEdit->setWhatsThis ( tr("Edit Text Symbol\n\nEdits the symbol for this text document")); if (language == LANG_VHDL) { App->insEntity->setMenuText (tr("VHDL entity")); App->insEntity->setStatusTip (tr("Inserts skeleton of VHDL entity")); App->insEntity->setWhatsThis ( tr("VHDL entity\n\nInserts the skeleton of a VHDL entity")); } else if (language == LANG_VERILOG || language == LANG_VERILOGA) { App->insEntity->setMenuText (tr("Verilog module")); App->insEntity->setStatusTip (tr("Inserts skeleton of Verilog module")); App->insEntity->setWhatsThis ( tr("Verilog module\n\nInserts the skeleton of a Verilog module")); } else if (language == LANG_OCTAVE) { App->insEntity->setMenuText (tr("Octave function")); App->insEntity->setStatusTip (tr("Inserts skeleton of Octave function")); App->insEntity->setWhatsThis ( tr("Octave function\n\nInserts the skeleton of a Octave function")); } App->simulate->setEnabled (true); App->editActivate->setEnabled (true); }