Beispiel #1
0
Editor::Editor ( QWidget * parent, cs8LoggerWidget *mainimpl, QString name )
//    : QWidget ( parent ), m_parent ( parent ), m_mainimpl ( cs8LoggerWidget )
{
  m_filename =  name;
  
  int vposLayout = 0;
  m_textEdit = new TextEdit ( this, mainimpl );
  m_backward = false;
  m_activeEditor = false;
  //
  QGridLayout *gridLayout = new QGridLayout ( this );
  gridLayout->setSpacing ( 0 );
  gridLayout->setMargin ( 0 );
  gridLayout->setObjectName ( QString::fromUtf8 ( "gridLayout" ) );
  //
  //
  //
  //
  connect ( m_textEdit, SIGNAL ( editorModified ( bool ) ), this, SLOT ( slotModifiedEditor ( bool ) ) );
  connect ( m_textEdit, SIGNAL ( cursorPositionChanged() ), this, SLOT ( slotCursorPositionChanged() ) );
  //
  m_findWidget = new QWidget;
  uiFind.setupUi ( m_findWidget );
  connect ( uiFind.toolClose, SIGNAL ( clicked() ), m_findWidget, SLOT ( hide() ) );
  connect ( uiFind.editFind, SIGNAL ( textChanged ( QString ) ), this, SLOT ( slotFindWidget_textChanged ( QString ) ) );
  connect ( uiFind.editFind, SIGNAL ( returnPressed() ), this, SLOT ( slotFindNext() ) );
  connect ( uiFind.toolPrevious, SIGNAL ( clicked() ), this, SLOT ( slotFindPrevious() ) );
  connect ( uiFind.toolNext, SIGNAL ( clicked() ), this, SLOT ( slotFindNext() ) );
  //
  autoHideTimer = new QTimer ( this );
  autoHideTimer->setInterval ( 5000 );
  autoHideTimer->setSingleShot ( true );
  connect ( autoHideTimer, SIGNAL ( timeout() ), m_findWidget, SLOT ( hide() ) );
  //
  gridLayout->addWidget ( m_textEdit, vposLayout++, 0, 1, 1 );
  gridLayout->addWidget ( m_findWidget, vposLayout++, 0, 1, 1 );
  uiFind.labelWrapped->setVisible ( false );
  m_findWidget->hide();
  //
  connect ( &m_timerCheckLastModified, SIGNAL ( timeout() ), this, SLOT ( slotTimerCheckIfModifiedOutside() ) );
  
  setLineNumbers ( true );
  setSyntaxHighlight ( true );
  setHighlightCurrentLine ( true );
}
    RoboScintilla::RoboScintilla(QWidget *parent) : QsciScintilla(parent),
        _ignoreEnterKey(false),
        _ignoreTabKey(false),
        _lineNumberDigitWidth(0),
        _lineNumberMarginWidth(0)
    {
        setAutoIndent(true);
        setIndentationsUseTabs(false);
        setIndentationWidth(indentationWidth);
        setUtf8(true);
        setMarginWidth(1, 0);
        setCaretForegroundColor(caretForegroundColor);
        setMatchedBraceForegroundColor(matchedBraceForegroundColor); //1AB0A6
        setMatchedBraceBackgroundColor(marginsBackgroundColor);
        setContentsMargins(0, 0, 0, 0);
        setViewportMargins(3, 3, 3, 3);
        QFont ourFont = GuiRegistry::instance().font();
        setMarginsFont(ourFont);
        setMarginLineNumbers(0, true);
        setMarginsBackgroundColor(QColor(53, 56, 58));
        setMarginsForegroundColor(QColor(173, 176, 178));

        SendScintilla(QsciScintilla::SCI_STYLESETFONT, 1, ourFont.family().data());
        SendScintilla(QsciScintilla::SCI_SETHSCROLLBAR, 0);

        setWrapMode((QsciScintilla::WrapMode)QsciScintilla::SC_WRAP_NONE);
        setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 
        setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); 

        // Cache width of one digit
#ifdef Q_OS_WIN
        _lineNumberDigitWidth = rowNumberWidth;
#else
        _lineNumberDigitWidth = textWidth(STYLE_LINENUMBER, "0");
#endif
        updateLineNumbersMarginWidth();

        setLineNumbers(AppRegistry::instance().settingsManager()->lineNumbers());
        setUtf8(true);
        VERIFY(connect(this, SIGNAL(linesChanged()), this, SLOT(updateLineNumbersMarginWidth())));
    }
 void RoboScintilla::toggleLineNumbers()
 {
     setLineNumbers(!lineNumberMarginWidth());
 }