Пример #1
0
 public void Remove(THandle handle)
 {
     if (HandleMap.TryGetValue(handle, out TMappedType item))
     {
         HandleMap.Remove(handle);
         DisposeItem(item);
     }
 }
Пример #2
0
 public LayerTreeNode(LayerData data, UIntPtr handle, HandleMap handleMap)
 {
     Visible     = data.Visible;
     Freeze      = data.Freeze;
     Render      = data.Render;
     Box         = data.Box;
     WasExpanded = data.Expanded;
     Handle      = handle;
     HandleMap   = handleMap;
     handleMap.AddTreeNode(handle, this);
 }
Пример #3
0
 public NodeController(NlmTreeListView listView)
 {
     MaxEvents      = new MaxEventEngine(listView, this);
     HandleMap      = new HandleMap();
     Query          = new NodeQueryEngine(listView);
     Create         = new NodeCreateEngine(listView, HandleMap);
     Destroy        = new NodeDeleteEngine(listView, Query, HandleMap);
     CollapseExpand = new NodeCollapseExpandEngine(listView, Query);
     Parent         = new NodeParentEngine(listView);
     DragDrop       = new NodeDragDropEngine(listView, Parent, MaxEvents);
 }
Пример #4
0
        public TMappedType GetOrCreateItem(THandle handle, Action <THandle> foundHandleRelease = default)
        {
            if (HandleMap.TryGetValue(handle, out TMappedType retVal))
            {
                foundHandleRelease?.Invoke(handle);
                return(retVal);
            }

            retVal = ItemFactory(handle);
            HandleMap.Add(handle, retVal);

            return(retVal);
        }
Пример #5
0
        /// <summary>
        /// Wywołanie metody, która rysuje na mapie trase (Routing)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async Task GetDirections()
        {
            if (IsRouteDisplayed)
            {
                return;
            }
            else
            {
                await HandleMap.GetRoute(MyPin.Location, DestinationPin.Location, "AkighsMVKBS9_moe1f5jUMph7JzLnYAcKhUCpiz5UwutaaQW7iCmQNMmKnomLqJ9", mainMap);
            }


            IsRouteDisplayed = true;
        }
Пример #6
0
        public TMappedType GetOrCreateItem(THandle handle, Action <THandle>?foundHandleRelease = null)
        {
            handle.ValidateNotDefault(nameof(handle));

            if (HandleMap.TryGetValue(handle, out TMappedType retVal))
            {
                foundHandleRelease?.Invoke(handle);
                return(retVal);
            }

            retVal = ItemFactory(handle);
            HandleMap.Add(handle, retVal);

            return(retVal);
        }
Пример #7
0
        public LayerData(LayerTreeNode treeNode, NlmTreeListView listView, HandleMap handleMap)
        {
            ParentIDs = new List <Guid>();

            // Node Properties
            ID = treeNode.ID;
            if (treeNode.Parent == null)
            {
                ParentIDs.Add(new Guid());
            }
            else
            {
                ParentIDs.Add(treeNode.Parent.ID);
            }

            foreach (LayerTreeNode instanceParent in handleMap.GetTreeNodesByHandle(treeNode.Handle))
            {
                if (instanceParent != treeNode)
                {
                    if (instanceParent.Parent == null)
                    {
                        ParentIDs.Add(new Guid());
                    }
                    else
                    {
                        ParentIDs.Add(instanceParent.Parent.ID);
                    }
                }
            }

            // Column Properties
            Visible  = treeNode.Visible;
            Freeze   = treeNode.Freeze;
            Render   = treeNode.Render;
            Box      = treeNode.Box;
            Expanded = listView.IsExpanded(treeNode);
        }
Пример #8
0
 public void Clear( )
 {
     DisposeItems(HandleMap.Values);
     HandleMap.Clear( );
 }
Пример #9
0
        public static void SaveLayerData(IEnumerable <LayerTreeNode> treeNodes, NlmTreeListView owner, HandleMap handleMap)
        {
            foreach (LayerTreeNode treeNode in treeNodes)
            {
                // Saving layer data is comprised of two sections.
                IAnimatable layerAnim = MaxAnimatable.GetAnimByHandle(treeNode.Handle);
                if (layerAnim != null)
                {
                    // 1. Saving the layer data itself
                    LayerData layerData = new LayerData(treeNode, owner, handleMap);
                    SetAppData(layerAnim, DataAddress.LayerData, layerData);

                    // 2. Saving all folder parents of the layer, in case it is merged and the data is needed.
                    SaveParentFolderData(treeNode, layerAnim, owner);
                }
            }
        }
Пример #10
0
 public ObjectTreeNode(ObjectClass objClass, UIntPtr handle, HandleMap handleMap)
 {
     Class  = objClass;
     Handle = handle;
     handleMap.AddTreeNode(handle, this);
 }
Пример #11
0
 public bool FindCharacteristicByHandle(ushort handle, out BlePeripheralCharacteristic characteristic)
 {
     return(HandleMap.TryGetValue(handle, out characteristic));
 }
Пример #12
0
 public NodeCreateEngine(NlmTreeListView listView, HandleMap handleMap)
 {
     ListView  = listView;
     HandleMap = handleMap;
 }
Пример #13
0
 public LayerTreeNode(UIntPtr handle, HandleMap handleMap)
 {
     Handle    = handle;
     HandleMap = handleMap;
     handleMap.AddTreeNode(handle, this);
 }
Пример #14
0
 public NodeDeleteEngine(NlmTreeListView listView, NodeQueryEngine nodeQuery, HandleMap handleMap)
 {
     ListView  = listView;
     NodeQuery = nodeQuery;
     HandleMap = handleMap;
 }