summaryrefslogtreecommitdiffstats
path: root/examples/webbrowser/webbrowser.py
blob: 0ae8702b87c5e30f6b4d14e9c7216a1e5d8f8455 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# Copyright (C) 2001-2002 Trolltech AS.  All rights reserved.
# Copyright (C) 2004 Riverbank Computing Ltd.  All rights reserved.
#
# This file is part of an example program for the ActiveTQt integration.
# This example program may be used, distributed and modified without 
# limitation.


import sys
from PyTQt import tqt
from PyTQt import tqtaxcontainer

import mainwindow


class MainWindowImpl(mainwindow.MainWindow):
    def init(self):
        self.pb = tqt.TQProgressBar(self.statusBar())
        self.pb.setPercentageVisible(False)
        self.pb.hide()
        self.statusBar().addWidget(self.pb, 0, True)

        self.connect(self.WebBrowser, tqt.SIGNAL("ProgressChange(int,int)"), self.setProgress)
        self.connect(self.WebBrowser, tqt.SIGNAL("StatusTextChange(const TQString&)"), self.statusBar(), tqt.SLOT("message(const TQString&)"))

        self.WebBrowser.dynamicCall("GoHome()");

        self.subwindows = []

    def go(self):
        self.actionStop.setEnabled(True)
        self.WebBrowser.dynamicCall("Navigate(const TQString&)", tqt.TQVariant(self.addressEdit.text()))

    def setTitle(self, title):
        self.setCaption("TQt WebBrowser - " + title.latin1())

    def setProgress(self, a, b):
        if a <= 0 or b <= 0:
            self.pb.hide()
            return

        self.pb.show()
        self.pb.setTotalSteps(b)
        self.pb.setProgress(a)

    def setCommandState(self, cmd, on):
        if cmd == 1:
            self.actionForward.setEnabled(on)
        elif cmd == 2:
            self.actionBack.setEnabled(on)

    def navigateBegin(self):
        self.actionStop.setEnabled(True)

    def navigateComplete(self):
        self.actionStop.setEnabled(False)

    def newWindow(self):
        window = MainWindowImpl()
        window.show()

        if self.addressEdit.text().isEmpty():
            return

        window.addressEdit.setText(self.addressEdit.text())
        window.actionStop.setEnabled(True)
        window.go()

        self.subwindows += window

    def aboutSlot(self):
        tqt.TQMessageBox.about(self, self.tr("About WebBrowser"), self.tr(
"""This Example has been created using the ActiveTQt integration into TQt Designer.
It demonstrates the use of TQAxWidget to embed the Internet Explorer ActiveX
control into a TQt application."""))

    def aboutTQtSlot(self):
        tqt.TQMessageBox.aboutTQt(self, self.tr("About TQt"))


def main(args):
    a = tqt.TQApplication(args)
    w = MainWindowImpl()
    a.setMainWidget(w)
    w.show()

    return a.exec_loop()


if __name__ == "__main__":
    sys.exit(main(sys.argv))