Example #1
0
        private void cbViews_SelIdxChanged(object sender, EventArgs e)
        {
            System.Windows.Forms.ComboBox cb = sender as System.Windows.Forms.ComboBox;
            if (cb == null)
            {
                return;
            }

            DBViewItem dbItem = cb.SelectedItem as DBViewItem;

            if (dbItem == null)
            {
                return;
            }

            //if (_currentDBViewId == null)
            //    return;

            //RView currentView = _dbDocument.get_Element(_currentDBViewId) as RView;
            //if(currentView == null)
            //    return;

            //if (dbItem.UniqueId.ToLower().CompareTo(currentView.UniqueId.ToLower()) != 0)
            //    return;

            PreviewControl vc = _elementHostWPF.Child as PreviewControl;

            if (vc != null)
            {
                vc.Dispose();
            }
            _elementHostWPF.Child = new PreviewControl(_dbDocument, dbItem.Id);
            _currentDBViewId      = dbItem.Id;
        }
        private void updateViewsList(ElementId viewId)
        {
            // fill the combobox with printable views <name + id>
            FilteredElementCollector collecotr = new FilteredElementCollector(_dbDocument);

            collecotr.OfClass(typeof(Autodesk.Revit.DB.View));
            IEnumerable <Autodesk.Revit.DB.View> secs = from Element f in collecotr where (f as Autodesk.Revit.DB.View).CanBePrinted == true select f as Autodesk.Revit.DB.View;

            _cbViews.Items.Clear();
            DBViewItem activeItem = null;

            foreach (Autodesk.Revit.DB.View dbView in secs)
            {
                if (viewId == null || viewId.IntegerValue < 0)
                {
                    activeItem = new DBViewItem(dbView, _dbDocument);
                    viewId     = dbView.Id;
                }
                if (dbView.Id == viewId)
                {
                    activeItem = new DBViewItem(dbView, _dbDocument);
                    _cbViews.Items.Add(activeItem);
                }
                else
                {
                    _cbViews.Items.Add(new DBViewItem(dbView, _dbDocument));
                }
            }
            _cbViews.SelectedItem = activeItem;
        }