Re: A few issues and suggestions

"Sergey Schetinin" <[email protected]>
Newsgroups gmane.comp.python.peak
Message-ID <[email protected]>
>> 3. Assigning Cell instances to CellAttributes.
>> When you set a component attribute to a cell (for ex. c.val = Cell())
>> it's treated as a special case and overwrites the cell in __cells__
>> dictionary. I suppose this is done to simplify use of existing cells
>> in component initialization, but there seem to be no other use for it.
>
> I was actually planning to (eventually) go more the other way, and allow
> CellAttributes to treat an assignment of a cell as triggering a changed()
> notice to the old cell underneath, after first replacing it.

I considered this, but this might have unwanted effects for rules that
expect to be triggered only if the dependencies actually changed (some
performers for example). Also, attribute-cell mapping isn't always
1:1, so even if cell values are the same one couldn't just iterate
through listeners of the old cell and create dependencies on the new
one.

Anyway, I certainly see how this feature would be useful.

>> However it's useful sometimes to have a cell as a value of another
>> cell, so it would be nice if it this special case was implemented in
>> Component.__init__ instead of CellAttribute.__set__
>
> Note that nothing stops you from making the outer cell a regular attribute.

That's exactly how I'm working around this.


Thank you for your answers!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.