Страница 22 из 26

Re: Вопросы по исходному коду

СообщениеДобавлено: 09 дек 2016, 17:14
vdemidov
DJ VK писал(а):А в программе наоборот, класс геометрии мультиточки и нету класса геометрии точки.

Как нету? TGeometryLonLatPoint в том же файле.
А про TGeometryLonLatMultiPoint я забыл, но ее поддержки в базе все равно нет и метка с такой геометрией скорее всего просто потеряется. Оно для других целей там живет. А в метках не доделано.
Хотя могу ошибаться. Нужно проверять.

DJ VK писал(а):это я так понимаю если напрямую делать не используя TGeometryLonLatFactory

Но тогда,опять же, придется самому хеши считать. Так что проще с фабрикой.
DJ VK писал(а):TVectorItemSubsetBuilderFactory Create

Лучше получать уже готовый.

DJ VK писал(а):Это линейная структура. а как сделать разветвленную ?

А разветвленная делается при помощи TVectorItemTree. При создании он получается метки текущего уровня и все подуровни.

DJ VK писал(а):мне в итоге нужны отдельные подкатегории для каждого уровня иерархии.

Ну вот и создавайте TVectorItemTree для каждого узла каждого уровня.

Re: Вопросы по исходному коду

СообщениеДобавлено: 13 дек 2016, 14:36
DJ VK
геометрия geojson вроде уже должна парситься, проверить осталось только.
С деревом же пока ничего не получается.

1. куда засовывать название подкатегории (локальную папку метки)?

2. В примерах везде дерево создается одновременно с присваиванием уже готовых ветвей
Код: Выделить всё
VSubTree := TVectorItemTree.Create(
      AName,
      VFolder.FVectorDataItemsResultBuilder.MakeStaticAndClear,
      VFolder.FSubTree.MakeStaticAndClear
    );

А как сделать динамическое дерево? Мне надо постоянно проверять граф дерева и доращивать по мере надобности его ветви в нужных местах. И у меня предчувствие, что после MakeStaticAndClear еще можно дотянуться до отдельных веток-листьев и поменять им имя и описание, а вот структуру менять будет неправильно.
То есть как для TVectorItemTree сделать аналоги AddNode(AddObject) и AddChildNode(AddChildObject), вызываемые после Create.

Re: Вопросы по исходному коду

СообщениеДобавлено: 13 дек 2016, 15:00
vdemidov
DJ VK писал(а):1. куда засовывать название подкатегории (локальную папку метки)?

Код: Выделить всё
VSubTree := TVectorItemTree.Create(
AName,
VFolder.FVectorDataItemsResultBuilder.MakeStaticAndClear,
VFolder.FSubTree.MakeStaticAndClear
);

AName это и есть название подкатегории.
DJ VK писал(а):А как сделать динамическое дерево? Мне надо постоянно проверять граф дерева и доращивать по мере надобности его ветви в нужных местах. И у меня предчувствие, что после MakeStaticAndClear еще можно дотянуться до отдельных веток-листьев и поменять им имя и описание, а вот структуру менять будет неправильно.
То есть как для TVectorItemTree сделать аналоги AddNode(AddObject) и AddChildNode(AddChildObject), вызываемые после Create.

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

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 13:24
netsky
Доброго времени суток!

Есть пара вопросов.
1) Где прописаны имена датчиков отображаемые в панеле датчиков?
2) Где прописывается версия программы, которая отображается в заголовке окна?

Спасибо.

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 14:02
vdemidov
netsky писал(а):1) Где прописаны имена датчиков отображаемые в панеле датчиков?

В файле u_SensorListStuped.pas для каждого датчика создается TStringConfigDataElementWithDefByStringRec, которому передается соответствующая ресурсная строка.

netsky писал(а):2) Где прописывается версия программы, которая отображается в заголовке окна?

А зачем вам?

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 14:29
netsky
vdemidov писал(а):В файле u_SensorListStuped.pas для каждого датчика создается TStringConfigDataElementWithDefByStringRec, которому передается соответствующая ресурсная строка.

Нашёл только англ названия, а где русские?

vdemidov писал(а):А зачем вам?

Хочу собрать подпиленную под себя версию и не нравиться, что написано Custom -=Debug=- :D :roll:

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 14:36
vdemidov
netsky писал(а):Нашёл только англ названия, а где русские?

Как это ни странно, но в файле локализации. Po файлы живут в отдельном репозитории. Компилируются потом отдельным инструментом в mo
netsky писал(а):Хочу собрать подпиленную под себя версию и не нравиться, что написано Custom -=Debug=-

Все правильно написано. Это будет именно Custom сборка. А когда соберете в релиз, то пропадет Debug

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 14:48
netsky
vdemidov писал(а):Как это ни странно, но в файле локализации. Po файлы живут в отдельном репозитории. Компилируются потом отдельным инструментом в mo


Значит я правильно думал :D . Просто хотел "азимут" поменять на "курс". Так как-то более привычнее. Хотя в англ написано "Course".

netsky писал(а):Все правильно написано. Это будет именно Custom сборка. А когда соберете в релиз, то пропадет Debug


А мне не нужен релиз, хотелось бы оставить Custom, но без -=Debug=-. :roll:

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 15:46
vdemidov
netsky писал(а):А мне не нужен релиз, хотелось бы оставить Custom, но без -=Debug=-. :roll:

Ну, тогда ищите. Я сам не в курсе. Оно должно добавляться автоматически по наличию дефайна Debug

Re: Вопросы по исходному коду

СообщениеДобавлено: 30 май 2017, 18:23
netsky
vdemidov писал(а):Ну, тогда ищите. Я сам не в курсе. Оно должно добавляться автоматически по наличию дефайна Debug

Нашёл. В Src\System\u_BuildInfo.pas
Может кому пригодиться.