Class: Configuration
Overview
Déclaration de la table contenant les paramètres Modèle de configuration
Constant Summary
- CL_CASE_BASE =
Définit la couleur de la case de base
"65535, 65535, 65535"
- CL_CASE_FIXE =
Définit la couleur de la case fixe
"55000, 55000, 55000"
- CL_CASE_SELECTIONNE =
Définit la couleur de la case sélectionnée
"64764, 59881, 20303"
- CL_INDICES =
Définit la couleur des indices
"0, 32000, 65535"
- CL_TEXTE =
Définit la couleur du texte
"0, 0, 0"
- POLICE =
Définit la police du texte
"Sans Regular"
- TAILLE_POLICE =
Définit la taille de la police
25
Instance Attribute Summary
Attributes inherited from Model
Instance Method Summary collapse
-
#couleur(gdkColor) ⇒ Object
Convertis un gdk color en composantes sous forme d'une chaîne séparée par une virgule.
-
#creerConfiguration(pseudo) ⇒ Object
Crée une configuration par défaut pour l'utilisateur.
-
#creerCouleur(composantes) ⇒ Object
Crée un gdk color à partir d'une chaîne.
-
#enregistrer(pseudo, config) ⇒ Object
Enregistre la configuration dans la base de donnée.
-
#getConfiguration(pseudo) ⇒ Object
Récupère la configuration de l'utilisateur.
-
#initialize ⇒ Configuration
constructor
Initialisation.
-
#verifierCouleur(couleur) ⇒ Object
Limite le dépassement de valeur d'une couleur 16 bits.
Methods inherited from Model
#connection, inherited, #insert, #mkDatabaseDir, #to_h
Constructor Details
#initialize ⇒ Configuration
Initialisation
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/model/Configuration.rb', line 32 def initialize() ## Crée la table configuration @@db.execute "CREATE TABLE IF NOT EXISTS configuration ( config_id integer primary key autoincrement, caseBase varchar(30) DEFAULT '#{CL_CASE_BASE}', caseFixe varchar(30) DEFAULT '#{CL_CASE_FIXE}', caseSelectionne varchar(30) DEFAULT '#{CL_CASE_SELECTIONNE}', couleurTexte varchar(30) DEFAULT '#{CL_TEXTE}', couleurIndices varchar(30) DEFAULT '#{CL_INDICES}', police varchar(50) DEFAULT 'Sans Regular', taillePolice integer DEFAULT #{TAILLE_POLICE}, utilisateur integer, FOREIGN KEY(utilisateur) REFERENCES utilisateur(utilisateur_id) );" end |
Instance Method Details
#couleur(gdkColor) ⇒ Object
Convertis un gdk color en composantes
sous forme d'une chaîne séparée par une virgule
127 128 129 130 131 132 133 |
# File 'app/model/Configuration.rb', line 127 def couleur(gdkColor) red = gdkColor.red green = gdkColor.green blue = gdkColor.blue return "#{red},#{green},#{blue}" end |
#creerConfiguration(pseudo) ⇒ Object
Crée une configuration par défaut pour l'utilisateur
159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 |
# File 'app/model/Configuration.rb', line 159 def creerConfiguration(pseudo) ## Récupère id utilisateur req = @@db.execute "SELECT utilisateur_id FROM utilisateur WHERE pseudo = ?", pseudo params = Hash.new() params[:caseBase] = Configuration::CL_CASE_BASE params[:caseFixe] = Configuration::CL_CASE_FIXE params[:caseSelectionne] = Configuration::CL_CASE_SELECTIONNE params[:couleurTexte] = Configuration::CL_TEXTE params[:couleurIndices] = Configuration::CL_INDICES params[:police] = Configuration::POLICE params[:taillePolice] = Configuration::TAILLE_POLICE params[:utilisateur] = req[0] insert(params) return self end |
#creerCouleur(composantes) ⇒ Object
Crée un gdk color à partir d'une chaîne
142 143 144 145 146 147 148 149 150 |
# File 'app/model/Configuration.rb', line 142 def creerCouleur(composantes) rgb = composantes.split(",") red = self.verifierCouleur(rgb[0].to_i) green = self.verifierCouleur(rgb[1].to_i) blue = self.verifierCouleur(rgb[2].to_i) return Gdk::Color.new(red, green, blue) end |
#enregistrer(pseudo, config) ⇒ Object
Enregistre la configuration dans la base de donnée.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'app/model/Configuration.rb', line 55 def enregistrer(pseudo, config) utilisateur_id = @@db.execute "SELECT utilisateur_id FROM utilisateur WHERE pseudo=?", pseudo req = @@db.execute "SELECT * FROM configuration WHERE utilisateur=?", utilisateur_id params = Hash.new() ## Définit tout les paramètres à enregistrer à partir de la configuration config.each do |key, param| params[key.to_sym] = param end ## Définit l'identifiant de l'utilisateur params[:utilisateur] = utilisateur_id[0][0] if(req.length > 0) @@db.execute "DELETE FROM configuration WHERE utilisateur = ?", utilisateur_id[0][0] end insert(params) end |
#getConfiguration(pseudo) ⇒ Object
Récupère la configuration de l'utilisateur
84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
# File 'app/model/Configuration.rb', line 84 def getConfiguration(pseudo) utilisateur_id = @@db.execute "SELECT utilisateur_id FROM utilisateur WHERE pseudo=?", pseudo req = @@db.execute2 "SELECT caseBase, caseFixe, caseSelectionne, couleurTexte, couleurIndices, taillePolice, police FROM configuration WHERE utilisateur=?", utilisateur_id ## Pas de configuration trouvé donc on en ## crée une if(req .length== 1) self.creerConfiguration(pseudo) req = @@db.execute2 "SELECT caseBase, caseFixe, caseSelectionne, couleurTexte, couleurIndices, taillePolice, police FROM configuration WHERE utilisateur=?", utilisateur_id end return self.to_h(req)[0] end |
#verifierCouleur(couleur) ⇒ Object
Limite le dépassement de valeur d'une couleur 16 bits
106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'app/model/Configuration.rb', line 106 def verifierCouleur(couleur) max = 65535 min = 0 if(couleur > max) couleur = max elsif(couleur < 0) couleur = min end return couleur end |