/// <summary> /// Crea un ítem basado en los datos ingresados en un EditMenuFromControl. /// </summary> /// <returns>Objeto MenuItem para un Form.</returns> private FormMenuItem generateItem() { FormMenuItem item = new FormMenuItem(this.TextBoxText.Text.Trim(), this.textBoxHelp.Text.Trim(), FontName.Arial); if (radioRegister.IsChecked.Value) { item.InputDataContext = this.myMenuForm.InputDataContext; item.OutputDataContext = item.InputDataContext; } else if (radioList.IsChecked.Value) { item.InputDataContext = listBoxOutput.SelectedItem as LogicalLibrary.DataModelClasses.Table; item.OutputDataContext = item.InputDataContext; } else { item.InputDataContext = null; item.OutputDataContext = null; } item.FontName = FontName.Arial; item.Bold = (bool)checkBoxBold.IsChecked; return(item); }
public MenuItemSilverlight(string text) { InitializeComponent(); formMenuItem = new FormMenuItem(text); this.label.Text = text; formMenuItem.OutputConnectionPoint = new ConnectionPoint(ConnectionPointType.Output); formMenuItem.OutputConnectionPoint.Parent = formMenuItem; }
private void buttonEdit_Click(object sender, RoutedEventArgs e) { try { String textEdited = TextBoxText.Text.Trim(); String stringHelpEdited = textBoxHelp.Text.Trim(); FormMenuItem formMenuItem = listBoxEnabled.SelectedItem as FormMenuItem; // Buscar el objeto MenuItemSilverlight elegido en MenuFormSilverlight. MenuItemSilverlight menuItemSilverlight = menuFormSilverlight.FindMenuItemSilverlight(formMenuItem); if (menuItemSilverlight != null) { FormMenuItem formMenuItemChanged; // Si el MenuItemsToChange ya contiene el FormMenuItem, cambiar este // FormMenuItem. if (menuItemsChanged.ContainsKey(menuItemSilverlight)) { formMenuItemChanged = menuItemsChanged[menuItemSilverlight]; formMenuItemChanged.Text = textEdited; formMenuItemChanged.HelpText = stringHelpEdited; listBoxEnabled.UpdateLayout(); return; } // Si no lo contiene, crear un nuevo formMenuItem. formMenuItemChanged = new FormMenuItem(); formMenuItemChanged.Text = textEdited; formMenuItemChanged.HelpText = stringHelpEdited; // Agregar un nuevo formMenuItem a la lista menuItemsChanged. menuItemsChanged.Add(menuItemSilverlight, formMenuItemChanged); int selected = listBoxEnabled.SelectedIndex; // Quitar el ítem viejo de la lista listBoxEneable. listBoxEnabled.Items.Remove(formMenuItem); // Insertar el nuevo ítem en la misma posición que el ítem quitado. listBoxEnabled.Items.Insert(selected, formMenuItemChanged); return; } // Si el ítem seleccionado no está en el MenuForm, entonces el ítem está // siendo editado: completar sus datos. formMenuItem.Text = textEdited; formMenuItem.HelpText = stringHelpEdited; listBoxEnabled.Items.Remove(formMenuItem); listBoxEnabled.Items.Add(formMenuItem); clearTextBoxs(); EnableOutputContext(true); buttonAddItem.IsEnabled = true; buttonEdit.IsEnabled = false; } catch (Exception) { throw; } }
public MenuItemSilverlight(FormMenuItem formMenuItem) { InitializeComponent(); this.label.Text = formMenuItem.Text; this.formMenuItem = formMenuItem; if (formMenuItem.InputConnectionPoint == null) { formMenuItem.InputConnectionPoint = new ConnectionPoint(ConnectionPointType.Input); formMenuItem.InputConnectionPoint.Parent = formMenuItem; } if (formMenuItem.OutputConnectionPoint == null) { formMenuItem.OutputConnectionPoint = new ConnectionPoint(ConnectionPointType.Output); formMenuItem.OutputConnectionPoint.Parent = formMenuItem; } }
private void listBoxEnabled_SelectionChanged(object sender, SelectionChangedEventArgs e) { FormMenuItem item = listBoxEnabled.SelectedItem as FormMenuItem; if (item != null) { // Carga la interfaz GUI en base a un ítem seleccionado. TextBoxText.Text = item.Text; checkBoxBold.IsChecked = item.Bold; if (item.HelpText != null) { textBoxHelp.Text = item.HelpText; } this.buttonEdit.IsEnabled = true; this.buttonAddItem.IsEnabled = false; this.EnableOutputContext(false); } }
private void buttonRemoveOfList_Click(object sender, RoutedEventArgs e) { try { FormMenuItem formMenuItem = listBoxEnabled.SelectedItem as FormMenuItem; MenuItemSilverlight menuItemSilverlight = menuFormSilverlight.FindMenuItemSilverlight(formMenuItem); clearTextBoxs(); buttonAddItem.IsEnabled = true; buttonEdit.IsEnabled = false; listBoxEnabled.SelectedIndex = -1; // Si el objeto FormMenuItem estuvo desde el comienzo y no fue modificado. if (menuItemSilverlight != null) { // Agregar un formMenuItem para borrarlo de la lista ListBoxEneable. menuItemsDeleted.Add(menuItemSilverlight); listBoxEnabled.Items.Remove(formMenuItem); return; } // El objeto formMenuItem estuvo desde el comienzo, pero fue modificado. if (menuItemsChanged.ContainsValue(formMenuItem)) { foreach (MenuItemSilverlight item in menuFormSilverlight.MenuItemsSilverlight) { if (menuItemsChanged[item].Equals(formMenuItem)) { menuItemsDeleted.Add(item); menuItemsChanged.Remove(item); listBoxEnabled.Items.Remove(formMenuItem); return; } } } // El objeto formMenuItem no estuvo desde el comienzo. listBoxEnabled.Items.Remove(formMenuItem); } catch (NullReferenceException error) { Dialog.ShowErrorDialog(SilverlightVisualDesigners.Properties.Resources.UnhandledError, error.Message, this.gridLayautRoot); } }
private void AddItem_Click(object sender, RoutedEventArgs e) { try { // Verificar errores en los campos o nombres de tablas. Error error = Utilities.CheckFieldsOrTableNames(TextBoxText.Text); if (error == null) { FormMenuItem itemGenerated = generateItem(); listBoxEnabled.Items.Add(itemGenerated); clearTextBoxs(); this.EnableOutputContext(true); return; } Dialog.ShowErrorDialog(error.Name, error.Description, this.gridLayautRoot); } catch (NullReferenceException error) { Dialog.ShowErrorDialog(SilverlightVisualDesigners.Properties.Resources.UnhandledError, error.Message, this.gridLayautRoot); } }
public void RemoveMenuItem(FormMenuItem menuItem) { menuItem.Reset(null); this.MenuItems.Remove(menuItem); }
public void AddMenuItem(FormMenuItem menuItem) { menuItem.Parent = this; this.MenuItems.Add(menuItem); }
/// <summary> /// Encuentra un FormMenuItem en un MenuForm. Este método usa Equals /// para comparar el FormMenuItem encapsulado. /// </summary> /// <param name="formMenuItem">Objeto FormMenuItem a ser encontrado.</param> /// <returns>Objeto MenuItemSilverlight si fue encontrado, null si no.</returns> public MenuItemSilverlight FindMenuItemSilverlight(FormMenuItem formMenuItem) { MenuItemSilverlight menuItemSivlerlight = new MenuItemSilverlight(formMenuItem); return(FindMenuItemSilverlight(menuItemSivlerlight)); }
private void buttonOk_Click(object sender, RoutedEventArgs e) { try { if (listBoxEnabled.Items.Count == 0) { Dialog.ShowErrorDialog(SilverlightVisualDesigners.Properties.Resources.Error, SilverlightVisualDesigners.Properties.Resources.NoMenuItems, this.gridLayautRoot); return; } // Verificar si el MenuForm tiene título. if (String.IsNullOrEmpty(textBoxTitle.Text)) { Dialog.ShowErrorDialog(SilverlightVisualDesigners.Properties.Resources.Error, SilverlightVisualDesigners.Properties.Resources.TitleFormEmpty, this.gridLayautRoot); return; } // Cambiar el título del MenuForm. menuFormSilverlight.ChangeTitle(textBoxTitle.Text.Trim()); // Eliminar los ítems viejos eliminados si el usuario está editando // el Menuform. foreach (MenuItemSilverlight item in menuItemsDeleted.ToArray()) { menuFormSilverlight.RemoveItem(item); } // Busca los ítems editados y actualiza los datos. foreach (MenuItemSilverlight item in menuFormSilverlight.MenuItemsSilverlight) { if (menuItemsChanged.ContainsKey(item)) { FormMenuItem tempFormMenuItem = menuItemsChanged[item]; item.Text = tempFormMenuItem.Text; item.HelpText = tempFormMenuItem.HelpText; // Remover de la lista para no agregarlo en el siguiente foreach. listBoxEnabled.Items.Remove(tempFormMenuItem); } } // Para cada ítem en listBoxEnable que no haya sido creado, crear un nuevo // FormMenuItem y añadirlo al menú. foreach (FormMenuItem formMenuItem in listBoxEnabled.Items) { MenuItemSilverlight menuItemSilverlightFinded = menuFormSilverlight.FindMenuItemSilverlight(formMenuItem); // Si el formMenuItem es nuevo, crearlo y añadirlo al menú. if (menuItemSilverlightFinded == null) { formMenuItem.Parent = this.menuFormSilverlight.MenuForm; MenuItemSilverlight newMenuItemSilverlight = new MenuItemSilverlight(formMenuItem); newMenuItemSilverlight.MenuParent = this.menuFormSilverlight; this.menuFormSilverlight.AddItem(newMenuItemSilverlight); } int indexFormMenuItem = listBoxEnabled.Items.IndexOf(formMenuItem); int indexMenuItemSilverlightFinded = menuFormSilverlight.MenuItemsSilverlight.IndexOf(menuItemSilverlightFinded); // Si el formMenuItem ha cambiado de posición en el menú, reordenarlo // también en el menú. if (indexMenuItemSilverlightFinded != -1 && indexFormMenuItem != indexMenuItemSilverlightFinded) { MenuItemSilverlight menuItemToPosicionate = menuFormSilverlight.MenuItemsSilverlight[indexMenuItemSilverlightFinded]; menuFormSilverlight.MenuItemsSilverlight.Remove(menuItemToPosicionate); menuFormSilverlight.MenuItemsSilverlight.Insert(indexFormMenuItem, menuItemToPosicionate); } } // Reordenar el ítem para actualizar la visualización. menuFormSilverlight.ReorderItems(); if (Closed != null) { Closed(this, e); } } catch (NullReferenceException error) { Dialog.ShowErrorDialog(SilverlightVisualDesigners.Properties.Resources.UnhandledError, error.Message, this.gridLayautRoot); } }