Exemple #1
0
        public String CreateBookmark(String aLabel, String aParentID, int aPosition)
        {
            XmlElement parentElt = GetElementById(aParentID);

            XmlElement childElt = mBookmarksDocument.CreateElement("item");

            childElt.SetAttribute("label", aLabel);
            String bookmarkID = Bookmarks.GenerateID();

            childElt.SetAttribute("id", bookmarkID);
            if (aPosition != -1)
            {
                parentElt.InsertBefore(childElt, parentElt.ChildNodes[aPosition]);
            }
            else
            {
                parentElt.AppendChild(childElt);
            }

            CommandTarget target       = new CommandTarget(aLabel, "", bookmarkID, false);
            CommandTarget parentTarget = new CommandTarget("", "", aParentID, true);
            IEnumerator   observers    = mObservers.GetEnumerator();

            while (observers.MoveNext())
            {
                IDataStoreObserver idso = observers.Current as IDataStoreObserver;
                idso.OnNodeAdded(target, parentTarget, -1);
            }

            return(bookmarkID);
        }
Exemple #2
0
 public void AddObserver(IDataStoreObserver aObserver)
 {
     if (mObservers == null)
     {
         mObservers = new Queue();
     }
     mObservers.Enqueue(aObserver);
 }
Exemple #3
0
        public void AddObserver(IDataStoreObserver aObserver)
        {
            if (mObservers == null)
            {
                mObservers = new Hashtable();
            }

            mObservers.Add(aObserver.GetHashCode(), aObserver);
        }
Exemple #4
0
        public void RemoveOdd()
        {
            IEnumerator targets = mTargets.Values.GetEnumerator();

            while (targets.MoveNext())
            {
                IEnumerator observers = mObservers.Values.GetEnumerator();
                while (observers.MoveNext())
                {
                    IDataStoreObserver idso    = observers.Current as IDataStoreObserver;
                    CommandTarget      current = targets.Current as CommandTarget;
                    if (Int32.Parse(current.AccessKey) % 2 != 0)
                    {
                        mTargets.Remove(current.Data.GetHashCode());
                        idso.OnNodeRemoved(targets.Current as CommandTarget);
                    }
                }
            }
        }
Exemple #5
0
        public void SetBookmarkAttribute(String aBookmarkID, String aAttribute, String aValue)
        {
            XmlElement elt = GetElementById(aBookmarkID);

            CommandTarget oldTarget = new CommandTarget();

            switch (aAttribute)
            {
            case "label":
                oldTarget.Label = elt.GetAttribute(aAttribute);
                break;

            case "icon":
                oldTarget.IconURL = elt.GetAttribute(aAttribute);
                break;

            case "container":
                oldTarget.IsContainer = elt.GetAttribute(aAttribute) == "true";
                break;

            case "open":
                oldTarget.IsOpen = elt.GetAttribute(aAttribute) == "true";
                break;
            }
            oldTarget.Data = aBookmarkID;

            elt.SetAttribute(aAttribute, aValue);

            // Enumerate the attributes presentation cares about and set the attribute on the
            // target if it is being changed.
            // XXX could optimize this.
            CommandTarget newTarget = new CommandTarget();

            switch (aAttribute)
            {
            case "label":
                newTarget.Label = aValue;
                break;

            case "icon":
                newTarget.IconURL = aValue;
                break;

            case "container":
                newTarget.IsContainer = aValue == "true";
                break;

            case "open":
                newTarget.IsOpen = aValue == "true";
                break;
            }
            newTarget.Data = aBookmarkID;

            IEnumerator observers = mObservers.GetEnumerator();

            while (observers.MoveNext())
            {
                IDataStoreObserver idso = observers.Current as IDataStoreObserver;
                idso.OnNodeChanged(oldTarget, newTarget);
            }
        }
Exemple #6
0
 public void AddObserver(IDataStoreObserver aObserver)
 {
     if (mObservers == null)
     mObservers = new Queue();
       mObservers.Enqueue(aObserver);
 }
Exemple #7
0
        public void AddObserver(IDataStoreObserver aObserver)
        {
            if (mObservers == null)
            mObservers = new Hashtable();

              mObservers.Add(aObserver.GetHashCode(), aObserver);
        }