@@ -188,20 +188,44 @@ def __init__(self, index, parent=None):
188
188
# Simple*Lazy*TreeModel, but it is fast enough for now. *If* it ever becomes a problem,
189
189
# we could make this lazy pretty easily (see treemodel.LazyDictTreeNode for an example).
190
190
root = indented_df_to_treenode (index )
191
+ self .df = tree_to_dataframe (root )
192
+
193
+ # Create the tree view UI in Dialog
191
194
model = SimpleLazyTreeModel (root )
192
195
tree = QTreeView ()
193
196
tree .setModel (model )
194
197
tree .setUniformRowHeights (True )
195
- tree .selectionModel (). currentChanged .connect (self .view_eurostat_indicator )
198
+ tree .doubleClicked .connect (self .view_eurostat_indicator )
196
199
tree .setColumnWidth (0 , 320 )
197
-
200
+ tree .setContextMenuPolicy (Qt .CustomContextMenu )
201
+ tree .customContextMenuRequested .connect (self .show_context_menu )
202
+ self .tree = tree
203
+
204
+ # Create the search results list (and hide as default)
205
+ self .search_results_list = QListWidget ()
206
+ self .search_results_list .itemClicked .connect (self .handle_search_item_click )
207
+ self .search_results_list .hide ()
208
+
209
+ # Create the search input field
210
+ self .search_input = QLineEdit (self )
211
+ self .search_input .setPlaceholderText ("Search..." )
212
+ self .search_input .textChanged .connect (self .handle_search )
213
+
214
+ # Create the "Advanced Import" button
215
+ self .advanced_button = QPushButton ("Import from Configuration File" , self )
216
+ self .advanced_button .setFocusPolicy (Qt .NoFocus ) # turn off
217
+ self .advanced_button .clicked .connect (self .showAdvancedPopup )
218
+
219
+ # General settings: resize + title
198
220
self .resize (450 , 600 )
199
221
self .setWindowTitle ("Select dataset" )
200
222
201
- # set the layout
223
+ # Add widgets to layout
202
224
layout = QVBoxLayout ()
203
- # layout.addWidget(toolbar)
225
+ layout .addWidget (self . search_input )
204
226
layout .addWidget (tree )
227
+ layout .addWidget (self .search_results_list )
228
+ layout .addWidget (self .advanced_button )
205
229
self .setLayout (layout )
206
230
207
231
def view_eurostat_indicator (self , index ):
0 commit comments