Tree views - Best design practices
Filip Gruszczyński
gruszczy at gmail.com
Thu Jan 8 16:00:04 EST 2009
> class Element(object):
> @staticmethod
> def is_leaf(): return True
> @staticmethod
> def is_branch(): return False
>
> class Group(object):
> @staticmethod
> def is_leaf(): return False
> @staticmethod
> def is_branch(): return True
>
> Of course, you have to give priority to one or the other, in case an
> object thinks it is both.
>
> if thing.is_branch():
> # Treat it like a branch
> elif thing.is_leaf():
> # Treat it like a leaf
>
> I believe this is a simpler method than checking a single attribute
> for a name.
Is it really any better than asking for class? I mean, if I need to
add another class to a hierarchy which behaves differently, will it be
more flexible (actually you have to add another method to every class
and check for in the gui). I believe it's just the same as asking for
the class, but we hide it under static methods. It's no different
though.
--
Filip Gruszczyński
More information about the Python-list
mailing list