@@ -188,20 +188,44 @@ def __init__(self, index, parent=None):
188188 # Simple*Lazy*TreeModel, but it is fast enough for now. *If* it ever becomes a problem,
189189 # we could make this lazy pretty easily (see treemodel.LazyDictTreeNode for an example).
190190 root = indented_df_to_treenode (index )
191+ self .df = tree_to_dataframe (root )
192+
193+ # Create the tree view UI in Dialog
191194 model = SimpleLazyTreeModel (root )
192195 tree = QTreeView ()
193196 tree .setModel (model )
194197 tree .setUniformRowHeights (True )
195- tree .selectionModel (). currentChanged .connect (self .view_eurostat_indicator )
198+ tree .doubleClicked .connect (self .view_eurostat_indicator )
196199 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
198220 self .resize (450 , 600 )
199221 self .setWindowTitle ("Select dataset" )
200222
201- # set the layout
223+ # Add widgets to layout
202224 layout = QVBoxLayout ()
203- # layout.addWidget(toolbar)
225+ layout .addWidget (self . search_input )
204226 layout .addWidget (tree )
227+ layout .addWidget (self .search_results_list )
228+ layout .addWidget (self .advanced_button )
205229 self .setLayout (layout )
206230
207231 def view_eurostat_indicator (self , index ):
0 commit comments