Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.28;
Скачать: CL | DM;

Вниз

«Интерфейс пользователя» → Инфоскроллер   Найти похожие ветки 

 
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)

Да ладно? Почему глупо? Вы не используете сторонние компоненты? Наверно авторы этих компонентов идиоты, раз полагали что кто-то будет их использовать. ;)



Страницы: 1 2 вся ветка

Текущий архив: 2009.06.28;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.012 c
15-1240413424
TCrash
2009-04-22 19:17
2009.06.28
Подскажите софтинку


2-1241592533
подмастерье
2009-05-06 10:48
2009.06.28
Не работает ComboBox1Change


2-1241790968
Гена
2009-05-08 17:56
2009.06.28
Нужно выполнить проверку DBGrid a


4-1212106372
San1712
2008-05-30 04:12
2009.06.28
Как произвести чтение/запись в определённый кластер ?


3-1222915555
Татьяна
2008-10-02 06:45
2009.06.28
Lookup поля в таблицах.