WDX и всплывающие подсказки
Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер
WDX и всплывающие подсказки
При написании своего WDX плагина возникла проблема:
Плагин возвращает текст состоящий из нескольких строк, но Тотал всегда отображает этот текст в виде одной строки. При поиске или групповом переименовании это конечно удобно и логично, но вот в всплывающих подсказках смотрится не очень красиво.
Есть ли способ отображать многострочный текст в подсказках нормально? (TotalCmd v6.55)
Плагин возвращает текст состоящий из нескольких строк, но Тотал всегда отображает этот текст в виде одной строки. При поиске или групповом переименовании это конечно удобно и логично, но вот в всплывающих подсказках смотрится не очень красиво.
Есть ли способ отображать многострочный текст в подсказках нормально? (TotalCmd v6.55)
Столкнулся с похожей проблемой.
Кроме того в подсказке максимальная длина одного значения, возвращаемого плагином, ограничена 255 символами. Я не ошибаюсь?
А какой стандартный максимальный размер буфера для FieldValue ?
Где-нибудь это описано?
Я вышел на странное значение - 2308 байта. Больше начинаются глюки. Но для нормальной реализации поиска мне надо около 5000.
И за что отвечает maxlen? Это оно или нет?
Кроме того в подсказке максимальная длина одного значения, возвращаемого плагином, ограничена 255 символами. Я не ошибаюсь?
А какой стандартный максимальный размер буфера для FieldValue ?
Где-нибудь это описано?
Я вышел на странное значение - 2308 байта. Больше начинаются глюки. Но для нормальной реализации поиска мне надо около 5000.
И за что отвечает maxlen? Это оно или нет?
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
Спасибо.
А будьте добры, объясните индейцу, как задается этот maxlen?
Только для всей ветви (в функции ContentGetSupportedField) или можно для каждого подпункта его задавать (в функции ContentGetValue)? Как правильно?
У меня не получается его передать. Как правильно это сделать?
Pinteger(maxlen)^ := X
Или я просто не там его передаю?
И еще один вопрос, как правильно передать в FieldValue число типа Real? Очень нужно для правильной сортировки, иначе я мог бы просто вывести его как String.
Как передавать строку или целое понятно (Pinteger и StrCopy). С Real по аналогии не получается.
Естественно, все сказанное относится к Delphi.
Прошу меня простить, возможно это глупые вопросы, но это мой первый плагин для тотала. И кроме того, где еще могут лучше всего ответить на этот вопрос как не тут.
Заранее спасибо.
А будьте добры, объясните индейцу, как задается этот maxlen?
Только для всей ветви (в функции ContentGetSupportedField) или можно для каждого подпункта его задавать (в функции ContentGetValue)? Как правильно?
У меня не получается его передать. Как правильно это сделать?
Pinteger(maxlen)^ := X
Или я просто не там его передаю?
И еще один вопрос, как правильно передать в FieldValue число типа Real? Очень нужно для правильной сортировки, иначе я мог бы просто вывести его как String.
Как передавать строку или целое понятно (Pinteger и StrCopy). С Real по аналогии не получается.
Естественно, все сказанное относится к Delphi.
Прошу меня простить, возможно это глупые вопросы, но это мой первый плагин для тотала. И кроме того, где еще могут лучше всего ответить на этот вопрос как не тут.
Заранее спасибо.
- CaptainFlint
- Сообщения: 6239
- Зарегистрирован: Вт дек 14, 2004 22:34
- Контактная информация:
Его передаёт Тотал плагину, а не наоборот!Oticon писал(а):А будьте добры, объясните индейцу, как задается этот maxlen?
То есть, перед вызовом плагина Тотал выделяет у себя в памяти буфер, чтобы плагин мог в этот буфер что-то записать. И вызывает плагин, передавая ему адрес буфера и размер выделенного блока в качестве параметров, просто для того, чтобы плагин знал, сколько ему места отведено. Менять ни адрес, ни переданный maxlen нельзя! Это входные параметры (для плагина), а не выходные.
Для вещественных значений интерфейс предусматривает тип ft_numeric_floating. Его надо вернуть для соответствующего поля в ContentGetSupportedField, а в ContentGetValue просто приводить указатель на FieldValue к указателю на нужный вещественный тип. К сожалению, я плохо помню паскалевские типы. В SDK плагина сказано, что для вещественных значений требуется использовать 64-битный тип, определённый ISO-стандартом. Не думаю, что Дельфи отклонился от стандарта в этой области, но какой из всех его вещественных типов является 64-битным, я не смогу так сходу сказать. Надо смотреть справочники.Oticon писал(а):И еще один вопрос, как правильно передать в FieldValue число типа Real?
Почему же, ё-моё, ты нигде не пишешь "ё"?
С maxlen понятно, спасибо. Жаль что нельзя его увеличить - это сильно ограничивает.
А по поводу вещественных чисел, я наверно действительно по глупой привычке использовал 32 битный тип. Надо проверить, в ПН на работе посмотрю.
Сейчас еще поищу у вас исходники WDX-плагинов, себе для примеров, наверняка найду что-то для повышения опыта.
Где еще можно их найти?
А по поводу вещественных чисел, я наверно действительно по глупой привычке использовал 32 битный тип. Надо проверить, в ПН на работе посмотрю.
Сейчас еще поищу у вас исходники WDX-плагинов, себе для примеров, наверняка найду что-то для повышения опыта.
Где еще можно их найти?
Спасибо большое!!!
Из них я всего парочку смотрел, буду искать остальные.
А стоит ли выкладывать мой плагин на wincmd.ru.
Это уже не первая версия, просто решил кое-чего добавить и исправить ошибки.
Дело в том, что плагин используется для показа информации о файлах in4.
Это - "файлу обміну даними результатів землевпорядних робіт в електронному вигляді" (цитата).Используются, наверно, только в Украине, но могут быть востребованы и в России или других странах СНГ (возможно, в несколько изменненом виде).
По-этому переводить его на английский язык не имеет смысла.
Помнится, это одно из требований.
По сути - текстовый файл, чем-то сродни XML, с довольно сложной структурой и МНОЖЕСТВОМ ньюансов.
Из них я всего парочку смотрел, буду искать остальные.
А стоит ли выкладывать мой плагин на wincmd.ru.
Это уже не первая версия, просто решил кое-чего добавить и исправить ошибки.
Дело в том, что плагин используется для показа информации о файлах in4.
Это - "файлу обміну даними результатів землевпорядних робіт в електронному вигляді" (цитата).Используются, наверно, только в Украине, но могут быть востребованы и в России или других странах СНГ (возможно, в несколько изменненом виде).
По-этому переводить его на английский язык не имеет смысла.
Помнится, это одно из требований.
По сути - текстовый файл, чем-то сродни XML, с довольно сложной структурой и МНОЖЕСТВОМ ньюансов.