예제 #1
0
        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);
        }
예제 #2
0
        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;
        }
예제 #3
0
 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;
 }