Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Zahar Kiselev                        2:5030/382.1   14 Dec 2002  01:22:46
 To : Andrew V. Fionik
 Subject : Хаааачууууу  нормальную IDE под Linux!!!
 -------------------------------------------------------------------------------- 
 
 
 Dec 13 23:38 02, Andrew V. Fionik wrote to Igor Zakhrebetkov:
 
  IZ>> Чем уж так TAB не угодил, хотя, если не нравится,то всегда можно
  IZ>> переопределить на почему то любимый народом ENTER.
  AVF> А вот не так-то просто это делается. CLX базируется на Qt, а там
  AVF> используется именно TAB. Когда мне пришлось убирать TAB и заменять 
  AVF> его на Enter, так изматерился. В основном на тех кто потребовал это. 
 
 А чего на них материться, если производительность операторов напрямую зависит от
 количества нажимаемых кнопок?
 
  AVF> Им там в TrollTech видимо и в голову не могло прийти что в то время 
  AVF> когда весь мир стремится к стандартизации, кому-то вынь да положь 
  AVF> переход по Enter'у. Если нужно получать не "стандартный интерфейс",
  AVF> В Kylix связка CLX/Qt заточена именно под создание Windows-like 
  AVF> интерфейса.
 
 Только не надо смешивать виндоподобный интерфейс и стандартизацию.
 Это очень напоминает советскую армию, где господствовал принцип "пусть
 безобразно, но единообразно". 
 Вполне естественно, что если оператор оставляет какое-то поле ввода пустым или
 со значением по умолчанию, то он подтверждает это нажатием клавиши ввода(enter).
 И так же очевидно, что курсор (или как его еще называют "фокус ввода") должен
 при этом устанавливаться на следующее поле ввода, не требуя для этого нажимать
 какие-то еще клавиши(тот же любимый виндами tab).
 Если же на экране много полей ввода, а заполнить нужно немногие из них, то также
 логичным может быть перемещение к нужному полю ввода наиболее быстрым путем при 
 помощи клавиш-стрелок, а не последовательным перебором всех полей
 при помощи tab или enter. 
 Самое главное - что все это было сделано и удобно работало, в частности в
 отечественных учетно-бухгалтерских программах, куда нередко вводились сотни
 документов за смену. Так вот хочется и в Линуксе всего лишь иметь привычные
 удобства. Почему сверхсовременные модные интерфейсные библиотеки не позволяют
 свободно переназначать реакцию на клавиши - мне никак не понять. Старые средства
 умели, а новые - вот вдруг разучились. По-моему это говорит только об их
 недоделанности. Так этот факт надо признать и по возможности устранять, а не
 пытаться подвести теоретическую базу под _отсутствие_ нужной пользователям
 возможности.
 Была у меня одна интерфейсная библиотека, которую фирма Analog Devices
 использовала при создании эмуляторов своих DSP еще до распространения виндов.
 Там обработка клавиатуры была сделана способом, позволяющим по _любой_ клавише 
 делать _что_угодно_ с окнами и меню на экране. 
 Каждое окно и каждое меню - это был отдельный объект(не в смысле синтаксиса С++,
 а в логическом смысле, "плюсовый" синтаксис там не использовался).
 Путем вызова спецаильной функции ему можно было посылать сообщения из заранее
 определенного списка, по которым он что-то там делал - перемещал курсор, выбирал
 пункты, возвращал состояние и так далее. После инициализации всего этого
 хозяйства в программе запускался цикл обработки внешних событий, которыми могли 
 быть нажатия клавиш на клавиатуре, перемещения мыши и даже получаемые через
 специальную аппаратуру сигналы об изменении состояния отладочной платы-эмулятора
 DSP. Проанализировав полученное событие, программист мог послать нужные
 сообщения объектам, описывающим пользовательский экран и на этом экране что-то
 там менялось. Конечно, программирование требовало определенной внимательности
 чтобы ничего важного из внешних событий не забыть и правильно предусмотреть
 реакцию программы. 
 Я на этом писал и не скажу, чтобы это было особо сложно, во всяком случае в
 досе. Был предусмотрен и менее гибкий, но более простой вариант написания
 интерфейса - можно было не выписывать всю обработку событий, а воспользоваться
 одним из нескольких готовых обработчиков(на выбор), просто подсунув ему
 указатели на свои функции, которые должны вызываться допустим при выборе тех или
 иных пунктов меню. При этом можно было еще и указать некоторые клавиши как
 "исключительные", при нажатии которых обработчик передавал управление в
 пользовательскую функцию - это было удобно например для вызова подсказки по F1
 из любого состояния меню или формы ввода. Hо при этом терялась возможность
 выполнять произвольные действия с экраном по нажатию произвольных клавиш.
 Хотя можно было заранее написать свой обработчик и использовать его в таком
 режиме - тогда естественно и умолчания будут свои, но полной свободы управления 
 опять не будет.
 А теперь самое интересное - библиотека та была из двух половин - одна (верхняя) 
 отвечала за вышеописанную функциональность, а другая (нижняя) реализовывала ее
 на символьно-ориентированном терминале. К сожалению, у меня не хватает
 квалификации чтобы разобраться в двух мегах сишного кода(не потому что сложно, а
 потому что для меня _много_) и попробовать заменить нижнюю "текстовую" часть на 
 "графическую". А ведь получилось бы неплохое средство создания интерфейсов для
 простых программ, ориентированых в большей степени на обработку вводимой с
 клавиатуры символьной информации.
 
 Zahar(@spbdept.rbc.ru)
 
 --- Msged/LNX 6.1.0
  * Origin: Остров Большой Березовый: http://birch-island.spb.ru (2:5030/382.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Хаааачууууу нормальную IDE под Linux!!!   Andrew V. Fionik   14 Dec 2002 00:38:48 
 Хаааачууууу нормальную IDE под Linux!!!   Zahar Kiselev   14 Dec 2002 01:22:46 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Dmitri I GOULIAEV   14 Dec 2002 03:38:43 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Zahar Kiselev   14 Dec 2002 05:04:02 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Alexei Dets   14 Dec 2002 19:05:33 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Zahar Kiselev   15 Dec 2002 03:26:08 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Leonid B. Toker   15 Dec 2002 17:26:54 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Maksim Pozdeyev   16 Dec 2002 12:57:58 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Dmitri I GOULIAEV   15 Dec 2002 02:13:04 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Zahar Kiselev   15 Dec 2002 05:45:52 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Dmitri I GOULIAEV   15 Dec 2002 15:10:50 
 Хаааачууууу нормальну ю IDE под Linux!!!   Svyatoslav Abramenkov   14 Dec 2002 11:03:57 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Dmitri I GOULIAEV   15 Dec 2002 02:13:05 
 Re: Хаааачууууу нормальну ю IDE под Linux!!!   Zahar Kiselev   15 Dec 2002 05:49:06 
 Хаааачууууу нормальну ю IDE под Linux!!!   Dmitrij Volkov   15 Dec 2002 13:18:58 
 Re: Wnat cool IDE for Linux.   Aleksey Cheusov   18 Dec 2002 16:58:10 
 Re: Хаааачууууу нормальную IDE под Linux!!!   Anton Kovalenko   14 Dec 2002 05:54:47 
 Re: Хаааачууууу нормальную IDE под Linux!!!   Zahar Kiselev   14 Dec 2002 14:33:02 
 Re: Хаааачууууу нормальную IDE под Linux!!!   Anton Kovalenko   15 Dec 2002 14:02:28 
 Хаааачууууу нормальную IDE под Linux!!!   Vickenty Fesunov   17 Dec 2002 00:40:03 
 Re: Хаааачууууу нормальную IDE под Linux!!!   Vladimir Bormotov   18 Dec 2002 23:34:13 
 [JT] usability   Valentin Nechayev   14 Dec 2002 13:19:34 
 [JT] usability   Zahar Kiselev   15 Dec 2002 02:44:00 
 Re: [JT] usability   Anton Kovalenko   15 Dec 2002 13:55:15 
 Хаааачууууу нормальную IDE под Linux!!!   Dmitrij Volkov   15 Dec 2002 22:37:53 
Архивное /ru.linux/32883dfa8453.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional