/// <summary> /// Implementa el comparador para las instancias de la clase. /// </summary> /// <param name="o"> /// A <see cref="System.Object"/> /// </param> /// <returns> /// A <see cref="System.Boolean"/> /// </returns> public override bool Equals(object o) { DatabaseFileInfo info = o as DatabaseFileInfo; if (info == null) { return(false); } else { return(info.path == this.path); } }
/// Maneja el evento producido al pulsar el boton de añadir /// una base de datos. /// </summary> /// <param name="sender"> /// A <see cref="System.Object"/> /// </param> /// <param name="args"> /// A <see cref="EventArgs"/> /// </param> private void OnRemoveBtnClicked(object sender, EventArgs args) { TreeIter selectedIter; databasesTV.Selection.GetSelected(out selectedIter); // Recuperamos la informacion y la eliminamos de la lista y el modelo. DatabaseFileInfo databaseInfo = (DatabaseFileInfo)(databasesLS.GetValue(selectedIter, 3)); databaseFilesInfo.Remove(databaseInfo); databasesLS.Remove(ref selectedIter); }
/// Maneja el evento producido al pulsar el boton de ver las propiedades /// una base de datos. /// </summary> /// <param name="sender"> /// A <see cref="System.Object"/> /// </param> /// <param name="args"> /// A <see cref="EventArgs"/> /// </param> private void OnPropertiesBtnClicked(object sender, EventArgs args) { DatabaseInfoDialog dialog = new DatabaseInfoDialog(this.databaseManagerDialog); // We get the selected database and show its properties. TreeIter selected; databasesTV.Selection.GetSelected(out selected); DatabaseFileInfo info = (DatabaseFileInfo)(databasesLS.GetValue(selected, 3)); dialog.SetDatabase(info.Database); dialog.Show(); dialog.Destroy(); }
/// <summary> /// Añade una base de datos a la lista. /// </summary> /// <param name="databasePath"> /// La ruta de la base de datos. /// </param> private void AddDatabase(string databasePath) { MathTextDatabase database = MathTextDatabase.Load(databasePath); if (database == null) { // No se abrio un archivo de base de datos, informamos. OkDialog.Show(this.databaseManagerDialog, MessageType.Warning, "El archivo «{0}» no contiene una base de datos correcta, y no se pudo abrir.", databasePath); return; } DatabaseFileInfo databaseInfo = new DatabaseFileInfo(); databaseInfo.Database = database; databaseInfo.Path = databasePath; if (!databaseFilesInfo.Contains(databaseInfo)) { // Lo añadimos a la coleccion. databaseFilesInfo.Add(databaseInfo); TreeIter newItem = databasesLS.AppendValues(Path.GetFileName(databasePath), database.DatabaseTypeShortDescription, databasePath, databaseInfo); // Seleccionamos la fila añadida. databasesTV.Selection.SelectIter(newItem); TreePath newPath = databasesLS.GetPath(newItem); databasesTV.ScrollToCell(newPath, databasesTV.Columns[0], true, 1.0f, 0.0f); } else { OkDialog.Show(this.databaseManagerDialog, MessageType.Info, "La base de datos del fichero «{0}» ya se encuentra en la lista y no se añadirá de nuevo.", Path.GetFileName(databasePath)); } }
/// <summary> /// Añade la informacion de una base de datos a la lista. /// </summary> /// <param name="databaseInfo"> /// La informacion de base de datos a añadir. /// </param> private void AddDatabaseInfo(DatabaseFileInfo databaseInfo) { if (databaseInfo.Database == null) { // No se abrio un archivo de base de datos, informamos. OkDialog.Show(this.databaseManagerDialog, MessageType.Warning, "El archivo «{0}» no existe o no contiene una base de datos correcta, y no se pudo abrir.", databaseInfo.Path); return; } databaseFilesInfo.Add(databaseInfo); databasesLS.AppendValues(Path.GetFileName(databaseInfo.Path), databaseInfo.Database.DatabaseTypeShortDescription, databaseInfo.Path, databaseInfo); }
/// <summary> /// Handles the choosing of a database. /// </summary> /// <param name="sender"> /// A <see cref="System.Object"/> /// </param> /// <param name="args"> /// A <see cref="EventArgs"/> /// </param> private void OnOptionRBClicked(object sender, EventArgs args) { RadioButton clickedRB = (RadioButton)sender; if(clickedRB == newRB) { choosenDatabase = null; } else { choosenDatabase = databaseHash[clickedRB.Label]; } }
/// <summary> /// Añade la informacion de una base de datos a la lista. /// </summary> /// <param name="databaseInfo"> /// La informacion de base de datos a añadir. /// </param> private void AddDatabaseInfo(DatabaseFileInfo databaseInfo) { if (databaseInfo.Database == null) { // No se abrio un archivo de base de datos, informamos. OkDialog.Show(this.databaseManagerDialog, MessageType.Warning, "El archivo «{0}» no existe o no contiene una base de datos correcta, y no se pudo abrir.", databaseInfo.Path); return; } databaseFilesInfo.Add(databaseInfo); databasesLS.AppendValues(Path.GetFileName(databaseInfo.Path), databaseInfo.Database.DatabaseTypeShortDescription, databaseInfo.Path, databaseInfo); }
/// <summary> /// Añade una base de datos a la lista. /// </summary> /// <param name="databasePath"> /// La ruta de la base de datos. /// </param> private void AddDatabase(string databasePath) { MathTextDatabase database = MathTextDatabase.Load(databasePath); if(database == null) { // No se abrio un archivo de base de datos, informamos. OkDialog.Show(this.databaseManagerDialog, MessageType.Warning, "El archivo «{0}» no contiene una base de datos correcta, y no se pudo abrir.", databasePath); return; } DatabaseFileInfo databaseInfo = new DatabaseFileInfo(); databaseInfo.Database = database; databaseInfo.Path = databasePath; if(!databaseFilesInfo.Contains(databaseInfo)) { // Lo añadimos a la coleccion. databaseFilesInfo.Add(databaseInfo); TreeIter newItem = databasesLS.AppendValues(Path.GetFileName(databasePath), database.DatabaseTypeShortDescription, databasePath, databaseInfo); // Seleccionamos la fila añadida. databasesTV.Selection.SelectIter(newItem); TreePath newPath = databasesLS.GetPath(newItem); databasesTV.ScrollToCell(newPath, databasesTV.Columns[0], true, 1.0f, 0.0f); } else { OkDialog.Show(this.databaseManagerDialog, MessageType.Info, "La base de datos del fichero «{0}» ya se encuentra en la lista y no se añadirá de nuevo.", Path.GetFileName(databasePath)); } }