У вас не стоит Flash Player
Настройки
#52774 - Thu Feb 28 2013 04:54 PM Список скриптов в управлении скриптами
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
По каждому скрипту в списке нужно видеть его параметры и иметь возможность сортировки\группировки по ним. Например так:


Отредактировано Gji (Thu Feb 28 2013 04:56 PM)

Наверх
#52776 - Thu Feb 28 2013 05:21 PM Re: Список скриптов в управлении скриптами [Re: Gji]
pasha Offline

old hand

Registered: Tue Dec 23 2008
Записи: 1085
Во-первых там не список, а дерево. Поэтому сортировать сложно, если только в списках листьев дерева, но это уже не так нужно.
Во-вторых, параметров много, а значит и места для отображения нужно много. На скриншотах целиком окно занято информацией только по одному скрипту, а надо примерно при таких размерах окна информацию по всем скриптам. Т.е. скриншоты в данном случае не совсем к месту.

Наверх
#52778 - Thu Feb 28 2013 05:34 PM Re: Список скриптов в управлении скриптами [Re: pasha]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
Ой, да ладно Вам. Как будто я не понимаю о чем пишу.
Вот, посмотрите скриншоты про Tree list и Grid Control
http://www.devexpress.com/Products/NET/Controls/WPF/controls.xml
Можно очень аккуратный и функциональный пользовательский интерфейс делать, было бы желание...

Наверх
#52784 - Thu Feb 28 2013 09:02 PM Re: Список скриптов в управлении скриптами [Re: Gji]
pasha Offline

old hand

Registered: Tue Dec 23 2008
Записи: 1085
Конечно хорошо ткуть на сайт либы и сказать, что все там есть.
Ничего нового я не увидел. Мы используем Telerik, но это неважно, там тоже есть подобные контролы. Но удобный дизайн это не значит просто "воткнуть" грид с 15 колонками и пусть пользователи скролируют вправо-влево. TreeListView в данном случае мало чем отличается. Опять же, что, в девэкпрессе в Tree list есть сортировка по колонкам, не затрагивая дерева?

Наверх
#52804 - Fri Mar 01 2013 03:31 PM Re: Список скриптов в управлении скриптами [Re: pasha]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
Есть (См. 2ую ссылку внизу).
Ладно, попробую чуть более детально написать.
Скриптов у меня много и еще больше различных версий этих скриптов. Версии отличаются зачастую только источниками, таймфремами или параметрами, или там одна для торговли, другая для наблюдения в лаборатории, третья для тестирования на склеенных данных. Также немало по сути одинаковх скриптов но с различными вариациями.

Когда скриптов много, то проблема поиска нужного возникает постоянно. Напрммер я помню, что примерно пару месяцев назад пытался реализовать некую идею в скрипте.
Тогда ничего стоящего не получилось, но сейчас меня "осенило" и я хочу вернуться к этой идее. Названия скрипта я конечно же уже не помню и вынужден перебирать их друг за другом. Т.е. открывать, ждать когда данные загрузятся и т.д. Если бы в списке скриптов показывались их характеистики и даты создания и последней модификации, то я бы просто отсортировал их по дате изменения и посмотрел бы только на те, которые подходят по характеристикам. Также было бы удобно отфильтровать только те скрипты, у которых в категории указаны (мной заранее написанные) некоторые теги, типа: дельта, ОИ, покупки, и т.п.

Теперь как такой интерфейс сделать. Вариантов на самом деле немало. Я сознательно не стал их расписывать, а сделал иллюстрацию возможного варианта. Вот еще варианты:
1. Тупо продублировать дерево скриптов еще и гридом с нужными столбцами. Путь к узлу дерева будет отдельным столбцом в гриде. Переключаться между деревом и гридом можно по спец. кнопке или по закладкам. Сортировка только в гриде.
2. Добавить к элементам дерева (сейчас это папки, скрипты, контейнеры) свойства (столбцы): дата создания, модификации, таймфрейм, и т.п. Для папок некоторые поля должны быть расчетными. Например дата изменения - это максимальная дата изменения дочернего элемента. В таком случае сортировка узлов дерева по этому столбцу будет тривиальным делом, а результаты приемлемы.
3. Реализовать построение дерева исходя из текущего порядка скриптов. Например, отсортировали скрипты по дате, перестраиваем дерево. Берем первый скрипт, создаем для него ветку узлов дерева, берем второй, если ветка та же, то добавляем в нее, если другая, то создаем и т.д. Узлы в таком случае могут повторяться, ничего страшного.
4. Показывать текущий путь в дереве папок (и только папок) в виде комбобокса над гридом (или деревом слева от грида). В гриде показываются все скрипты со свойствами из текущей папки, включая подпапки. Сортировка и фильтрация - гридовская.

Столбцы грида вполне могут быть сгруппированы в две-три строки, получится компактно. Кстати, видимость конкретных столбцов вполне можно и настраивать. Кому что надо видеть, тот то и отметит.

Теперь про характеристики (свойства) скриптов. Новые:
* дата создания - датавремя
* дата последней модификации - датавремя
* категория (лучше тэги) - строка, редактируемая
* описание - строка, редактируемая
Уже имеющиеся:
* Название - строка
* Таймфрейм (вместе со способом пересчета) - строка
* Параметры - строка
* Источники - строка


Повозиться конечно придется, но реализовать, например, 2 вариант - совсем нетрудно. Сделайте, результат Вам понравится.

Вот скрины подходящих примеров:
1
2
3

Черт, убил прорву времени... (

Наверх
#52805 - Fri Mar 01 2013 03:51 PM Re: Список скриптов в управлении скриптами [Re: Gji]
vito333 Offline
Pooh-Bah

Registered: Wed Oct 26 2011
Записи: 2108
Loc: botland
да уж, было бы идеально ...

Наверх
#52806 - Fri Mar 01 2013 04:05 PM Re: Список скриптов в управлении скриптами [Re: vito333]
ast Offline
addict

Registered: Tue Mar 23 2010
Записи: 415
хорошее предложение!
дерево, мне кажется, излишнее усложнение...
а вот таблица скриптов, в которой отображаются названные характиристики скриптов - была бы очень полезна!
плюс сортировка по столбцам - ну это прибавить совсем не сложно будет.

Наверх
#52808 - Fri Mar 01 2013 05:28 PM Re: Список скриптов в управлении скриптами [Re: ast]
pasha Offline

old hand

Registered: Tue Dec 23 2008
Записи: 1085
Спасибо за проделанную работу и за развернутое предложение. Мы обязательно обсудим их.
Из предложений мне больше понравилось 2, но с условием что колонок будет не так много. По моему убеждению, если пользователь вынужден при скролировании списка вниз еще скролировать вправо-влево, чтобы увидеть правые колонки, это плохой интерфейс.
Еще можно применить master-details layout http://screencast.com/t/b1m768is когда при клике в лист дерева справа показывается информация по скрипту. Это можно соединить с TreeListView, чтобы не перегружать колонками.
3 вариант лично мне не нравится. Это единственный вариант сортировки дерева, но от дерева остаются висящие в воздухе дублированные ветки. Я это видел в программах, это полная ерунда. Тогда уже лучше просто грид.
Тут встает вопрос, насколько вообще древовидная структура нужна. Мы полагали, что это хорошая абстрация для группировки скриптов. Насколько удобно работать с простым списком из 100 скриптов, пусть с дополнительными колонками? Это все равно что запихнуть все файлы скриптов в один каталог и потом в нем искать не открывая файлы, только по колонкам. Насколько тут помогут теги, строка описания? ведь тут как, если автор не поленился, записал что-то в теги и в описание, причем уникальное, то это поможет.
По характеристикам (свойства) скриптов:
по предложенным новым замечаний нет, согласен
по Параметры - строка - не совсем понял, строка может быть значительной длины, явно не для ячейки таблицы. Делать ячейку в несколько строк, значит увеличивать общую высоту грида/дерева, нужно будет больше скролировать.
Также тут сложности с тем что это вычисляемые значения, если одновременно открыты Управление скриптами и редактор скрипта, то при изменении скрипта нужно динамически обновить информацию в открытом окне(ах) Управление скриптами. Это не к тому чтобы сразу отказаться, а чтобы было понимание во что может вылится измение в интерфейсе.
В целом спасибо за конструктивные предложения. Мы знаем что Управление скриптами, как и управление агентами-сигналами требют переработки, но к сожалению ресурсов не хватает.

Наверх
#52809 - Fri Mar 01 2013 06:33 PM Re: Список скриптов в управлении скриптами [Re: pasha]
Gji Offline
member

Registered: Fri Apr 22 2011
Записи: 137
На мой взгляд, древовидная структура хорошо подходит для коллекции скриптов. Отказываться от нее не надо. Но одного названия скрипта в дереве недостаточно. Пусть в нем показываются еще и другие хар-ки скрипта.
Да, описание и другие крупные поля удобно показывать по типу мастер-детайл, под деревом или справа, это не существенно.
Если строка длинная или содержит переводы строк, то пусть в ячейке показывается столько сколько туда помещается, а целиком содержимое можно увидеть в инплейс-редакторе по щелчку на ячейке, по аналогии с редактированием блока "формула".
Обновление WPF элементов с помощью датабайндинга к объектам это просто. Нужно только правильно связать объекты. )

Наверх


Moderator:  ViL, sar