_viewer.wx.lua - просмотр графических файлов
_viewer.wx.lua - просмотр графических файлов
Скрипт написан для иллюстрации работы с wxLua.
Скрипт позволяет просматривать графические файлы во многих форматах, в том числе, анимированные.
Скрипт позволяет просматривать графические файлы во многих форматах, в том числе, анимированные.
- Attachments
-
- _viewer.wx.lua.1.0.3.7z
- (3.29 KiB) Downloaded 77 times
Last edited by IgorZ on Thu 19 Dec, 2019 09:29, edited 5 times in total.
- HaRT
- Moderator
- Posts: 10865
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
_viewer.wx.lua - просмотр графических файлов
Latest post of the previous page:
Фар есть инструмент, а не нянька. © 2009 DrKnS
_viewer.wx.lua - просмотр графических файлов
Сомневаюсь, что я самостоятельно смогу разобраться. Так что придётся дожидаться. В надежде на то, что потребность в оперативном чтении пдф-ов скриптом в Фаре есть не только у меня, и кто-то из сведущих заинтересуется.
Периодически попадаются "серые" сканы. И портабельный бесплатный STDU Viewer, например, перед печатью может их осветлить и фон будет чистым в т.ч. и на бумаге. А SumatraPDF такого не умеет и посылает на печать как есть.???
Это абсолютно верно с позиции программиста. Пользователь чтобы вызвать событие "Посмотреть картинку" нажимает ключ F3. А эвент перехватывает это событие и обрабатывает его по-своему. Что для пользователя выглядит как перехват ключа F3. Т.е. для пользователя никакой кучи-малы. Он может просто даже не задумывается о том, что там фактически делает эвент. Пользователь видит только результат нажатия на конкретную кнопку.Эвент перехватывает события, а не ключи
И когда эвент в качестве макроса становится настраиваемым по кнопкам, пользователь может назначить на CtrlP просмотр пдф-ов, а на CtrlD — дэжавю, например. А так он без выборочно привязан к одной только F3.
- buniak_a_h
- Posts: 4266
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
_viewer.wx.lua - просмотр графических файлов
На самом деле есть разница. Перехват ключа может приводить к запуску другого процесса, не связанного с viewer-ом. А перехват события происходит именно при открытии файла вьюером, независимо, чем это открытий инициировано. Простейший пример: QView. Никакие кнопки нажимать не надо; достаточно просто перейти на другой файл.citRiks wrote: ↑Wed 04 Dec, 2019 14:26Это абсолютно верно с позиции программиста. Пользователь чтобы вызвать событие "Посмотреть картинку" нажимает ключ F3. А эвент перехватывает это событие и обрабатывает его по-своему. Что для пользователя выглядит как перехват ключа F3. Т.е. для пользователя никакой кучи-малы. Он может просто даже не задумывается о том, что там фактически делает эвент. Пользователь видит только результат нажатия на конкретную кнопку.Эвент перехватывает события, а не ключи
И когда эвент в качестве макроса становится настраиваемым по кнопкам, пользователь может назначить на CtrlP просмотр пдф-ов, а на CtrlD — дэжавю, например. А так он без выборочно привязан к одной только F3.
_viewer.wx.lua - просмотр графических файлов
А как не нажав ни одной кнопки перейти на другой файл?buniak_a_h wrote: ↑Wed 04 Dec, 2019 16:55 Никакие кнопки нажимать не надо; достаточно просто перейти на другой файл
- HaRT
- Moderator
- Posts: 10865
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
_viewer.wx.lua - просмотр графических файлов
Кручением колёсика мыши, например.
Фар есть инструмент, а не нянька. © 2009 DrKnS
_viewer.wx.lua - просмотр графических файлов
В контексте обсуждаемого это тоже действие пользователя как и нажатие кнопки.
- buniak_a_h
- Posts: 4266
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
_viewer.wx.lua - просмотр графических файлов
В макросе по таймеру panel.SetPath(…).
Вы хотите доказать, что эвент (перехват события) тождественен макросу (перехвату нажатия кнопки). Тогда Вам придётся вешать макрос НА ВСЕ кнопки: например, в быстром поиске указатель тоже перескакивает, и, соответственно, во вьюере переоткрывается другой файл. Да ещё и анализировать, сместился ли указатель по клавише. Проще признать, что это, всё же разные вещи.
_viewer.wx.lua - просмотр графических файлов
Всё наоборот. И именно потому, что они не тождественны, изначально я и попросил автора по возможности сделать так чтобы можно было бы использовать сабжевый скрипт не только как Event, но и как обычный макрос.buniak_a_h wrote: ↑Wed 04 Dec, 2019 22:33 Вы хотите доказать, что эвент (перехват события) тождественен макросу (перехвату нажатия кнопки)
_viewer.wx.lua - просмотр графических файлов
Собственно, какое именно сообщение об ошибке выводится? По идее, там должна указываться, как минимум, строка. Заодно: версия скрипта последняя?buniak_a_h wrote: ↑Wed 04 Dec, 2019 05:26Я не понял, где надо указывать. Там же висит Event на открытие во вьюере.
На самом деле пришлось пока заблокировать макрос: на каждый просмотр выводит сообщение об ошибке; выбираешь Cancel - дальше всё прекрасно показывает. Грустно, что сообщение выводится и при попытке просмотра, скажем, qqq.lua, main.cpp или aaa.txt . Т.е. таких файлов, которые совсем не хочется просматривать как медиа. Сообщение (если выбрать именно Cancel) выводится только один раз, но зато для каждого типа файлов. Достаёт…
Вообще-то, скрипт, как следует из описания, предназначен для просмотра графических файлов, то есть различных статических форматов и анимированных ani/gif. Что и как он находит в видео - понятия не имею. Для видеофайлов в wxLua есть другие объекты. Так что, естественно, я вначале подумал, что у Вас какая-то проблема с другим, написанным Вами с использованием wxLua скриптом.buniak_a_h wrote: ↑Wed 04 Dec, 2019 05:26 На самом деле конкретно файлы типа ts показывает "молча" - т.е. без звука. Видимо, всё же, формат не полностью поддерживается… Грустно, что у меня телевизор других форматов не знает.
_viewer.wx.lua - просмотр графических файлов
А-а-а... Так это называется не "пачкает", а "не умеет чистить грязные сканы". "Пачкает" - это когда при печати на бумаге оказывается мусор, отсутствующий в электронном документе. Выражайтесь грамотнее.
Кстати, STDU Viewer тоже вполне хорошо подключается для просмотра.
Ну тогда не обижайтесь, если Вас не понимают и, соответственно, не в состоянии отреагировать на Ваши крики о помощи. Хотите адекватной реакции - излагайте проблему чётко и ясно.citRiks wrote: ↑Wed 04 Dec, 2019 14:26Это абсолютно верно с позиции программиста. Пользователь чтобы вызвать событие "Посмотреть картинку" нажимает ключ F3. А эвент перехватывает это событие и обрабатывает его по-своему. Что для пользователя выглядит как перехват ключа F3. Т.е. для пользователя никакой кучи-малы. Он может просто даже не задумывается о том, что там фактически делает эвент. Пользователь видит только результат нажатия на конкретную кнопку.Эвент перехватывает события, а не ключи
То есть, Вы хотите, стоя на файле, по нажатию
CtrlP
попытаться открыть его как .PDF, а, стоя на нём же, по нажатию CtrlD
открыть его как .DJVU? Даже в том случае, если это файл картинка.jpg? Странная логика, как на мой взгляд. Тем более, что если назначить на все эти клавиши один и тот же скрипт, то и открывать он их будет одинаково, независимо от того, какой клавишей его вызвали.
Last edited by IgorZ on Fri 06 Dec, 2019 07:09, edited 1 time in total.
- buniak_a_h
- Posts: 4266
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
_viewer.wx.lua - просмотр графических файлов
Заодно: версия скрипта последняя?
Извините. я перестал следить за макросом _viewer.wx.lua . Скорее всего, нет - 1.0.1 .
- buniak_a_h
- Posts: 4266
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
_viewer.wx.lua - просмотр графических файлов
1. Столько лет работаю, не знал, что Ctrl+C копирует MessageBox facepalm2
2. В данном конкретном случае не скопировалось.
2. В данном конкретном случае не скопировалось.
- HaRT
- Moderator
- Posts: 10865
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
_viewer.wx.lua - просмотр графических файлов
У вас точно был включён английский язык ввода для этого окна?
И если по
Ctrl+C
не копируется, то нет ли там возможности выделить текст мышкой?Фар есть инструмент, а не нянька. © 2009 DrKnS
- buniak_a_h
- Posts: 4266
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
_viewer.wx.lua - просмотр графических файлов
1. Сделал маленький тест на Delphi, из одной строки MessageBox(...) - работает. Это - доказательство?
2. И всё же - да. Английский.
- buniak_a_h
- Posts: 4266
- Joined: Sat 20 Apr, 2013 00:17
- Location: Санкт-Петробад
- Has thanked: 222 times
- Been thanked: 644 times
- Contact:
_viewer.wx.lua - просмотр графических файлов
HaRT,
Code: Select all
---------------------------
wxWidgets Debug Alert
---------------------------
/usr/src/packages/BUILD/sources/wxWidgets-3.0.2/src/common/image.cpp(1739): assert "IsOk()" failed in GetWidth(): invalid image
Do you want to stop the program?
You can also choose [Cancel] to suppress further warnings.
---------------------------
Да Нет Отмена
---------------------------