Страница 1 из 1

Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 01:31:27
Sharfik
На Delphi написал небольшой модуль с классом. Смысл в том, что в список передавались свойства которые мне надо и в виде компонентов редактирования отображались как инспектор объектов. Отображение, обработка изменений, кнопки вызова дополнительных редакторов и т.д. Все работало, не идеально, но работало долго. При переносе на Lazarus компилируемый результат оставил желать лучшего. Создаваемые компоненты, во время выполнения программы стали каким то чудом наслаиваться друг на друга и т.д. Пора переделывать временную нужду на что то серьезное видимо. Вот вопрос, как лучше сделать, есть три варианта:

1. Убрать в существующем модуле работу с созданием компонентов, переделать на рисование Canvas и отображение и создание редакторов полей только по запросу.
2. Сделать редактор свойств на основе VirtualTree
3. Еще как то, по типу примера из examples\objectinspector

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 01:35:24
zub
Юзаю вариант аналогичный 1 вполне доволен

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 01:58:27
Sharfik
Если ты про ZCAD, я думал ты как то из 3-го сделал 1й. А не сам с нуля все.

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 01:59:48
zub
Да, про него. Инспектор там полностью сделаный на коленке. В последних версиях добавил отрисовку графики в полях инспектора и кнопки вызова допредакторов

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 03:40:52
Sharfik
оффтоп: А русские пути файлов?)) :roll:
Гонял на той неделе какую то версию с генпланом dwg, плохо ему стало, не прочел. А dxf вариант нормально, только кажется шрифты были не читаемые.

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 09:55:52
zub
Русские пути файлов - куогда выйдет fpc 2.8 ))
ДВГ было в порядке спортивного развлечения - получилось расшифровать автодесковские препоны... сделал только импорт линий из двг2004 - дальше по мере необходимости, которой пока не предвидится.
Нечитаемые шриифты - скорее всего от версии dxf - надо было пробовать с dxf2000 - лучше всего поддерживается, в более поздних внутри все тексты лежат в utf8, а zcad расчитывает на анси

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 16:41:49
Sharfik
Поправь в диалоге фильтр расширений, чтобы кроме расширения была указана версия там, как в автокаде, тогда понятней будет, что ему подсовывать.

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 17:38:54
zub
Не, не буду, всетаки другие версии поддерживаются... хоть и недоделано, лучше забить на лень и доделать)) А про то что основной dxf2000 и так пишу везде

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 02.03.2014 23:24:12
Sharfik
zub писал(а):Не, не буду, всетаки другие версии поддерживаются... хоть и недоделано, лучше забить на лень и доделать)) А про то что основной dxf2000 и так пишу везде

Это в программе должно быть видно, перед открытием окна открытия документа, люди справку не читают. Идеально было бы два фильтра просто "dxf2000" и "dxf2004 и позже", если разницы кроме кодировки нет, то разница в раскодировании была бы.

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 03.03.2014 08:37:05
zub
Видно какая конкретно версия должно быть при сохранении, при открытии файлы ничем не отличаются - просто *.dxf. Вот добавить ругани в history можно, в случае выявление "недоподдерживаемой" версии

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 03.03.2014 21:51:08
Mirage
Sharfik писал(а):2. Сделать редактор свойств на основе VirtualTree


Я использовал этот вариант, т.к. свойств могло быть много (сотни) и умение сворачивать ветки очень кстати. Да и другие его умения. Классный компонент.

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 03.03.2014 21:58:59
zub
Первый вариант сворачиваемость не отменяет. Дело вкуса писать свое или юзать почти готовое

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 04.03.2014 11:59:58
Sharfik
zub писал(а):Первый вариант сворачиваемость не отменяет. Дело вкуса писать свое или юзать почти готовое

Не то что вкуса, а избавления себя от проблемы с переносимостью или проблемы с прорисовкой базы. В зависимости какие грабли приятнее.
К примеру в TurboDelphi нельзя подцепить компоненты внешние, TreeView руками создавал и настраивал, так же как свой PropertyList. При переносе кода в lazarus среда послала меня нафиг с TreeView, исходники его не работали до тех пор, пока не установил компонент как надо, бред там какой то.
Мой PropertyList нормально работает в Delphi, но Scrollbox на основе которого собран класс под лазарусом не прокручивается как надо, не работают ловушки скрола мыши.

Пойдешь налево в болоте утонешь, пойдешь направо время потеряешь, пойдешь прямо - на все забьешь.

Re: Нужна помощь по менеджеру свойств (Инспектору объектов)

СообщениеДобавлено: 04.03.2014 22:42:28
zub
Я компоненты не использую, т.к. не люблю пользовать дизайнера и пишу всего одну программу)) Инспектор у меня сделан на форме из соображений докабельности и юзает Scrollbox в составе TForm - в винде никаких проблем нет. Qt начал поддерживать скролл на форме всего несколько месяцев назад, тоже вроде без проблем. C gtk была проблема при скроле колесом мышки, слал багрепорт - на днях пофиксили. Такчто всё вроде ок со скролингом