Far (latest) + experimental APi to read/update editor+viewer screen position and size ("geography") (in GiT)

Разработка Far.
Post Reply
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Far (latest) + experimental APi to read/update editor+viewer screen position and size ("geography") (in GiT)

Post by citRiks »

Far (latest) with experimental APi to read/update editor+viewer screen position and size ("geography")
Source control on GiT, forked from main, has pre-built binaries and PDBs:
https://github.com/dr-dba/FarManager/releases
Synchronised (merged together) fork of:
https://github.com/FarGroup/FarManager
APi added:
far.editor.GetCoord(..)
far.editor.SetCoord(..)
far.viewer.GetCoord(..)
far.viewer.SetCoord(..)


QA, questions, suggestions, help with C/C++/GiT welcomed,
since i am not very good on these subjects.

Plans and promises
  • I will try continue to maintain with fork and keep it merged (downstreamed) with the master of FarGroup.
  • APi for handling file panel filters (to start with?)
  • A normal usual cursor for Viewer screen
  • APi for a whole lot things/actions currently having no APi

Related subject:
Внедрить курсор для Viewer (в своем форке) - какие задействовать обьекты, откуда лучше скопировать поведение?
viewtopic.php?t=12960
Last edited by citRiks on Sat 03 Sep, 2022 17:30, edited 10 times in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Far (current v3.0.6016.0.x86) + experimental APi to read/update editor screen position and size (GiT)

Post by citRiks »

@DrKnS есть тут у меня чтение и задание географии (размеры и координаты) ОКНА (не курсора внутри) редактора
Работает вроде без нареканий
Может внедрите это у себя ?
Никаких массивных измений не потребовалось, патч будет маленький и понятный
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Far (current v3.0.6016.0.x86) + experimental APi to read/update editor screen position and size (GiT)

Post by citRiks »

Реализация географии редактора сделана в EditorControl с ECTL_GETCOORD + ECTL_SETCOORD, т.е. на уровне fileedit.cpp
Но логичнее было бы перенести это в ScreenObject, а в EditorControl только вызывать оное.
Тогда тот же код служил бы для всех ScreenObject (еще viewer например)
Но это будет тогда (для меня) сложнеший С++ OOP :cry:
Может добрые дяди девелоперы мне помогут с этим ?
Last edited by citRiks on Fri 02 Sep, 2022 10:44, edited 1 time in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Far (current v3.0.6016.0.x86) + experimental APi to read/update editor screen position and size (GiT)

Post by citRiks »

citRiks wrote: Fri 02 Sep, 2022 10:43Реализация "географии" просмотрщика
Сделано впрочем

получилось вроде нормально, не индусокод, изменения минимальны.
я правда в коде убираю пустые строчки, они мне мешают восприятию :(
Сделан Merge с upstream на сегодня.
binaries опубликованы на ГитХабе
https://github.com/dr-dba/FarManager/re ... rGeography
Если товарищи девелоперы заинтересуются, и если не устраивает мое убирание пустых строчек повсюды в коде, то приготовлю удобоваримый патч.

Термин "география редактора/вьювера" здесь означает полностью динамическое через АПИ чтение и задание:
1.) Положение экрана редактора/вьювера в Фаре
2.) Размеры экрана редактора/вьювера в Фаре
Реализовано все через EditorControl и ViewerControl.
В таблицах far.viewer и far.editor появились такие две функции:
  • GetCoord(..)
    Получает: ничего
    Возвращает: { Х, У }
  • SetCoord(..)
    Получает: { int Left, int Top, int Right, int Bottom, int Width, int Height, bool Delta }
    Все элементы необязательны.
    Delta означает что переданное это изменения относительные существующих значений.
    Возвращает: { Left, Top, Right, Width, Height }
Last edited by citRiks on Sat 03 Sep, 2022 15:57, edited 1 time in total.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Far (latest) + experimental APi to read/update editor+viewer screen position and size ("geography") (in GiT)

Post by citRiks »

citRiks wrote: Sat 03 Sep, 2022 15:56убираю пустые строчки, они мне мешают восприятию
В свое оправдание добавлю что продуманно комментриую и документирую ВСЕ изменения, кроме добавления/убирания переносов строки.
То что добавляю, делаю в русле уже существующей архитектуры, для совместимости, сотрудничества, и всего хорошего.
Если же не будет сотрудничества, то тогдаэто будет мой Фар, с блэкджеком и шлюхами )) и обгонит в популярности оригинальный ваш Фар, хехе.
Post Reply

Return to “Development”