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); }
public void AddObserver(IDataStoreObserver aObserver) { if (mObservers == null) { mObservers = new Queue(); } mObservers.Enqueue(aObserver); }
public void AddObserver(IDataStoreObserver aObserver) { if (mObservers == null) { mObservers = new Hashtable(); } mObservers.Add(aObserver.GetHashCode(), aObserver); }
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); } } } }
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); } }
public void AddObserver(IDataStoreObserver aObserver) { if (mObservers == null) mObservers = new Queue(); mObservers.Enqueue(aObserver); }
public void AddObserver(IDataStoreObserver aObserver) { if (mObservers == null) mObservers = new Hashtable(); mObservers.Add(aObserver.GetHashCode(), aObserver); }