stickynotes are just one of many types of information that can live in a single leo node comprised of (a) a headstring, (b) arbitrary text in the body, and (c) attributes in the uA.
Seems to me it could be really handy to have a generic interface for user (i.e. manual) editing of *some* uA attributes. E.g. a date field on a stickynote or todo item, all sorts of fields on an address book entry, etc. (There was one plugin for editing uA's, but I think it was Tk.) I think the interface is easy enough, but how best to identify which uA parts are suitable for user editing? 1) a new dictionary on vnode? - ick 2) an entry in the existing uA which by convention holds user editable attributes? Suppose it's called "_edit", then uA might end up looking like:: {'annotate': {'pri':7, 'progress':45}, 'icon': {'path': "/x/c/v.png", 'isTodo':True}, '_edit': { 'ToDo': {'needed_by':20030908}, 'Sticky': {'category': 'cats', 'processed': 'yes'} } } Where I'm trying to make the point that different plugins etc. would probably want to group their attributes within different dicts in the '_edit' entry. So the user would just see, for this node, a three line attribute editing area where the names of the attributes where 'needed_by', 'category', and 'processed'. It might be nice to have an analogous '_view' entry in uA for read-only attributes (like 'created' for a stick-note, for example). And, drifting off topic and into the future, type-awareness so that 'processed': 'yes' could be a 'processed': True rendered as a checkbox. 3) finally, not using an '_edit' convention, but instead having plugins register parts of uA they wish to expose to the user: g.registerAttribute(['todo','needed_by']) g.registerAttribute(['todo','metadata','created'], viewOnly=True) would have the advantage that all the info. for the plugin would be in one uA entry, instead of split between ['todo'] for the bits the user shouldn't see, and ['_edit']['todo'] for the bits the user should see. So the above would indicate that the user should see attributes 'needed_by' and 'created', accessed as v.uA['todo']['needed_by'] and v.uA['todo']['metadata']['created'] respectively, and that 'created' be seen but not edited. (2) and (3) are close competitors I think, (3) is in some ways neater, but (2) has the possibly significant advantage that attributes would still be visible even in the absence of the plugin. Cheers -Terry --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to leo-editor@googlegroups.com To unsubscribe from this group, send email to leo-editor+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en -~----------~----~----~----~------~----~------~--~---