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(); }
/// <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; }