2016-11-30 18 views
1

Кто-нибудь знает, как получить интеллектуальный отступ, работающий с wxStyledTextCtrl на C++?Отступ и интеллектуальный отступ в wxStyledTextCtrl (Scintilla)

Я пытался различные вариации на следующих без видимого успеха:

_textEd->SetProperty(wxT("indentation.smartindenttype"), wxT("indentation:simple")); 
_textEd->SetProperty(wxT("indentation.indentwidth"), wxT("4")); 
_textEd->SetProperty(wxT("indentation.tabwidth"), wxT("4")); 
_textEd->SetProperty("spell.mistake.indicator", "style:squigglelow"); 

Примечание: Indentation and smart indent in ScintillaNET охватывает этот вопрос для .NET.

+0

ли образец образца работает для вас? Какая у вас версия wx и OS/toolkit? – Igor

ответ

1

Метод SetProperty используется для добавления дополнительных параметров для лексера. Он обычно используется для настроек, связанных с складыванием кода. Он не используется для установки свойств самого элемента управления. Для настройки свойств wxStyledTextCtrl вы, вероятно, захотите использовать standard methods. Например, я предполагаю, что строки:

_textEd->SetProperty(wxT("indentation.indentwidth"), wxT("4")); 
_textEd->SetProperty(wxT("indentation.tabwidth"), wxT("4")); 

, вероятно, будет что-то вроде:

_textEd->SetIndent(4); 
_textEd->SetTabWidth(4); 

Для «_textEd-> SetProperty (WXT ("indentation.smartindenttype"), WXT (" вдавливания: простой «));», Я не знаю, что такое smartindenttype. Возможно, это расширение, которое было добавлено в scintilla.net? Если вы можете описать, что делает этот параметр в .net, я мог бы помочь выполнить одно и то же с другими вызовами методов.

Аналогично, я не думаю, что строка '_textEd-> SetProperty ("spell.mistake.indicator", "style: squigglelow"); имеет любой аналог с wxStyledTextCtrl. Ни один из включенных лексеров не имеет проверки орфографии.