Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1240547895
123-ий
2009-04-24 08:38
2009.06.28
Клиент для IP-телефонии


11-1203187158
andreil
2008-02-16 21:39
2009.06.28
Правильное отображение рисунков в ЛистБоксе


2-1241585670
lewka
2009-05-06 08:54
2009.06.28
Работа с сылками в TWebBrowser


4-1211954383
TForumHelp
2008-05-28 09:59
2009.06.28
Навигация по MainMenu чужого приложения


15-1239784299
Kolan
2009-04-15 12:31
2009.06.28
«Интерфейс пользователя» → Сетка в таблицах





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский