Название: Русский язык в QScintilla 2 Отправлено: Mixolap от Ноябрь 29, 2006, 17:14 Вместо русских букв вопросики, подскажите плз как поправить (WinXP)
Название: Русский язык в QScintilla 2 Отправлено: Mikhail от Ноябрь 29, 2006, 18:04 QsciScintilla * scintilla = new QsciScintilla( parent );
scintilla->setUtf8(true) Название: Русский язык в QScintilla 2 Отправлено: Mixolap от Ноябрь 29, 2006, 18:21 Пребольшое спасибо, а есть ли там возможность подсветки текущей линии?
И еще, когда делаю свой класс, наследуя его от QsciScintilla, у меня программа вываливается, не успев добраться до main-а, может в курсе в чем тут проблема? Название: Русский язык в QScintilla 2 Отправлено: Mikhail от Ноябрь 29, 2006, 19:31 Подсветка текущей линии:
QsciScintilla * scintilla = new QsciScintilla( parent ); scintilla->setCaretLineVisible(true); Цитировать И еще, когда делаю свой класс, наследуя его от QsciScintilla, у меня программа вываливается, не успев добраться до main-а, может в курсе в чем тут проблема? Посоветовать без кода не могу. А зачем наследовать QsciScintilla? Название: Русский язык в QScintilla 2 Отправлено: Mixolap от Ноябрь 29, 2006, 20:13 Ну вообще класс, теперь наследование точно не нужно :)
Блин, как я сие мог в мануале пропустить, буду внимательнее вкуривать. Премного благодарен. добавлено спустя 15 минут: И последний вопрос (в мануале не нашел): Подсветка пар begin end (для Pascal), или {} (для С++) ? надеюсь вопрос понятен. Название: Русский язык в QScintilla 2 Отправлено: Mikhail от Ноябрь 29, 2006, 20:23 Пока разбираюсь.
Если поймешь раньше отпишись добавлено спустя 5 минут: А возможность должна быть. Эта функциональность доступна в Notepad++, который в качестве редактора использует Scintilla. Название: Русский язык в QScintilla 2 Отправлено: Mixolap от Ноябрь 29, 2006, 20:28 Использую такой код:
textEdit = new QsciScintilla; textEdit->setUtf8(true); textEdit->setCaretLineVisible(true); textEdit->setAutoIndent(true); textEdit->setIndentationGuides(true); textEdit->setBraceMatching(QsciScintilla::SloppyBraceMatch); подсветка работает, но для {} (хорошо догадался проверить), только у меня косяк, так как пришлось в QsciScintilla добавлять язык оберон и переделывал я его с паскаля, кажись, ну короче, мне надо чтоб begin end светил, а он мне гад {} светит, вот буду репу чесать. добавлено спустя 4 минуты: по ходу textEdit->setBraceMatching(QsciScintilla::SloppyBraceMatch); подсвечивает скобки и границы блоков. А знаешь как сделать нумерацию строк и свертку камментов? Название: Русский язык в QScintilla 2 Отправлено: Mikhail от Ноябрь 29, 2006, 20:41 Нумерация строк у скинтиллы уже есть, только поле нумерации не видно.
Сделай scintilla->setMarginWidth(0, 40); 40 - ширина, для нумерации в несколько тысяч строк потребуется увеличить. либо автоматом в зависимости от числа строк. По сигналу от скинтиллы. скобки подсвечиваются, Подскажи если знаешь как изменить цвет выделения Название: Русский язык в QScintilla 2 Отправлено: Mixolap от Ноябрь 29, 2006, 20:52 Добился нумерации через:
textEdit->setMarginLineNumbers(1,true); а видно становится после setLexer(new QsciLexerOberon); Цвет выделения: textEdit->setMatchedBraceForegroundColor(QColor(255,0,0)); добавлено спустя 3 минуты: Может еще пригодиться void QextScintilla::setMatchedBraceBackgroundColor (const QColor & col) добавлено спустя 2 минуты: Хм, заметил, что notepad++ не поддерживает подсветку begin end. Название: Русский язык в QScintilla 2 Отправлено: Mikhail от Ноябрь 29, 2006, 20:56 Для нумерации строк используется нулевое поле.
Всего их кажется пять. поле 1 которое ты используеш для нумерации строк используется для маркеров с которыми я пока не разобрался. Если знаешь как установить маркер в требуемой строке (например в строке с ошибкой компиляции) - подскажи. Название: Русский язык в QScintilla 2 Отправлено: Mixolap от Ноябрь 29, 2006, 21:48 Маркер удалось установать на линию line так:
textEdit->setMarginWidth(1,17); textEdit->markerDefine(QsciScintilla::CircledPlus,BOOKMARK_MARKER); textEdit->setMarginMarkerMask (1,1<<BOOKMARK_MARKER); textEdit->markerAdd(line,BOOKMARK_MARKER); добавлено спустя 39 секунд: BOOKMARK_MARKER установил равным 4 |