Added TODO and DEVELOPMENT.
[faces-project.git] / metapie / navigator.py
blobe42e935d7a592042cc3b805bbc507ee7d8a55149
1 ############################################################################
2 # Copyright (C) 2005 by Reithinger GmbH
3 # mreithinger@web.de
5 # This file is part of metapie.
6 #
7 # metapie is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 2 of the License, or
10 # (at your option) any later version.
12 # pyplan is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the
19 # Free Software Foundation, Inc.,
20 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 ############################################################################
24 SIBLING_ABOVE = 1
25 SIBLING_BELOW = 2
28 class Model(object):
29 #__title__ = None
30 #__bitmap__ = None
33 def register(self):
34 abstract
37 def accept_sibling(self, sibling):
38 return False
42 class View(object):
43 #__title__ = None
44 #__bitmap__ = None
45 #__height__ = None
48 def accept_sibling(self, sibling):
49 """
50 Called by the controller, to ask if a view
51 accepts a sibling beside itself.
52 Return Values:
53 False: I do not accept the sibling (the sibling will be also asked)
54 SIBLING_BELOW: the sibling should appear below me with a sash between us
55 SIBLING_ABOVE: dito but above
56 """
57 return False
60 def is_visible(self):
61 return self.IsShown() and self.GetParent().IsShown()
64 def become_visible(self):
65 """
66 This function is called, when the view is about to become visible
67 """
70 def get_title(obj):
71 title = getattr(obj, "__title__", None)
72 if not title:
73 title = str(obj)
74 elif callable(title):
75 title = title()
77 return title
80 def get_height(obj):
81 height = getattr(obj, "__height__", None)
82 if callable(height):
83 height = height()
85 return height
89 def get_bitmap(obj):
90 bitmap = getattr(obj, "__bitmap__", None)
91 if not bitmap:
92 return None
93 elif callable(bitmap):
94 bitmap = bitmap()
96 return bitmap