MCPcopy Create free account
hub / github.com/BehaviorTree/Groot / on_buttonDownload_clicked

Method on_buttonDownload_clicked

bt_editor/sidepanel_editor.cpp:284–332  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

282}
283
284void SidepanelEditor::on_buttonDownload_clicked()
285{
286 QSettings settings;
287 QString directory_path = settings.value("SidepanelEditor.lastLoadDirectory",
288 QDir::homePath() ).toString();
289
290 QString fileName = QFileDialog::getOpenFileName(this, tr("Load TreenNodeModel from file"),
291 directory_path,
292 tr("BehaviorTree (*.xml *.skills.json)" ));
293 QFileInfo fileInfo(fileName);
294
295 if (!fileInfo.exists(fileName)){
296 return;
297 }
298
299 QFile file(fileName);
300
301 if (!file.open(QIODevice::ReadOnly)){
302 return;
303 }
304
305 directory_path = QFileInfo(fileName).absolutePath();
306 settings.setValue("SidepanelEditor.lastLoadDirectory", directory_path);
307 settings.sync();
308
309 //--------------------------------
310 NodeModels imported_models;
311 if( fileInfo.suffix() == "xml" )
312 {
313 QFile file(fileName);
314 imported_models = importFromXML( &file );
315 }
316 else if( fileInfo.completeSuffix() == "skills.json" )
317 {
318 imported_models = importFromSkills( fileName );
319 }
320
321 if( imported_models.empty() )
322 {
323 return;
324 }
325
326 CleanPreviousModels(this, _tree_nodes_model, imported_models );
327
328 for(auto& it: imported_models)
329 {
330 addNewModel( it.second );
331 }
332}
333
334NodeModels SidepanelEditor::importFromXML(QFile* file)
335{

Callers

nothing calls this directly

Calls 1

CleanPreviousModelsFunction · 0.85

Tested by

no test coverage detected