Ejemplo n.º 1
0
        public DialogResult ShowDialog(Tekening tek)
        {
            #region CheckedListbox invullen + link naar Layer
            listView1.Items.Clear();
            foreach (Layer layer in tek.Layers)
            {
                ListViewItem lvi = new ListViewItem()
                {
                    Text = layer.Naam, Tag = layer, Checked = layer.Zichtbaar
                };
                layer.Tag = lvi;
                listView1.Items.Add(lvi);
            }
            #endregion
            DialogResult dr = this.ShowDialog();
            if (dr == DialogResult.OK)
            {
                // Layers verwijderen
                #region ListviewItems
                ListViewItem[] listviewitems = new ListViewItem[listView1.Items.Count];
                listView1.Items.CopyTo(listviewitems, 0);
                #endregion

                Layer[] to_remove = tek.Layers.Where(T => !listviewitems.Contains(T.Tag)).ToArray();
                Layer[] to_add    = listviewitems.Select(T => (Layer)T.Tag).Except(tek.Layers).ToArray();
                Layer[] to_update = listviewitems.Select(T => (Layer)T.Tag).Intersect(tek.Layers).ToArray();

                foreach (Layer layer in to_remove)
                {
                    tek.RemoveLayer(layer);
                }
                foreach (Layer layer in to_add)
                {
                    ListViewItem lvi = (ListViewItem)layer.Tag;
                    layer.Naam      = lvi.Text;
                    layer.Zichtbaar = lvi.Checked;
                    tek.Layers.Add(layer);
                }
                foreach (Layer layer in to_update)
                {
                    ListViewItem lvi = (ListViewItem)layer.Tag;
                    layer.Naam      = lvi.Text;
                    layer.Zichtbaar = lvi.Checked;
                }
            }
            return(dr);
        }
 public VormenVerwijderdActie(Vorm[] Vormen, Tekening tek, string Beschrijving)
     : base(Vormen)
 {
     this.tek          = tek;
     this.Beschrijving = Beschrijving;
 }
 public VormenToegevoegdActie(Vorm[] Vormen, Tekening tek, string Beschrijving)
     : base(Vormen)
 {
     this.tek          = tek;
     this.Beschrijving = Beschrijving;
 }