From: Foster T. B. <fbr...@ad...> - 2007-01-09 22:18:59
|
Hey all, This is something of a 'call for input' into the project I'd like to focus on next: A list/tree view/controller for ASL. This will most likely leverag= e the Data Browser (Carbon) and TreeView (Win32) control implementations for the back end. The big difference between this widget and others is that a list/tree view is a representation of a sequence of nodes. My current thought is to have the data structure behind the widget be an adobe::forest. This shores up th= e functionality available to the widget, but what I'd like to focus on for feedback is the means by which information is communicated between the widget and the client. What would such a communication system look like? Fo= r instance, what would be a good general solution that would provide the ability to notify the user of what sequence of nodes are currently visible in the widget view? I have begun a brainstorming page on the opensource.adobe.com wiki: http://opensource.adobe.com/wiki/index.php/List/Tree_Widget Any contributions or thoughts you might have into the topic would be beneficial. (My long term plan is to leverage the widget in the creation of "Expresso2"= , a visual editor for our layout/property model system.) Blessings, Foster --=20 Foster T. Brereton <=E1=BC=B0=CF=87=CE=B8=CF=8D=CF=82>< Romans 3:= 21-26 A d o b e S o f t w a r e T e c h n o l o g y L a b "What 99 percent of programmers need to know is not how to build components but how to use them." -- Alexander Stepanov "Now we have very simple code and the meaning is perfectly clear. Drink the Kool-Aid" -- Sean Parent |
From: Ralph T. <ra...@gm...> - 2007-01-09 23:13:56
|
SSBoYXZlIGEgbGlzdCAobm90IHRyZWUpIHZpZXcgd2lkZ2V0IGluIE1pc3Npb24uIEl0J3Mgbm90 IGltcGxlbWVudGVkCmluIHRlcm1zIG9mIGEgcGxhdGZvcm0gdHJlZSB2aWV3IHdpZGdldCwgdGhv dWdoLiBJdCB3b3JrcyBsaWtlIHRoaXM6CgpAYXJyYXlfaW5fc2hlZXQgY29udGFpbnMgYW4gYXJy YXkgb2Ygc3RyaW5nczoKCnNjcm9sbHZpZXcoKSB7CiAgY29sdW1uKCkgewogICAgZ2VuZXJhdG9y KGJpbmQ6IEBhcnJheV9pbl9zaGVldCwgaXRlcmF0b3I6IEBpKSB7CiAgICAgIGR5bmFtaWNfdGV4 dChiaW5kOiBAaSk7CiAgICB9CiAgfQp9CgpUaGlzIG1ha2VzIGEgc2Nyb2xsaW5nIGxpc3Qgb2Yg dGhlIHRleHQuIEkgaGF2ZSBjb250YWluZXJzIHRoYXQKaGlnaGxpZ2h0IHdoZW4gY2xpY2tlZCBh bmQgc2V0IGEgdmFsdWUgaW50byBhIGNlbGwgKHNvIHRoZXkgbW9kZWwgdGhlCnNhbWUgY29uY2Vw dCBhcyBhIHJhZGlvIGJ1dHRvbikuIFRoZXNlIGNhbiBiZSB1c2VkIGZvciBzZWxlY3Rpb24uIFdo ZW4KY29tYmluZWQgd2l0aCB0aGUgZGF0YXB1bXAgY29uY2VwdCB0aGF0IEkgaGF2ZSwgeW91IGNh biB1c2UgbXVsdGlwbGUKdmlld3MgZm9yIGFuIGl0ZW06CgpAYXJyYXlfaW5fc2hlZXQgY29udGFp bnMgYW4gYXJyYXkgb2YgZGljdGlvbmFyaWVzIHsgaWNvbjogImljb24gbmFtZSIsCm5hbWU6ICJ0 ZXh0IiB9OgoKc2Nyb2xsdmlldygpIHsKICBjb2x1bW4oKSB7CiAgICBnZW5lcmF0b3IoYmluZDog QGFycmF5X2luX3NoZWV0LCBpdGVyYXRvcjogQGkpIHsKICAgICAgcm93KCkgewogICAgICAgIGlj b24oc2l6ZTogMTYsIGJpbmQ6IGRpY3Rpb25hcnkoIGRpY3Q6IEBpLCBrZXk6ICJpY29uIiApICk7 CiAgICAgICAgZHluYW1pY190ZXh0KGJpbmQ6IGRpY3Rpb25hcnkoIGRpY3Q6IEBpLCBrZXk6ICJu YW1lIiApICk7CiAgICAgIH0KICAgIH0KICB9Cn0KClRoaXMgYXBwcm9hY2ggd29ya3Mgd2VsbCBm b3Igc21hbGwgZGF0YSBzZXRzLCBhbmQgdGhlIGNvZGUgdG8KZ2VuZXJhdG9yIGlzIHRvdGFsbHkg cGxhdGZvcm0gaW5kZXBlbmRlbnRbMV0uIFRoZXJlIGFyZSBzb21lCm9wdGltaXphdGlvbnMgZm9y IGRlYWxpbmcgd2l0aCBodWdlIGRhdGFzZXRzIHdoZXJlIG9ubHkgdGhlIHZpc2libGUKdmlld3Mg YXJlIGNyZWF0ZWQsIGJ1dCBvbiBtb3N0IHBsYXRmb3JtcyBzY3JvbGxpbmcgYSBsYXJnZSBudW1i ZXIgb2YKd2lkZ2V0cyBpcyBzbG93IChNYWNPUyBpcyBhbiBleGNlcHRpb24gdG8gdGhpcywgYnV0 IGJvdGggV2luMzIgYW5kCkdUSysgd2VyZSBzbG93IGF0IHNjcm9sbGluZyBsb3RzIG9mIHdpZGdl dHMpLgoKVG8gYWRkcmVzcyB0aGUgcGVyZm9ybWFuY2UgcHJvYmxlbXMgd2l0aCBzY3JvbGxpbmcs IEkgd3JvdGUgYSB2ZXJzaW9uCm9mIGdlbmVyYXRvciB0aGF0IHVzZXMgZmx5d2VpZ2h0IHZpZXdz IHRvIGRpc3BsYXkgdGhlIGRhdGEuIFRoZQphZHZhbnRhZ2Ugb2YgdGhpcyBhcHByb2FjaCBpcyB0 aGF0IGl0IG1ha2VzIHRoaW5ncyBsaWtlIGNhY2hpbmcKZGVjb2RlZCBpbWFnZXMgbXVjaCBtb3Jl IHN0cmFpZ2h0Zm9yd2FyZCwgYW5kIGl0J3MgdmVyeSBxdWljayB0bwpzY3JvbGwgYW5kIHJlc2l6 ZS4gVGhlIGRpc2FkdmFudGFnZSBpcyB0aGF0IG1vc3Qgb2YgdGhlIGNvZGUgaXMKcGxhdGZvcm0g c3BlY2lmaWMuIEkgb25seSBoYXZlIGFuIGltcGxlbWVudGF0aW9uIG9mIG15CmZseXdlaWdodF9n ZW5lcmF0b3IgZm9yIEd0aysgY3VycmVudGx5LCBhbHRob3VnaCBDb2NvYSAoYW5kIHByb2JhYmx5 CkNhcmJvbikgaGFzIGZseXdlaWdodCB2aWV3cyBhdmFpbGFibGUgaW4gdGhlIHBsYXRmb3JtIChX aW4zMiB3aWxsIGJlIGEKbGl0dGxlIG1vcmUgd29yaykuCgpJIGxpa2UgdGhlIGlkZWEgb2YgaGF2 aW5nIGEgdHJlZXZpZXcgaW4gdGhlIHBsYXRmb3JtLCBhbmQgYSBzaW1wbGUgb25lCndvdWxkIGJl IHN1ZmZpY2llbnQgZm9yIEV4cHJlc3NvMiBhbmQgZm9yIHByZWZlcmVuY2UgZGlhbG9ncywgZXRj LiBJdAp3b3VsZCBiZSBuaWNlIGlmIGl0IGNvdWxkIGJlIGV4dGVuZGVkIHNvIHRoYXQgeW91IGNv dWxkIGRvIHRoaW5ncyBsaWtlCmxvYWQgcGFydHMgb2YgdGhlIHRyZWUgb24gZGVtYW5kIChpZiB5 b3Ugd2FudGVkIHRvIGRvIGEgdHJlZXZpZXcgb2YKdGhlIGZpbGVzeXN0ZW0gd2l0aG91dCByZWFk aW5nIGV2ZXJ5IGRpcmVjdG9yeSBpbiBhZHZhbmNlLCBmb3IKZXhhbXBsZSkuCgpUaGUgbWFpbiBp c3N1ZXMgYXJlOgoKICAtIEhvdyBkbyB5b3Ugc3BlY2lmeSB0aGUgY29udGVudHMgb2YgZWFjaCBy b3c/IEFyZSBjaGlsZCByb3dzCmFsbG93ZWQgdG8gaGF2ZSBkaWZmZXJlbnQgdmlld3MgaW4gdGhh biB0aGVpciBwYXJlbnRzIGRvPwogIC0gSG93IGRvIHlvdSBzcGVjaWZ5IHdoaWNoIHZpZXdzIGlu IGEgcm93IGNvcnJlc3BvbmQgdG8gd2hhdCBkYXRhIGluCnRoZSB0cmVlIG1vZGVsPwogIC0gSG93 IGRvIHlvdSBzcGVjaWZ5IHRoZSB0cmVlIG1vZGVsPyBXaWxsIHRoZXJlIGJlIGEgc3ludGF4IGZv cgpzcGVjaWZ5aW5nIGEgdHJlZSBhcyBhbiBvdXRwdXQgY2VsbCBpbiBhbiBBZGFtIHNoZWV0Pwog IC0gSXMgaXQgcG9zc2libGUgdG8gbWluaW1pemUgdGhlIGFtb3VudCBvZiB3b3JrIHRoYXQgaGFz IHRvIGJlIGRvbmUKd2hlbiB0aGUgbW9kZWwgY2hhbmdlcz8KClRoZXJlIGFyZSBwcm9iYWJseSBt b3JlIHRoYXQgSSdtIG1pc3NpbmcgYXQgdGhlIG1vbWVudCA6KS4gSSdsbCBhZGQKdGhpcyB0byB0 aGUgd2lraSB0aGlzIGV2ZW5pbmcsIGlmIHlvdSBoYXZlbid0IGFscmVhZHkuCgpUaGFua3MsCiBS YWxwaAoKWzFdOiBodHRwOi8vbWlzc2lvbmNvZGUuZ29vZ2xlY29kZS5jb20vc3ZuL3RydW5rL3Zp ZXcvZ2VuZXJpYy9nZW5lcmF0b3IuYysrCihub3RlIHRoYXQgdGhpcyByZXF1aXJlcyByZW1vdmVf dmlld19lbGVtZW50IGFuZCByZWluc2VydF92aWV3X2VsZW1lbnQKdG8gYmUgaW1wbGVtZW50ZWQg aW4gRXZlIC0tIHRoaXMgaXMgYSB0cml2aWFsIHNwbGljZSBvZiB0aGUgcHJveGllcwpmb3Jlc3Qp LiBSZWFsIHVzYWdlIG9mIHRoZSBnZW5lcmF0b3IgaXMgaGVyZToKaHR0cDovL21pc3Npb25jb2Rl Lmdvb2dsZWNvZGUuY29tL3N2bi90cnVuay9yZXNvdXJjZXMvYXBwcy9waG90by9ldmUKaW4gdGhl ICJsaXN0IG9mIGFsYnVtcyIuCgpPbiAxLzkvMDcsIEZvc3RlciBULiBCcmVyZXRvbiA8ZmJyZXJl dG9AYWRvYmUuY29tPiB3cm90ZToKPiBIZXkgYWxsLAo+Cj4gVGhpcyBpcyBzb21ldGhpbmcgb2Yg YSAnY2FsbCBmb3IgaW5wdXQnIGludG8gdGhlIHByb2plY3QgSSdkIGxpa2UgdG8gZm9jdXMKPiBv biBuZXh0OiBBIGxpc3QvdHJlZSB2aWV3L2NvbnRyb2xsZXIgZm9yIEFTTC4gVGhpcyB3aWxsIG1v c3QgbGlrZWx5IGxldmVyYWdlCj4gdGhlIERhdGEgQnJvd3NlciAoQ2FyYm9uKSBhbmQgVHJlZVZp ZXcgKFdpbjMyKSBjb250cm9sIGltcGxlbWVudGF0aW9ucyBmb3IKPiB0aGUgYmFjayBlbmQuCj4K PiBUaGUgYmlnIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGlzIHdpZGdldCBhbmQgb3RoZXJzIGlzIHRo YXQgYSBsaXN0L3RyZWUgdmlldwo+IGlzIGEgcmVwcmVzZW50YXRpb24gb2YgYSBzZXF1ZW5jZSBv ZiBub2Rlcy4gTXkgY3VycmVudCB0aG91Z2h0IGlzIHRvIGhhdmUKPiB0aGUgZGF0YSBzdHJ1Y3R1 cmUgYmVoaW5kIHRoZSB3aWRnZXQgYmUgYW4gYWRvYmU6OmZvcmVzdC4gVGhpcyBzaG9yZXMgdXAg dGhlCj4gZnVuY3Rpb25hbGl0eSBhdmFpbGFibGUgdG8gdGhlIHdpZGdldCwgYnV0IHdoYXQgSSdk IGxpa2UgdG8gZm9jdXMgb24gZm9yCj4gZmVlZGJhY2sgaXMgdGhlIG1lYW5zIGJ5IHdoaWNoIGlu Zm9ybWF0aW9uIGlzIGNvbW11bmljYXRlZCBiZXR3ZWVuIHRoZQo+IHdpZGdldCBhbmQgdGhlIGNs aWVudC4gV2hhdCB3b3VsZCBzdWNoIGEgY29tbXVuaWNhdGlvbiBzeXN0ZW0gbG9vayBsaWtlPyBG b3IKPiBpbnN0YW5jZSwgd2hhdCB3b3VsZCBiZSBhIGdvb2QgZ2VuZXJhbCBzb2x1dGlvbiB0aGF0 IHdvdWxkIHByb3ZpZGUgdGhlCj4gYWJpbGl0eSB0byBub3RpZnkgdGhlIHVzZXIgb2Ygd2hhdCBz ZXF1ZW5jZSBvZiBub2RlcyBhcmUgY3VycmVudGx5IHZpc2libGUKPiBpbiB0aGUgd2lkZ2V0IHZp ZXc/Cj4KPiBJIGhhdmUgYmVndW4gYSBicmFpbnN0b3JtaW5nIHBhZ2Ugb24gdGhlIG9wZW5zb3Vy Y2UuYWRvYmUuY29tIHdpa2k6Cj4KPiBodHRwOi8vb3BlbnNvdXJjZS5hZG9iZS5jb20vd2lraS9p bmRleC5waHAvTGlzdC9UcmVlX1dpZGdldAo+Cj4gQW55IGNvbnRyaWJ1dGlvbnMgb3IgdGhvdWdo dHMgeW91IG1pZ2h0IGhhdmUgaW50byB0aGUgdG9waWMgd291bGQgYmUKPiBiZW5lZmljaWFsLgo+ Cj4gKE15IGxvbmcgdGVybSBwbGFuIGlzIHRvIGxldmVyYWdlIHRoZSB3aWRnZXQgaW4gdGhlIGNy ZWF0aW9uIG9mICJFeHByZXNzbzIiLAo+IGEgdmlzdWFsIGVkaXRvciBmb3Igb3VyIGxheW91dC9w cm9wZXJ0eSBtb2RlbCBzeXN0ZW0uKQo+Cj4gQmxlc3NpbmdzLAo+IEZvc3Rlcgo+Cj4KPiAtLQo+ IEZvc3RlciBULiBCcmVyZXRvbiAgICAgICAgICAgICAgICAgIDzhvLDPh864z43Pgj48ICAgICAg ICAgICAgICAgIFJvbWFucyAzOjIxLTI2Cj4gQSBkIG8gYiBlICAgUyBvIGYgdCB3IGEgciBlICAg VCBlIGMgaCBuIG8gbCBvIGcgeSAgIEwgYSBiCj4gIldoYXQgOTkgcGVyY2VudCBvZiBwcm9ncmFt bWVycyBuZWVkIHRvIGtub3cgaXMgbm90IGhvdyB0byBidWlsZCBjb21wb25lbnRzCj4gYnV0IGhv dyB0byB1c2UgdGhlbS4iIC0tIEFsZXhhbmRlciBTdGVwYW5vdgo+ICJOb3cgd2UgaGF2ZSB2ZXJ5 IHNpbXBsZSBjb2RlIGFuZCB0aGUgbWVhbmluZyBpcyBwZXJmZWN0bHkgY2xlYXIuIERyaW5rIHRo ZQo+IEtvb2wtQWlkIiAtLSBTZWFuIFBhcmVudAo+Cj4KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gVGFr ZSBTdXJ2ZXlzLiBFYXJuIENhc2guIEluZmx1ZW5jZSB0aGUgRnV0dXJlIG9mIElUCj4gSm9pbiBT b3VyY2VGb3JnZS5uZXQncyBUZWNoc2F5IHBhbmVsIGFuZCB5b3UnbGwgZ2V0IHRoZSBjaGFuY2Ug dG8gc2hhcmUgeW91cgo+IG9waW5pb25zIG9uIElUICYgYnVzaW5lc3MgdG9waWNzIHRocm91Z2gg YnJpZWYgc3VydmV5cyAtIGFuZCBlYXJuIGNhc2gKPiBodHRwOi8vd3d3LnRlY2hzYXkuY29tL2Rl ZmF1bHQucGhwP3BhZ2U9am9pbi5waHAmcD1zb3VyY2Vmb3JnZSZDSUQ9REVWREVWCj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBBZG9iZS1zb3VyY2Ut ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gQWRvYmUtc291cmNlLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdl Lm5ldAo+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL2Fkb2Jl LXNvdXJjZS1kZXZlbAo+Cg== |