DialogTools — дополнительные возможности в диалогах

Здесь можно обсудить ваш любимый плагин.
Post Reply
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

DialogTools — дополнительные возможности в диалогах

Post by zg »

часть того, что было dialogmanager'ом портировано под новое апи и уникод. называется DialogTools. лежит у t-rex'а в svn. включает в себя:

Code: Select all

Change Case
Open File Dialog
Paste Selection
Show Password
Search
Replace
Undo
остальное как-нибудь тоже планируется.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

DialogTools — дополнительные возможности в диалогах

Post by HaRT »

В этой теме теперь обсуждается плагин DialogTools.
Но начиналось всё с темы в разделе «Плагины: Предложения и идеи».


Вступление: есть у меня идейка, но совершенно нет энтузиазма её воплощать. Для частного случая она была независимо придумана и реализована Cavalerом в недавней версии его плагина RESearch, но общий случай он тоже делать не рвётся.

Мотивация: зачастую поля ввода в Фаровских диалогах куда меньше, чем текст, который надо в них ввести. Про удобство редактирования, всякие там переходы-раскраски-навороты я уж и не говорю. Хочется иметь в полях ввода стандартных диалогов (почти) всю мощь редактора.

Идея: написать плагин, который бы, будучи вызван из поля ввода через меню плагинов, брал текущее содержимое, позицию курсора, выделение, режим вставки/замены (и проч.) и открывал (модальный) редактор со всем этим. При закрытии редактора все те же самые данные плагин переносил бы обратно в поле ввода.

Обсуждение: разумеется, встают некоторые закономерные вопросы, как-то: что делать с разделителями строк, какого размера должен быть редактор и т.п. Но какие-то из них для начального этапа неважны, а другие могут быть урегулированы опциями.

Заключение: если кому-то это интересно, я готов обсуждать детали логики.

2015-07-09
HaRT wrote: Если кому интересно, вот работающие макросы для Undo/Redo/Edit/Show password в поле ввода текста:
  1. -- See http:// forum.farmanager.com/viewtopic.php?p=130985#p130985
  2.  
  3. local DLGITEMTYPE_EDIT, DLGITEMTYPE_PSWEDIT, DLGITEMTYPE_FIXEDIT = 4, 5, 6
  4.  
  5.  
  6.  
  7. local DialogTools_MainGuid = "B2EC2264-0F55-4B86-87F7-F1392B8FC5DC"
  8.  
  9. local DialogTools_UndoGuid = "1117C0E3-76BA-443D-90E3-89D20C45F364"
  10.  
  11. local DialogTools_EditGuid = "D0C5118D-E750-4E00-A4D4-0E0E0063571F"
  12.  
  13. local DialogTools_PwShGuid = "C8D4D4A4-943B-436F-8414-D36CBAF37C53"
  14.  
  15.  
  16.  
  17. local function inEditField()
  18.  
  19.   return Dlg.ItemType == DLGITEMTYPE_EDIT or Dlg.ItemType == DLGITEMTYPE_FIXEDIT
  20.  
  21. end
  22.  
  23.  
  24.  
  25. local function callUndoRedo( stepKey )
  26.  
  27.   Plugin.Menu( DialogTools_MainGuid, DialogTools_UndoGuid )
  28.  
  29.   Keys( stepKey .. ' ' .. 'Enter' )
  30.  
  31. end
  32.  
  33.  
  34.  
  35. Macro {
  36.  
  37.   description = "DialogTools: Undo";
  38.  
  39.   area = "Dialog"; key = "CtrlZ AltBS";
  40.  
  41.   condition = inEditField;
  42.  
  43.   action = function() callUndoRedo( '' ) end
  44.  
  45. }
  46.  
  47.  
  48.  
  49. Macro {
  50.  
  51.   description = "DialogTools: Redo";
  52.  
  53.   area = "Dialog"; key = "CtrlShiftZ AltShiftBS";
  54.  
  55.   condition = inEditField;
  56.  
  57.   action = function() callUndoRedo( 'Up' ) end
  58.  
  59. }
  60.  
  61.  
  62.  
  63. Macro {
  64.  
  65.   description = "DialogTools: Edit";
  66.  
  67.   area = "Dialog"; key = "F4";
  68.  
  69.   condition = inEditField;
  70.  
  71.   action = function() Plugin.Menu( DialogTools_MainGuid, DialogTools_EditGuid ) end
  72.  
  73. }
  74.  
  75.  
  76.  
  77. Macro {
  78.  
  79.   description = "DialogTools: Show password";
  80.  
  81.   area = "Dialog"; key = "F3";
  82.  
  83.   condition = function() return Dlg.ItemType == DLGITEMTYPE_PSWEDIT end;
  84.  
  85.   action = function() Plugin.Menu( DialogTools_MainGuid, DialogTools_PwShGuid ) end
  86.  
  87. }
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлены макросы для Фар 3
Yegor
Posts: 1326
Joined: Mon 04 Apr, 2005 13:41
Location: San Ramon, CA / Kharkov, UA
Has thanked: 32 times
Been thanked: 61 times

Re: Развёрнутое редактирование полей ввода

Post by Yegor »

Я думаю, есть смысл расширить ф-ть плагина DialogTools и попробовать добавить тюда такую ф-ю.
Не знаю, правда, насколько это нужно, хотя было бы полезно в редактировании макросов в плагине FAR Macro
Мы не можем ждать милостей от Фара, взять их у него — наша задача! (C) Мичурин
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Развёрнутое редактирование полей ввода

Post by HaRT »

Yegor wrote:Я думаю, есть смысл расширить ф-ть плагина DialogTools и попробовать добавить тюда такую ф-ю.
Коренной недостаток такого подхода в том, что DialogTools только для Far 2.

23:23 MSK
Оказывается, в Фаре 1.75 с DialogTools тоже всё в порядке.
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Добавлен абзац про Фар 1.75
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Развёрнутое редактирование полей ввода

Post by Skirda »

Ну, я бы сказал, что это баян, но т.к. это (спецификация) вроде бы ни где не публиковалось (упоминания можно найти в форуме), то...
В общем есть такой проект DI_MEMOEDIT (для чего в свое время выкидывали все, относящиеся к слову "файл" из класса Editor в FileEdit)
Вот только руки никак не доходят...

Здесь как раз тот случай, когда плагином не гоже...

PS.
Если нужно, могу выкатить текущее недоописание проекта.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Развёрнутое редактирование полей ввода

Post by Skirda »

Хе... оказывается описание есть :-)
We are the Borg. You will be assimilated.
So Say We All!
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Развёрнутое редактирование полей ввода

Post by HaRT »

Skirda wrote:есть такой проект DI_MEMOEDIT (для чего в свое время выкидывали все, относящиеся к слову "файл" из класса Editor в FileEdit)
Вот только руки никак не доходят...
Вот-вот. А в виде плагина пусть и не так красиво, зато гораздо проще и потенциально быстрее.
Плюс оно возможно и в Фар 1.7.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Развёрнутое редактирование полей ввода

Post by Skirda »

HaRT, да ради Бога, главное чтобы кто-то поддерживал такой плагин :-)
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Александр Кряжев
Posts: 882
Joined: Sun 03 Dec, 2006 10:09
Location: Москва
Has thanked: 2 times
Contact:

Re: Развёрнутое редактирование полей ввода

Post by Александр Кряжев »

HaRT, не кажется ли Вам, что пора уже "забивать" на поддержку тупиковых ветвей развития? ;)

Фар - маргинальный продукт. (c) zg
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Развёрнутое редактирование полей ввода

Post by t-rex »

Ну это плагин ровно на 10-20 строк кода, можешь и сам написать раз оно тебе так надо.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Развёрнутое редактирование полей ввода

Post by HaRT »

Skirda wrote:да ради Бога, главное чтобы кто-то поддерживал такой плагин :-)
Вот я и ищу такого человека. Пожалуй, постучусь ещё в PowerShellFar, т.к. надеюсь, что наскриптовать предлагаемый плагин опытному человеку будет несложно. Вдруг NightRomanу идея понравится…
Александр Кряжев wrote:не кажется ли Вам, что пора уже "забивать" на поддержку тупиковых ветвей развития? ;)
Русская пословица гласит: “Старый конь борозды не портит”; есть и английская фраза к случаю: “The latest isn't the greatest”. Зачем раньше времени хоронить хороший продукт, ведь Фар 2 по некоторым показателям ещё не дотягивает до Фар 1.7.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Развёрнутое редактирование полей ввода

Post by HaRT »

Skirda wrote:Здесь как раз тот случай, когда плагином не гоже...
Я вспомнил ещё один довод.
Я ничего не имею против DI_MEMOEDIT, но его внедрение ничем не улучшит уже написанные плагины, а предлагаемая мной функциональность всё-таки упростила бы работу с ними.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Развёрнутое редактирование полей ввода

Post by t-rex »

t-rex wrote:Ну это плагин ровно на 10-20 строк кода, можешь и сам написать раз оно тебе так надо.
Ты уже тут стока написал что мог бы уже и плагин написать.
User avatar
HaRT
Moderator
Posts: 10823
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Развёрнутое редактирование полей ввода

Post by HaRT »

t-rex wrote:Ну это плагин ровно на 10-20 строк кода, можешь и сам написать раз оно тебе так надо.
В минимальном варианте, возможно, и так, но в полнофункциональном куда больше.
t-rex wrote:Ты уже тут стока написал что мог бы уже и плагин написать.
Ты мне льстишь.
Приятно, конечно, но, к сожалению, я не так быстро въезжаю в новое, а также применяю имеющийся багаж на практике.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Развёрнутое редактирование полей ввода

Post by t-rex »

Имено полнофункциональный 20 строк.
Post Reply

Return to “Обсуждение плагинов”