コード例 #1
0
        public void OnGameSelected()
        {
            if (!Guard.IsStringValid(JetPath))
            {
                JetPath = Environment.CurrentDirectory + "\\Backups\\" + GameName + "_Original.jet";
            }

            if (DoWork(GameName) == false)
            {
                this.Close();
                return;
            }

            ZipForm.existingJetFile = JetPath;

            Serializer.cfg.CurrentGame = GameName;
            Serializer.SaveSettings();

            ProjectHandler.CreateProject();
            CurrentProjectVariables.GameName = GameName;
            CurrentProjectVariables.GamePath = ReturnGamePath(GameName);

            var getName = new SetProjectName();

            getName.Show();

            this.Close();
        }
コード例 #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)
        {
            // Il valore attivo nella pagina
            int countInt = 0;
            // Variabile booleana che attesta se va riattivata o meno la Form principale
            bool _modForm = true;

            try
            {
                switch (Request.Take())
                {
                case RequestId.None:
                {
                    return;          // no request at this time -> we can leave immediately
                }

                case RequestId.Id:
                {
                    // Definisce il nome dei Codici Tipologia, Cellula, Posizionale
                    modelessForm    = App.thisApp.RetriveForm();
                    _typologieCode  = modelessForm.TypologieCode;
                    _cellCode       = modelessForm.CellCode;
                    _positionalCode = modelessForm.PositionalCode;
                    // Chiama il metodo che seleziona un oggetto
                    pickedObject = PickObject(uiapp);
                    // Chiama il metodo che restituisce il valore del Codice Tipologia
                    _valueTypologieCode = PickTypologieCode(uiapp, pickedObject);
                    // Cambia il count
                    countInt = 1;
                    // Se il valore del Codice Tipologia è presente, lo aggiunge alla Form
                    if (_valueTypologieCode != "Nessun valore" && _valueTypologieCode != null)
                    {
                        // Cancello tutti i valori presenti nell'ArrayList
                        _dimensionsList.Clear();
                        // Imposta il valore della Distinta per la Form
                        modelessForm.ValueDistintaFromCaptureButton();
                        // Imposta il valore del Codice Tipologia per la Form
                        PickCellCode(uiapp, pickedObject);
                        //PickPanelTypeIdentifier(uiapp, pickedObject);
                        modelessForm.ValueTypologyCodex();
                        // Imposta il valore del Codice Cellula (Panel Type Identifier) per la Form
                        modelessForm.ValuePanelTypeIdentifierFromCaptureButton();
                        // Imposta il valore del Codice Posizionale (UnitIdentifier) per la Form
                        PickPositionalCode(uiapp, pickedObject);
                        //PickUnitIdentifier(uiapp, pickedObject);
                        modelessForm.ValueUnitIdentifierFromCaptureButton();
                        // Metodo che conta il numero di pannelli presenti
                        GetNumberOfPanels(uiapp);
                        modelessForm.NrCodes();
                        // Chiama il metodo che seleziona il parametro stringa della famiglia scelta e riempie il PictureBox
                        GetTypeParameterOfFamily(uiapp, pickedObject);
                        modelessForm.SetModifyPicture();
                        // Chiama il metodo che seleziona le Dimensioni dell'oggetto selezionato e riempie la ListBox
                        _dimensionsList = GetParameters(uiapp, pickedObject);
                        modelessForm.ShowListBox1();
                        // Chiama il metodo che seleziona la Distinta corretta nella ComboBox e riempie la DataGrid
                        modelessForm.SetComboBox(_valueTypologieCode);
                        // Imposta la ModelessFrom come attiva
                        _modForm = true;
                    }
                    else
                    {
                        MessageBox.Show("Questo elemento non ha un Codice Gruppo. Aggiungilo.");
                        modelessForm.CleanAll();
                    }
                    break;
                }

                case RequestId.ComboBox:
                {
                    countInt = 2;
                    break;
                }

                case RequestId.Code:
                {
                    // Cattura tutti i parametri di un Curtain Panel
                    _allParameters = GetAllParameters(uiapp);
                    // Riempie le ComboBoxes del CodexDefinition
                    _codeDefinition = CodeDefinition.thisCodeDef;
                    _codeDefinition.FillTheComboBoxes(_allParameters);
                    _modForm = false;
                    break;
                }

                case RequestId.ChangeCode:
                {
                    // Imposta il cambiamento dei codici
                    modelessForm = App.thisApp.RetriveForm();
                    modelessForm.CodesChanges();
                    // Chiude la Form CodeDefinition
                    modelessForm.CloseCodeDefinition();
                    break;
                }

                case RequestId.ProjectName:
                {
                    // Ottiene il nome del Progetto
                    _projectName = GetTheNameOfTheProject(uiapp);
                    // Imposta il nome del Progetto nel TextBox
                    modelessForm = App.thisApp.RetriveForm();
                    modelessForm.SetNameProject();
                    // Verifico se la Form SetProjectName sia attiva o meno
                    _setProjectName = SetProjectName.thisApp;
                    if (_setProjectName != null)
                    {
                        _setProjectName.FillProjectName(_projectName);
                        _modForm = false;
                    }
                    break;
                }

                case RequestId.SetProjectName:
                {
                    // Ottiene il nome del Progetto
                    _setProjectName = SetProjectName.thisApp;
                    _projectName    = _setProjectName.NewProjectName;
                    // Imposta il nuovo nome del Progetto nel Progetto
                    SetTheNameOfTheProject(uiapp, _projectName);
                    // Imposta il nuovo nome del Progetto nel DataQuery
                    modelessForm = App.thisApp.RetriveForm();
                    modelessForm.SetNameProject();
                    // Chiama il metodo che chiude la Form SeTProjectName e riattiva la Form ModelessForm
                    modelessForm.CloseSetProjectName();
                    _setProjectName.SetProjectNameNull();
                    _modForm = true;
                    break;
                }

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

            return;
        }