Beispiel #1
0
        /// <summary>
        ///   Questo metodo crea e mostra una finestra di dialogo non modale, a meno che non esista già.
        /// </summary>
        /// <remarks>
        ///   Il comando esterno lo richiama su richiesta dell'utente finale
        /// </remarks>
        ///
        public void ShowForm(UIApplication uiapp)
        {
            // If we do not have a dialog yet, create and show it
            if (m_MyForm == null || m_MyForm.IsDisposed)
            {
                // Un nuovo gestore per gestire l'invio delle richieste tramite la finestra di dialogo
                RequestHandler handler = new RequestHandler();

                // Evento esterno per la finestra di dialogo da utilizzare (per inviare richieste)
                ExternalEvent exEvent = ExternalEvent.Create(handler);

                // Diamo gli oggetti alla nuova finestra di dialogo.
                // La finestra di dialogo diventa il proprietario responsabile della loro disposizione, alla fine.
                m_MyForm = new GetElementsForm(exEvent, handler);
                m_MyForm.Show();
                m_MyForm.TopMost = true;
            }
        }
Beispiel #2
0
        /// <summary>
        ///   Il metodo principale del gestore di eventi.
        /// </summary>
        /// <remarks>
        ///   Viene chiamato da Revit dopo che è stato generato l'evento esterno corrispondente
        ///   (dal modulo non modale) e Revit ha raggiunto il momento in cui potrebbe
        ///   chiamare il gestore dell'evento (cioè questo oggetto)
        /// </remarks>
        ///
        public void Execute(UIApplication uiapp)
        {
            try
            {
                switch (Request.Take())
                {
                case RequestId.None:
                {
                    return;          // no request at this time -> we can leave immediately
                }

                case RequestId.Default:
                {
                    _elementList    = GetElementsfromDb(uiapp);
                    getElementsForm = App.thisApp.RetriveForm();
                    getElementsForm.FillDataGrid();
                    break;
                }

                case RequestId.Id:
                {
                    getElementsForm = App.thisApp.RetriveForm();
                    ElementId id = getElementsForm.GetElemId();
                    _elementSingle = GetSingleElement(uiapp, id);
                    getElementsForm.SetListBox();
                    break;
                }

                default:
                {
                    // Una sorta di avviso qui dovrebbe informarci di una richiesta imprevista
                    break;
                }
                }
            }
            finally
            {
                App.thisApp.WakeFormUp();
                App.thisApp.ShowFormTop();
            }

            return;
        }
Beispiel #3
0
        /// <summary>
        /// Implementa l'evento OnStartup
        /// </summary>
        /// <param name="application"></param>
        /// <returns></returns>
        public Result OnStartup(UIControlledApplication application)
        {
            m_MyForm = null; // nessun dialogo ancora necessario; il comando lo porterà

            thisApp = this;  // accesso statico a questa istanza dell'applicazione

            // Metodo per aggiungere un Tab e un RibbonPanel
            RibbonPanel ribbonPanel      = RibbonPanel(application);
            string      thisAssemblyPath = Assembly.GetExecutingAssembly().Location;

            // Creazione del Button da inserire nel Tab
            if (ribbonPanel.AddItem(
                    new PushButtonData("GetElements", "GetElements", thisAssemblyPath, "GetElements.Command"))
                is PushButton button)
            {
                // ToolTip mostrato
                button.ToolTip = "GetElements";
                // Icona del Button
                button.Image      = GetEmbeddedImage("GetElements.Resources.BOLDsft_16.png");
                button.LargeImage = GetEmbeddedImage("GetElements.Resources.BOLDsft_32.png");
            }
            ;
            return(Result.Succeeded);
        }