OptionsForm.cs
Description du code
OptionsForm.cs est un fichier du projet BiblioBrol.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/src/.
Projet BiblioBrol :
Gestion de media en CSharp.
Pour plus d'infos, vous pouvez consulter la brève analyse.
Code source ou contenu du fichier
Code c# (OptionsForm.cs) (200 lignes)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using be.gaudry.bibliobrol.view.controls; using be.gaudry.bibliobrol.view.utils; using be.gaudry.bibliobrol.config; using be.gaudry.model.enums; namespace be.gaudry.bibliobrol.view.dialogs { /// <summary> /// Class used to set the application Configuration /// </summary> public partial class OptionsForm : Form { #region declarations and constructor private List<UserControl> optionPanels; private String availableDB; public OptionsForm() { InitializeComponent(); initOptionsValues(); initOptionsControls(); } #endregion #region initializations private void initOptionsValues() { availableDB = getAvailableDbTypes(); } private void initOptionsControls() { dataDirCtl.Info = "Ce répertoire sert à stocker les données de l'application."; dataDirCtl.DirTitle = "données"; sysInfoCtl.addTitle("Persistance"); sysInfoCtl.addItem("Version", String.Format("Version {0}", Config.DBVersion)); sysInfoCtl.addItem("Type", EnumHelper.GetDescription(Config.PersistentType)); sysInfoCtl.setAssembly(System.Reflection.Assembly.GetExecutingAssembly()); optionPanels.Add(dbSelCtl); optionPanels.Add(infosCtl); optionPanels.Add(persCtl); optionPanels.Add(persSelCtl); optionPanels.Add(dataDirCtl); optionPanels.Add(persImgCtl); optionPanels.Add(brolImgCtl); optionPanels.Add(appImgCtl); optionPanels.Add(prefsCtl); optionPanels.Add(todoCtl); optionPanels.Add(versionCtl); optionPanels.Add(sysInfoCtl); mainSC.Panel2.Controls.AddRange(optionPanels.ToArray()); hidePanels(); } #endregion #region private methods private void hidePanels() { foreach (UserControl c in optionPanels) { c.Visible = false; } } private void displayPanel(UserControl uc) { if (uc.Visible == false) foreach (UserControl c in optionPanels) { c.Visible = c.Equals(uc); } } private string getAvailableDbTypes() { DataTable dt = System.Data.Common.DbProviderFactories.GetFactoryClasses(); str.Append(dt.Rows.Count.ToString()); str.Append(" bases de données suivantes sont présentes sur la machine :\n"); foreach (DataRow row in dt.Rows) { str.Append("\n\t- "); //Object[] columns = row.ItemArray; //for (int i = 0; i < columns.Length; i++) //{ // str.Append("\t"); // str.Append(columns[i] + "("+ dt.Columns[i].ColumnName +")"); //} str.Append(row["Name"]); str.Append("\t("); str.Append(row["InvariantName"]); str.Append(")"); } return str.ToString(); } private void optionsTreeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { StringBuilder str; switch (e.Node.Name) { case "brolDirNode": dataDirCtl.Path = Config.DataDirectory; displayPanel(dataDirCtl); break; case "storageNode": infosCtl.InfosTitle = "Système de persistance"; str = new StringBuilder("Le système de persistance est le moyen utilisé par biblioBrol pour sauver les informations."); str.Append("\n\nPar exemple, nous pouvons décider d'utiliser un des moyens de persistance suivants :"); str.Append("\n- une base de données MS Access"); str.Append("\n- une base de données MySQL"); str.Append("\n- une base de données Oracle"); str.Append("\n- une série de fichiers XML"); infosCtl.Infos = str.ToString(); displayPanel(infosCtl); break; case "storageSelectionNode": displayPanel(dbSelCtl); break; case "availableStoragesNode": infosCtl.InfosTitle = "Bases de données"; infosCtl.Infos = availableDB; displayPanel(infosCtl); break; case "storageOpsNode": infosCtl.InfosTitle = "Opérations sur la persistance"; infosCtl.Infos = "todo :\n\nCréation de la db\nRAZ des exemplaires\nRAZ des ouvrages\nRAZ des personnes\nBackup\nPartage d'infos\n\timportation\n\texportation\nParamètres des serveurs WebService"; displayPanel(infosCtl); break; case "ownerNode": infosCtl.InfosTitle = "Propriétaire de l'application"; str = new StringBuilder("Définir un propriétaire pour biblioBrol permet par exemple de déterminer"); str.Append(" la personne par défaut lors de l'ajout de nouveaux ouvrages."); infosCtl.Infos = str.ToString(); displayPanel(infosCtl); break; case "ownerInfosNode": persCtl.setPerson(Config.Owner); displayPanel(persCtl); break; case "ownerSelectNode": persSelCtl.CurrentPerson = Config.Owner; displayPanel(persSelCtl); break; case "prefsNode": displayPanel(prefsCtl); break; case "todoNode": displayPanel(todoCtl); break; case "updateNode": displayPanel(versionCtl); break; case "sysInfoNode": displayPanel(sysInfoCtl); break; default: hidePanels(); break; } } #endregion #region events private void okBtn_Click(object sender, EventArgs e) { Config.save(); this.Close(); } private void cancelBtn_Click(object sender, EventArgs e) { this.Close(); } private void onOwnerSelected(object sender, PersonSelectedEventArgs e) { Config.Owner = e.Person; Config.save(); } private void onDataDirPathModified(object sender, DirPathModifiedEventArgs e) { Config.saveDataDirectory(e.Path); } #endregion } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Pas de sous-répertoires. | |||
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1732279884 22/11/2024 13:51:24 |
Utilisation de l'explorateur de code
- Navigation :
- Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
- Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
- La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
- Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
- Affichage :
- Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
- Actions :
- Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.
Version en cache
22/11/2024 13:51:24 Cette version de la page est en cache (à la date du 22/11/2024 13:51:24) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 16/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-bibliobrol-source-rf-view/dialogs//OptionsForm.cs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.