[Dev] Sidebar Collections update

Morgen Sagen morgen at osafoundation.org
Fri Sep 2 13:09:24 PDT 2005


Something new as of last night is the InclusionExclusionCollection  
(i26n?) is now 'trash aware'; when you create an instance of i26n you  
can pass it a trash collection to use (see i26n's setup( ) method).   
Al i26n's making use of that communal trash will get the added benefits:

- Removing an item from a collection will move it to the trash if the  
item appears in no other participating collections
- Any items added to the trash will disappear from any participating  
collections
- Removing an item from the trash will make that item reappear in any  
collections that still have it in their inclusions (i.e., the item  
wasn't explicitly removed from that collection)
- Adding an item to a participating collection removes the item from  
the trash (which can then trigger the previous action above)

As I was adding this functionality, Trash.py got smaller and smaller  
until it was empty, so I removed it. :-)

~morgen


On Aug 31, 2005, at 3:01 PM, John Anderson wrote:

> We had a meeting to discuss some changes to the Collections in the  
> Sidebar today. Here's what we decided:
>
> Well known collections in the sidebar, e.g. the Collection of  
> Collections in the Sidebar, Trash, All, In, and Out should be  
> directly accessible via python paths. Currently we are only doing  
> this for Trash.
>
> We'd like to move away from asking the Sidebar for information  
> about Collections and instead just use the Collections themselves,  
> or add new Collections that make it convenient to answer the  
> questions about Collections. As an example of this, we are going to  
> add a new KindCollection, which is a Collection of all the  
> UserCollections. UserCollections are the kind of Collections that  
> are added to the sidebar when you add a collection from the menu.  
> UserCollection will be a subclass of InclusionsExclusionsCollection  
> (suggestions for better names welcome). Currently, UserCollection's  
> sole reason for existence is to be a Kind that is automatically  
> added to the KindCollection of UserCollections, it will add no  
> attributes or methods to InclusionsExclusionsCollection.
>
> We will also add two new optional attributes to AbstractCollection:  
> Color is the color of the Collection when it is seen in the sidebar  
> and Calendar, and isShown, which allows us to hide In and Out in  
> the Sidebar when the Calendar is visible. Originally we proposed  
> adding these U/I attributes to another item that hung off the  
> Collection, so we didn't pollute collectionness with U/I display  
> attributes, however, that didn't allow FilteredCollection to filter  
> out collections with isShown == False. We may change how we store U/ 
> I information in the future if this approach becomes awkward.  
> Someday we may use multiple inheritance to construct a new Kind,  
> SystemCollection, which would consist of Trash, All, In, Out, if  
> treating these Collections as a group makes sense.
>
> John
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "Dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/dev
>



More information about the Dev mailing list