August 20, 2002
Instance ID
Here's a trick for the list (sometime I'll sort my own categories out...): generating your own instance ID for properties. Read on. I use the PropertyList for all sorts of things. When listening to a propertylist, the event handler looks like this: The "bIsLocal" boolean flag tells you whether that property changed locally or on another user. It's useful, in principle: a good pattern is to have your property "setter" independent of the property "listener", so you might set a property in response to a UI gesture, then use OnPropertyChanged to hear what other users have been doing and update your own UI appropriately. In that case you really don't want to listen to events which you caused. Unfortunately, the "local" flag is a sledgehammer. If you use "open tool in new window" (so you have two instances of the tool UI running), any properties set by your tool won't appear "remote" to the other instance. So, I like to wrap properties up inside an XML element (which buys some more flexibility anyway), and tag that element with an instance-ID which is unique to that actual instance of the UI code. To do this: function SomethingWhichNeedsToSetAProperty( sPropertyName, x, y, z ) // and finally the listener function OnPropertyChanged( sKey, pValue, bLocal ) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
vcard
archives: January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003 April 2003 March 2003 February 2003 January 2003 December 2002 November 2002 October 2002 September 2002 August 2002 July 2002 June 2002 May 2002 April 2002 March 2002 February 2002 January 2002 December 2001 November 2001 October 2001 September 2001 August 2001 July 2001 June 2001 see also: {groove: [ ray, matt, paresh, mike, jeff, john ], other: [ /* more blogroll to follow */ ] } The views expressed on this weblog are mine alone and do not necessarily reflect the views of my employer. RSS 2.0 RSS 1.0 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||