lua_editor.h
Go to the documentation of this file.
1 #ifndef LUA_EDITOR_H
2 #define LUA_EDITOR_H
3 
4 #include <QtPlugin>
5 #include <QListWidgetItem>
6 #include <map>
11 
12 #include "QCodeEditor"
13 #include "QLuaHighlighter"
14 #include "QLuaCompleter"
15 
16 namespace Ui
17 {
18 class LuaEditor;
19 }
20 
22 {
23  Q_OBJECT
24  Q_PLUGIN_METADATA(IID "facontidavide.PlotJuggler3.Toolbox")
25  Q_INTERFACES(PJ::ToolboxPlugin)
26 
27 public:
29 
30  ~ToolboxLuaEditor() override;
31 
32  const char* name() const override;
33 
34  void init(PJ::PlotDataMapRef& src_data,
35  PJ::TransformsMap& transform_map) override;
36 
37  std::pair<QWidget*, WidgetType> providedWidget() const override;
38 
39  bool xmlSaveState(QDomDocument& doc, QDomElement& parent_element) const override;
40 
41  bool xmlLoadState(const QDomElement& parent_element) override;
42 
43 public slots:
44 
45  bool onShowWidget() override;
46 
47  void onSave();
48 
49  void onDelete();
50 
51  void restoreRecent(const QModelIndex &index);
52 
53  void restoreFunction(const QModelIndex &index);
54 
55  void onLibraryUpdated();
56 
57  void onReloadLibrary();
58 
59 private:
60  QWidget* _widget;
61  Ui::LuaEditor* ui;
62 
63  PJ::PlotDataMapRef* _plot_data = nullptr;
64  PJ::TransformsMap* _transforms = nullptr;
65 
66 
67  bool eventFilter(QObject *obj, QEvent *event) override;
68  QStringList _dragging_curves;
69 
71 
74 
76 
77  struct SavedData
78  {
79  QString name;
80  QString global_code;
81  QString function_code;
82  };
83 
84  SavedData getItemData(const QListWidgetItem* item) const;
85 
86  void setItemData(QListWidgetItem* item, QString name, QString global_code, QString function_code);
87 };
88 
89 #endif // LUA_EDITOR_H
QStringList _dragging_curves
Definition: lua_editor.h:68
void init(const M_string &remappings)
std::unordered_map< std::string, std::shared_ptr< TransformFunction > > TransformsMap
QLuaCompleter * _completer
Definition: lua_editor.h:70
Class, that describes completer with glsl specific types and functions.
QString _previous_library
Definition: lua_editor.h:75
DelayedCallback _delay_library_check
Definition: lua_editor.h:73
QWidget * _widget
Definition: lua_editor.h:60
Ui::LuaEditor * ui
Definition: lua_editor.h:61


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Jun 19 2023 03:01:38