source: orange/Orange/OrangeCanvas/gui/tests/test_dropshadow.py @ 11100:cf6f6744dd9b

Revision 11100:cf6f6744dd9b, 2.2 KB checked in by Ales Erjavec <ales.erjavec@…>, 19 months ago (diff)

Added gui widget toolkit.

Line 
1"""
2Tests for DropShadowFrame wiget.
3
4"""
5
6from PyQt4.QtGui import (
7    QMainWindow, QWidget, QListView, QTextEdit, QHBoxLayout, QToolBar,
8    QVBoxLayout, QColor
9)
10
11from PyQt4.QtCore import Qt, QTimer
12from .. import dropshadow
13
14from .. import test
15
16
17class TestDropShadow(test.QAppTestCase):
18    def test_drop_shadow_old(self):
19        w = dropshadow._DropShadowWidget()
20        w.setContentsMargins(20, 20, 20, 20)
21        w.setLayout(QHBoxLayout())
22        w.layout().setContentsMargins(0, 0, 0, 0)
23        w.layout().addWidget(QListView())
24        w.show()
25        QTimer.singleShot(1500, lambda: w.setRadius(w.radius + 5))
26        self.app.exec_()
27
28    def test(self):
29        lv = QListView()
30        mw = QMainWindow()
31        # Add two tool bars, the shadow should extend over them.
32        mw.addToolBar(Qt.BottomToolBarArea, QToolBar())
33        mw.addToolBar(Qt.TopToolBarArea, QToolBar())
34        mw.setCentralWidget(lv)
35
36        f = dropshadow.DropShadowFrame(color=Qt.blue, radius=20)
37
38        f.setWidget(lv)
39
40        self.assertIs(f.parentWidget(), mw)
41        self.assertIs(f.widget(), lv)
42
43        mw.show()
44
45        self.app.processEvents()
46
47        self.singleShot(3000, lambda: f.setColor(Qt.red))
48        self.singleShot(4000, lambda: f.setRadius(30))
49        self.singleShot(5000, lambda: f.setRadius(40))
50        self.app.exec_()
51
52    def test1(self):
53        class FT(QToolBar):
54            def paintEvent(self, e):
55                pass
56
57        w = QMainWindow()
58        ftt, ftb = FT(), FT()
59        ftt.setFixedHeight(15)
60        ftb.setFixedHeight(15)
61
62        w.addToolBar(Qt.TopToolBarArea, ftt)
63        w.addToolBar(Qt.BottomToolBarArea, ftb)
64
65        f = dropshadow.DropShadowFrame()
66        te = QTextEdit()
67        c = QWidget()
68        c.setLayout(QVBoxLayout())
69        c.layout().setContentsMargins(20, 0, 20, 0)
70        c.layout().addWidget(te)
71        w.setCentralWidget(c)
72        f.setWidget(te)
73        f.radius = 15
74        f.color = QColor(Qt.blue)
75        w.show()
76
77        self.singleShot(3000, lambda: f.setColor(Qt.red))
78        self.singleShot(4000, lambda: f.setRadius(30))
79        self.singleShot(5000, lambda: f.setRadius(40))
80
81        self.app.exec_()
82
83
84if __name__ == "__main__":
85    test.unittest.main()
Note: See TracBrowser for help on using the repository browser.