Табличный редактор свойств

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Табличный редактор свойств

Сообщение DJ VK » 24 июн 2016, 14:56

Предлагаю создать тему, которой не раз касались уже.
Есть уже готовые компоненты, или надо их делать с своими доработками на основе уже готовых, - вопрос вторичный.
Для начала предлагаю обсудить саму концепцию.

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

Если заполнение значений отдельных параметров, как правило, реализуется через внешние обработчики, то само создание списка параметров может быть двояким:
1) В компонент встравается список на основе TCollection. Все параметры с их описанием создаются в design-time.
+ Не слишком, но удобнее отлаживать.
- Не слишком стабильная надстройка над и так не слишком стабильными vcl компонентами, как Вы понимаете, работу ничуть не облегчит. Низкая совместимость для быстрого переноса кода, если не используется динамическое создание).
2) Свойства создаются в run-time.
+ Полная свобода действия. Меньше или совсем не требуется доработок компонентов. Возможно динамическое создание формы (Не требуется иметь визуальный фрейм).
- Необходим постоянный перезапуск для проверки и нудная подборка высоты строки каждого параметра.
3) некий гибрид. Все обращения к параметрам обрамлены внешними обработчиками, поэтому они существуют лишь виртуально у пользователя за пределами комонента, и подставляются в обработчики через набор case INDEX of.

В результате использования этого редакторы мы приходим к тому что форма вырождается
а) сначала в набор закладок с совершенно однотипными внешне таблицами, отличающимися только работой,
б) а затем в набор кнопок (или современный бар) и одну динамически перестраиваемую в зависимости от режима таблицу.
Соответственно не требуется больше вложенная иерархическая структура из нескольких уровней фреймов. :!:

Соответственно предлагаю высказать свои мысли и оценить соотношение затраты усилий / результат.
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

Re: Табличный редактор свойств

Сообщение vdemidov » 24 июн 2016, 15:09

Я не буду возражать против любых изменений в окне настроек при условии, что тот кто их будет делать, будет разгребать ошибки и замечания, которые возникнут.

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

У меня давно уже есть мечта сделать конфиги создаваемыми при помощи кодогенерации - например cog на питоне сделанный, хорош тем, что код генерации и результат в одном файле живут. Тогда можно будет и интерфейс генерировать до компиляции.

В общем ИМХО пока проще ГУЙ для настроек просто рисовать вручную - не так уж там много этих настроек.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: Табличный редактор свойств

Сообщение DJ VK » 24 июн 2016, 15:36

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


Ну если совсем мечтать, то я бы хотел перевести интерфейс на любимые TMS Component Pack. Но увы они не open source, а вести параллельную ветвь для альтернативного gui - для меня слишком затратно по усилиям. Может быть если как нибудь одну версию перевести - Нормальные тулбары, таблицы и поддержка всех цветовых офисных схем (больше 20 шт) одним кликом просто радуют глаз.
Вот одна из работ:
http://savepic.ru/10246306.png

Впрочем если переделывать GUI основательно - а чем плох FMX? От того момента, как мы переведем в него форму за формой, до появления желающих помочь адаптировать планету под макбук и андроид пройдет не так уж и много лет.
Кодовое название кросплатформенного проекта SAS.NEXT.(С)
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

Re: Табличный редактор свойств

Сообщение vdemidov » 24 июн 2016, 15:47

DJ VK писал(а):Ну если совсем мечтать, то я бы хотел перевести интерфейс на любимые TMS Component Pack. Но увы они не open source, а вести параллельную ветвь для альтернативного gui - для меня слишком затратно по усилиям. Может быть если как нибудь одну версию перевести - Нормальные тулбары, таблицы и поддержка всех цветовых офисных схем (больше 20 шт) одним кликом просто радуют глаз.

Если разработчики этих компонентов подарят нам лицензию, то можно будет, а до тех пор увы никак.

DJ VK писал(а):Впрочем если переделывать GUI основательно - а чем плох FMX? От того момента, как мы переведем в него форму за формой, до появления желающих помочь адаптировать планету под макбук и андроид пройдет не так уж и много лет.

Ну, движемся к этому хоть и медленно. Скоро откажемся от поддержки D2007. Я все больше склоняюсь к отказу сразу после релиза. Потом добавим поддержку свежей делфи. А там видно будет. Хотя под мак бук шансов запустить не много - дофига разных dll используется.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: Табличный редактор свойств

Сообщение DJ VK » 24 июн 2016, 15:54

vdemidov писал(а):А там видно будет. Хотя под мак бук шансов запустить не много - дофига разных dll используется.

Ну полной совместимости всех библиотек не будет. Лишь совместимые с ОС форматы хранения кэша. Ну а работа с векторными полигонами и датчиками вся уже есть в FMX. Скачка и др. операции под андроидом тоже мало полезны. Тут скорее речь идет о создании программы просмотра скачанных планетой карт и навигации по ним на любой платформе.
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

Re: Табличный редактор свойств

Сообщение vdemidov » 24 июн 2016, 16:01

Так я не возражаю. Я и так делаю все что в моих силах, что бы отделить backend от GUI и используемых контролов. Просто работы, которую нужно сделать хотя бы для перехода на FMX вместо VCL на порядок больше чем у меня есть времени. А еще я не люблю заниматься гуем вообще и дизайном в частности. Вот и получается, что пока нет перспектив такого перехода.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: Табличный редактор свойств

Сообщение zed » 24 июн 2016, 16:02

Не нужен нам FMX и другие платформы. Это будет равносильно переписыванию всей программы, а профита я вообще не вижу.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Табличный редактор свойств

Сообщение DJ VK » 02 июл 2016, 00:48

Потестировал несколько табличек с поддержкой inplace editor-ов. Увы у всех бесплатных один большой минус - редактор виден только в процессе редактирования конкретной ячейки. Из небесплатных Tms поддерживает отрисовку редакторов всегда и при неактивности рисует фиктивные кнопки комбобоксов, спинэдитов итд. Вот из моего проекта картинка в инете была - на заднем плане внизу - редактор свойств на основе TMS:
Изображение
Если интересно, могу написать обзор разных компонентов таблиц (в первую очередь бесплатных).
Последний раз редактировалось DJ VK 02 июл 2016, 12:33, всего редактировалось 3 раз(а).
Аватара пользователя
DJ VK
Гуру
 
Сообщения: 1467
Зарегистрирован: 16 апр 2009, 13:57
Откуда: 8 км. от МКАД
Благодарил (а): 82 раз.
Поблагодарили: 298 раз.

Re: Табличный редактор свойств

Сообщение garl » 02 июл 2016, 10:38

а в каких пределах они платны?
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1621
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 96 раз.
Поблагодарили: 241 раз.

Re: Табличный редактор свойств

Сообщение zed » 02 июл 2016, 11:07

Мы можем использовать только те, что опенсорсные.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

След.

Вернуться в Раздел для разработчиков программы SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2