Galaxis Codebase  1.0.0
Team Galaxis software stack for the Carolo Cup 2023 - ROS2 based software
jsoneditormain.h
Go to the documentation of this file.
1 #ifndef JSONEDITORMAIN_H
2 #define JSONEDITORMAIN_H
3 
4 #include <QMainWindow>
5 #include <QModelIndex>
6 #include <QTextEdit>
7 #include "jsontreeitem.h"
8 //#include "finddialog.h"
9 //#include "findreplacedialog.h"
10 #include <nlohmann/json.hpp>
11 
12 //#define COMPILE_WITH_ROS
13 #ifdef COMPILE_WITH_ROS
14 #include <rclcpp/rclcpp.hpp>
16 #include <memory>
17 #endif
18 
19 #include <vector>
20 
21 namespace Ui {
22  class JsonEditorMain;
23 }
24 
25 class JsonEditorMain : public QMainWindow {
26  Q_OBJECT
27  // ROS Stuff
28 #ifdef COMPILE_WITH_ROS
29 private:
30  std::shared_ptr<testSetupNode> m_nodeSPtr;
31  std::vector<rclcpp::Parameter> p_ParameterVector;
32 
33 public:
34  void set_node(std::shared_ptr<testSetupNode> p_nodeSPtr);
35 #endif
36 
37 public:
38  JsonEditorMain(QWidget *parent = 0);
40 
41 protected:
42  void changeEvent(QEvent *e);
43  void closeEvent(QCloseEvent *event);
44 
45 private:
46  Ui::JsonEditorMain *ui;
48 
49  const QString newInsertText;
50  const QString treeViewColumnKey;
51  const QString treeViewColumnValue;
52  const QString treeViewColumnType;
53 
54  QString treeFormat(JsonTreeItem* treeItem = NULL, QString indent = "", bool noHeader = false);
55  void readSettings();
56  void writeSettings();
57  bool maybeSave();
58  void loadFile(const QString &fileName);
59  bool saveFile(const QString &fileName);
60  void setCurrentFile(const QString &fileName);
61  QString strippedName(const QString &fullFileName);
62  QString curFile;
63  QTextEdit *textEdit;
64  QString lastFilePath;
65 
66  std::shared_ptr<std::map<std::string, std::vector<rclcpp::Parameter>>> m_parameterMap;
67 // FindDialog *m_findDialog;
68 // FindReplaceDialog *m_findReplaceDialog;
69 
70 private slots:
71  void toggleFileToolbar(bool checked);
72  void toggleEditToolbar(bool checked);
73  void toggleFindToolbar(bool checked);
74  void toggleCodeToolbar(bool checked);
75  void refreshJsonTree();
76  void insertTreeNode();
77  void deleteTreeNode();
78  void insertTreeChild();
79  void updateActions();
80  void treeViewDataChanged();
81  void formatCode();
82  void showHelp();
83  void dataEdit(QModelIndex editIndex);
84  void open();
85  bool save();
86  bool saveAs();
87  void documentWasModified();
88  void on_Send_clicked();
89 };
90 
91 #endif // JSONEDITORMAIN_H
JsonEditorMain::changeEvent
void changeEvent(QEvent *e)
Definition: jsoneditormain.cpp:79
jsontreeitem.h
JsonEditorMain::treeFormat
QString treeFormat(JsonTreeItem *treeItem=NULL, QString indent="", bool noHeader=false)
Definition: jsoneditormain.cpp:271
JsonEditorMain::insertTreeChild
void insertTreeChild()
Definition: jsoneditormain.cpp:184
JsonEditorMain::insertTreeNode
void insertTreeNode()
Definition: jsoneditormain.cpp:147
testSetupNode.hpp
JsonEditorMain::lastFilePath
QString lastFilePath
Definition: jsoneditormain.h:64
JsonEditorMain::refreshJsonTree
void refreshJsonTree()
Definition: jsoneditormain.cpp:111
JsonEditorMain::updateActions
void updateActions()
Definition: jsoneditormain.cpp:237
json
nlohmann::json json
Definition: AutoPilotNode.hpp:21
JsonEditorMain::documentWasModified
void documentWasModified()
Definition: jsoneditormain.cpp:358
JsonEditorMain::readSettings
void readSettings()
Definition: jsoneditormain.cpp:411
JsonEditorMain::dataEdit
void dataEdit(QModelIndex editIndex)
Definition: jsoneditormain.cpp:338
JsonEditorMain::deleteTreeNode
void deleteTreeNode()
Definition: jsoneditormain.cpp:229
JsonEditorMain::on_Send_clicked
void on_Send_clicked()
Definition: jsoneditormain.cpp:538
JsonEditorMain::formatCode
void formatCode()
Definition: jsoneditormain.cpp:256
JsonEditorMain::saveFile
bool saveFile(const QString &fileName)
Definition: jsoneditormain.cpp:478
JsonEditorMain::treeViewColumnType
const QString treeViewColumnType
Definition: jsoneditormain.h:52
Ui
Definition: addnodedlg.h:6
JsonEditorMain::toggleFindToolbar
void toggleFindToolbar(bool checked)
Definition: jsoneditormain.cpp:106
JsonEditorMain::showHelp
void showHelp()
Definition: jsoneditormain.cpp:330
JsonEditorMain::setCurrentFile
void setCurrentFile(const QString &fileName)
Definition: jsoneditormain.cpp:510
JsonEditorMain::strippedName
QString strippedName(const QString &fullFileName)
Definition: jsoneditormain.cpp:522
JsonEditorMain::saveAs
bool saveAs()
Definition: jsoneditormain.cpp:397
JsonEditorMain::~JsonEditorMain
~JsonEditorMain()
Definition: jsoneditormain.cpp:74
JsonEditorMain::open
void open()
Definition: jsoneditormain.cpp:373
JsonEditorMain::treeViewDataChanged
void treeViewDataChanged()
Definition: jsoneditormain.cpp:247
JsonEditorMain::maybeSave
bool maybeSave()
Definition: jsoneditormain.cpp:438
JsonEditorMain::save
bool save()
Definition: jsoneditormain.cpp:388
JsonEditorMain::toggleEditToolbar
void toggleEditToolbar(bool checked)
Definition: jsoneditormain.cpp:96
JsonEditorMain::JsonEditorMain
JsonEditorMain(QWidget *parent=0)
Definition: jsoneditormain.cpp:20
JsonEditorMain::toggleCodeToolbar
void toggleCodeToolbar(bool checked)
Definition: jsoneditormain.cpp:91
JsonEditorMain::ui
Ui::JsonEditorMain * ui
Definition: jsoneditormain.h:46
JsonEditorMain::closeEvent
void closeEvent(QCloseEvent *event)
Definition: jsoneditormain.cpp:363
JsonEditorMain::textEdit
QTextEdit * textEdit
Definition: jsoneditormain.h:63
JsonEditorMain::m_parameterMap
std::shared_ptr< std::map< std::string, std::vector< rclcpp::Parameter > > > m_parameterMap
Definition: jsoneditormain.h:66
JsonEditorMain::treeViewColumnKey
const QString treeViewColumnKey
Definition: jsoneditormain.h:50
JsonEditorMain
Definition: jsoneditormain.h:25
JsonEditorMain::loadFile
void loadFile(const QString &fileName)
Definition: jsoneditormain.cpp:454
JsonEditorMain::curFile
QString curFile
Definition: jsoneditormain.h:62
JsonEditorMain::jsonValue
nlohmann::json jsonValue
Definition: jsoneditormain.h:47
JsonEditorMain::writeSettings
void writeSettings()
Definition: jsoneditormain.cpp:428
JsonEditorMain::toggleFileToolbar
void toggleFileToolbar(bool checked)
Definition: jsoneditormain.cpp:101
JsonTreeItem
Definition: jsontreeitem.h:8
JsonEditorMain::treeViewColumnValue
const QString treeViewColumnValue
Definition: jsoneditormain.h:51
JsonEditorMain::newInsertText
const QString newInsertText
Definition: jsoneditormain.h:49