GUI-демо

Как вы, возможно знаете, одна из важных частей системы — интерфейс, позволяющий пользователям работать с системой. Вот небольшое демо, пример работы нашей GUI-библиотеки, разрабатываемой для «Alternativa Platform».

GUI-демо

Размер: 0,56 Мб

Основные особенности:

  • быстрый и удобный в реализации механизм построения оконных интерфейсов;
  • работают «горячие клавиши», поддерживается переход по табуляции;
  • поддерживаются «скины», с лёгким переключением между ними (включая курсор);
  • быстрый компоновщик, полный контроль за содержимым окон;
  • все прочие базовые функции оконного интерфейса (snap, drag’n’drop, resize и т.п.);
  • возможность безболезненной доработки и расширения функционала.

GUI-демо: 35 комментариев

  1. Когда таскаешь панель с выбором курсора не знаешь точно прилипнет она к стороне что тебе надо или нет (надо как то еще до МаусАп как то показать где будет панель). Ну и пару курсоров добавить, а то опять таки на ощупь тыкаешь, чтобы изменить размер окна. А так все норм!!!

  2. Куча нелогичностей и глюков.
    Как разработчик говорю прямо — дурью маетесь. Хотя как менеджер, я придерживаюсь несколько другого мнения — визуальную составляющую продавать проще, так что можно и побаловаться иногда.

    В общем — первый блин комом. Через пару-тойку лет разработчику будет стыдно за этот интерфейс, но с другой стороны, это необходимый этап взросления.

  3. enternet, согласен, что есть и глюки и неудобности — работа продолжается.

    К сожалению, быстрой и качественной реализации GUI на флэше нет. Flex не отвечает требованиям ни по удобству/расширяемости, ни уж тем более по скорости работы. Есть несколько библиотек от разных разработчиков, но там, как правило функционал очень беден. Поэтому и с точки зрения девелопера и с точки зрения мэнеджера вариант у нас был один.

    Буду рад, если вы перечислите хотя бы несколько моментов, которые вам не понравились и, возможно, варианты их исправления.

    Мне уже через пол-года стыдно, что там в 3D-движке понаписано. Но, как вы верно заметили, это необходимый этап.

  4. 1. С ходу не понравились полосы прокрутки. Невозможно понять в каком месте находимся. На первый взгляд нужно поменять расцветку скроллера и расцветкой фона местами. Хотя может лучше просто цвета поконтрастней выбрать.
    2. Есть глюки с табуляцией. В части работы с группой.
    3. Неочевиден механизм скрытия/раскрытия группы. Должно быть по нажатию на заголовок группы, а не по нажатию на стрелку.
    4. Фокус на чекбоксах, в радиогруппе, на заголовке группы незаметен. Не жалейте места, пусть весь текст обнимает.
    5. Перетаскивание окон не учитывает окно «Смена курсора». Чем оно такое особенное? Почему его контур или содержимое при перетаскивании не отображается?
    6. В деме нет самых главных объектов — поля ввода, дерева и таблицы. Изображения на командных кнопках не нужны. «Управление скинованием» построено неправильно — невозможно понять текущий режим.
    Типа так. Что сразу в глаза кидается. Успехов.

  5. Радио Бутоны должны переключаться стрелками вверх вниз
    Панель справа самая неудобная деталь — не перемещается как надо, да и в кнопки с первого раза фиг попадешь.

  6. выравнивание впечатлило, это что каждому элементу можно назначить ? расскажыте в двух словах как это ?

    1 Окошки
    — глубины у окошек это же легко
    — свернуть-развернуть закрыть…
    — при перетаскивании кэшируете как битмап?
    — хинты чото ездиют за мышом (по мне так больше нравится когда на месте где появились стоят)
    — можно добавить прозрачность при перетаскивании
    — эффекты надо бы анимацыи , тенюшки , фэйды
    — при смене скина чото прыгают на несколько пикселей все элементы
    2 скролл дествительно не важный
    — при нажатии на полосу прокрутки ожидаем что ползунок передвинется туда
    — при нажатии на стрелку перепрыгнуть а не при релизе
    — при удерживании стрелки скролим дальше
    3 пока нет
    — таких важных штук как инпуты, текстовые поля,
    — а модальные окошки, всякие там промты конфирмы алерты, это ж основа вроде
    — меню? какоенить меню надо

  7. Спасибо неравнодушным за критику.
    Хотелось бы просто пояснить выборочно некоторые моменты.
    Итак, последовательно, по поступлению…
    «Необходима возможность масштабирования контролов, считаю — очень мелко все» — возможность масштабирования любых GUI объектов уже доступна благодаря скинованию. Минимальный размер объекта можно задать размерами кусочков скина.

    «Когда таскаешь панель с выбором курсора не знаешь точно прилипнет она к стороне что тебе надо или нет» — уже сделано. Почти сразу после выхода демки. Надо понимать, что многие продемонстрированные «достижения» находятся на стадии разработки и являются тестовыми.

    «Перетаскивание окон не учитывает окно “Смена курсора”. Чем оно такое особенное?» — окно «Смена курсора» является панелью и не перетаскивается привычным для окон способом. Доступна смена выравнивания этой и любой другой панели с помощью драга и последующего дропа. И, как сказано выше, уже сделан, но не вошёл в демку механизм смены выранивания панели ещё до отпускания мыши.

    «В деме нет самых главных объектов — поля ввода, дерева и таблицы.» — полям ввода будет возможно посвящена отдельная демка. Целью этой демки не было показать всё и сразу. Деревья пока не радуют быстродействием и поэтому так же не вошли в демо. До таблиц пока дело не дошло, но как только будет что-то стоящее — конечно же будет показ.

    «выравнивание впечатлило, это что каждому элементу можно назначить ?» — некоторые элементы имеют внутреннее выравнивание, но на более высоком уровне (в каждом контейнере) этим занимается менеджер компоновки. В дальнейшем таких компоновщиков будет написано больше, и способы расположения объектов будут совершенно разными, но пока разные варианты могут быть достигнуты комбинациями вложения контейнеров с линейными компоновщиками.

    «при смене скина чото прыгают на несколько пикселей все элементы» — каждый скин имеет кроме графики объектов и чисто цифровые параметры, например, отступы. Именно из за смены отступов в окне и других параметров компоновщики перестроили элементы в окне.

    «а модальные окошки, всякие там промты конфирмы алерты, это ж основа вроде» — уже есть, но в этой демке не было цели показать их.

  8. 1. Стандартная ошибка: на всех «таскаемых» элементах (скролл, слайдер, перемещение окон и т.п.), если начать его перетаскивать и фокус с флешки теряется (переключиться по Alt-Tab или окно аськи всплывает), то элемент не получает MouseUp и продолжает таскаться, даже при отпущенной кнопке мыши.
    2. Бэкграунд окошек растягивается под его размер, выглядит некрасиво, имхо, лучше фон делать заливкой текстурой.
    3. При переключении на другое приложение и возврате к флешке, курсор мыши становится системным и меняется на ваш, только после перемещения мышки.
    4. На скроллбарах надо сделать автоматическое перемещение при нажатии и удержании стрелки.

  9. Два бага:
    1) Окно можно утащить за экран и потерять его там. Подведите окно к краю и потом заресайзьте его за экран.
    2) При смене скина меняется высота размера контента из-за ободков, но не размер окна. При первом реальном использовании и поддержке multi-language всё заглючит, надо вызывать функцию ресайза окна после пересчёта высоты контента.

  10. скорость загрузки и работы — отстой полный.
    ладно если грузится долго — для киосков некритично, допустим. но учитывая аццкую скорость флеша… ну его нафик

  11. zwitter, не знаю на какой машине вы смотрели демо, но на Celeron 600 все показывается не медленнее чем тот же «виндовый» GUI. По скорости загрузки если учесть два набора скина, шрифты, иконки, то, я думаю, очень даже неплохо (по сравнению с тем же флексом). Например, скины для WinAmp весят минимум 100Кб.

    Расскажите, пожалуйста, что конкретно «отстой полный»? Спасибо.

  12. Димус, сам GUI-движок весит считанные килобайты. Всё остальное — графика скинов, шрифты, иконки и фотография.
    В зависимости от сложности и «крупности» скина, будет меняться и его размер.
    Размер шрифтов также зависит от количества и сложности глифов.

    Грубо говоря, если убрать из этой демки шрифты (использовать системные), убрать один из скинов, иконки и фотку, то размер будет в районе 80Кб.

    Т.к. скины и шрифты подгружаются отдельно, это даёт хорошие возможности кэширования (нет необходимости заново загружать в случае изменения самой GUI-библиотеки) и реиспользования (одни и те же скины могут использоваться в различных проектах платформы).

  13. Я так рад, что обнаружил Ваш косяк)
    При прикреплении окна курсоров к верхней части окна, окно выбора цветовой гаммы прыгает вниз на высоту курсорного окна.
    В случае если прикрепить окно выбора цветовой гаммы обратно к верхней кромке и перетащить окно выбора курсоров обратно на старое место, то окно выбора цветовой гаммы переместиться вверх на бывшую высоту окна выбора курсоров и тем самым улезет вверх и его уже не достать, только ножки будут и видны.

  14. Дизайн здесь — далеко не первое дело, главное функциональность, а она тут выполнена просто великолепно, за исключением маленькой детали — как тут уже указали, если утащить окошко за экран, то можно его навсегда потерять. А в остальном всё великолепно))

  15. Хехехехехехехехе
    простите — Г*О
    вы же пользуете флекс так почему бы не перелапатить flexmdi (http://code.google.com/p/flexmdi/) вот это и то лучше работает http://studyblondy.narod.ru/
    ЧТО ЗА ПРЕМИТИВИЗМ!!! ктомуже например для AIR окна ваобще ненужны надо ток скин нормальный нарисовать!!!)

  16. Мы не используем Flex (под страхом немедленного увольнения с позором ;)
    Перелопачивать чужой код тем более не собираемся.
    Хотите секс с извращениями — пожалте самостоятельно, без нашего участия.
    Чем лучше работает StudyBlondy я так и не понял, но пример неплохой.

    > ЧТО ЗА ПРЕМИТИВИЗМ!!!
    Мы как нибудь примитивно и эффективно доедем :)

  17. не используем Flex (под страхом немедленного увольнения с позором ;) ? а public class FlexBitmap в бункере откуда взялся?
    почему? это же… нелогично? FD неочень удобен для того чтобы MXML писать а именно он наиболее неуязвия.

    Я имел ввиду окна. их накладывание друг на друга. ну вот например в StudyBlondy они при активации накладываются а у вас как в http://por-bajin.narod.ru/ (год назад сделал на АС2) нет, ток после максимайза.(((

  18. makc, сорри за тупой вопос, но где в вашем исходнике эмбед картинки?
    А то не удобно очень — качаешь исходники альтернативы, а там повсюду emabed и естественно flash ругается на это дело и не компилится. Как нибудь бы этого избежать, чтобы норм смотреть исходники, не юзая flex.

Добавить комментарий