[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