Esempio n. 1
0
        /// <summary>
        /// Method to subscribe the GroupView Events in the sample
        /// </summary>
        /// <param name="item"></param>

        private void SubscribeToItemEvents(GroupViewItem item)
        {
            if (item != null)
            {
               
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Set the selected symbol model to the one matching the given symbol
        /// model name.
        /// </summary>
        /// <param name="symbolName">Name of symbol model to select</param>
        public bool SelectSymbolModel(string symbolName)
        {
            bool found = false;

            for (int gvIdx = 0; gvIdx < this.GroupViewItems.Count; gvIdx++)
            {
                GroupViewItem gvItem = this.GroupViewItems[gvIdx];

                if (gvItem != null)
                {
                    if (gvItem.Tag != null)
                    {
                        SymbolModel curSymbolMdl = gvItem.Tag as SymbolModel;
                        if (curSymbolMdl != null)
                        {
                            if (curSymbolMdl.Name == symbolName)
                            {
                                found             = true;
                                this.SelectedItem = gvIdx;
                                break;
                            }
                        }
                    }
                }
            }

            return(found);
        }
Esempio n. 3
0
        /// <summary>
        /// Loads the given symbol palette into this control.
        /// </summary>
        /// <param name="palette">Palette to load</param>
        /// <returns>true if successful; otherwise false</returns>
        /// <remarks>
        /// <seealso cref="Syncfusion.Windows.Forms.Diagram.SymbolPalette"/>
        /// </remarks>
        public bool LoadPalette(SymbolPalette palette)
        {
            if (palette == null)
            {
                return(false);
            }

            bool success = true;

            int           symbolMdlIdx;
            SymbolModel   symModel = null;
            GroupViewItem gvItem   = null;

            for (symbolMdlIdx = 0; symbolMdlIdx < palette.ChildCount; symbolMdlIdx++)
            {
                symModel = palette.GetChild(symbolMdlIdx) as SymbolModel;
                if (symModel != null)
                {
                    int imageIdx   = 0;
                    int lgImageIdx = 0;
                    int smImageIdx = 0;

                    if (symModel.SmallIcon != null)
                    {
                        smImageIdx = this.AddSmallIcon(symModel.SmallIcon);
                    }

                    if (symModel.LargeIcon != null)
                    {
                        lgImageIdx = this.AddLargeIcon(symModel.LargeIcon);
                    }

                    if (this.SmallImageView)
                    {
                        imageIdx = smImageIdx;
                    }
                    else
                    {
                        imageIdx = lgImageIdx;
                    }

                    gvItem = new GroupViewPaletteItem(symModel, imageIdx);
                    this.GroupViewItems.Add(gvItem);
                }
            }

            palette.ChildrenChangeComplete += new NodeCollection.EventHandler(OnPalette_ChildrenChangeComplete);
            palette.EventsEnabled           = true;
            this.palette = palette;

            return(success);
        }
        private void AddEditGroup_Load(object sender, EventArgs e)
        {
            if (IsEditMode)
            {
                this.Text         = "Edit Group";
                btnSubmit.Text    = "Update Group";
                txbGroupName.Text = sql.ExecuteScalarACon <string>($"SELECT Name FROM Groups WHERE ID = '{GroupID}'");
            }
            else
            {
                this.Text = "Add New Group";
            }


            // Load all devices and add then to the view
            sql.Open();
            using (SQLiteDataReader reader = sql.ExecuteQuery("SELECT * FROM Devices LEFT JOIN GroupAssigns ON Devices.MACAddress = GroupAssigns.MACAddress WHERE GroupAssigns.GroupID IS NULL ORDER BY Devices.Name ASC"))
            {
                while (reader.Read())
                {
                    // Add device to view
                    GroupViewItem gvi = new GroupViewItem(
                        Convert.ToString(reader["Name"]),
                        grvDevices.SmallImageList.Images.IndexOfKey(
                            Convert.ToString(reader["DeviceType"]) + "_RAW")
                        );
                    gvi.Tag = Convert.ToString(reader["MACAddress"]);

                    grvDevices.GroupViewItems.Add(gvi);
                }
            }


            if (!IsEditMode)
            {
                // Create new group
                sql.ExecuteNonQuery($"INSERT INTO Groups (Name, Description, DeviceType) VALUES ('{newGroupGuid}', '', '{DeviceType.UnknownDevice}')");
                GroupID = sql.ExecuteScalar <int>($"SELECT ID FROM Groups WHERE Name = '{newGroupGuid}'");
            }

            sql.Close();

            UpdateGroupDeviceList();
        }
 private void FillData()
 {
     this.groupView1.GroupViewItems.Clear();
     this.groupView1.MarkedItems.Clear();
     this.groupView1.MarkedBoldItems.Clear();
     foreach (ValueThree<Device, bool, FreezeStatus> p in m_Controller.Items)
     {
         GroupViewItem item = new GroupViewItem(
             p.Value1.Type.Name,
             Convert.ToInt32(p.Value2), true, p.Value1, p.Value1.Type.Name);
         this.groupView1.GroupViewItems.Add(item);
         //если у устройства установлен флажок "применить для всего сценария" то выделить жирным
         if (p.Value3 == FreezeStatus.Freeze) this.groupView1.MarkedBoldItems.Add(item);
     }
     //первое заполнение, пользователь еще не выбирал устройство
     if (this.m_SelectedItem == -1) this.m_SelectedItem = 0;
     this.groupView1.SelectedItem = this.m_SelectedItem;
     if (this.m_SelectedItem != -1 && groupView1.SelectedItem != -1)
         this.m_Controller.ChangeSelectedItem(
             (Device)groupView1.GroupViewItems[groupView1.SelectedItem].Tag);
 }
        private void UpdateGroupDeviceList()
        {
            grvDevicesInGroup.GroupViewItems.Clear();
            sql.Open();
            using (SQLiteDataReader reader = sql.ExecuteQuery($"SELECT Devices.Name AS Name, Devices.DeviceType, Devices.MACAddress FROM Groups INNER JOIN GroupAssigns ON Groups.ID = GroupAssigns.GroupID INNER JOIN Devices ON GroupAssigns.MACAddress = Devices.MACAddress WHERE Groups.ID = '{GroupID}' ORDER BY Devices.Name ASC"))
            {
                while (reader.Read())
                {
                    // Add device to view
                    GroupViewItem gvi = new GroupViewItem(
                        Convert.ToString(reader["Name"]),
                        grvDevicesInGroup.SmallImageList.Images.IndexOfKey(
                            Convert.ToString(reader["DeviceType"]) + "_RAW")
                        );
                    gvi.Tag = Convert.ToString(reader["MACAddress"]);

                    grvDevicesInGroup.GroupViewItems.Add(gvi);
                }
            }
            sql.Close();
        }
        /// <summary>
        /// Notifies the click event.
        /// </summary>
        /// <param name="sender">Invokes the click event</param>
        /// <param name="e"></param>
        void menu_Click(object sender, RoutedEventArgs e)
        {
            ContextMenu contextMenu = (ContextMenu)(e.OriginalSource as MenuItem).Parent;

            if (contextMenu.PlacementTarget is GroupBarItem)
            {
                GroupBarItem groupBarItem = (GroupBarItem)contextMenu.PlacementTarget;
                MessageBox.Show(groupBarItem.HeaderText);
            }
            else if (contextMenu.PlacementTarget is GroupView)
            {
                GroupView groupBarView = (GroupView)contextMenu.PlacementTarget;
                for (int i = 0; i < groupBarView.Items.Count; i++)
                {
                    GroupViewItem groupBarviewItem = (GroupViewItem)groupBarView.Items[i];
                    if (groupBarviewItem.IsSelected)
                    {
                        MessageBox.Show(groupBarviewItem.Text);
                        break;
                    }
                }
            }
        }
Esempio n. 8
0
 void m_Controller_OnSourcesChanged()
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new MethodInvoker(m_Controller_OnSourcesChanged));
         return;
     }
     clear();
     foreach (var cat in m_Controller.Categories)
     {
         GroupBarItem item = new GroupBarItem() { Text = cat.Key };
         this.groupBar1.GroupBarItems.Add(item);
         SwitchableGroupView view = createGroupView();
         item.Client = view;
         foreach (var src in cat.Value)
         {
             var newItem = new GroupViewItem() { Text = src.Key, ToolTipText = src.Key, Tag = src.Value };
             view.GroupViewItems.Add(newItem);
             view.MarkedItems[newItem] = m_Controller.States[cat.Key][src.Key];
             //if (!m_Controller.States[cat.Key][src.Key])
             //    view.MarkedItems.Add(newItem);
         }
     }
     if (this.groupBar1.GroupBarItems.Count > 0)
     {
         this.groupBar1.SelectedItem = 0;
         GroupView currView = (this.groupBar1.GroupBarItems[0].Client as GroupView);
         if (currView.GroupViewItems.Count > 0)
         {
             this.m_Controller.ChangeSelectedItem(currView.GroupViewItems[0].Tag);
             return;
         }
     }
     this.m_Controller.ChangeSelectedItem(null);
 }
Esempio n. 9
0
 private CommandItemViewItem GetCommandItem(TreeNode node, GroupViewItem group) =>
 group.CommandItems.Single(c => c.Name == node.Name);
Esempio n. 10
0
        private void AddNewGroup(GroupViewItem group)
        {
            BeginUpdate();

            var newSubGroupNodes = group.CommandItems.Select(item =>
            {
                var commandItemNode = new TreeNode
                {
                    Text             = item.Name,
                    Name             = item.Name,
                    ContextMenuStrip = new ContextMenuStrip()
                };

                if (string.IsNullOrWhiteSpace(item.CommandLine))
                {
                    commandItemNode.ContextMenuStrip.Items.Add(NewUrl, null, (sender, e) => CreateSubNode(commandItemNode, SubGroupName));
                }
                else
                {
                    var commandLineNode = new HiddenCheckBoxTreeNode
                    {
                        Text             = item.CommandLine,
                        Name             = item.CommandLine,
                        ContextMenuStrip = new ContextMenuStrip()
                    };

                    if (!string.IsNullOrWhiteSpace(item.CommandLine))
                    {
                        commandLineNode.ContextMenuStrip.Items.Add(Edit, null, (sender, e) => EditCommandLineNode(commandLineNode));
                    }

                    if (!StateImageList.Images.ContainsKey(item.ImageKey))
                    {
                        item.CreateImageKey();
                        StateImageList.Images.Add(item.ImageKey, item.Image);
                        commandLineNode.StateImageKey = item.ImageKey;
                    }

                    commandItemNode.Nodes.Add(commandLineNode);
                }

                commandItemNode.ContextMenuStrip.Items.Add(Edit, null, (sender, e) => EditTreeNode(commandItemNode, Edit));
                return(commandItemNode);
            }).ToArray();

            var newGroupNode = new TreeNode(group.Name, newSubGroupNodes)
            {
                Name             = group.Name,
                ContextMenuStrip = new ContextMenuStrip()
            };

            newGroupNode.ContextMenuStrip.Items.Add(NewSubGroup, null, (sender, e) => CreateSubNode(newGroupNode, SubGroupName));
            newGroupNode.ContextMenuStrip.Items.Add(Edit, null, (sender, e) => EditTreeNode(newGroupNode, Edit));

            if (!ValidateCollection(newGroupNode, Nodes))
            {
                listDataSource.Remove(group);
            }

            EndUpdate();
        }