Exemple #1
0
 def Render(self, ctx, size):
     i = stack.index(self)
     while i>0 and isinstance(stack[i-1], MenuFrame):
         i -= 1
     if i > 0 :
         stack[i-1].Render(ctx, size)
     RenderMenu(ctx, self.title, self.options.keys()[self.displayRange[0]:self.displayRange[1]], self.selected-self.displayRange[0], self.position, self.fontSizeTitle, self.fontSize)
Exemple #2
0
 def _ResolveSelection(self, keySelected, valueSelected):
     if isinstance(valueSelected, dict):
         stack.append(MenuFrame(valueSelected, keySelected, self.position, self.fontSizeTitle, self.fontSize,
                                self.displayItems))
     elif isinstance(valueSelected, StateFrame):
         stack.append(valueSelected)
     elif valueSelected == 'back':
         self.KillSelf()
     else:
         try:
             output = valueSelected()
             self._ResolveSelection(keySelected, output)
         except TypeError:
             if not valueSelected:
                 # what if the option function added a StackFrame? we need to be careful here
                 removeIdx = stack.index(self)
                 while len(stack) > 1 and removeIdx >= 0 and isinstance(stack[removeIdx], MenuFrame):
                     stack[removeIdx].KillSelf()
                     removeIdx -= 1