Exemple #1
0
        public int Add(ToolbarButton item)
        {
            if (item == null)
            {
                throw new ArgumentNullException("Item cannot be null.");
            }

            _toolbarButtons.Add(item);
            item.ToolbarParent = ToolbarParent;

            if (_isTrackingViewState)
            {
                ((IStateManager)item).TrackViewState();
                item.SetDirty();
            }

            return(_toolbarButtons.Count - 1);
        }
Exemple #2
0
        object IStateManager.SaveViewState()
        {
            if (_saveAll == true)
            {
                // Save all items.
                ArrayList types  = new ArrayList(Count);
                ArrayList states = new ArrayList(Count);
                for (int i = 0; i < Count; i++)
                {
                    ToolbarButton tabItem = (ToolbarButton)_toolbarButtons[i];
                    tabItem.SetDirty();

                    //if (tabItem is ToolbarButton)
                    //{
                    types.Add('c');
                    //}
                    //else
                    //{
                    //	types.Add('r');
                    //}
                    states.Add(((IStateManager)tabItem).SaveViewState());
                }
                if (types.Count > 0)
                {
                    return(new Pair(types, states));
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                // Save only the dirty items.
                ArrayList indices = new ArrayList();
                ArrayList types   = new ArrayList();
                ArrayList states  = new ArrayList();

                for (int i = 0; i < Count; i++)
                {
                    ToolbarButton tabItem = (ToolbarButton)_toolbarButtons[i];
                    object        state   = ((IStateManager)tabItem).SaveViewState();
                    if (state != null)
                    {
                        states.Add(state);
                        indices.Add(i);

                        //if (tabItem is ToolbarButton)
                        //{
                        types.Add('c');
                        //}
                        //else
                        //{
                        //	types.Add('r');
                        //}
                    }
                }

                if (indices.Count > 0)
                {
                    return(new Triplet(indices, types, states));
                }

                return(null);
            }
        }