Форум: "Прочее";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];
Вниз«Интерфейс пользователя» → Инфоскроллер Найти похожие ветки
← →
Kolan © (2009-04-16 22:21) [0]
*Пост в рамках не существующей конференции «Интерфейс пользователя».*
В этот раз говорить, в основном, буде не я. У меня пока плохо получается. :)
Стандартный скроллбар занимает часть окна, причем место это пропадает зря,
там можно что-нибудь отобразить. Инфоскроллер — это обычный cкроллбар на
котором размешена дополнительная информация.
Более подробное описание и пример смотрите на сайте Артёма Горбунова
(http://www.artgorbunov.ru/bb/ui/infoscroller/).
С того момента как я прочел про инфоскроллер я хотел реализовать эту идею,
но на Делфи так и не получилось. Руки такие... :)
Получилось только на haXe в одном из недавно сделанных проектов
(http://www.ksoftware.ru/wiki/ksino), но нам ведь это не интересно :)
----
Прошу уважаемых комментаторов поделится идеями создания (а может
и готовыми решениями) инфоскроллера на Делфи. Хорошо бы, чтобы решение
было простым, работало на скроле любого компонента и легко
адаптировалась под конкретную задачу. Решение, думаю, должно быть таким,
чтобы инфоскроллером мог воспользоваться каждый Дельфи программист.
← →
Игорь Шевченко © (2009-04-16 22:27) [1]Сделать можно и на Delphi, только один вопрос - а зачем ?
← →
Kolan © (2009-04-16 22:32) [2]
> А зачем?
Игорь, иногда, в редких случаях, хорошо обдумав, все взвесив его бывает полезно использовать, да и места пропадающего жалко...
И вот в эти самые моменты я не знаю как это реализовать.
← →
Rouse_ © (2009-04-16 22:34) [3]Достаточно интересная идея, но мы с Jack128 развили такую 3 с половиной года назад в одном коммерческом проекте - достаточно успешно получилось. Главная идея - необходимо уйти от мелкого размера скроллера - сам по себе он не функционален, как показала практика после тестирования на фокус-группах, поэтому не стоит столь сильно обращать внимание на приведенную по ссылкам демонстрацию.
← →
Andy BitOff © (2009-04-16 22:38) [4]> Kolan © (16.04.09 22:21) [0]
У меня в IDE D7 почти такой, не с картинками, но там выводится инфа по ошибка, поиску, закладкам и т.п. Castalia его создает.
← →
Игорь Шевченко © (2009-04-16 22:39) [5]
> Игорь, иногда, в редких случаях, хорошо обдумав, все взвесив
> его бывает полезно использовать, да и места пропадающего
> жалко...
> И вот в эти самые моменты я не знаю как это реализовать.
>
пропадающее место хорошо использовать под полезный контент, а не под звоночки и свисточки.
А говоря проще - в Ms Office есть ? В Open Office есть ? Нету - значит нафиг не надо среднему пользователю, платить не будет и напрягаться не стоит.
← →
Kolan © (2009-04-16 22:39) [6]Rouse_, пожалуйста, покажите скрины. Если некуда выложить, пришлите мне на почту (kolan@ksoftware.ru).
← →
@!!ex © (2009-04-16 22:42) [7]Смысла нет уже.
В первую очередь потому, что сейчас огромные разрешения, у многих не один монитор.. места свободного выше крыши, нет смысла превращать функциональный элемент в кашу.
По первой ссылке - такой инфоскорллер перестает быть функциональным на больших документах.. а на маленьких структуру и так видно.
← →
Kolan © (2009-04-16 22:45) [8]Еще примеры инфоскроллов
http://www.artgorbunov.ru/bb/soviet/20070920/
← →
Kolan © (2009-04-16 22:48) [9]@!!ex, в каждом конкретном случае, конечно, надо думать как его применить (если вообще стоит), но не имея тех. возможности можно думать сколько угодно.
КСИНО, про которую я говорил в [0], сделана на флеше по сути, там инфоскролл я просто нарисовал. А как в Делфи — не знаю.
← →
Rouse_ © (2009-04-16 22:49) [10]Скрины могу в понедельник выложить, впрочем могу собрать демку...
Общая идея какова:
Превью на скролле может дать пользователю просто некую визуализацию запрашиваемого текста.
У нас есть всего 20 пикселей при многостраничном (более 200 страниц) документе
Так зачем зажимать глаза пользователя и пытаться впихнуть эту визуализацию в 20 пикселей, если при подведении мышки к скролу можно выдвинуть в стороне от скрола некую превью-панель на которой будут видны ближайшие 4-8 страниц? Естественно оформить ее красиво и добавить некий экшен по клику на самом превью...
← →
Kolan © (2009-04-16 22:51) [11]Rouse_, и то и то, если можно :)
Идея с превью, имхо, другая. Инфоскролл тем и хорош, что его можно окинуть взглядом не делая ничего другого. Он показывает примерное место, которое может заинтересовать.
← →
Rouse_ © (2009-04-16 22:53) [12]
> Инфоскролл тем и хорош, что его можно окинуть взглядом не
> делая ничего другого.
Согласен, но только в том случае когда обьем документа не велик
← →
Kolan © (2009-04-16 22:55) [13]Rouse_, ну спорить не буду, это бесполезно без конкретики.
Все-таки очень бы хотелось заострить внимание на реализации для Делфи, должны же быть не ленивые мастера :)
← →
Игорь Шевченко © (2009-04-16 23:03) [14]Вот в Visual Diff-ах всяких может и оправдано, а для остального остается вопрос - нафига ?
Rouse_ © (16.04.09 22:49) [10]
> Так зачем зажимать глаза пользователя и пытаться впихнуть
> эту визуализацию в 20 пикселей, если при подведении мышки
> к скролу можно выдвинуть в стороне от скрола некую превью-
> панель на которой будут видны ближайшие 4-8 страниц? Естественно
> оформить ее красиво и добавить некий экшен по клику на самом
> превью...
А может проще как в Adobe Reader-е сделать ? Они с документами всяко плотнее работают...
← →
Rouse_ © (2009-04-16 23:05) [15]
> А может проще как в Adobe Reader-е сделать ? Они с документами
> всяко плотнее работают...
Я бы не сказал :)
← →
Игорь Шевченко © (2009-04-16 23:07) [16]Rouse_ © (16.04.09 23:05) [15]
Ну я твоего не видел, ничего сказать не могу. Но в том самом Reader-е по многстраничным документам навигация довольно удобная
← →
Игорь Шевченко © (2009-04-16 23:12) [17]Кстати, я может секрет открою, но для работы с многостраничными документами еще до компьютеров и инфосколлеров придумали оглавление.
← →
Германн © (2009-04-17 00:45) [18]
> Игорь Шевченко © (16.04.09 23:12) [17]
>
> Кстати, я может секрет открою, но для работы с многостраничными
> документами еще до компьютеров и инфосколлеров придумали
> оглавление.
Вот кстати. Раньше datasheets в pdf-формате были практически без оглавлений. Я так к этому привык, что новые подобные документы с оглавлением мне жутко не понравились, ибо оглавление уменьшило ширину самого документа. А теперь настолько к нему привык, что раздражает уже отсутствие оглавления!
← →
Noctis (2009-04-17 08:41) [19]Удалено модератором
← →
Kolan © (2009-04-17 09:43) [20]
> для работы с многостраничными
> документами еще до компьютеров и инфосколлеров придумали
> оглавление.
Оглавление плохо тем, что оно разделено с содержанием во времени. Можно либо смотреть оглавление либо читать книгу.
← →
Ega23 © (2009-04-17 10:08) [21]
> Можно либо смотреть оглавление либо читать книгу.
Можно его открыть в боковой панели и наступит щщастье.
← →
Kolan © (2009-04-17 10:12) [22]Ega23, в бумажной книге нельзя, к сожалению. :)
← →
Ega23 © (2009-04-17 10:27) [23]
> Ega23, в бумажной книге нельзя, к сожалению. :)
Бумажную книгу в мониторе читать вообще неудобно.
Да и выглядеть это будет несколько экстравагантно.
← →
b z (2009-04-17 10:38) [24]
> Ms Office есть ?
В ворде есть, правда не такой как в [0], а на мой взгляд более удобный.
← →
sniknik © (2009-04-17 10:41) [25]> Ega23, в бумажной книге нельзя, к сожалению. :)
зато инфо скролбар в нее вставить раз плюнуть конечно...
← →
@!!ex © (2009-04-17 10:44) [26]> [25] sniknik © (17.04.09 10:41)
Вы не ходили на вотрую ссылку. там типа инструкция в подобном виде реализована(бумажная).
← →
Anatoly Podgoretsky © (2009-04-17 11:38) [27]> Kolan (17.04.2009 10:12:22) [22]
А мы про бумажные книги говорим?
← →
Anatoly Podgoretsky © (2009-04-17 11:40) [28]> b z (17.04.2009 10:38:24) [24]
В Ворде есть два интерфейса
1. боковая панель
2. web like интерфейс, который позволяет перейти к оглавлению, а с него сразу на субъект. Этим я пользуюсь чаще.
← →
Kolan © (2009-04-17 15:53) [29]Ладно, модифицирую вопрос. Есть ли у кого идеи как реализовать достаточно универсальный и удобный инфоскроллер (такой о котором я говорил в [0])?
Игорь, вот ты бы как бы решал такую задачу?
← →
Игорь Шевченко © (2009-04-17 16:35) [30]
> Игорь, вот ты бы как бы решал такую задачу?
В первую очередь задался бы целесообразностью
← →
@!!ex © (2009-04-17 16:45) [31]> [29] Kolan © (17.04.09 15:53)
Про унивресальность забудь.
Понятно, что сам скроллер не может расставить метки, потому что просто не знает как анализировать данные.
Отсюда вывод:
делаем ему свойство Labels:array of TShape
ГдеTShape = class
protected
Position:TRect;
PenColor:TColor;
BrushColor:TColor;
public
Procedure Draw(DC:HDC); virtual; abstract;
end;
TShapeRect = class(TShape)
protected
public
Constructor Create(Position:TRect);
Procedure Draw(DC:HDC); override;
end;
И так далее.
Объект использующий инфоскроллер парсит данные и на их основе добавляет Shape в Labels. После чего вызывает функцию UpdateLabels, которая отрисовывает все шейпы на TBitMap, который в свою очередь используется в качестве фона для скроллера.
← →
Kolan © (2009-04-17 16:45) [32]Хорошо, задался. Теперь дальше (в техническом смысле)?
← →
@!!ex © (2009-04-17 16:48) [33]Хотелось бы отметить, что для удобства было бы не плохо сделать возможность использовать несколько Labels в рамках одного скроллера и переключаться между ними по мере необходимости.
Это удобно, если данные могут быть представлены в нескольких видах.
Пример:
Данные - набор строк с числами.
На инфоскроллере мы можем выделять самые большие числа, или построить график по числам или еще что-то.
← →
Kolan © (2009-04-17 16:49) [34]@!!ex, это я имел в виду, когда говорил об универсальности. То есть хочется, как-то давать инфоскроллу данные пригодные для отрисовки,тот кто эти данные подготавливает, пусть и думает о том, чтобы они имели смысл.
> TBitMap, который в свою очередь используется в качестве
> фона для скроллера
А как подсунуть битмап в качестве поля.
← →
@!!ex © (2009-04-17 16:51) [35]> [34] Kolan © (17.04.09 16:49)
Виндовому? вероятно никак. Свой писать.
← →
Kolan © (2009-04-17 16:56) [36]@!!ex, тогда как сделать так, чтобы можно было засунуть свой во все компоненты со скролом?
Типа хочешь стандартный — ничего не делай, хочешь инфо- — сделай то-то...
← →
@!!ex © (2009-04-17 16:58) [37]> [36] Kolan © (17.04.09 16:56)
Без изменения сорсов - никак. Попробовать наследовать и перекрыть стандартный скроллбар... Но я понятия не имею как это делать..
Сделать и надеятсья, что будущие компоненто писатели захоят использовать в своих разработках.
← →
Kolan © (2009-04-17 17:03) [38]Фразу надо дополнить:
Сделать и надеяться, что будущие компоненто-писатели захотят использовать в своих разработках довольно глупо.
Получается, что в Дельфи такое не сделаешь? Что скажут остальные? Выходит можно сделать только какое-то одноразовое решение, так?
← →
Игорь Шевченко © (2009-04-17 17:13) [39]
> Получается, что в Дельфи такое не сделаешь?
Сделаешь. Только надо ли ?
← →
@!!ex © (2009-04-17 17:15) [40]> [38] Kolan © (17.04.09 17:03)
Да ладно? Почему глупо? Вы не используете сторонние компоненты? Наверно авторы этих компонентов идиоты, раз полагали что кто-то будет их использовать. ;)
← →
Kolan © (2009-04-17 17:16) [41]*Думает...*
— Надо! :)
Намекни, как?
← →
clickmaker © (2009-04-17 17:24) [42]гугли по словам ownerdraw scrollbar
← →
@!!ex © (2009-04-17 17:25) [43]> [39] Игорь Шевченко © (17.04.09 17:13)
На самом деле надо. Приходилось реализовывать инфоскроллеры для некоторых задач. Помойму выделение блоков в тексте - это глупо, но вообще инфоскроллеры часто сильно упрощают жизнь там, где они действительно нужны.
← →
Игорь Шевченко © (2009-04-17 17:34) [44]@!!ex © (17.04.09 17:25) [43]
> Приходилось реализовывать инфоскроллеры для некоторых задач
Я вот не могу представить, где они могут быть нужны и зачем
← →
Игорь Шевченко © (2009-04-17 17:35) [45]
> Намекни, как?
компонент написать
← →
@!!ex © (2009-04-17 17:43) [46]> [44] Игорь Шевченко © (17.04.09 17:34)
http://sol-online.org/content/infoscroll.png
Часть проекта над которым работаю последжние полгода.
Раскадровка ролика на движке игры.
Ввыводится информация о поведении объекта в течении всего времени сюжета.
В данном конкретном случае - камеры.
← →
Игорь Шевченко © (2009-04-17 17:46) [47]@!!ex © (17.04.09 17:43) [46]
> Раскадровка ролика на движке игры.
> Ввыводится информация о поведении объекта в течении всего
> времени сюжета.
> В данном конкретном случае - камеры.
Пример увидел, но это не то!
Двигая ползунок ты же не прокручиваешь основное окно.
← →
@!!ex © (2009-04-17 17:50) [48]> [47] Игорь Шевченко © (17.04.09 17:46)
Прокручиваешь. Все объекты двигаются по заданным траекториям. правда не в основном окне, а в окне просмотра...
В принципе согласен, что это ОЧЕНЬ частная реализация, но всеже это скролл с информацией. О котором идет речь, и он очень уместен. Обычный скролл в разы неудобней. Да даже не неудобней, а без такой реализации вообще работать нормально нельзя.. наощупь только...
← →
Игорь Шевченко © (2009-04-17 17:56) [49]@!!ex © (17.04.09 17:50) [48]
> В принципе согласен, что это ОЧЕНЬ частная реализация, но
> всеже это скролл с информацией. О котором идет речь, и он
> очень уместен. Обычный скролл в разы неудобней
никто не мешает в твоем случае, как мне кажется, поместить чуть ниже полоски с покадровым положением камеры (я верно понял ?) обычный скроллбар/трекбар и связать его с основным окном. Сдается мне, в твоем случае то, что рекламируется в этой ветке будет не удобно, так как ползунок будет заслонять положение камеры, а оно вроде как является информативным.
Впрочем, я опять же могу пороть чушь, не зная задачи, но потребность высказаться ощущаю.
← →
@!!ex © (2009-04-17 18:01) [50]2.5 мегабайта.
http://sol-online.org/content/infoscroll.mp4
Не вижу на данном примере отличий от классического скролинга.
← →
@!!ex © (2009-04-17 18:03) [51]> [49] Игорь Шевченко © (17.04.09 17:56)
Ну так ведь не обязательно чтобы ползунок перекрывал информацию?
Сделать возможность поля вывода информации ббольше чем сам ползунок(как в моем случае).
Суть то все равно сводится к тому, что на полях скрола выводится доп инфа.
ПРидумать адекватной задачи, которая была бы удобно решаема с помощью классического скрола с доп. инфой я пока не могу, но ИМХО сама возможность такого вывода информации не лишняя.
← →
Игорь Шевченко © (2009-04-17 18:22) [52]@!!ex © (17.04.09 18:01) [50]
> http://sol-online.org/content/infoscroll.mp4
посмотрел. По-моему, нормально сделано. И скроллбар вообще ни в каком виде не нужен. У тебя же не скроллирование окна происходит, а позиционирование в игрушке. В этом и разница.
В том, что предлагается в теме, кроме звонков и свисточков к обычному процессу прокрутки окна ничего не добавляется. Если в примерах (лень мне номера постов смотреть) убрать фон со скроллбара, то окно будет точно также прокручиваться.
А в проигрывателях медиа и в твоем примере смысл немножко другой, там прокручивается не окно, а контент, поэтому заменить скроллбаром твое творчество просто не получится. В твоем случае надо просто доработанный ползунок (трекбар). Это все-таки разные контролы, скроллбар и трекбар.
← →
@!!ex © (2009-04-17 20:30) [53]> [52] Игорь Шевченко © (17.04.09 18:22)
Согласен. Тут я не прав. Моя разработка действительно значительно ближе к TrackBar"у чем к Скроллу...
← →
TUser © (2009-04-17 22:24) [54]
> Игорь Шевченко © (16.04.09 22:27) [1]
>
> Сделать можно и на Delphi, только один вопрос - а зачем
> ?
полезно, если документ имеет четкие "виидмые метки": таблица, графики
в остальных случаях проще букмарки, как у адоб ридера, имхо
← →
Игорь Шевченко © (2009-04-17 22:28) [55]TUser © (17.04.09 22:24) [54]
> полезно, если документ имеет четкие "виидмые метки": таблица,
> графики
Мне трудно представить пользователя, который открывая многостраничный незнакомый или полузнакомый документ и видя полосу, где в виде, ну допустим, иконок, отображены таблицы, графики и текст, начнет его скроллировать с целью посмотреть - а что это там нарисовано ? (вариант - натабличено).
То есть, как бы в начале неплохо бы содержание представлять, а двигаться сразу к таблицам или графикам вроде бессмысленно.
← →
TUser © (2009-04-18 08:17) [56]Пользователь работает с этим документом, и помнит, что где-то у него таблица. Ему надо быстро передвинуть бегунок туда.
← →
@!!ex © (2009-04-18 08:53) [57]> [55] Игорь Шевченко © (17.04.09 22:28)
Это скорее актуально для документов которые уже знаешь. Для быстрого перехода к области на которую нет оглавления, по меткам можно быстро найти.
← →
Anatoly Podgoretsky © (2009-04-18 09:14) [58]> @!!ex (18.04.2009 8:53:57) [57]
Работали мы с Инфоскроллером - гадость большая, и чем больше и однотоннее документ, тем большая гадость. Даже для Инфоскроллером с номерами страниц.
← →
KSergey © (2009-04-21 14:41) [59]Я все это время прикидывал про этот инфоскроллер и понял: фигня. Очередной дезигнерский фельдебобер.
Т.е. подано, конечно, красиво. Грамотные дизигнеры это умеют, это их основная работа - идеи свои красиво подавать. Но только на конкретном (сильно конкретном!) примере. Т.е. документ короткий и явно неоднородный, причем куски неоднородности очень так удачо подобраны, красиво вышло.
Что же нас ждет в действительности? Документы - как правило - весьма однородны. Да еще и велики по объему. Выходит толку от этго инфостроллера - ровно ноль. Нифига он не "инфо" выйдет в реальности.
Пример с чатом - да, хорош, показателен. Но и тут аналогичные по отображаемой информации полоски рядом с обычным скроллером - много лучше и вот чем: клики мыши на полосе прокрутки - они специфические: если по ползунку - то его тащить надо, если выше/ниже ползунка - то надо на страницу вверх/вниз листать.
А вот полоса рядом - по ней кликнул - и позиционирует тут же на место клика. Страшно удобно! (мой любимый AraxisMerge, например) Cо скроллером такого не выйдет. Ну разве что располагать метка/картинки на области скроллера и "инфополосе" для расширения области отображения с одной стороны и красоты дизайнерского изыска с другой? Ну так тоже не ново в обещм-то.
Короче: красиво поданый дизайнерский фельдебобер. В чистом виде. Хотя элементы перенять можно.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.006 c