/// <summary>
        /// Selects the given node.
        /// </summary>
        /// <param name="node">The node to select.</param>
        public async Task SelectNode(TreeNode <TItem> node)
        {
            if (AllowSelection)
            {
                // end edit mode
                if (SelectedNode != null)
                {
                    await CommitEdit().ConfigureAwait(true);
                }

                // select new node
                if (SelectedNode != node)
                {
                    if (SelectedNode != null)
                    {
                        SelectedNode.IsSelected = false;
                    }
                    SelectedNode            = node;
                    SelectedNode.IsSelected = true;

                    // ensure all parent nodes are expanded
                    var parentNode = SelectedNode.ParentNode;
                    while (parentNode != null)
                    {
                        parentNode.IsExpanded = true;
                        parentNode            = parentNode.ParentNode;
                    }

                    // notify of change
                    await SelectionChange.InvokeAsync(SelectedNode).ConfigureAwait(true);

                    StateHasChanged();
                }
            }
        }
Пример #2
0
 private void HandleSelection()
 {
     if (m_setting)
     {
         return;
     }
     SelectionChange?.Invoke(this, new EventArgs());
 }
Пример #3
0
 private void PdfViewerControl1_SelectionChanged(object sender, SelectionChange selectionChange, int selectionIndex)
 {
     // Store selection changes
     if (selectionChange != SelectionChange.Cleared)
     {
         _foundTextRectangles[pdfViewerControl1.CurrentPageIndex] = pdfViewerControl1.SelectionInPoints;
     }
 }
Пример #4
0
 private void pdfViewerControl1_SelectionChanged(object sender, SelectionChange selectionChange, int selectionIndex)
 {
     if (pdfViewerControl1.Selection.Length > _labels.Count)
     {
         for (int i = _labels.Count; i < pdfViewerControl1.Selection.Length; i++)
         {
             _labels.Add(new Random().Next().ToString());
         }
     }
 }
        public void SetSelectionTo(SceneEntity entity)
        {
            if (!Gizmo.GetSelectionPool().Contains(entity))
            {
                return;
            }

            Gizmo.Selection.Clear();
            Gizmo.Selection.Add(entity);
            SelectionChange?.Invoke();
        }
Пример #6
0
        private void dgvMain_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.RowIndex > -1 && e.Button == MouseButtons.Right && dgvMain.SelectedRows.Count < 2)
            {
                m_setting = true;
                dgvMain.ClearSelection();
                dgvMain.Rows[e.RowIndex].Selected          = true;
                dgvMain.Rows[e.RowIndex].Cells[0].Selected = true;

                SelectionChange?.Invoke(this, new EventArgs());
                m_setting = false;
            }
        }
Пример #7
0
        private void MakeSingleSelection(ListBoxItem listItem)
        {
            if (ItemsControlFromItemContainer(listItem) == this)
            {
                ItemInfo info = ItemInfoFromContainer(listItem);

                SelectionChange.SelectJustThisItem(info, true /* assumeInItemsCollection */);

                listItem.Focus();

                UpdateAnchorAndActionItem(info);
            }
        }
Пример #8
0
        internal void NotifyComboBoxItemMouseUp(ComboBoxItem comboBoxItem)
        {
            object item = ItemContainerGenerator.ItemFromContainer(comboBoxItem);

            if (item != null && item != DependencyProperty.UnsetValue)
            {
                SelectionChange.SelectJustThisItem(NewItemInfo(item, comboBoxItem), true /* assumeInItemsCollection */);
            }

            if (IsDropDownOpen)
            {
                IsDropDownOpen = false;
            }
        }
Пример #9
0
        public ComponentTypeListView(TreeViewState state, out MultiColumnHeaderState headerState, SelectionChange <ComponentType, object> selectionChange, Func <World> worldChanged) : base(state, BuilMultiColumnHeader(out headerState))
        {
            selectionChanged  = selectionChange;
            this.worldChanged = worldChanged;

            foreach (var type in TypeManager.AllTypes())
            {
                if (type.Type == typeof(Entity))
                {
                    continue;
                }
                var typeIndex     = TypeManager.GetTypeIndex(type.Type);
                var componentType = ComponentType.FromTypeIndex(typeIndex);
                if (componentType.GetManagedType() == null)
                {
                    continue;
                }

                //Currently IsZeroSized is broken and returns true for both SharedComponents and SystemStateSharedComponents //Case #1086719 @
                if (componentType.IsZeroSized())
                {
                    //Debug.Log($"{componentType} : {componentType.IsSharedComponent} : {componentType.IsSystemStateComponent} : {componentType.IsSystemStateSharedComponent} : {componentType.IsZeroSized} : {componentType.BufferCapacity}");
                    Objects.Add(componentType, null);
                }
                else
                {
                    var obj = Activator.CreateInstance(type.Type, true);
                    Objects.Add(componentType, obj);
                    if (componentType.IsSharedComponent || componentType.IsSystemStateSharedComponent)
                    {
                        foreach (var fieldInfo in obj.GetType().GetFields().Where(f => f.FieldType.IsClass))
                        {
                            //if(fieldInfo.FieldType != typeof(Material))
                            if (fieldInfo.FieldType.GetConstructor(Type.EmptyTypes) != null)
                            {
                                var value = Activator.CreateInstance(fieldInfo.FieldType);
                                fieldInfo.SetValue(obj, value);
                            }
                        }
                    }
                }
            }
        }
Пример #10
0
 private void OnSelectionChange()
 {
     SelectionChange?.Invoke(this);
 }
Пример #11
0
 private void TeklaObject_SelectionChange()
 {
     SelectionChange?.Invoke();
 }
Пример #12
0
        private void MakeAnchorSelection(ListBoxItem actionItem, bool clearCurrent)
        {
            ItemInfo anchorInfo = AnchorItemInternal;

            if (anchorInfo == null)
            {
                if (_selectedItems.Count > 0)
                {
                    // If we haven't set the anchor, then just use the last selected item
                    AnchorItemInternal = _selectedItems[_selectedItems.Count - 1];
                }
                else
                {
                    // There was nothing selected, so take the first child element
                    AnchorItemInternal = NewItemInfo(Items[0], null, 0);
                }

                if ((anchorInfo = AnchorItemInternal) == null)
                {
                    // Can't do anything
                    return;
                }
            }

            // Find the indexes of the elements
            int start, end;

            start = ElementIndex(actionItem);
            end   = AnchorItemInternal.Index;

            // Ensure start is before end
            if (start > end)
            {
                int index = start;

                start = end;
                end   = index;
            }

            bool beganSelectionChange = false;

            if (!SelectionChange.IsActive)
            {
                beganSelectionChange = true;
                SelectionChange.Begin();
            }
            try
            {
                if (clearCurrent)
                {
                    // Unselect items not within the selection range
                    for (int index = 0; index < _selectedItems.Count; index++)
                    {
                        ItemInfo info      = _selectedItems[index];
                        int      itemIndex = info.Index;

                        if ((itemIndex < start) || (end < itemIndex))
                        {
                            SelectionChange.Unselect(info);
                        }
                    }
                }

                // Select the children in the selection range
                IEnumerator enumerator = ((IEnumerable)Items).GetEnumerator();
                for (int index = 0; index <= end; index++)
                {
                    enumerator.MoveNext();
                    if (index >= start)
                    {
                        SelectionChange.Select(NewItemInfo(enumerator.Current, null, index), true /* assumeInItemsCollection */);
                    }
                }

                IDisposable d = enumerator as IDisposable;
                if (d != null)
                {
                    d.Dispose();
                }
            }
            finally
            {
                if (beganSelectionChange)
                {
                    SelectionChange.End();
                }
            }

            LastActionItem = actionItem;
            GC.KeepAlive(anchorInfo);
        }
        private void UpdateGizmo()
        {
            // update camera properties for rendering and ray-casting.
            Gizmo.UpdateCameraProperties(Engine.View, Engine.Projection, Engine.CameraPosition);

            if (this.Focused)
            {
                // select entities with your cursor (add the desired keys for add-to / remove-from -selection)
                if (STATIC_GLOBAL_INPUT.IsNewLeftClick())
                {
                    //if (System.Windows.Input.Mouse.LeftButton == MouseButtonState.Pressed)
                    Gizmo.SelectEntities(STATIC_GLOBAL_INPUT.currMouse.Position.ToVector2(),
                                         STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.LeftControl),
                                         STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.LeftAlt));
                    SelectionChange?.Invoke();
                }


                // set the active mode like translate or rotate
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.D1))
                {
                    Gizmo.ActiveMode = GizmoMode.Translate;
                    Translation_GUI_Update?.Invoke(null, null);
                }
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.D2))
                {
                    Gizmo.ActiveMode = GizmoMode.Rotate;
                    Rotation_GUI_Update?.Invoke(null, null);
                }
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.D3))
                {
                    Gizmo.ActiveMode = GizmoMode.NonUniformScale;
                    ScaleNonUniform_GUI_Update?.Invoke(null, null);
                }
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.D4))
                {
                    Gizmo.ActiveMode = GizmoMode.UniformScale;
                    ScaleUniform_GUI_Update?.Invoke(null, null);
                }
                // toggle precision mode
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.LeftShift) || STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.RightShift))
                {
                    Gizmo.PrecisionModeEnabled = true;
                }
                else
                {
                    Gizmo.PrecisionModeEnabled = false;
                }

                // toggle active space
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.O))
                {
                    Gizmo.ToggleActiveSpace();
                }

                // toggle snapping
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.I))
                {
                    Gizmo.SnapEnabled = !Gizmo.SnapEnabled;
                }

                // select pivot types
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.P))
                {
                    Gizmo.NextPivotType();
                }

                // clear selection
                if (STATIC_GLOBAL_INPUT.currKeys.IsKeyDown(Keys.Escape))
                {
                    Gizmo.Clear();
                }
            }

            Gizmo.Update(gameTime);
            Engine.Update();
        }
Пример #14
0
 private void cbxComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     SelectionChange?.Invoke(this, EventArgs.Empty);
 }
 public EntityListView(TreeViewState state, out MultiColumnHeaderState headerState, World world, SelectionChange selectionChanged) : base(state, BuilMultiColumnHeader(out headerState))
 {
     this.selectionChanged = selectionChanged;
     this.world            = world;
     entityManager         = world.GetExistingManager <EntityManager>();
 }