Раскраска в полях ввода подобно раскраске в редакторе

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

Как насчет того чтобы колорер умел раскрашивать кроме редакторов еще набранные тексты в редактируемых элементах диалогов?
элемент textbox технически вроде как представляет собой одну строку редактора?
если так, то его раскраска не потребует сверхусилий?

Вдобавок можно поднять вопрос с прочими нередактруемыи элементами диалога,
было бы здорово, но наверное (?) это будет сложнее и потому наверное пойдет в конец ТуДу списка.
Last edited by HaRT on Fri 18 Sep, 2020 07:02, edited 4 times in total.
Reason: Восстановлен Заголовок Темы
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by buniak_a_h »

Смотрите здесь. В этом форуме, действительно, уже всё было, только найти невозможно …
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by buniak_a_h »

И, кстати, это не так уж сложно реализовать штатными средствами. Например, на DN_DRAWDIALOGDONE повесить far.Text() нужного цвета. В PageControl-е я так прорисовываю разделитель таба и страницы - правда, без изменения цвета, но зато поверх диалогового элемента.
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

buniak_a_h, не сомневаюсь что было, но хотелось бы получить ответ от СтарМеха (colorer author) можно ли поручить Колореру делать раскраску
buniak_a_h wrote: Fri 18 Sep, 2020 06:27 Например, на DN_DRAWDIALOGDONE повесить far.Text() нужного цвета.
Да, надо бы это протестировать с раскраской, выглядит костыльно, программить сложно, пока сомневаюсь что будет работать гладко,
реализации же через Колорер принесет и юнификацию ожидаемого поведения, и прочие ништяки Колорера которые уже есть, возможно например MatchPair и да все что угодно что есть для редактора, и вроде как нет причин чтобы не было и для поля редактирования, и ком. строки.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
ctapmex
Posts: 1099
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 25 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by ctapmex »

citRiks, а как ты представляешь это ?
у тебя есть строка/массив строк. вызываешь api colorer, передавая туда этот массив и предполагаемый тип файла. В ответ получая что - массив цветов ?
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

здесь было по ошибке, перенесено сюда:
viewtopic.php?p=162291#p162291
Last edited by citRiks on Fri 18 Sep, 2020 08:41, edited 3 times in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
User avatar
ctapmex
Posts: 1099
Joined: Fri 11 Apr, 2008 07:53
Been thanked: 25 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by ctapmex »

в данной теме все начиналось с возможности подкраски элементов диалога. поэтому вопросы и были такими. а закончилось темой из соседних веток.
поэтому предлагаю определиться что хотим. для folding достаточно передавать номера скрытых строк. а для элементов диалога нужен текст
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

ctapmex, Извиняюсь, да, а ведь и верно, у меня смешались кони и люди,
но мы движемся в верном направлении, я сейчас проясню мыслю.
Если речь про подкраску в диалогах(/+CmdLine?), то да, получается что надо передавать и тип текста, что весьма правильно и полезно будет.
Ну допустим для начала пусть все такое однострочное (DI_EDIT, CmdLine) будет простым текстом для Колорера.
Но с возможностью делать там кустарные AddColor(..), как сейчас желающие могут делать в редакторе.
Last edited by citRiks on Fri 18 Sep, 2020 08:33, edited 2 times in total.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

Поправка к вышесказанному мною.
Я предполагаю так.
В полях ввода, изначально ничего никуда не предается, но Колорер их видит по собственной инициативе, считает их простым текстом.
Далее, через АПИ Колорера желательна возможность задать типа текста в этом конкретном поле ввода (наверное по DialogId и ElementD).
И полычаем pairs и раскраску, замечательно.
Далее, при желании, возможность делать на элементе диалога (поле ввода) АddCоlоr(..).
На этом вся думаю что многими желаемая функциональность достигается, создается база для дальнейших применений и улучшений.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

buniak_a_h wrote: Fri 18 Sep, 2020 12:47 1. Плагин, есессно, использует ediotor.AddColor. Так что определением экранных позиций заведует редактор
ну а в случае с элементом диалога, будет заведовать (браться инфа из) элемент диалога
как я уже где-то предполагал, елемент ДИ_ЕДИТ технически это строка редактора,
что упрощает перенос фунцкиональности Колорера на некотрые элементы диалога
buniak_a_h wrote: Fri 18 Sep, 2020 12:47 2. Вы опять смешали в кучу редактор и диалог. Диалог не умеет раскрашивать (кроме UserControl-я). Т.е. Ваше пожелание - не к тому адресовано. Для начала надо диалог переделать. Кардинально. И я сильно сомневаюсь, что этим будут заниматься.
Ну я собсна это и предложил - распространить Колорер на поля ввода :)
Ну не будет никто, значит не будет :)
А я пока попытаюсь донести мысль, тем более СтарМех у нас весьма активен и отзывчив к чужому горю.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
LAT
Posts: 326
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 19 times
Been thanked: 34 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by LAT »

citRiks wrote: Fri 18 Sep, 2020 13:33я собсна это и предложил - распространить Колорер на поля ввода
А зачем? Какие есть реальные задачи (перфекционизм не предлагать)? Стоит ли шкурка вычинки?
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

до меня только что дошло что AddColor() это функция не колорера, а редактора.
т.е. нужно не СтарМеха просить, а АПИ в фар добавить, типа dialog.AddColor(..)
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
citRiks
Posts: 899
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 274 times
Been thanked: 47 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by citRiks »

LAT,
Колорер нужен для лексически-семантического анализа, типа пары, скобки, кавычки.
Это есть и в однострочных вводах, тот же lua:<lua-code-here>, батчи всякие.
Ну и естесственно для самой визуализации этого анализа.
Далее, в диалогах нет разных цветов для одного элемента, кроме амперсанда &А,
а надо бы, например для выделения разных слов одной строки в меню,
например когда меню представяют собой результаты поиска слов/слова
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
buniak_a_h
Posts: 2129
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 131 times
Been thanked: 211 times
Contact:

Раскраска в полях ввода подобно раскраске в редакторе

Post by buniak_a_h »

citRiks wrote: Mon 21 Sep, 2020 12:57 до меня только что дошло что AddColor() это функция не колорера, а редактора.
Я так и предположил. Потому и написал не только имя, но "полный путь" editor.AddColor. Теперь не могу найти, где это было.
LAT
Posts: 326
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 19 times
Been thanked: 34 times

Раскраска в полях ввода подобно раскраске в редакторе

Post by LAT »

citRiks wrote: Mon 21 Sep, 2020 13:05LAT,
Колорер нужен для лексически-семантического анализа, типа пары, скобки, кавычки.
Это есть и в однострочных вводах, тот же lua:<lua-code-here>, батчи всякие.
Ну и естесственно для самой визуализации этого анализа.
Далее, в диалогах нет разных цветов для одного элемента, кроме амперсанда &А,
а надо бы, например для выделения разных слов одной строки в меню,
например когда меню представяют собой результаты поиска слов/слова
Я знаю, зачем используется колорер. Просто не совсем понятно, что это за диалоги, в которых нужен сложный анализ. Теоретически, да, возможны всякие батчи, поиски каких-то выражений, вставки луа-кода... Но так как в одну строку много не впихнёшь, действительно ли там так часто так сложно, что нужен колорер в полях ввода... Ну а откуда появились в разговоре о полях ввода меню - вообще не понял.
ЗЫ. Я не против, если колорер будет прикручен к диалогам, меню, командной строке. Просто не будет ли это из пушки по воробьям?
Post Reply

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