Ejemplo n.º 1
0
        void Add_ButtonBase(DevExpress.XtraNavBar.NavBarGroup navBarGroup, Fwk.UI.Controls.Menu.ButtonBase pButtonBase, bool isNew)
        {
            DevExpress.XtraNavBar.NavBarItem navBarItem = new NavBarItem();
            BarGroup wBarGroup = (BarGroup)navBarGroup.Tag;

            if (isNew)
            {
                wBarGroup.Buttons.Add(pButtonBase);
            }



            if (pButtonBase.Image != null)
            {
                navBarItem.SmallImage = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(pButtonBase.Image);
            }

            if (pButtonBase.LargeImage != null)
            {
                navBarItem.LargeImage = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(pButtonBase.LargeImage);
            }

            navBarItem.Caption      = pButtonBase.Caption;
            navBarItem.Tag          = pButtonBase;
            navBarItem.LinkClicked += new DevExpress.XtraNavBar.NavBarLinkEventHandler(wNavBarItem_LinkClicked);
            navBarGroup.ItemLinks.Add(navBarItem);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Agregar Item
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddNavItem_Click(object sender, EventArgs e)
        {
            if (uC_NavMenu1.ActiveGroup == null)
            {
                return;
            }
            //Si se agrega a un arbol es un TreeNodeButton
            if (((BarGroup)uC_NavMenu1.ActiveGroup.Tag).ContainTree)
            {
                TreeNodeButton newTreeNodeButton = new TreeNodeButton();

                //Asigno el padre del nodo
                if (_CurrentButtonBase != null)
                {
                    newTreeNodeButton.ParentID = _CurrentButtonBase.Id;
                }

                //determino que el actual nodo es el q acabo de crear
                _CurrentButtonBase = (Fwk.UI.Controls.Menu.ButtonBase)newTreeNodeButton;
            }
            //Si se agrega a una simple navbar es un ButtonBase (como simple link)
            else
            {
                _CurrentButtonBase = new Fwk.UI.Controls.Menu.ButtonBase();
            }



            LoadControl <UC_ButtonBaseEditor>(_CurrentButtonBase, ActionTypes.Create, uC_NavMenu1.ActiveGroup.Tag);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Obtiene el objeto ToolBar creado
        /// desde los nodos del Tree,
        /// esto se realiza para poder mantener
        /// el orden con el cual se han ido acomodando
        /// los nodos del tree.
        /// </summary>
        /// <returns>ToolBar obtenido</returns>
        private Fwk.UI.Controls.Menu.ToolBar GenerateToolBarFromTree()
        {
            Fwk.UI.Controls.Menu.ToolBar newToolBar = new Fwk.UI.Controls.Menu.ToolBar();

            foreach (TreeListNode node in ctlTreeViewMenuBar.Nodes)
            {
                Fwk.UI.Controls.Menu.ButtonBase newButton = (Fwk.UI.Controls.Menu.ButtonBase)node.GetValue("colObjeto");

                if (newButton.GetType() == typeof(PopupButton))
                {
                    PopupButton popupButton = (PopupButton)newButton;
                    popupButton.Buttons.Clear();

                    foreach (TreeListNode buttonNode in node.Nodes)
                    {
                        Fwk.UI.Controls.Menu.ButtonBase ButtonBase = (Fwk.UI.Controls.Menu.ButtonBase)buttonNode.GetValue("colObjeto");
                        popupButton.Buttons.Add(ButtonBase);
                    }

                    newToolBar.Add(popupButton);
                }

                // Para boton común
                if (newButton.GetType() == typeof(Fwk.UI.Controls.Menu.ButtonBase))
                {
                    newToolBar.Add(newButton);
                }
            }

            return(newToolBar);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Carga el objeto ButtonBase pasado
        /// en un control ButtonBaseEditor y lo muestra
        /// en el grpPanel de edición.
        /// </summary>
        /// <param name="ButtonBaseObjectToLoad">Objeto ButtonBase a cargar.</param>
        private void LoadButtonBaseObject(Fwk.UI.Controls.Menu.ButtonBase ButtonBaseObjectToLoad)
        {
            UC_ButtonBaseEditor ButtonBaseEditor     = null;
            IEnumerable <UC_ButtonBaseEditor> editor = grpEditionContainer.Controls.OfType <UC_ButtonBaseEditor>();

            if (editor.Count() > 0)
            {
                ButtonBaseEditor        = editor.First();
                ButtonBaseEditor.OnInit = true;
                ButtonBaseEditor.BringToFront();
                ButtonBaseEditor.LoadControl(ButtonBaseObjectToLoad, null);
                ButtonBaseEditor.MenuItemSaved += new MenuItemSavedHandler(menuEditor_MenuItemSaved);
                //ButtonBaseEditor.EditorValueChanges += new EventHandler(editorTemp_EditorValueChanges);
                ButtonBaseEditor.OnInit = false;
                return;
            }

            ButtonBaseEditor        = new UC_ButtonBaseEditor();
            ButtonBaseEditor.OnInit = true;
            grpEditionContainer.Controls.Add(ButtonBaseEditor);
            ButtonBaseEditor.Dock = DockStyle.Fill;
            ButtonBaseEditor.BringToFront();
            ButtonBaseEditor.LoadControl(ButtonBaseObjectToLoad, null);
            ButtonBaseEditor.MenuItemSaved += new MenuItemSavedHandler(menuEditor_MenuItemSaved);
            //ButtonBaseEditor.EditorValueChanges += new EventHandler(editorTemp_EditorValueChanges);
            ButtonBaseEditor.OnInit = false;
        }
Ejemplo n.º 5
0
 /// <summary>
 /// Metodo utilizado para lanzar el evento
 /// MenuButtonClick
 /// </summary>
 /// <param name="pButtonClicked">Bot�n presionado</param>
 void LinkButtonClick(Fwk.UI.Controls.Menu.ButtonBase pButtonClicked)
 {
     if (OnLinkButtonClick != null)
     {
         ButtonClickArgs <Fwk.UI.Controls.Menu.ButtonBase> e = new ButtonClickArgs <Fwk.UI.Controls.Menu.ButtonBase>(pButtonClicked);
         OnLinkButtonClick(this, e);
     }
 }
Ejemplo n.º 6
0
        protected override void SaveModifications()
        {
            bool exist = false;

            if (ActionType == Fwk.UI.Common.ActionTypes.Create)
            {
                if (_ParentGroup != null) // se debe validar ya que si no tiene otros nodos el parent es null
                {
                    if (_ParentGroup.ContainTree)
                    {
                        exist = _ParentGroup.MenuBarTree.Exist(txtId.Text);
                    }
                    else
                    {
                        exist = _ParentGroup.Buttons.Exist(txtId.Text);
                    }
                }


                if (exist)
                {
                    if (SimpleMessageView.Show(string.Concat("Ya existe un ID = ", txtId.Text, ". ¿Desea sobre escribir este item de menú?"),
                                               "Menu", MessageBoxButtons.YesNo, Fwk.UI.Common.MessageBoxIcon.Question) == DialogResult.No)
                    {
                        txtId.SelectAll();
                        txtId.Focus();
                        return;
                    }


                    List <Fwk.UI.Controls.Menu.ButtonBase> a = (from item in _ParentGroup.Buttons
                                                                where item.Id.Equals(txtId.Text.Trim(), StringComparison.OrdinalIgnoreCase)
                                                                select item).ToList <Fwk.UI.Controls.Menu.ButtonBase>();

                    _CopyButton = a[0];
                }
            }
            _CopyButton.Id           = txtId.Text;
            _CopyButton.AssemblyInfo = txtAssemblyInfo.Text;
            _CopyButton.Caption      = txtCaption.Text;
            _CopyButton.Shortcut     = txtShortCut.Text;
            _CopyButton.ToolTipText  = txtToolTip.Text;


            if (pctSmallImage.Image != null)
            {
                _CopyButton.Image = TypeFunctions.ConvertImageToByteArray(pctSmallImage.Image, ImageFormat.Png);
            }
            if (pctLargeImage.Image != null)
            {
                _CopyButton.LargeImage = TypeFunctions.ConvertImageToByteArray(pctLargeImage.Image, ImageFormat.Png);
            }

            OnMenuItemSaved(new MenuItemSavedEventArgs(_CopyButton));
        }
Ejemplo n.º 7
0
 public void Add_ItemToGroup(NavBarGroup pNavBarGroup, Fwk.UI.Controls.Menu.ButtonBase buttonBase)
 {
     if (((BarGroup)pNavBarGroup.Tag).ContainTree)
     {
         Update_UC_TreeNavBar(pNavBarGroup, ((TreeNodeButton)buttonBase));
     }
     else
     {
         Add_ButtonBase(pNavBarGroup, buttonBase, true);
     }
 }
Ejemplo n.º 8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="btn"></param>
        public override void LoadControl(Fwk.UI.Controls.Menu.MenuItemBase btn, object parent)
        {
            _ParentGroup    = (BarGroup)parent;
            _OriginalButton = (Fwk.UI.Controls.Menu.ButtonBase)btn;
            _CopyButton     = _OriginalButton.Clone <Fwk.UI.Controls.Menu.ButtonBase>();

            txtId.Text           = _CopyButton.Id;
            txtCaption.Text      = _CopyButton.Caption;
            txtToolTip.Text      = _CopyButton.ToolTipText;
            txtAssemblyInfo.Text = _CopyButton.AssemblyInfo;
            txtShortCut.Text     = _CopyButton.Shortcut;
            SetControlVisibility(btn);

            //grpImages.Enabled Significa que se trata de NavBarItem y NO TreeView
            if (grpImages.Enabled)
            {
                if (this.ActionType == Fwk.UI.Common.ActionTypes.Edit)//Solo si es Edit se le asignan valores a pctSmallImage
                {
                    if (_CopyButton.Image == null)
                    {
                        pctSmallImage.Image = null;
                    }
                    else
                    {
                        pctSmallImage.Image = new Bitmap(new MemoryStream(_CopyButton.Image));
                    }

                    if (_CopyButton.LargeImage == null)
                    {
                        pctLargeImage.Image = null;
                    }
                    else
                    {
                        pctLargeImage.Image = new Bitmap(new MemoryStream(_CopyButton.LargeImage));
                    }
                }
            }

            if (ActionType == Fwk.UI.Common.ActionTypes.Create)
            {
                base.AceptButtonText = "Agregar elemento";
            }
            if (ActionType == Fwk.UI.Common.ActionTypes.Edit)
            {
                base.AceptButtonText = "Aplicar cambio al item";
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Actualiza un simplebuton
        /// </summary>
        /// <param name="ButtonBase_Updated">ButtonBase o item con los nuevos valores
        /// conserva el GUID</param>
        public void Update_ItemFromGroup(Fwk.UI.Controls.Menu.ButtonBase buttonBase_Updated)
        {
            BarGroup wBarGroup = (BarGroup)this.ActiveGroup.Tag;

            //BarGroup wBarGroupX = _MenuBar.GetBy_Guid(wBarGroup.Guid);
            if ((wBarGroup).ContainTree)
            {
                Fwk.UI.Controls.Menu.TreeNodeButton originalButtonBase = wBarGroup.MenuBarTree.GetBy_Guid(buttonBase_Updated.Guid);

                originalButtonBase.Map((TreeNodeButton)buttonBase_Updated);
                //wBarGroup.MenuBarTree.
                UC_TreeNavBar treeList = (UC_TreeNavBar)((System.Windows.Forms.Control)(this.ActiveGroup.ControlContainer)).Controls[0];

                treeList.Refresh();
            }
            else
            {
                Fwk.UI.Controls.Menu.ButtonBase originalButtonBase = wBarGroup.Buttons.GetBy_Guid(buttonBase_Updated.Guid);

                originalButtonBase.Map(buttonBase_Updated);


                //Recorro los items de la ActiveGroup y actuaizo los datos del que tenga como tag el guid que se actualiza
                foreach (NavBarItem link in this.ActiveGroup.NavBar.Items)
                {
                    if (((Fwk.UI.Controls.Menu.ButtonBase)(link.Tag)).Guid.Equals(originalButtonBase.Guid))
                    {
                        if (originalButtonBase.Image != null)
                        {
                            link.SmallImage = Fwk.HelperFunctions.TypeFunctions.ConvertByteArrayToImage(originalButtonBase.Image);
                        }

                        link.Caption = originalButtonBase.Caption;
                    }
                }
            }
        }
Ejemplo n.º 10
0
 void uC_NavMenu1_MenuButtonClick(object sender, ButtonClickArgs <Fwk.UI.Controls.Menu.ButtonBase> e)
 {
     _CurrentButtonBase = e.ButtonClicked;
     textBox1.Text      = _CurrentButtonBase.Guid.ToString();
     LoadControl <UC_ButtonBaseEditor>(_CurrentButtonBase, ActionTypes.Edit, uC_NavMenu1.ActiveGroup.Tag);
 }