Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: UVV от Январь 27, 2015, 11:14



Название: Follow Symbol Under Cursor
Отправлено: UVV от Январь 27, 2015, 11:14
Привет.
Я думаю, все знают эту фичу в QtCreator, либо по F2, либо Ctrl + щелчок мыши и ты переходишь на объявление метода/переменной.

Меня интересуют детали реализации, хочу её сделать в своём проекте.
- Нужно создать набор Token'ов, т.е. файл/строка, соответствующая определению, т.е. что-то типа модели кода.
- Когда нужно обновлять созданную модель и как лучше организовать эти данные?
- Чтобы определить нужный символ, нужно ловить текущую позицию курсора.
- Как переопределить KeyPress или MoverOver Event вопрос не стоит.

Вот такой набор тезисов пока на этапе планировани. Буду благодарен за любую помощь.
Спасибо.


Название: Re: Follow Symbol Under Cursor
Отправлено: Пантер от Январь 27, 2015, 11:47
А помотреть исходники Креатора? :)

Думаю, тебе нужно взглянуть в сторону QSyntaxHighlighter. Могу и ошибаться.


Название: Re: Follow Symbol Under Cursor
Отправлено: UVV от Январь 27, 2015, 11:55
А помотреть исходники Креатора? :)

Думаю, тебе нужно взглянуть в сторону QSyntaxHighlighter. Могу и ошибаться.

Забыл добавить, туда я, ессно, взгляну. Просто хотелось общую идею подцепить =)
SyntaxHighlighter безусловно нужен для подстветки, для основной фичи он не совсем к месту.


Название: Re: Follow Symbol Under Cursor
Отправлено: kai666_73 от Январь 27, 2015, 12:11
Привет.
Я думаю, все знают эту фичу в QtCreator, либо по F2, либо Ctrl + щелчок мыши и ты переходишь на объявление метода/переменной.

Меня интересуют детали реализации, хочу её сделать в своём проекте.
- Нужно создать набор Token'ов, т.е. файл/строка, соответствующая определению, т.е. что-то типа модели кода.
- Когда нужно обновлять созданную модель и как лучше организовать эти данные?
- Чтобы определить нужный символ, нужно ловить текущую позицию курсора.
- Как переопределить KeyPress или MoverOver Event вопрос не стоит.

Вот такой набор тезисов пока на этапе планировани. Буду благодарен за любую помощь.
Спасибо.

Речь идет о С++?
Все гораздо сложнее чем кажется на первый взгляд...
Можно посоветовать курить исходники QtCreator-а или KDevelop-а (или CodeBlock/CodeLite и пр.)
Если будете изучать QtCreator, то следует смотреть в сторону CppModelManager/CPlusPlus::Document/AST-tree (<- Bind ->) Symbol-Scope-tree

Удачи, вобщем ))


Название: Re: Follow Symbol Under Cursor
Отправлено: UVV от Январь 29, 2015, 00:13
Речь идет о С++?
Нет
Все гораздо сложнее чем кажется на первый взгляд...
Я не говорил, что это просто =)
Если будете изучать QtCreator, то следует смотреть в сторону CppModelManager/CPlusPlus::Document/AST-tree (<- Bind ->) Symbol-Scope-tree

Удачи, вобщем ))
Спасибо, смотрю QtCreator..


Название: Re: Follow Symbol Under Cursor
Отправлено: kai666_73 от Январь 29, 2015, 12:21
Ну, если не плюсы, то может стоит рассмотреть другие варианты.
Кстати, для какого ЯП планируется реализовать указанную фичу? - может что присоветую )


Название: Re: Follow Symbol Under Cursor
Отправлено: UVV от Январь 29, 2015, 21:23
В личку отписал =)