Beispiel #1
0
        public MainForm() //test
        {
            InitializeComponent();

            AppFilterList.DoubleBuffering(true);
            DrawableListView.DoubleBuffering(true);
        }
Beispiel #2
0
        public void PopulateDrawableListView()
        {
            foreach (ListViewItem item in DrawableListView.Items)
            {
                DrawableListView.Items.Remove(item);
            }
            comboBox1.Items.Clear();
            DrawableListView.LargeImageList = DrawableXML.images;
            var items = new List <ListViewItem>();

            foreach (DrawableCategory category in DrawableXML.categories)
            {
                ListViewGroup group = new ListViewGroup(category.name);
                DrawableListView.Groups.Add(group);
                comboBox1.Items.Add(new ComboItem {
                    ID = category.tag, Text = category.name
                });
                foreach (DrawableItem item in category.DrawableItems)
                {
                    string[]     row      = { item.drawable, item.GroupTag, item.tag };
                    ListViewItem listItem = new ListViewItem(row);
                    listItem.Group    = group;
                    listItem.ImageKey = item.drawable;


                    items.Add(listItem);
                }
            }

            DrawableListView.BeginUpdate();
            DrawableListView.Items.AddRange(items.ToArray());
            DrawableListView.EndUpdate();

            DrawableListView.Refresh();
        }
Beispiel #3
0
        private void DrawableListView_MouseUp(object sender, MouseEventArgs e)
        {
            var newItem = DrawableListView.GetItemAt(e.X, e.Y);

            if (newItem != null && newItem.Group != heldDownItem.Group && Drag)
            {
                var oldGroup = DrawableXML.categories.Find(x => x.tag == heldDownItem.SubItems[1].Text);
                var newGroup = DrawableXML.categories.Find(x => x.tag == newItem.SubItems[1].Text);
                var oldItem  = oldGroup.DrawableItems.Find(x => x.tag == heldDownItem.SubItems[2].Text);


                oldGroup.DrawableItems.Remove(oldItem);
                newGroup.DrawableItems.Add(oldItem);



                //MessageBox.Show(heldDownItem.Text);

                Drag                  = false;
                heldDownItem          = null;
                DrawableXML.wasEdited = true;
                SortDrawble();
                PopulateDrawableListView();
            }


            /*ListViewItem NewItem;
             * if ((NewItem = DrawableListView.GetItemAt(e.X, e.Y)) != null && NewItem != heldDownItem && Drag)
             * {
             *  ListViewGroup group = NewItem.Group;
             *  /*var Newgroup = DrawableXML.categories.Find(x => x.tag == NewItem.SubItems[1].Text);
             *  var Drawableitem = Newgroup.DrawableItems.Find(x => x.tag == NewItem.SubItems[2].Text);
             *  var itemIndex = Newgroup.DrawableItems.IndexOf(Drawableitem);
             *
             *  var oldIGroup = DrawableXML.categories.Find(x => x.tag == heldDownItem.SubItems[1].Text);
             *  var oldDrawableItem = oldIGroup.DrawableItems.Find(x => x.tag == heldDownItem.SubItems[2].Text);
             *
             *
             *  var oldItemIndex = oldIGroup.DrawableItems.IndexOf(oldDrawableItem);
             *
             *
             *
             *  oldIGroup.DrawableItems.RemoveAt(oldItemIndex);
             *  Newgroup.DrawableItems.Insert(itemIndex, oldDrawableItem);
             *
             *  /*var groupIndex = heldDownItem.Group;
             *  var index = groupIndex.Items.IndexOf(NewItem);
             *  groupIndex.Items.Remove(heldDownItem);
             *  groupIndex.Items.Insert(index, heldDownItem);*/

            // DrawableListView.Refresh();

            // Drag = false;
            // PopulateDrawableListView();


            // heldDownItem = null;
            //}
        }
Beispiel #4
0
 private void DrawableListView_MouseDown(object sender, MouseEventArgs e)
 {
     if (Control.MouseButtons == MouseButtons.Left)
     {
         heldDownItem = DrawableListView.GetItemAt(e.X, e.Y);
         Drag         = true;
     }
 }
Beispiel #5
0
        private void DrawableListView_MouseMove(object sender, MouseEventArgs e)
        {
            if (heldDownItem != null)
            {
                Cursor.Current = Cursors.Hand;

                ListViewItem HoverItem;
                if ((HoverItem = DrawableListView.GetItemAt(e.X, e.Y)) != null)
                {
                    try
                    {
                        DrawableListView.SelectedItems.Clear();
                        DrawableListView.Items[heldDownItem.Index].Selected = true;
                        DrawableListView.Items[HoverItem.Index].Selected    = true;
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
        }