Package mcbase :: Package libs :: Package designeditor :: Module border
[hide private]
[frames] | no frames]

Source Code for Module mcbase.libs.designeditor.border

 1  # -*- coding: utf-8 -*- 
 2   
 3  ########################################################################## 
 4  # border.py 
 5  # 
 6  # Editörün kenar çizgileri ve gölgelerini çizer. 
 7  # 
 8  # (C) 2007 Likya Yazılım ve Bilişim Hizmetleri Ltd. Şti. 
 9  ########################################################################## 
10   
11  from PyQt4.QtCore import * 
12  from PyQt4.QtGui import * 
13   
14  from tools import * 
15   
16 -class Border(QGraphicsRectItem):
17 18 SHADOW_STRIP = [ 19 56, 67, 83, 94 20 ] 21
22 - def __init__(self, backgroundColor):
23 ''' 24 Çerçevenin ilk ayarlarını yapar. 25 ''' 26 QGraphicsRectItem.__init__(self) 27 28 # Diğer nesnelerin daha altında olmasını sağlıyoruz. 29 self.setZValue(-1) 30 31 self._backgroundColor = QColor(backgroundColor) 32 self._font = QFont() 33 self._font.setPointSize(16) 34 self._noFrames = True 35 self._scrollBarWidth = 0 36 37 self._message = tr("Rapor Çerçeveleri (Ctrl+F) menüsü ile çerçeve ekleyiniz") 38 39 self.setNoFrames(True)
40
41 - def setNoFrames(self, noFrames):
42 ''' 43 Editörde çerçeve olup olmadığını söyler. 44 ''' 45 self._noFrames = noFrames 46 47 if noFrames: 48 metrics = QFontMetrics(self._font) 49 width = metrics.width(self._message) + 15 50 height = metrics.height() + 10 51 self._scrollBarWidth = 0 52 53 self.setRect(0, 0, width, height)
54
55 - def setScrollBarWidth(self, scrollBarWidth):
56 ''' 57 Scroll Bar'ın genişliğini belirler. 58 ''' 59 self._scrollBarWidth = scrollBarWidth
60
61 - def paint(self, painter, option, widget):
62 ''' 63 Çerçeve başlığını çizer. 64 ''' 65 painter.setPen(Qt.black) 66 framesAroundRect = self.rect().adjusted(0, 0, -self._scrollBarWidth, -self._scrollBarWidth) 67 painter.drawRect(framesAroundRect) 68 69 # framesWidth = framesAroundRect.width() 70 # framesHeight = framesAroundRect.height() 71 # framesX = framesAroundRect.x() 72 # framesY = framesAroundRect.y() 73 # 74 # # Sayfanın kenarındaki gölgelikleri çiziyoruz. 75 # for i in xrange(4): 76 # painter.setPen(self._backgroundColor.light(Border.SHADOW_STRIP[i])) 77 # # Sağ gölge 78 # painter.drawLine(framesWidth + i + 1, framesY + 4, framesWidth + i, framesHeight) 79 # # Alt gölge 80 # painter.drawLine(framesX + 4, framesHeight + i + 1, framesWidth, framesHeight + i) 81 82 # Eğer editörde hiç çerçeve yoksa, kullanıcıyı uyarıyoruz. 83 if self._noFrames: 84 painter.setPen(Qt.black) 85 painter.setFont(self._font) 86 textFlags = Qt.AlignLeft | Qt.AlignVCenter 87 textRect = self.rect().adjusted(5, 5, -5, -5) 88 painter.drawText(textRect, textFlags, self._message)
89