/// <summary> /// Añade un UserControl al TabControl según la EOpcion que recibe por param. Si el TabItem ya está mostrado, /// no se carga de nuevo, simplemente se establece el foco en ese TabItem. /// Se añade el EOpcion y el nuevo TabItem al Dictionary de TabItems(tabitemdictionary) que almacena los TabItems activos. /// </summary> /// <param name="opcion"></param> public static void PrepareTabItemUserControl(EOpcion opcion) { try { if (tabitemdictionary.Where(p => p.Key == opcion).Count() == 0) { CintaOpcionesUserControl cintaopcionesusercontrol = new CintaOpcionesUserControl(); //Se crea el Tabitem TabItem tabitem = TabItemLogic.CreateTabItemDataGrid(opcion); //Se añade un nuevo object CintaOpcionesUserControl al TabItem tabitem.Content = cintaopcionesusercontrol; //Se añade el EOpcion y el nuevo TabItem al Dictionary de TabItems(tabitemdictionary) que almacena los TabItems activos tabitemdictionary.Add(opcion, new TemplateInfoTabItem(tabitem)); //Se habilitan/deshabilitan los Buttons del ToolBar según corresponda ToolBarLogic.EnabledDisabledToolBarButtonsByEOpcion(opcion); } else { //Si el TabItem ya está mostrado, no se carga de nuevo, simplemente se establece el foco en ese TabItem tabitemdictionary.Where(z => z.Key == opcion).FirstOrDefault().Value.TabItem.Focus(); } } catch (Exception ex) { ErrorsGeneric.MessageError(ex); } }
/// <summary> /// Guarda la configuración por defecto (Variablesglobales.Dictionary<ERibbonTab, RibbonTabAndGroup> ribbontabdictionary ) /// de los RibbonGroups de los RibbonTab seleccionados /// </summary> /// <param name="cintaopcionesusercontrol"></param> public static void SetDefaultRibbonTabConfig(CintaOpcionesUserControl cintaopcionesusercontrol) { try { //Boolean = true, Indica que se ha marcado algún Checkbox, y mostrará un mensaje de información para el usuario bool result = false; //Recorre los controles de la Grid que contiene los Checkbox. Si el Control es un CheckBox comprobará si está marcado, y en ese caso, //se reordenará a la configuración por defecto el RibbonTab según establecido en VariablesGlobales.ribbontabdictionary foreach (Control control in cintaopcionesusercontrol.grdCintaOpciones.Children) { if (control is CheckBox) { CheckBox checkbox = control as CheckBox; if (checkbox.IsChecked == true) { string ribbontabname = ribbontabdictionary.Where(r => r.Value.checkbox.Equals(checkbox.Name.ToString())).FirstOrDefault().Key.ToString(); RibbonTab ribbontab = ribbontabdictionary.Where(r => r.Key.ToString().Equals(ribbontabname)).FirstOrDefault().Value.ribbontab; if (GetDefaultRibbonTabConfig(ribbontab)) { result = true; } } } } if (result) { MessageBox.Show(Resources.msgSaveCintaOpcionesOK, Resources.lrbtnCinta, MessageBoxButton.OK, MessageBoxImage.Information); } } catch (Exception e) { ErrorsGeneric.MessageError(e); } }
/// <summary> /// Guarda la configuración por defecto (Variablesglobales.Dictionary<ERibbonTab, RibbonTabAndGroup> ribbontabdictionary ) /// de los RibbonGroups de los RibbonTab seleccionados /// </summary> /// <param name="opcion"></param> public static void GuardarCintaOpciones(EOpcion opcion) { try { TabItem tabitem = tabitemdictionary.Where(c => c.Key == opcion).FirstOrDefault().Value.TabItem; CintaOpcionesUserControl cintaopcionesusercontrol = tabitem.Content as CintaOpcionesUserControl; UserAndDefaultConfig.SetDefaultRibbonTabConfig(cintaopcionesusercontrol); } catch (Exception ex) { ErrorsGeneric.MessageError(ex); } }
/// <summary> /// Desmarca todos los CheckBox /// </summary> /// <param name="opcion"></param> public static void CancelarCintaOpciones(EOpcion opcion) { try { TabItem tabitem = tabitemdictionary.Where(c => c.Key == opcion).FirstOrDefault().Value.TabItem; CintaOpcionesUserControl cintaopcionesusercontrol = tabitem.Content as CintaOpcionesUserControl; foreach (Control control in cintaopcionesusercontrol.grdCintaOpciones.Children) { if (control is CheckBox) { CheckBox checkbox = control as CheckBox; checkbox.IsChecked = false; } } } catch (Exception ex) { ErrorsGeneric.MessageError(ex); } }