|
40 | 40 | from sextante.gui.BatchProcessingDialog import BatchProcessingDialog |
41 | 41 | from sextante.gui.EditRenderingStylesDialog import EditRenderingStylesDialog |
42 | 42 |
|
| 43 | +from sextante.ui.ui_SextanteToolbox import Ui_SextanteToolbox |
| 44 | + |
| 45 | +import sextante.resources_rc |
| 46 | + |
43 | 47 | try: |
44 | 48 | _fromUtf8 = QString.fromUtf8 |
45 | 49 | except AttributeError: |
46 | 50 | _fromUtf8 = lambda s: s |
47 | 51 |
|
48 | | - |
49 | | -class SextanteToolbox(QDockWidget): |
| 52 | +class SextanteToolbox(QDockWidget, Ui_SextanteToolbox): |
50 | 53 | def __init__(self, iface): |
51 | | - QDialog.__init__(self) |
| 54 | + QDockWidget.__init__(self, None) |
| 55 | + self.setupUi(self) |
| 56 | + self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) |
| 57 | + |
52 | 58 | self.iface=iface |
53 | | - self.setupUi() |
| 59 | + |
| 60 | + self.btnClear.setIcon(QIcon(":/sextante/images/clear.png")) |
| 61 | + |
| 62 | + self.externalAppsButton.clicked.connect(self.configureProviders) |
| 63 | + self.searchBox.textChanged.connect(self.fillTree) |
| 64 | + self.algorithmTree.customContextMenuRequested.connect(self.showPopupMenu) |
| 65 | + self.algorithmTree.doubleClicked.connect(self.executeAlgorithm) |
| 66 | + self.btnClear.clicked.connect(self.clearFilter) |
| 67 | + |
| 68 | + self.fillTree() |
54 | 69 |
|
55 | 70 | def algsListHasChanged(self): |
56 | 71 | self.fillTree() |
57 | 72 |
|
58 | 73 | def updateTree(self): |
59 | 74 | Sextante.updateAlgsList() |
60 | 75 |
|
61 | | - def setupUi(self): |
62 | | - self.setObjectName("SEXTANTE_Toolbox") |
63 | | - self.setFloating(False) |
64 | | - self.resize(400, 500) |
65 | | - self.setWindowTitle(self.tr("SEXTANTE Toolbox")) |
66 | | - self.contents = QWidget() |
67 | | - self.verticalLayout = QVBoxLayout(self.contents) |
68 | | - self.verticalLayout.setSpacing(2) |
69 | | - self.verticalLayout.setMargin(0) |
70 | | - self.externalAppsButton = QPushButton() |
71 | | - self.externalAppsButton.setText(self.tr("Click here to configure\nadditional algorithm providers")) |
72 | | - QObject.connect(self.externalAppsButton, SIGNAL("clicked()"), self.configureProviders) |
73 | | - self.verticalLayout.addWidget(self.externalAppsButton) |
74 | | - self.searchBox = QLineEdit(self.contents) |
75 | | - self.searchBox.textChanged.connect(self.fillTree) |
76 | | - self.verticalLayout.addWidget(self.searchBox) |
77 | | - self.algorithmTree = QTreeWidget(self.contents) |
78 | | - self.algorithmTree.setHeaderHidden(True) |
79 | | - self.algorithmTree.setContextMenuPolicy(Qt.CustomContextMenu) |
80 | | - self.fillTree() |
81 | | - self.connect(self.algorithmTree, SIGNAL('customContextMenuRequested(QPoint)'), |
82 | | - self.showPopupMenu) |
83 | | - self.verticalLayout.addWidget(self.algorithmTree) |
84 | | - self.algorithmTree.doubleClicked.connect(self.executeAlgorithm) |
85 | | - self.setWidget(self.contents) |
86 | | - self.iface.addDockWidget(Qt.RightDockWidgetArea, self) |
87 | | - QMetaObject.connectSlotsByName(self) |
| 76 | + def clearFilter(self): |
| 77 | + self.searchBox.clear() |
88 | 78 |
|
89 | 79 | def configureProviders(self): |
90 | 80 | webbrowser.open("http://docs.qgis.org/html/en/user_manual/sextante/3rdParty.html") |
|
0 commit comments