Exemple #1
0
 public DimensionEditingForm(Document doc, ExternalEvent exEvent, SaveDimensionEvent handler)
 {
     InitializeComponent();
     _exEvent      = exEvent;
     _handler      = handler;
     _doc          = doc;
     ModifNotSaved = false;
 }
Exemple #2
0
        protected override void OnFormClosed(FormClosedEventArgs e)
        {
            _exEvent.Dispose();
            _exEvent = null;
            _handler = null;

            base.OnFormClosed(e);
        }
Exemple #3
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            if (null == _hWndRevit)
            {
                Process[] processes
                    = Process.GetProcessesByName("Revit");

                if (0 < processes.Length && processes.Any(p => p == Process.GetCurrentProcess()))
                {
                    IntPtr h = Process.GetCurrentProcess().MainWindowHandle;
                    _hWndRevit = new WindowHandle(h);
                }
            }
            _uiapp = commandData.Application;
            _uidoc = _uiapp.ActiveUIDocument;
            _doc   = _uidoc.Document;

            SaveDimensionEvent handler = new SaveDimensionEvent();

            _exEvent = ExternalEvent.Create(handler);

            _def = new DimensionEditingForm(_doc, _exEvent, handler);
            _def.Show(_hWndRevit);

            AddModelLineInfosToDataTable(_def);

            _def.DataGridView.CellDoubleClick += new DataGridViewCellEventHandler(dataGrid_DoubleClick);

            _uiapp.Application.DocumentChanged +=
                new EventHandler <DocumentChangedEventArgs>(CtrlApp_DocumentChanged);

            foreach (Autodesk.Windows.RibbonTab tab in Autodesk.Windows.ComponentManager.Ribbon.Tabs)
            {
                if (tab.Id == "Modify")
                {
                    tab.PropertyChanged += PanelEvent;
                    break;
                }
            }

            _def.FormClosed += new FormClosedEventHandler(formClosed);

            return(Result.Succeeded);
        }