Example #1
0
 def drawSelection(self,selectionLeft,selectionRight,dc):
     #rect=self.getRectangle(0,selectionLeft,selectionRight-1,dc)
     rect=self.getRectangle(selectionLeft,selectionRight-1,dc)
     if rect:
         drawutils.setPenColour(dc,colours.commandlineSelectedText)
         drawutils.setBrushColour(dc,colours.commandlineSelectedText)
         dc.DrawRectangle(rect[0],rect[1],rect[2],rect[3])
Example #2
0
 def draw(self,dc):
     drawutils.setPenColour(dc,self.colour)
     drawutils.setPenWidth(dc,self.penWidth)
     if self.__inXRange() and self.__inYRange():
         for line in range(5):
             dc.DrawLine(self.x1,self.y1+(line*self.spacing),self.x2,self.y2+(line*self.spacing))
     drawutils.setPenWidth(dc,1)
Example #3
0
    def doPaint(self,dc):
        size=self.GetClientSize()
	drawutils.setPenColour(dc,colours.borderGradient1)
	drawutils.setBrushColour(dc,colours.borderGradient1)
        dc.DrawRectangle(0,0,size[0],size[1])

        self.__truncatedValues=[]
        if self.model.keyval:
            self.__keyval_drawing(dc)

        self.__borderDrawing(dc)
Example #4
0
    def __keyval_drawing(self,dc):
        keyval=self.model.keyval
        self.lineCount=0
        if keyval:
            size=self.GetClientSize()
            x=0
            y=5
            yinc=1.2*dc.GetTextExtent('0')[1]
            maxk=0
            for k,v in keyval:
                test=dc.GetTextExtent(str(k))[0]+10
                if test>maxk:
                    maxk=test
            maxk=min(maxk,size[0]*0.5)    
                
            for k,v in keyval[self.offset:]:
                dc.GradientFillLinear(wx.Rect(1,y-1,size[0],yinc),colours.borderGradient1,colours.borderGradient2,wx.SOUTH)
                dc.DrawText(str(k), maxk-(dc.GetTextExtent(str(k))[0]+5),y)

                displayText=[]
                maxWidth=0.9* (size[0]-(maxk+5))
                widthTolerance=0.2*maxWidth 
                #utils.chopString(str(v),dc,maxWidth,displayText,widthTolerance,True)
                utils.chopString2(str(v),dc,maxWidth,displayText,0,True)
                extraLine=False
                for choppedLine in displayText:
                    if extraLine:
                        dc.GradientFillLinear(wx.Rect(1,y-1,size[0],yinc),colours.borderGradient1,colours.borderGradient2,wx.SOUTH)
                    extraLine=True
                    dc.DrawText(choppedLine, maxk+5,y)
                    self.lineCount=self.lineCount+1

                    #if dc.GetTextExtent(str(v))[0]>size[0]-(maxk+5):
                    #    self.__truncatedValues.append((maxk,size[0],y,y+yinc,str(v)))
                    drawutils.setPenColour(dc,colours.browser_gridlines)
                    dc.DrawLine(maxk,y,maxk,y+yinc)
                    drawutils.setPenColour(dc,'black')
                    #count=count+1
                    y=y+yinc

            if self.lineCount*yinc>size[1]:
                self.showScrollbar=True
            self.__numItemsDisplayed=int(size[1]/yinc)
            self.SetScrollbar(wx.VERTICAL,self.offset,self.__numItemsDisplayed,self.lineCount+1)
Example #5
0
    def scrolldraw(self,dc,xOffset=0,yOffset=0,xRange=(-10000,10000),yRange=(-10000,10000)):

        drawutils.setPenColour(dc,self.lineColour)
        drawutils.setPenWidth(dc,1)
        for stave in self.staves:
            for item in stave.lines:
                item.setXOffset(xOffset)
                item.setYOffset(yOffset)
                if xRange:
                    item.setXRange(xRange)
                item.m_draw(dc)


        drawutils.setBrushColour(dc,self.noteColour)
        drawutils.setPenColour(dc,self.noteColour)
 
        for stave in self.staves:
            for item in stave.circles:
                item.setXOffset(xOffset)
                item.setYOffset(yOffset)
                if xRange:
                    item.setXRange(xRange)
                item.m_draw(dc)
            
        for stave in self.staves:
            for item in stave.text:
                item.setXOffset(xOffset)
                item.setYOffset(yOffset)
                if xRange:
                    item.setXRange(xRange)
                item.m_draw(dc)
            
        pts,weight=fonts.setStaffNumbersFont(dc)
        for stave in self.staves:
            for item in stave.numbers:
                item.setXOffset(xOffset)
                item.setYOffset(yOffset)
                if xRange:
                    item.setXRange(xRange)
                item.m_draw(dc)
        fonts.resetFont(dc,pts,weight)
Example #6
0
 def __backgroundDrawing(self, dc):
     size = self.GetClientSize()
     drawutils.setPenColour(dc, colours.borderGradient1)
     drawutils.setBrushColour(dc, colours.borderGradient1)
     dc.DrawRectangle(0, 0, size[0], size[1])
Example #7
0
 def draw(self,dc):
     drawutils.setPenColour(dc,self.colour)
     drawutils.setPenWidth(dc,self.penWidth)
     if self.__inXRange() and self.__inYRange():
         dc.DrawLine(self.x1,self.y1,self.x2,self.y2)
     drawutils.setPenWidth(dc,1)
Example #8
0
 def draw(self,dc):
     drawutils.setBrushColour(dc,self.colour)
     drawutils.setPenColour(dc,self.colour)
     if self.__inXRange() and self.__inYRange():
         dc.DrawCircle(self.x,self.y,self.r)
Example #9
0
 def __drawspace(self,xpos,dc):
     col=drawutils.getPenColour(dc)
     penColour=drawutils.setPenColour(dc,drawutils.getBackgroundColour(dc))
     spacing=2*self.noteRadius
     ypos=self.origin[1]
     self.lines.append(stavelines(xpos,ypos,xpos+self.noteSpacing,ypos,spacing,colour=penColour))
Example #10
0
    def draw(self, dc):
        #	drawutils.setPenColour(dc,colours.borderGradient1)
        #	drawutils.setBrushColour(dc,colours.borderGradient1)
        #       dc.DrawRectangle(0,0,self.width,self.height)

        self.gridlines = []
        self.parent.truncatedValues = []
        self.__setupDimensions(dc)
        xpos = self.xpos + self.xMargin
        ypos = self.ypos + self.yMargin
        drawutils.setPenColour(dc, 'black')

        if self.maxOffset > 0:
            for i in range(self.numItems):
                self.count = self.count + 1
                if self.count > self.maxOffset:
                    break
                rectHeight = min((self.lineSpacing - 1),
                                 (self.height - (ypos - 1)))
                rectHeight = rectHeight + 1

                if self.itemList:
                    if i < len(self.itemList):

                        item = self.itemList[i]
                        desc = self.processDescription(item)
                        name = self.processName(item)

                        highlight, scroll_selection, tap_selection, amber_selection = self.__getStatus(
                            i, item)

                        drawutils.setPenColour(dc, wx.Colour(0, 0, 0))
                        drawutils.setBrushColour(dc, wx.Colour(0, 0, 0))
                        rect = wx.Rect(1, ypos - 1, self.width, rectHeight)
                        if tap_selection:
                            if scroll_selection:
                                dc.GradientFillLinear(rect, colours.bg_sel_tap,
                                                      colours.bg_sel_tap,
                                                      wx.SOUTH)
                                pts, weight = fonts.setTableEntrySelectedFont(
                                    dc)
                                self.drawEntry(
                                    dc,
                                    item,
                                    self.__getHighlightLed(highlight),
                                    xpos,
                                    ypos,
                                    desc,
                                    name,
                                    current=True,
                                    tapped=True)
                                fonts.resetFont(dc, pts, weight)
                            else:
                                dc.GradientFillLinear(rect, colours.bg_sel_tap,
                                                      colours.bg_sel_tap,
                                                      wx.SOUTH)
                                pts, weight = fonts.setTableEntrySelectedFont(
                                    dc)
                                self.drawEntry(
                                    dc,
                                    item,
                                    self.__getHighlightLed(highlight),
                                    xpos,
                                    ypos,
                                    desc,
                                    name,
                                    tapped=True)
                                fonts.resetFont(dc, pts, weight)

                        elif highlight:
                            if scroll_selection:
                                dc.GradientFillLinear(rect,
                                                      colours.bg_selGradient1,
                                                      colours.bg_selGradient2,
                                                      wx.SOUTH)
                                pts, weight = fonts.setTableEntrySelectedFont(
                                    dc)
                                self.drawEntry(dc,
                                               item,
                                               self.green,
                                               xpos,
                                               ypos,
                                               desc,
                                               name,
                                               current=True,
                                               highlight=True)
                                fonts.resetFont(dc, pts, weight)
                            else:
                                dc.GradientFillLinear(rect,
                                                      colours.borderGradient1,
                                                      colours.borderGradient2,
                                                      wx.SOUTH)
                                self.drawEntry(dc,
                                               item,
                                               self.green,
                                               xpos,
                                               ypos,
                                               desc,
                                               name,
                                               highlight=True)

                        elif scroll_selection:
                            dc.GradientFillLinear(rect,
                                                  colours.bg_selGradient1,
                                                  colours.bg_selGradient2,
                                                  wx.SOUTH)
                            pts, weight = fonts.setTableEntrySelectedFont(dc)
                            self.drawEntry(dc,
                                           item,
                                           self.__getAmberLed(amber_selection),
                                           xpos,
                                           ypos,
                                           desc,
                                           name,
                                           current=True)
                            fonts.resetFont(dc, pts, weight)

                        else:
                            dc.GradientFillLinear(rect,
                                                  colours.borderGradient1,
                                                  colours.borderGradient2,
                                                  wx.SOUTH)
                            self.drawEntry(dc, item,
                                           self.__getAmberLed(amber_selection),
                                           xpos, ypos, desc, name)

                ypos = ypos + self.lineSpacing

                drawutils.setPenColour(dc, colours.browser_gridlines)
                for l in self.gridlines:
                    l.draw(dc)
                drawutils.setPenColour(dc, 'black')