AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

SmartSel plugin
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
DV



Joined: 16 Nov 2006
Posts: 854
Location: Kyiv, Ukraine

PostPosted: Thu Sep 30, 2010 8:36 am    Post subject: Reply with quote

Можно попробовать блокировать работу NoSelEOL, если показан диалог Поиска или Замены. Но тогда NoSelEOL не будет работать и в том случае, когда мы работаем в окне редактирования, а неактивный диалог поиска/замены просто висит на экране.

(добавлено позднее) Появилась ещё идея использовать GetFocus() - если во время изменения выделения фокус ввода не на окне редактирования, значит, выделение меняется извне (например, из диалогов поиска/замены).
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2056
Location: Vinnitsa, Ukraine

PostPosted: Thu Sep 30, 2010 9:47 am    Post subject: Reply with quote

DV
Ну как минимум на время обработки Акелом сообщений AKD_TEXTFIND, AKD_TEXTREPLACE нужно приостановится - программные(со скриптов и с плагинов) поиск/замена хотя бы будут работать.
Насчет замены через GUI - не повезло. Akel выполняет замену внутренними функция напрямую(Edit.cpp ReplaceText) минуя эти сообщения. И других специфических, на которые можно было бы среагировать, не использует.
Сообщение AEM_TEXTFIND тоже активно пользуется в поиске(и в пошаговой замене), можно вокруг него поплясать.
Ещё один способ привязаться в голову пришел: WM_SETREDRAW FALSE используется только автоматическими алгоритмами, которые манипулируют текстом. Поиск/замена тоже сюда входят. Всё что делается пользователем вручную(мышь, клавиатура) WM_SETREDRAW не использует. Можно попытаться отключатся между парой WM_SETREDRAW FALSE - WM_SETREDRAW TRUE.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
DV



Joined: 16 Nov 2006
Posts: 854
Location: Kyiv, Ukraine

PostPosted: Sun Oct 03, 2010 3:59 pm    Post subject: Reply with quote

Обновление плагина: Очередная медитация на тему NoSelEOL. Добавлено множество сообщений, которые NoSelEOL игнорирует (например, AKD_TEXTFIND и др., EM_FINDTEXT и др.).
Ахтунг! Это может повлиять на работу макросов, "обходящих" NoSelEOL.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2653
Location: Киев, Русь

PostPosted: Mon Oct 04, 2010 10:13 am    Post subject: Reply with quote

DV
Возможно ли что-то сделать с этой багофичей?
Back to top
View user's profile Send private message Visit poster's website
VladSh



Joined: 29 Nov 2006
Posts: 2653
Location: Киев, Русь

PostPosted: Wed Apr 06, 2011 11:43 am    Post subject: Reply with quote

Up!
Сделайте пожалуйста что-нибудь хотя бы с багом из первого пункта (см. ссылку в пред. сообщении)!
При отключенной функции NoSelEOL выделение текущей строки работает правильно.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Tue Jul 12, 2011 5:50 pm    Post subject: Reply with quote

DV
Сегодня пришло письмо, в котором человек указывал на то, что не работает Ctrl+Shift+Del - выделяется только строка.

Если назначение SmartSel::NoSelEOL только в том, чтобы не выделять строку при тройном клике, а также выделении строки нажатием на границу слева, то почему не использовать AEN_SELCHANGED и AESCT_MOUSETRIPLECLK, AESCT_MOUSELEFTMARGIN?
Back to top
View user's profile Send private message Send e-mail
DV



Joined: 16 Nov 2006
Posts: 854
Location: Kyiv, Ukraine

PostPosted: Tue Jul 12, 2011 6:18 pm    Post subject: Reply with quote

Instructor wrote:
не работает Ctrl+Shift+Del - выделяется только строка.

А что он должен делать? Я вообще не вижу никакой реакции после нажатия...

Изначальное назначение NoSelEOL было в том, чтобы при выделении всей строки (Shift+End или клик левее начала строки) в RichEdit не выделялся завершающий символ переноса строки.
Однако в AkelEdit это уже не столь актуально, поскольку здесь Shift+End не выделяет символ переноса строки, в отличие от RichEdit. Более того, если в AkelEdit тянуть мышку с зажатой левой кнопкой (режим выделения) за конец строки, символ переноса строки при этом так же не выделяется - в отличие от RichEdit. А именно с подобным поведением RichEdit боролся NoSelEOL.
Собственно говоря, не знаю, чего народ ожидает от NoSelEOL сейчас, поскольку поведение AkelEdit меня вполне устраивает Smile

Instructor wrote:
почему не использовать AEN_SELCHANGED и AESCT_MOUSETRIPLECLK, AESCT_MOUSELEFTMARGIN?

Наверное, потому, что, когда разрабатывался NoSelEOL, таких вещей ещё не было Smile
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Tue Jul 12, 2011 6:35 pm    Post subject: Reply with quote

DV
Опечатался - имелось ввиду Ctrl+Shift+End.
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2653
Location: Киев, Русь

PostPosted: Thu Jul 14, 2011 7:23 am    Post subject: Reply with quote

DV wrote:
Собственно говоря, не знаю, чего народ ожидает от NoSelEOL сейчас, поскольку поведение AkelEdit меня вполне устраивает Smile
Народ ожидает, чтобы при выделении строки тройным кликом по ней, а также с помощью нажатия на область слева от текста курсор бы не мигал на следующей строке Smile
Если это было бы реализовано, то дальше надо посмотреть (как скрипты и плагины работают с выделением), возможно этот функционал сейчас и был бы избыточным.
Back to top
View user's profile Send private message Visit poster's website
DV



Joined: 16 Nov 2006
Posts: 854
Location: Kyiv, Ukraine

PostPosted: Sat Jul 16, 2011 8:11 am    Post subject: Reply with quote

VladSh wrote:
при выделении строки тройным кликом по ней, а также с помощью нажатия на область слева от текста курсор бы не мигал на следующей строке Smile

Постараюсь глянуть. Исходя из предыдущего комментария от Instructor, наверное, проще будет сначала сделать новую ф-цию NoSelEOL2, перехватывающую лишь указанные выше сообщения и флаги, - с тем, чтобы впоследствии вообще убрать старую реализацию NoSelEOL.
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2653
Location: Киев, Русь

PostPosted: Tue Jul 19, 2011 8:23 am    Post subject: Reply with quote

DV wrote:
Исходя из предыдущего комментария от Instructor, наверное, проще будет сначала сделать новую ф-цию NoSelEOL2
Я думаю, раз сам AkelEdit поддерживает выделение с захватом и без захвата символа переноса строки (при выделении Shift+End и мышью), то по хорошему было бы чтобы и выделение предложения без захвата символа переноса строки поддерживалось контролом или прогой, а то получается, что часть делает контрол, а часть плагин...
Но если такое не будет реализовано в проге, то, естественно, обновлённый NoSelEOL очень нужен!


Добавлено: да, и при новом NoSelEOL надо будет вручную обрабатывать ситуации захвата переноса строки - всегда будет возможно 2 варианта, а при NoSelEOL всегда был 1 - без захвата. Поэтому надо будет переписывать скрипты, т.к. многие, в случае захвата перевода строки, могут начать работать некорректно. Всё-таки проще, когда обрабатываешь 1 вариант.


Last edited by VladSh on Tue Jul 19, 2011 12:02 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website
FeyFre



Joined: 07 Aug 2007
Posts: 2056
Location: Vinnitsa, Ukraine

PostPosted: Tue Jul 19, 2011 8:44 am    Post subject: Reply with quote

VladSh
Не только скрипты могут пострадать, плагины тоже. Помнится когда-то уже решали проблему захвата/незахвата переноса при поиске. Это я так, к слову.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Tue Jul 19, 2011 5:02 pm    Post subject: Reply with quote

В 4.6.4 добавлен недокументированный ручной параметр для "MouseOptions" со значением 16 Smile
Back to top
View user's profile Send private message Send e-mail
VladSh



Joined: 29 Nov 2006
Posts: 2653
Location: Киев, Русь

PostPosted: Tue Jul 19, 2011 5:07 pm    Post subject: Reply with quote

Instructor wrote:
В 4.6.4 добавлен недокументированный ручной параметр для "MouseOptions" со значением 16 Smile
Very Happy
Здорово! Только как теперь скрипты писать, с учётом того, что это у всех будет включено? Rolling Eyes Twisted Evil
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5454

PostPosted: Tue Jul 19, 2011 6:23 pm    Post subject: Reply with quote

Может как-нибудь задокументирую к релизу.

VladSh wrote:
Только как теперь скрипты писать, с учётом того, что это у всех будет включено? Rolling Eyes Twisted Evil
Для скриптов и плагинов наличие/отсутствие данного параметра никакой роли играть не будет.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 2 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group