1
2
3
4
5
6
7
8
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
23 '''
24 Çerçevenin ilk ayarlarını yapar.
25 '''
26 QGraphicsRectItem.__init__(self)
27
28
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
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
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
70
71
72
73
74
75
76
77
78
79
80
81
82
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