Example #1
0
 public SelectVm(List <IGroupProvider> groups, DictBlockName dictBlName)
 {
     Groups           = new ObservableCollection <IGroupProvider>(groups);
     FromSelected     = new RelayCommand(FromSelectedExec);
     SelectAll        = new RelayCommand(SelectAllExec);
     selModel         = new SelectModel(Groups, dictBlName);
     Show             = new RelayCommand(ShowExec);
     PropertyChanged += PropChanges;
 }
        private static void Click(object sender, EventArgs e)
        {
            try
            {
                var doc = AcadHelper.Doc;
                var sel = doc.Editor.SelectImplied();
                if (sel.Status != PromptStatus.OK)
                {
                    return;
                }
                List <IGroupProvider> groups;
                _dictBlName = new DictBlockName();
                using (var t = doc.TransactionManager.StartTransaction())
                {
                    var ents = sel.Value.GetObjectIds().GetObjects <Entity>()
                               .GroupBy(GetType).ToDictionary(k => k.Key, v => v.ToList());
                    groups = ents.Select(s => GetTypeProvider(s.Key))
                             .Where(w => w != null).OrderBy(o => o.Name).ToList();
                    groups.Insert(0, new CommonProvider(ents));
                    t.Commit();
                }

                var selVm = new SelectVm(groups, _dictBlName);
                selView?.Close();
                selView = new SelectView(selVm);
                Autodesk.AutoCAD.ApplicationServices.Core.Application.ShowModelessWindow(selView);
            }
            catch (Exception ex)
            {
                ex.Message.WriteLine();
            }
            finally
            {
                _dictBlName = null;
            }
        }
Example #3
0
 public SelectModel(ObservableCollection <IGroupProvider> groups, DictBlockName dictBlName)
 {
     this.groups     = groups;
     this.dictBlName = dictBlName;
 }