public FormModificarPregunta(PreguntaIdioma preguntaIdioma, Dictionary <Nivel, List <Pregunta> > preguntas, List <Nivel> niveles, List <Idioma> idiomas, int expoId) { InitializeComponent(); this.Preguntas = preguntas; this.Niveles = niveles; this.Idiomas = idiomas; this.IdExpo = expoId; Textboxes predeterminado = new Textboxes(textBoxPregunta, textBoxRespuestaC, textBoxRespuestaI1, textBoxRespuestaI2, textBoxRespuestaI3, richTextBoxInfoRespuestaCorrecta, textBoxEnlace); Textboxes traducir = new Textboxes(textBoxPreguntaT, textBoxRespuestaTC, textBoxRespuestaTI1, textBoxRespuestaTI2, textBoxRespuestaTI3, richTextBoxInfoRespuestaCorrectaT, textBoxEnlaceT); Predeterminado = predeterminado; Traducir = traducir; //Añadir los otros elementos de idiomas toolStripComboBoxTraducirAl.Items.Add(Default); toolStripComboBoxTraducirAl.Items.AddRange(Idiomas.ToArray()); toolStripComboBoxTraducirAl.Items.Remove(Idiomas[0]); //definiendo de donde vienen los datos comboBoxNiveles.DataSource = Niveles; //Añadir idioma ----- al combobox idiomas //Llendado de la barra de Preguntas x Nivel llenarComboBoxPreguntas(Niveles[comboBoxNiveles.SelectedIndex]); //Campo a mostrar de los datos comboBoxNiveles.DisplayMember = "Nombre"; toolStripComboBoxTraducirAl.ComboBox.DisplayMember = "Nombre"; //Funcion para saber que pregunta esta selecionada y el nivel de esta. ActualPosNivelIndex = BuscadorDePreguntas.GetPreguntaLevel(preguntas, preguntaIdioma); //Elementos por defecto que se muestran al iniciar el programa //Selecionando el elemento Idioma Defualt //Selecionando el elemento nivel en funcion del valor de PosNivel //Selecionando el elemento Pregunta en funcion de el valor PosPregunta toolStripComboBoxTraducirAl.ComboBox.SelectedItem = toolStripComboBoxTraducirAl.ComboBox.Items[0]; comboBoxNiveles.SelectedItem = comboBoxNiveles.Items[ActualPosNivelIndex]; ActualPreguntaIndex = BuscadorDePreguntas.GetPreguntaPos(Preguntas[niveles[ActualPosNivelIndex]], preguntaIdioma); toolStripComboBoxPregunta.SelectedItem = toolStripComboBoxPregunta.ComboBox.Items[ActualPreguntaIndex]; OmplirLayoutPregunta(preguntaIdioma); }
private void ActualitzarListPreguntas(Nivel nivel) { Exposicion expo = GetSelectedExposicion(); // if (expo.Preguntas != null && expo.Preguntas[nivel] != null) if (expo.Preguntas != null) { if (expo.Preguntas.ContainsKey(nivel)) { List <Pregunta> preguntas = expo.Preguntas[nivel]; if (tabControlIdiomas.SelectedTab != null) { int cnt = 0; foreach (TabPage pageid in tabControlIdiomas.Controls) { ListView listview = (ListView)pageid.Controls[0]; listview.Items.Clear(); listview.Items.AddRange(ListViews.AddItems(preguntas, expo.Idiomas[cnt])); cnt++; } SelectedPreguntaIdioma = null; } } else { if (tabControlIdiomas.Controls.Count > 0) { ListView vista = ((ListView)tabControlIdiomas.Controls[0].Controls[0]); vista.Items.Clear(); } } } }
private void AñadirPregunta(Nivel nivel, Exposicion expo) { Dictionary <Idioma, PreguntaIdioma> emptypreguntaIdiomas = ControladorPrincipal.GetEmptyPreguntaIdiomas(expo.Idiomas); Pregunta p = new Pregunta(emptypreguntaIdiomas); expo.Preguntas[nivel].Add(p); SelectedPreguntaIdioma = p.PreguntaIdiomas[expo.Idiomas[0]]; }
public void llenar(PreguntaIdioma preguntaIdioma) { Pregunta.Text = preguntaIdioma.Pregunta; Resposta_Correcte.Text = preguntaIdioma.RespuestaCorrecta; Resposta_Incorrecete1.Text = preguntaIdioma.RespuestaIncorrecta1; Resposta_Incorrecete2.Text = preguntaIdioma.RespuestaIncorrecta2; Resposta_Incorrecete3.Text = preguntaIdioma.RespuestaIncorrecta3; Explicacio.Text = preguntaIdioma.StringRespuestaCorrecta; Enllaz.Text = preguntaIdioma.StringLinkRespuestaCorrecta; }
private void EliminarPreguntaByPreguntaIdioma(PreguntaIdioma preguntaIdioma) { Exposicion exposicion = GetSelectedExposicion(); int pregunta = BuscadorDePreguntas.GetPreguntaPos(exposicion.Preguntas[GetSelectedNivel()], preguntaIdioma); if (pregunta != -1) { exposicion.Preguntas[GetSelectedNivel()].Remove(exposicion.Preguntas[GetSelectedNivel()][pregunta]); } ActualitzarListPreguntas(GetSelectedNivel()); }
//Amb la id pregunta que rep com a parametre omple els camps de la pantalla en funcio de com estaba aquesta. public void OmplirLayoutPregunta(PreguntaIdioma preguntaIdioma) { if (Preguntas[Niveles[ActualPosNivelIndex]][ActualPreguntaIndex].IsRespTexto) { radioButtonTexto.Checked = true; } else { radioButtonImagen.Checked = true; } Predeterminado.llenar(preguntaIdioma); }
public PreguntaIdioma GuardarAPreguntaIdioma() { PreguntaIdioma preguntaIdioma = new PreguntaIdioma("", "", "", "", ""); preguntaIdioma.Pregunta = Pregunta.Text; preguntaIdioma.RespuestaCorrecta = Resposta_Correcte.Text; preguntaIdioma.RespuestaIncorrecta1 = Resposta_Incorrecete1.Text; preguntaIdioma.RespuestaIncorrecta2 = Resposta_Incorrecete2.Text; preguntaIdioma.RespuestaIncorrecta3 = Resposta_Incorrecete3.Text; preguntaIdioma.StringRespuestaCorrecta = Explicacio.Text; preguntaIdioma.StringLinkRespuestaCorrecta = Enllaz.Text; return(preguntaIdioma); }
private void llenarComboBoxPreguntas(Nivel nivel) { toolStripComboBoxPregunta.ComboBox.Items.Clear(); foreach (Pregunta pregunta in Preguntas[nivel]) { if (pregunta.PreguntaIdiomas.ContainsKey(Idiomas[0])) { PreguntaIdioma preguntaIdioma = pregunta.PreguntaIdiomas[Idiomas[0]]; toolStripComboBoxPregunta.ComboBox.Items.Add(preguntaIdioma); } } }
/*********** * EVENTOS * ***********/ /// <summary> /// Se ejecuta cuando el usuario cambia de selección en ListViewPreguntas /// </summary> /// <param name="sender">Elemento que envia el evento</param> /// <param name="e">Evento llamado</param> private void listViewPreguntas_SelectedIndexChanged(object sender, EventArgs e) { ListView listView = (ListView)sender; SelectedPreguntaIdioma = null; if (listView.SelectedItems.Count > 0) { Console.WriteLine("No es igual a null"); SelectedPreguntaIdioma = (PreguntaIdioma)listView.SelectedItems[0].Tag; } ControladorPrincipal.EstaSelecionado((ListView)sender, buttonAnadirPregunta, "Añadir Pregunta", "Modificar Pregunta"); }
public static int GetPreguntaPos(List <Pregunta> preguntas, PreguntaIdioma preguntaIdioma) { int posPregunta = -1; int CntPregunta = 0; foreach (Pregunta pregunta in preguntas) { if (pregunta.PreguntaIdiomas.ContainsValue(preguntaIdioma)) { posPregunta = CntPregunta; } CntPregunta++; } return(posPregunta); }
public static ListViewItem ToListViewItem(PreguntaIdioma preguntaIdioma) { ListViewItem item = new ListViewItem(); item.SubItems.Add(preguntaIdioma.Pregunta); item.SubItems.Add(preguntaIdioma.RespuestaCorrecta); item.SubItems.Add(preguntaIdioma.RespuestaIncorrecta1); item.SubItems.Add(preguntaIdioma.RespuestaIncorrecta2); item.SubItems.Add(preguntaIdioma.RespuestaIncorrecta3); item.Tag = preguntaIdioma; if (preguntaIdioma == null || preguntaIdioma.isEmpty()) { item.BackColor = ColorTranslator.FromHtml("#ffb2ae"); } else { item.BackColor = ColorTranslator.FromHtml("#aeffb2"); } item.Text = numero.ToString(); numero++; return(item); }
/// <summary> /// Se ejecuta cuando el usuario hace click en el ButtonAnadirPregunta /// </summary> /// <param name="sender">Elemento que envia el evento</param> /// <param name="e">Evento llamado</param> private void buttonAnadirPregunta_Click(object sender, EventArgs e) { if (SelectedPreguntaIdioma == null || (SelectedPreguntaIdioma == null && (!GetSelectedIdioma().Equals(GetSelectedExposicion().Idiomas[0])))) { AñadirPregunta(GetSelectedNivel(), GetSelectedExposicion()); } else if (!GetSelectedIdioma().Equals(GetSelectedExposicion().Idiomas[0])) { Console.WriteLine("NonEquals"); Exposicion exposicion = GetSelectedExposicion(); List <Pregunta> Preguntasxlevel = exposicion.Preguntas[GetSelectedNivel()]; int PreguntPos = BuscadorDePreguntas.GetPreguntaPos(Preguntasxlevel, SelectedPreguntaIdioma); SelectedPreguntaIdioma = exposicion.Preguntas[GetSelectedNivel()][PreguntPos].PreguntaIdiomas[exposicion.Idiomas[0]]; } if (SelectedPreguntaIdioma != null) { FormModificarPregunta formModificarPregunta = new FormModificarPregunta(SelectedPreguntaIdioma, GetSelectedExposicion().Preguntas, GetSelectedExposicion().Niveles, GetSelectedExposicion().Idiomas, GetSelectedExposicion().Id); formModificarPregunta.ShowDialog(); formModificarPregunta.Dispose(); } ActualitzarListPreguntas(GetSelectedNivel()); }
public static int GetPreguntaLevel(Dictionary <Nivel, List <Pregunta> > nivel_ListPreguntas, PreguntaIdioma preguntaIdioma) { int CntNivel = 0; int posnivel = -1; foreach (KeyValuePair <Nivel, List <Pregunta> > entry in nivel_ListPreguntas) { Console.WriteLine("Numero de Preguntas en Nivel " + entry.Key.Nombre + ": " + entry.Value.Count()); List <Pregunta> preguntas = (List <Pregunta>)entry.Value; int getPreguntaPos = GetPreguntaPos(preguntas, preguntaIdioma); if (getPreguntaPos != -1) { posnivel = CntNivel; } CntNivel++; } return(posnivel); }