Example #1
0
        /// <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);
        }
Example #2
0
 public MenuItemSilverlight(string text)
 {
     InitializeComponent();
     formMenuItem    = new FormMenuItem(text);
     this.label.Text = text;
     formMenuItem.OutputConnectionPoint        = new ConnectionPoint(ConnectionPointType.Output);
     formMenuItem.OutputConnectionPoint.Parent = formMenuItem;
 }
Example #3
0
        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;
            }
        }
Example #4
0
 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;
     }
 }
Example #5
0
        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);
            }
        }
Example #6
0
        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);
            }
        }
Example #7
0
 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);
     }
 }
Example #8
0
 public void RemoveMenuItem(FormMenuItem menuItem)
 {
     menuItem.Reset(null);
     this.MenuItems.Remove(menuItem);
 }
Example #9
0
 public void AddMenuItem(FormMenuItem menuItem)
 {
     menuItem.Parent = this;
     this.MenuItems.Add(menuItem);
 }
Example #10
0
        /// <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));
        }
Example #11
0
        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);
            }
        }