Grabber API

Разработка Far.
User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Thu 22 Jan, 2015 10:59

Latest post of the previous page:

Skirda wrote:Source of the post ...а макросы, кроме всего прочего (Put/Add), могут юзать и внутренний - Clip(5,2)).
Не вижу для чего может понадобиться в граббере внутренний.

Skirda wrote:Source of the post а как тебе видится "Наверно требуется именно АПИ для получения содержимое фаровского буфера по заданным координатам"?
Плагин передаёт SMALL_RECT, COORD, FAR_CHAR_INFO*, и в ответ фар заполняет буфер.

Только вопрос:
//координаты выделенного блока относительно начала экранного буфера
Почему не относительно фара?

User avatar
HaRT
Moderator
Posts: 7908
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 63 times
Been thanked: 94 times

Grabber API

Postby HaRT » Thu 22 Jan, 2015 13:30

John Doe wrote:Source of the post для чего может понадобиться в граббере внутренний
Чтобы макрос мог проанализировать, что показано в окне, не похерив содержимое системного буфера. :-)
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Thu 22 Jan, 2015 14:00

Если необходимо анализировать то, что можно получить только через CtrlIns, то да.
Но это ведь не так.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

Grabber API

Postby Skirda » Fri 23 Jan, 2015 07:50

John Doe wrote:
Skirda wrote:Source of the post ...а макросы, кроме всего прочего (Put/Add), могут юзать и внутренний - Clip(5,2)).
Не вижу для чего может понадобиться в граббере внутренний.

Встречный вопрос - как в макросах работа с внутренним буфером соотносится с грабером? :-)

Предложенные функции - работа с буфером обмена. Отношение к грабберу косвенное. Для грабер-плагина ничего не мешает в тех же форматах (rtf/html/bmp/etc) копировать в буфер обмена выделенный в редакторе кусок текста.
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Fri 23 Jan, 2015 07:57

Skirda wrote:Source of the post Встречный вопрос - как в макросах работа с внутренним буфером соотносится с грабером?
Сейчас выделенную область макрос может получить только с помощью CtrlIns.
Наследие прошлого. Если развивать, то в другую сторону: дать доступ через свойства/функции.

Skirda wrote:Source of the post Для грабер-плагина ничего не мешает в тех же форматах (rtf/html/bmp/etc) копировать в буфер обмена выделенный в редакторе кусок текста.
Пусть копирует.
Но для целей анализа зачем буфер обмена, если есть более прямые пути.

Skirda wrote:Source of the post Предложенные функции - работа с буфером обмена.
Речь только о работе с "внутренним" буфером?
Или что-то ещё?

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

Grabber API

Postby Skirda » Fri 23 Jan, 2015 08:19

John Doe wrote:
Skirda wrote:Source of the post Предложенные функции - работа с буфером обмена.
Речь только о работе с "внутренним" буфером?
Или что-то ещё?

Внутренний буфер тут как бы ни причем. Внутренний буфер это доп.фича (изначально для макросов), чтобы не "портить" основной буфер... ну или иметь на борту несколько буфер обмена.
Если ты читал внимательно моё месаг, то мог увидеть фразу:
FSF.CopyToClipboard ... (с очисткой предыдущего содержимого)

Да, плагин может сам заюзать WinAPI, чтобы добавить в существующий буфер новые данные, не стирая предыдущее значение, но при этом у него не будет доступа к "другим" буферам.
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Fri 23 Jan, 2015 08:28

Skirda wrote:Source of the post Внутренний буфер тут как бы ни причем.
Выходит я неправильно понял.
Skirda wrote:Source of the post но при этом у него не будет доступа к "другим" буферам.
Можно подробнее?

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

Grabber API

Postby Skirda » Fri 23 Jan, 2015 10:49

John Doe wrote:
Skirda wrote:Source of the post но при этом у него не будет доступа к "другим" буферам.
Можно подробнее?

К теме относится косвенно, ну да ладно.
Сейчас макросы могут манипулировать клипбордом достаточно просто - get/set/add/clear/swap/etc.. Причем как виндовым клипбордом, так и внутренними (сценарий работы с разными буферами придумать достаточно просто)
Плагины такого не могут (могут только get/set/clear виндового буфера).
Новые FSF-функции - в первую очередь для add (внутренние буферы - как бонус).
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Fri 23 Jan, 2015 11:09

Skirda wrote:Source of the post К теме относится косвенно
Тему разделим, не проблема.

Skirda wrote:Source of the post Сейчас макросы могут манипулировать клипбордом достаточно просто - get/set/add/clear/swap/etc.
"add" тут легко заменить на последовательность "get/set".
Под "swap" видимо понимается переключение между системным/внутренним клипбордом.
Под "etc" видимо копирование внутреннего в системный и наоборот.

Skirda wrote:Source of the post (сценарий работы с разными буферами придумать достаточно просто)
Мне например сложно.
Внутренний буфер сейчас существует только во время исполнения макроса, и основное его предназначение - это компенсировать неполноту macroapi, или избавить неподготовленного пользователся от изучения этого АПИ.
Какие ещё варианты применения?

Skirda wrote:Source of the post Плагины такого не могут
Вопрос в том, зачем им это вообще может понадобиться? Пример?

Skirda wrote:Source of the post Новые FSF-функции - в первую очередь для add (внутренние буферы - как бонус).
"add" в macroapi тупо заменяется на "get/set".
А для плагинов, если я правильно понял, подразумевается другая задача: добавить к содержимому клипборда ещё один формат. Или нет?

User avatar
DrKnS
Posts: 4458
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 2 times
Been thanked: 105 times
Contact:

Grabber API

Postby DrKnS » Fri 23 Jan, 2015 18:41

Skirda wrote:Source of the post Плагины такого не могут (могут только get/set/clear виндового буфера).

А оно им надо?
Насколько я понимаю, внутренний буфер появился не от хорошей жизни, а от отсутствия нормальных переменных в макроязыке, использования вместо них буфера обмена и нежелания при этом терять его содержимое.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

Grabber API

Postby Skirda » Mon 26 Jan, 2015 09:48

DrKnS wrote:Насколько я понимаю, внутренний буфер появился не от хорошей жизни, а от отсутствия нормальных переменных в макроязыке, использования вместо них буфера обмена и нежелания при этом терять его содержимое.

Ну вообще-то внутренний буфер появился (10.01.2003, 1.7 build 1587) под влиянием плагина MultiClip :-)
А для того, чтобы не городить огород с клавиатурными сочетаниями, сначала были введены $IClip и IClip, которые потом превратились в макро-функцию clip.
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Mon 26 Jan, 2015 09:53

Skirda wrote:Source of the post под влиянием плагина MultiClip
История может и интересная, но по факту получилось именно то, о чём написал DrKnS.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

Grabber API

Postby Skirda » Mon 26 Jan, 2015 09:59

John Doe wrote:по факту получилось именно то, о чём написал DrKnS.

Тогда было проще макрофункцию написать, чем АПИ модифицировать.
Но изначальная задумка была не про макросы.
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Mon 26 Jan, 2015 10:05

Skirda wrote:Source of the post Но изначальная задумка была не про макросы.
Планируется вернуться к изначальной задумке?
Если да, то я выделю хвост этого обсуждения в отдельную тему.

User avatar
Skirda
Posts: 3474
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 1 time

Grabber API

Postby Skirda » Mon 26 Jan, 2015 10:08

Планировать всё что угодно можно, но судя по всему этот функционал никому не нужен...
We are the Borg. You will be assimilated.
So Say We All!

User avatar
John Doe
Бюрократ
Posts: 11040
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 9 times
Been thanked: 62 times

Grabber API

Postby John Doe » Mon 26 Jan, 2015 10:14

Skirda wrote:Source of the post судя по всему этот функционал никому не нужен...
Судя по "чему"?
Нигде речи не было об этом функционале.
Мне пока не вполне понятно в каком виде он может быть.
В плагине как-то так:


Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest