Metody pro práci s legendou

Legenda je tvořena stromovou strukturou. Legend může být ve stromové struktuře libovolně mnoho. Každá legenda může obsahovat hladiny a další podlegendy. Každá hladina má přiřazený typ entity, to znamená, že pro každý typ entity musíme vytvořit zvláštní hladinu v legendě. Pokud budeme chtít přiřadit entitu jiného typu, nebude entita do hladiny přiřazena.

Legendy a hladiny tvoří položky stromové struktury. Každá položka má jednoznačný vnější identifikátor Id a jednoznačný vnitřní identifikátor Item. Id zůstává po dobu existence dané položky neustále stejný. Item se při použití operací, které ovládají pořadí, vypínání, zapínání a rozbalování položek, může měnit. Z důvodu rychlosti přístupu k položkám používají funkce vnitřní identifikátor. Item získáme z Id pomocí LTGetItemID a Id z item pomocí LTGetItemHandle. Id a u hladiny i typ přiřadíme položkám při jejich vytváření. Legendu vytvoříme metodou LTCreateLegend a hladinu LTCreateLayer. Chceme-li změnit Id, jedinou možností je legendu nebo hladinu zrušit pomocí LTRemoveItem nebo LTDeleteAllItems a znovu ji vytvořit.

Pro průchod stromovou strukturou jsou přístupné metody LTGetRootItem, LTGetLastItem, LTGetChildItem, LTGetParentItem, LTGetNextItem, LTGetPrevItem, LTGetNextSiblingItem, LTGetPrevSiblingItem, LTMoveItem. Všechny pracují s vnitřním identifikátorem.

Dále BasMap nabízí metody pro zjišťování a nastavování různých atributů. Pro typ položky LTGetItemType, pro název LTGetItemName a LTSetItemName, pro atribut vykreslování LTGetItemIsDraw a LTSetItemIsDraw, pro počet legend a hladin v seznamu LTGetNumberOfLegends a LTGetNumberOfLayers. Důležité jsou také metody pro nastavení vizuálních vlastností entit přiřazených legendě LTChangeLayerProperty a LTGetLayerProperty.

Do legendy je možné také přiřadit jednotlivé entity. K tomuto účelu slouží metody LTAddEntity, LTRemoveEntity, LTRemoveAllEntities, LTRemoveMap a LTGetNumberOfEntities.

Legenda slouží také pro výběry. K tomuto účelu musí ve stromové struktuře ke každému typu entity existovat právě jedna hladina, která je označena jako výběrová. Do těchto hladin se vkládají entity vybrané myší a metodou VectSelect. Výběrové hladiny nemusí ležet v jedné legendě a nelze je zrušit. Výběr lze přesměrovat do libovolné existující hladiny pomocí metody LTSelectLayer a item hladiny, do které je směrován výběr, získáme pomocí LTGetSelectedLayer.

Dále existují speciální metody pro spolupráci s komponentami MapTree a LegendaTree. Metoda SetLegTree ustaví spojení mezi komponentami a BasMap si musí pamatovat stav vizuálního objektu z důvodu synchronizace. Pamatuje si atributy zda je prvek aktivní (LTSelectItem, LTGetSelectedItem) a zda je podstrom rozbalený (LTExpandItem, LTGetItemIsExpanded).

Seznam metod