Отступы и умные отступы в wxStyledTextCtrl (Scintilla)
Кто-нибудь знает, как заставить умный отступ работать с wxStyledTextCtrl в C++?
Я пробовал различные варианты следующего без видимого успеха:
_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");
Примечание: отступ и умный отступ в ScintillaNET покрывают эту проблему для.NET.
1 ответ
Метод SetProperty используется для добавления дополнительных настроек лексера. Обычно используется для настроек, связанных со свертыванием кода. Он не используется для установки свойств самого элемента управления. Для настройки свойств wxStyledTextCtrl вы, вероятно, захотите использовать стандартные методы. Например, я думаю, что строки:
_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("indentation:simple")); "я понятия не имею, что такое smartindenttype. Это может быть расширение, которое было добавлено в scintilla.net? Если вы можете описать, что этот параметр делает в.net, я мог бы помочь выполнить то же самое с другими вызовами методов.
Точно так же я не думаю, что строка '_textEd->SetProperty("spell.mistake.indicator", "style:squigglelow");' имеет какой-либо аналог с wxStyledTextCtrl. Ни один из включенных лексеров не имеет проверки орфографии.