def makeAllItems(self):
        for i in range(len(self['items'])):
            item = self['items'][i]
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    item = apply(self['itemMakeFunction'], (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text=item, text_align=self['itemsAlign'], text_wordwrap=self['itemsWordwrap'], relief=None)
                self['items'][i] = item
                item.reparentTo(self.itemFrame)

        self.recordMaxHeight()
        return
Example #2
0
    def scrollTo(self, index, centered=0):
        try:
            self['numItemsVisible']
        except:
            self.notify.info('crash 27633 fixed!')
            return

        numItemsVisible = self['numItemsVisible']
        numItemsTotal = len(self['items'])
        if centered:
            self.index = index - numItemsVisible / 2
        else:
            self.index = index
        if len(self['items']) <= numItemsVisible:
            self.incButton['state'] = DGG.DISABLED
            self.decButton['state'] = DGG.DISABLED
            self.index = 0
            ret = 0
        elif self.index <= 0:
            self.index = 0
            self.decButton['state'] = DGG.DISABLED
            self.incButton['state'] = DGG.NORMAL
            ret = 0
        elif self.index >= numItemsTotal - numItemsVisible:
            self.index = numItemsTotal - numItemsVisible
            self.incButton['state'] = DGG.DISABLED
            self.decButton['state'] = DGG.NORMAL
            ret = 0
        else:
            if self.incButton['state'] == DGG.DISABLED or self.decButton[
                    'state'] == DGG.DISABLED:
                self.__buttonUp(0)
            self.incButton['state'] = DGG.NORMAL
            self.decButton['state'] = DGG.NORMAL
            ret = 1
        for item in self['items']:
            if item.__class__.__name__ != 'str':
                item.hide()

        upperRange = min(numItemsTotal, numItemsVisible)
        for i in range(self.index, self.index + upperRange):
            item = self['items'][i]
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    item = apply(self['itemMakeFunction'],
                                 (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text=item,
                                       text_align=self['itemsAlign'],
                                       text_wordwrap=self['itemsWordwrap'],
                                       relief=None)
                self['items'][i] = item
                item.reparentTo(self.itemFrame)
                self.recordMaxHeight()
            item.show()
            item.setPos(0, 0, -(i - self.index) * self.maxHeight)

        if self['command']:
            apply(self['command'], self['extraArgs'])
        return ret
Example #3
0
    def makeAllItems(self):
        for i in range(len(self['items'])):
            item = self['items'][i]
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    item = apply(self['itemMakeFunction'],
                                 (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text=item,
                                       text_align=self['itemsAlign'],
                                       text_wordwrap=self['itemsWordwrap'],
                                       relief=None)
                self['items'][i] = item
                item.reparentTo(self.itemFrame)

        self.recordMaxHeight()
Example #4
0
    def scrollTo(self, index, centered=0):
        numItemsVisible = self['numItemsVisible']
        numItemsTotal = len(self['items'])
        if centered:
            self.index = index - numItemsVisible / 2
        else:
            self.index = index
        if len(self['items']) <= numItemsVisible:
            self.incButton['state'] = DISABLED
            self.decButton['state'] = DISABLED
            self.index = 0
            ret = 0
        else:
            if self.index <= 0:
                self.index = 0
                self.decButton['state'] = DISABLED
                self.incButton['state'] = NORMAL
                ret = 0
            else:
                if self.index >= numItemsTotal - numItemsVisible:
                    self.index = numItemsTotal - numItemsVisible
                    self.incButton['state'] = DISABLED
                    self.decButton['state'] = NORMAL
                    ret = 0
                else:
                    self.incButton['state'] = NORMAL
                    self.decButton['state'] = NORMAL
                    ret = 1
        for item in self['items']:
            if item.__class__.__name__ != 'str':
                item.hide()

        upperRange = min(numItemsTotal, numItemsVisible)
        for i in range(self.index, self.index + upperRange):
            item = self['items'][i]
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    item = apply(self['itemMakeFunction'],
                                 (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text=item, relief=None)
                self['items'][i] = item
                item.reparentTo(self.itemFrame)
                self.recordMaxHeight()
            item.show()
            item.setPos(0, 0, -(i - self.index) * self.maxHeight)

        if self['command']:
            apply(self['command'], self['extraArgs'])
        return ret
        return
    def scrollTo(self, index, centered = 0):
        try:
            self['numItemsVisible']
        except:
            self.notify.info('crash 27633 fixed!')
            return

        numItemsVisible = self['numItemsVisible']
        numItemsTotal = len(self['items'])
        if centered:
            self.index = index - numItemsVisible / 2
        else:
            self.index = index
        if len(self['items']) <= numItemsVisible:
            self.incButton['state'] = DGG.DISABLED
            self.decButton['state'] = DGG.DISABLED
            self.index = 0
            ret = 0
        elif self.index <= 0:
            self.index = 0
            self.decButton['state'] = DGG.DISABLED
            self.incButton['state'] = DGG.NORMAL
            ret = 0
        elif self.index >= numItemsTotal - numItemsVisible:
            self.index = numItemsTotal - numItemsVisible
            self.incButton['state'] = DGG.DISABLED
            self.decButton['state'] = DGG.NORMAL
            ret = 0
        else:
            if self.incButton['state'] == DGG.DISABLED or self.decButton['state'] == DGG.DISABLED:
                self.__buttonUp(0)
            self.incButton['state'] = DGG.NORMAL
            self.decButton['state'] = DGG.NORMAL
            ret = 1
        for item in self['items']:
            if item.__class__.__name__ != 'str':
                item.hide()

        upperRange = min(numItemsTotal, numItemsVisible)
        for i in range(self.index, self.index + upperRange):
            item = self['items'][i]
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    item = apply(self['itemMakeFunction'], (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text=item, text_align=self['itemsAlign'], text_wordwrap=self['itemsWordwrap'], relief=None)
                self['items'][i] = item
                item.reparentTo(self.itemFrame)
                self.recordMaxHeight()
            item.show()
            item.setPos(0, 0, -(i - self.index) * self.maxHeight)

        if self['command']:
            apply(self['command'], self['extraArgs'])
        return ret
 def makeAllItems(self):
     assert self.notify.debugStateCall(self)
     for i in range(len(self['items'])):
         item = self["items"][i]
         # If the item is a 'str', then it has not been created
         # Therefore, use the the function given to make it or
         # just make it a frame
         #print "Making " + str(item)
         if item.__class__.__name__ == 'str':
             if self['itemMakeFunction']:
                 # If there is a function to create the item
                 item = apply(self['itemMakeFunction'],
                              (item, i, self['itemMakeExtraArgs']))
             else:
                 item = DirectFrame(text=item,
                                    text_align=self['itemsAlign'],
                                    text_wordwrap=self['itemsWordwrap'],
                                    relief=None)
             # Then add the newly formed item back into the normal item list
             self["items"][i] = item
             item.reparentTo(self.itemFrame)
     self.recordMaxHeight()
Example #7
0
 def makeAllItems(self):
     assert self.notify.debugStateCall(self)
     for i in range(len(self['items'])):
         item = self["items"][i]
         # If the item is a 'str', then it has not been created
         # Therefore, use the the function given to make it or
         # just make it a frame
         #print "Making " + str(item)
         if item.__class__.__name__ == 'str':
             if self['itemMakeFunction']:
                 # If there is a function to create the item
                 item = apply(self['itemMakeFunction'],
                              (item, i, self['itemMakeExtraArgs']))
             else:
                 item = DirectFrame(text = item,
                                    text_align = self['itemsAlign'],
                                    text_wordwrap = self['itemsWordwrap'],
                                    relief = None)
             # Then add the newly formed item back into the normal item list
             self["items"][i] = item
             item.reparentTo(self.itemFrame)
     self.recordMaxHeight()
 def scrollTo(self, index, centered = 0):
     numItemsVisible = self['numItemsVisible']
     numItemsTotal = len(self['items'])
     if centered:
         self.index = index - numItemsVisible / 2
     else:
         self.index = index
     if len(self['items']) <= numItemsVisible:
         self.incButton['state'] = DISABLED
         self.decButton['state'] = DISABLED
         self.index = 0
         ret = 0
     elif self.index <= 0:
         self.index = 0
         self.decButton['state'] = DISABLED
         self.incButton['state'] = NORMAL
         ret = 0
     elif self.index >= numItemsTotal - numItemsVisible:
         self.index = numItemsTotal - numItemsVisible
         self.incButton['state'] = DISABLED
         self.decButton['state'] = NORMAL
         ret = 0
     else:
         self.incButton['state'] = NORMAL
         self.decButton['state'] = NORMAL
         ret = 1
     for item in self['items']:
         if item.__class__.__name__ != 'str':
             item.hide()
         
     
     upperRange = min(numItemsTotal, numItemsVisible)
     for i in range(self.index, self.index + upperRange):
         item = self['items'][i]
         if item.__class__.__name__ == 'str':
             if self['itemMakeFunction']:
                 item = apply(self['itemMakeFunction'], (item, i, self['itemMakeExtraArgs']))
             else:
                 item = DirectFrame(text = item, relief = None)
             self['items'][i] = item
             item.reparentTo(self.itemFrame)
             self.recordMaxHeight()
         
         item.show()
         item.setPos(0, 0, -(i - self.index) * self.maxHeight)
     
     if self['command']:
         apply(self['command'], self['extraArgs'])
     
     return ret
    def scrollTo(self, index, centered=0):
        """ scrolls list so selected index is at top, or centered in box"""
        assert self.notify.debugStateCall(self)
        #print "scrollTo[", index,"] called, len(self[items])=", len(self["items"])," self[numItemsVisible]=", self["numItemsVisible"]
        try:
            self["numItemsVisible"]
        except:
            # RAU hack to kill 27633
            self.notify.info('crash 27633 fixed!')
            return

        numItemsVisible = self["numItemsVisible"]
        numItemsTotal = len(self["items"])
        if (centered):
            self.index = index - (numItemsVisible / 2)
        else:
            self.index = index

        # Not enough items to even worry about scrolling,
        # just disable the buttons and do nothing
        if (len(self["items"]) <= numItemsVisible):
            self.incButton['state'] = DGG.DISABLED
            self.decButton['state'] = DGG.DISABLED
            # Hmm.. just reset self.index to 0 and bail out
            self.index = 0
            ret = 0
        else:
            if (self.index <= 0):
                self.index = 0
                #print "at list start, ", len(self["items"]),"  ", self["numItemsVisible"]
                self.decButton['state'] = DGG.DISABLED
                self.incButton['state'] = DGG.NORMAL
                ret = 0
            elif (self.index >= (numItemsTotal - numItemsVisible)):
                self.index = numItemsTotal - numItemsVisible
                #print "at list end, ", len(self["items"]),"  ", self["numItemsVisible"]
                self.incButton['state'] = DGG.DISABLED
                self.decButton['state'] = DGG.NORMAL
                ret = 0
            else:
                # deal with an edge condition - make sure any tasks are removed from the disabled arrows.
                if (self.incButton['state']
                        == DGG.DISABLED) or (self.decButton['state']
                                             == DGG.DISABLED):
                    #print "leaving list start/end, ", len(self["items"]),"  ", self["numItemsVisible"]
                    self.__buttonUp(0)
                self.incButton['state'] = DGG.NORMAL
                self.decButton['state'] = DGG.NORMAL
                ret = 1

        #print "self.index set to ", self.index

        # Hide them all
        for item in self["items"]:
            if item.__class__.__name__ != 'str':
                item.hide()

        # Then show the ones in range, and stack their positions
        upperRange = min(numItemsTotal, numItemsVisible)
        for i in range(self.index, self.index + upperRange):
            item = self["items"][i]
            #print "stacking buttontext[", i,"]", self["items"][i]["text"]
            # If the item is a 'str', then it has not been created (scrolled list is 'as needed')
            #  Therefore, use the the function given to make it or just make it a frame
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    # If there is a function to create the item
                    item = apply(self['itemMakeFunction'],
                                 (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text=item,
                                       text_align=self['itemsAlign'],
                                       text_wordwrap=self['itemsWordwrap'],
                                       relief=None)
                #print "str stacking buttontext[", i,"]", self["items"][i]["text"]
                # Then add the newly formed item back into the normal item list
                self["items"][i] = item
                item.reparentTo(self.itemFrame)
                self.recordMaxHeight()

            item.show()
            item.setPos(0, 0, -(i - self.index) * self.maxHeight)
            #print 'height bug tracker: i-%s idx-%s h-%s' % (i, self.index, self.maxHeight)

        if self['command']:
            # Pass any extra args to command
            apply(self['command'], self['extraArgs'])
        return ret
Example #10
0
    def scrollTo(self, index, centered=0):
        """ scrolls list so selected index is at top, or centered in box"""
        assert self.notify.debugStateCall(self)
        #print "scrollTo[", index,"] called, len(self[items])=", len(self["items"])," self[numItemsVisible]=", self["numItemsVisible"]
        try:
            self["numItemsVisible"]
        except:
            # RAU hack to kill 27633
            self.notify.info('crash 27633 fixed!')
            return

        numItemsVisible = self["numItemsVisible"]
        numItemsTotal = len(self["items"])
        if(centered):
            self.index = index - (numItemsVisible/2)
        else:
            self.index = index

        # Not enough items to even worry about scrolling,
        # just disable the buttons and do nothing
        if (len(self["items"]) <= numItemsVisible):
            self.incButton['state'] = DGG.DISABLED
            self.decButton['state'] = DGG.DISABLED
            # Hmm.. just reset self.index to 0 and bail out
            self.index = 0
            ret = 0
        else:
            if (self.index <= 0):
                self.index = 0
                #print "at list start, ", len(self["items"]),"  ", self["numItemsVisible"]
                self.decButton['state'] = DGG.DISABLED
                self.incButton['state'] = DGG.NORMAL
                ret = 0
            elif (self.index >= (numItemsTotal - numItemsVisible)):
                self.index = numItemsTotal - numItemsVisible
                #print "at list end, ", len(self["items"]),"  ", self["numItemsVisible"]
                self.incButton['state'] = DGG.DISABLED
                self.decButton['state'] = DGG.NORMAL
                ret = 0
            else:
                # deal with an edge condition - make sure any tasks are removed from the disabled arrows.
                if (self.incButton['state'] == DGG.DISABLED) or (self.decButton['state'] == DGG.DISABLED):
                    #print "leaving list start/end, ", len(self["items"]),"  ", self["numItemsVisible"]
                    self.__buttonUp(0)
                self.incButton['state'] = DGG.NORMAL
                self.decButton['state'] = DGG.NORMAL
                ret = 1

        #print "self.index set to ", self.index

        # Hide them all
        for item in self["items"]:
            if item.__class__.__name__ != 'str':
                item.hide()

        # Then show the ones in range, and stack their positions
        upperRange = min(numItemsTotal, numItemsVisible)
        for i in range(self.index, self.index + upperRange):
            item = self["items"][i]
            #print "stacking buttontext[", i,"]", self["items"][i]["text"]
            # If the item is a 'str', then it has not been created (scrolled list is 'as needed')
            #  Therefore, use the the function given to make it or just make it a frame
            if item.__class__.__name__ == 'str':
                if self['itemMakeFunction']:
                    # If there is a function to create the item
                    item = apply(self['itemMakeFunction'], (item, i, self['itemMakeExtraArgs']))
                else:
                    item = DirectFrame(text = item,
                                       text_align = self['itemsAlign'],
                                       text_wordwrap = self['itemsWordwrap'],
                                       relief = None)
                #print "str stacking buttontext[", i,"]", self["items"][i]["text"]
                # Then add the newly formed item back into the normal item list
                self["items"][i] = item
                item.reparentTo(self.itemFrame)
                self.recordMaxHeight()

            item.show()
            item.setPos(0, 0,  -(i-self.index) * self.maxHeight)
            #print 'height bug tracker: i-%s idx-%s h-%s' % (i, self.index, self.maxHeight)

        if self['command']:
            # Pass any extra args to command
            apply(self['command'], self['extraArgs'])
        return ret