private void listObjetos_MouseDoubleClick(object sender, MouseEventArgs e) { if (listObjetos.SelectedItems.Count == 0) return; ListViewItemCustom itemVersion = (ListViewItemCustom)listObjetos.SelectedItems[0]; listObjetos.Items[0].Selected = true; listObjetos_MouseClick(null, null); TabPageCustom tab = (TabPageCustom)tabs.SelectedTab; string guidRegistro = tab.guidRegistro; string guidObjeto = tab.guidObjeto; string guidVersion = itemVersion.guid; Objeto obj = getObjeto(guidRegistro, guidObjeto); if (guidVersion == obj.codigos[0].guid) { return; } Codigo codigoVersion = getCodigo(guidRegistro, guidObjeto, guidVersion); HLCode code = new HLCode(); code.guidCodigo = guidVersion; code.guidObjeto = guidObjeto; code.guidRegistro = guidRegistro; code.nombreObjeto = obj.nombre_objeto + " V" + codigoVersion.version; code.Dock = DockStyle.Fill; code.Text = codigoVersion.codigo; code.ReadOnly = true; iniciarConfiguracionCodigo(code); TabPageCustom tabNueva = new TabPageCustom(obj.nombre_objeto + " V" + codigoVersion.version); tabNueva.guidCodigo = guidVersion; tabNueva.guidRegistro = guidRegistro; tabNueva.guidObjeto = guidObjeto; tabNueva.ImageIndex = 1; tabNueva.esVersionAntigua = true; tabNueva.Controls.Add(code); tabs.TabPages.Insert(tabs.TabPages.Count - 1, tabNueva); tabs_Click(tabNueva, null); }
private void listRegistros_SelectedIndexChanged(object sender, EventArgs e) { listObjetos.Clear(); tabs.TabPages.Clear(); if (listRegistros.SelectedItems.Count == 0) { return; } ListViewItemCustom registroClicked = (ListViewItemCustom)listRegistros.SelectedItems[0]; string guid = registroClicked.guid; if (guid == GUID_NUEVO_REGISTRO) return; Registro registro = registros.First(item => item.guid == guid); foreach (Objeto obj in registro.objetos) { Codigo cod = new Codigo() ; if (obj.codigos.Count>0) { //Cogemos el que tenga versión mayor cod = obj.codigos[0]; foreach (Codigo item in obj.codigos) { if (item.version > cod.version) cod = item; } HLCode code = new HLCode(); code.guidCodigo = cod.guid; code.guidObjeto = obj.guid; code.guidRegistro = registro.guid; code.nombreObjeto = obj.nombre_objeto; iniciarConfiguracionCodigo(code); bool encontrado = false; foreach (CodigoModificado item in codigosModificados) { if (item.guidCodigo == code.guidCodigo && item.guidObjeto == code.guidObjeto && item.guidRegistro == code.guidRegistro) { code.Text = item.codigo; encontrado = true; } } if (!encontrado) code.Text = cod.codigo; actualizarLineasMostradas(code, 0); code.Leave += code_Leave; code.TextChanged += code_TextChanged; code.Insert += code_Insert; code.Delete += code_Delete; code.Click += code_Click; string nombreTab = obj.nombre_objeto; if (encontrado) nombreTab = nombreTab + "*" ; TabPageCustom tab = new TabPageCustom(nombreTab); tab.guidCodigo = cod.guid; tab.guidObjeto = obj.guid; tab.guidRegistro = registro.guid; tab.nombreObjeto = obj.nombre_objeto; int indexLenguaje = lenguajes.First(item => item.guid == obj.lenguaje).indexImageList; tab.ImageIndex = indexLenguaje; code.Left = 0; code.Top = 0; code.Dock = DockStyle.Fill; //code.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top | AnchorStyles.Bottom; tab.Controls.Add(code); tabs.Controls.Add(tab); tabs_Click(tab, null); } } try { Objeto objSeleccionado = (Objeto)sender; foreach (TabPageCustom item in tabs.TabPages) { if (item.guidObjeto == objSeleccionado.guid) { tabs.SelectedTab = item; tabs_Click(null, null); break; } } } catch (Exception) { } TabPageCustom tabNueva = new TabPageCustom("Nuevo"); tabNueva.ImageIndex = 0; tabNueva.guidCodigo = GUID_NUEVO_OBJETO; tabNueva.guidObjeto = GUID_NUEVO_OBJETO; tabNueva.guidRegistro = registro.guid; tabs.Controls.Add(tabNueva); ultimoRegistroSeleccionado = registro; }
public TabPageCustom getTab(string guidRegistro, string guidObjeto, string guidCodigo) { TabPageCustom salida = new TabPageCustom(""); foreach (TabPageCustom item in tabs.TabPages) { if (item.guidRegistro == guidRegistro && item.guidObjeto == guidObjeto && item.guidCodigo == guidCodigo) { return item; } } return salida; }