Category: искусство

работа, кошка

Об интуитивно понятных интерфейсах

Для своих программ, где надо строить графики давно уже пользуюсь компонентом wxPlotCtrl и всё меня в нём устраивало кроме одного - при его относительно неплохом управлении с клавы, мышой оно не управлялось практически никак. Сегодня мне это таки надоело и я полез прикручивать перетаскивание полотна мышкой отличным от скроллбара методом. Сделать это я хотел снаружи, не трогая сырцы компонента, но нужно было понять к каким эвентам удобнее цепляться для этого. В процессе изучения этого вопроса выяснилось, что вообще-то таскание мышью там уже есть! Просто всего-то навсего надо одновременно зажать на клаве Ctrl+Alt+Shift и тогда можно с зажатой ЛКМ... На другие комбинации этих кнопок назначен ещё зум рамкой и выделение объектов.
Я, вообще-то, в силу своей специальности и рода деятельности работал с множеством различных CAD`ов и графических программ, в том числе и с 3D, и повидал не мало "удобных и интуитивно-понятных" интерфейсов, и успел привыкнуть, что каждый программо-строитель стремиться придумать новый способ взаимодействия с холстом (ага, как будто все старые уже запатентованы; кстати, по этому поводу уже давно хочу себе 3D-мышку, которая призвана хоть немного этот зоопарк унифицировать). Но ТАКОГО я ещё не видел.
В общем, я долго чесал репу, на тему что курил автор, потом понял - он ориентировался на маки, у которых на мыше всего одна кнопка и та левая... Это объясняет почему все функции повешены на левую кнопку мыши. Ответ на второй вопрос - почему именно Ctrl+Alt+Shift для перетаскивания - для меня пока остаётся загадкой.