Форум: "Прочее";
Текущий архив: 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)
Да ладно? Почему глупо? Вы не используете сторонние компоненты? Наверно авторы этих компонентов идиоты, раз полагали что кто-то будет их использовать. ;)
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.006 c