"Виртуализировать" вьювер

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
User avatar
HaRT
Moderator
Posts: 9649
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 118 times
Been thanked: 244 times

Re: "Виртуализировать" вьювер

Post by HaRT »

Latest post of the previous page:

И прошу не забыть, что ключевое достоинство просмотрщика — подгрузка файла по частям по мере надобности. На самом деле, интерфейс наподобие читательной части IStream был бы наиболее адекватен.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1299
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 46 times
Contact:

Re: "Виртуализировать" вьювер

Post by Ariman »

2useven10 wrote:Могу, например, добавить команды для ViewerControl ( ADD_VFILE, DEL_VFILE )...
Это как-то совсем, по-моему, не то. Вьюер должен сам требовать данные, а не ждать когда ему что добавят.
HaRT wrote:На самом деле, интерфейс наподобие читательной части IStream был бы наиболее адекватен.
Согласен. Что смущает в данном варианте, это что он будет выбиваться из стиля остального API, интерфейсов то нигде больше нет.
2useven10
Posts: 4184
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 204 times

Re: "Виртуализировать" вьювер

Post by 2useven10 »

Какой I... это дело пятое. Мне просто не хватает знания кухни.
Ткните плиз носом на пример плагина, использующего вьювер (желательно сорсы).
Maximus5
Posts: 3294
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 7 times
Contact:

Re: "Виртуализировать" вьювер

Post by Maximus5 »

такого плагина нет и быть не может, потому что до этого плагины не могли отдавать фару данные вместо физического файла.
так что сейчас смотреть на существующие сорцы - смысла нет
Ariman
Posts: 1299
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 46 times
Contact:

Re: "Виртуализировать" вьювер

Post by Ariman »

2useven10 wrote:Ткните плиз носом на пример плагина, использующего вьювер (желательно сорсы).
Тут по идее как раз наоборот: вьюер использует плагины. А они не должны знать про вьюер ничего, только данные отдавать наружу.
2useven10
Posts: 4184
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 204 times

Re: "Виртуализировать" вьювер

Post by 2useven10 »

Maximus Ну почему же, RegEditor использует :) psi.Viewer(file.GetShow...
Ariman на мой взгляд речь идёт лишь о том как плагин может отдать вьюверу для показа не настоящий
файл, а 'виртуальный' в существующем API я нормального варианта не знаю, ну разве что добавить флаг для psi.Viewer(,,,, VF_USEVFILE ... и VFile* ( Ixxx *) передать, например вместо имени, а получение имени добавить в
VFile (Ixxx)
Ariman
Posts: 1299
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 46 times
Contact:

Re: "Виртуализировать" вьювер

Post by Ariman »

2useven10 wrote:на мой взгляд речь идёт лишь о том как плагин может отдать вьюверу для показа не настоящий файл, а 'виртуальный'
Да, но не самому подсунуть, а отреагировать на запрос. В принципе, это может быть и не вьюер, а поиск, например (искать в содержимом архивов и т.п.). Система должна быть универсальной.
2useven10
Posts: 4184
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 204 times

Re: "Виртуализировать" вьювер

Post by 2useven10 »

Ну если по-большому, да конечно должна быть универсальной, но для этого надо протащить испоьзование интерфейсов в API (не обязательно этого) всюду, где это может потребоваться. Я пытался решить гораздо более локальную маленькую задачу и только в рамках вьювера.
User avatar
HaRT
Moderator
Posts: 9649
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 118 times
Been thanked: 244 times

Re: "Виртуализировать" вьювер

Post by HaRT »

На мой взгляд, самый первый и самый скромный сценарий — чтобы Анаморфозису было достаточно FAR API.
Ну или чтобы можно было доработать FarCmds чем-то вроде команды qview
Фар есть инструмент, а не нянька. © 2009 DrKnS
Ariman
Posts: 1299
Joined: Fri 30 Nov, 2007 15:32
Location: Крым
Has thanked: 12 times
Been thanked: 46 times
Contact:

Re: "Виртуализировать" вьювер

Post by Ariman »

Зачем смешивать qview и виртуальные файлы? Как мне кажется, для этого должно быть разное API.
Кстати вот qview ещё один пример использования доступа к виртуальным файлам, помимо вьюера.
User avatar
HaRT
Moderator
Posts: 9649
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 118 times
Been thanked: 244 times

Re: "Виртуализировать" вьювер

Post by HaRT »

Ariman wrote:Кстати вот qview ещё один пример использования доступа к виртуальным файлам, помимо вьюера.
Не знаю, как внутри, а для пользователя QView — это такая сущность, которая обладает свойствами и просмотрщика, и панели. Однако подозреваю, что по реализации оно всё-таки ближе к просмотрщику; поэтому тут об этом речь и завёл.
Фар есть инструмент, а не нянька. © 2009 DrKnS
2useven10
Posts: 4184
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 204 times

Re: "Виртуализировать" вьювер

Post by 2useven10 »

Не знаю, что внутри у QView и Anamorphosis - никогда не видел...
Костыль для доступа к Viewer/VFile через plugin api сделал, но не более.
User avatar
HaRT
Moderator
Posts: 9649
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 118 times
Been thanked: 244 times

Re: "Виртуализировать" вьювер

Post by HaRT »

2useven10 wrote:Не знаю, что внутри у QView и Anamorphosis - никогда не видел...
Так ведь отличный повод посмотреть и узнать — может дать идеи для удачной виртуализации.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 12993
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 40 times
Been thanked: 309 times

Re: "Виртуализировать" вьювер

Post by John Doe »

2useven10 wrote:Ну если по-большому, да конечно должна быть универсальной, но для этого надо протащить испоьзование интерфейсов в API (не обязательно этого) всюду, где это может потребоваться. Я пытался решить гораздо более локальную маленькую задачу и только в рамках вьювера.
Допустим, вьювер это локальная маленькая задача. Допустим, решение этой задачи всех устраивает.
Проясните такой момент: это локальное решение можно протащить повсюду где понадобится?
Или же глобальное решение должно быть совсем другим?
User avatar
DrKnS
Posts: 5785
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 10 times
Been thanked: 330 times

Re: "Виртуализировать" вьювер

Post by DrKnS »

2useven10 wrote:Не знаю, что внутри у QView и Anamorphosis - никогда не видел...
Костыль для доступа к Viewer/VFile через plugin api сделал, но не более.
Костыли в api огорчают разработчиков. Очень огорчают. Из-за этого, собственно, и был затеян весь этот слом api и, как следствие, Far 3.

Если что-то не получается - лучше разломать до основания и сделать правильно.

Вопросы совместимости и масштабы изменений на данном этапе развития Far несущественны.
2useven10
Posts: 4184
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 5 times
Been thanked: 204 times

Re: "Виртуализировать" вьювер

Post by 2useven10 »

обновил... VFile ушёл в plugin.hpp, вместо костыля добавил FarViewerVFile() в PlluginStartupInfo
Post Reply

Return to “Предложения и идеи”