Elaztek Developer Hub
Blamite Game Engine - Keystone  00382.05.09.23.1235.blamite
A library that enables the use of Qt in Blamite's editing tools.
field_menu.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <qmenu.h>
4 #include <qpoint.h>
5 #include <HEKGuerilla/components/tags/fields/fields.h>
6 
7 class tag_designer;
8 class drag_list;
9 class BlamPlugin;
10 
17 class BlamTagDesignerFieldMenu : public QMenu
18 {
19 private:
20  tag_designer* designer = nullptr;
21  drag_list* drag_drop_list = nullptr;
22  BlamPlugin* plugin = nullptr;
23  int* next_item_id = 0;
24 
32  void AddMenuItem(std::string icon_id, QString title, void (BlamTagDesignerFieldMenu::*slot)());
33 
39  void CreateNewTagField(BlamTagFieldType type);
40 
41  void SetupMenu(QPoint pos);
42 
43 public:
53  BlamTagDesignerFieldMenu(drag_list* _drag_list, QPoint pos, BlamPlugin* _plugin, tag_designer* _designer, int* _next_item_id, QWidget* parent = Q_NULLPTR);
54 
56 
57 private slots:
58  void IntegerMenuActionClicked();
59  void RealMenuActionClicked();
60  void AsciiMenuActionClicked();
61  void ColorMenuActionClicked();
62  void VectorMenuActionClicked();
63  void EnumMenuActionClicked();
64  void BitfieldMenuActionClicked();
65  void DatarefMenuActionClicked();
66  void TagrefMenuActionClicked();
67  void BlockMenuActionClicked();
68  void GroupMenuActionClicked();
69  void CommentMenuActionClicked();
70  void StringIDMenuActionClicked();
71  void MoreOptionsMenuActionClicked();
72 };
BlamTagDesignerFieldMenu::BlamTagDesignerFieldMenu
BlamTagDesignerFieldMenu(drag_list *_drag_list, QPoint pos, BlamPlugin *_plugin, tag_designer *_designer, int *_next_item_id, QWidget *parent=Q_NULLPTR)
Constructs a new instance of the tag designer menu.
Definition: field_menu.cpp:28
BlamTagDesignerFieldMenu
Class representing the Tag Designer 'Add Field' menu.
Definition: field_menu.h:17
BlamTagDesignerFieldMenu::~BlamTagDesignerFieldMenu
~BlamTagDesignerFieldMenu()
Definition: field_menu.cpp:37
drag_list
A basic interface class which can be used for drag and drop behaviors.
Definition: drag_container.h:19
tag_designer
Class representing the Tag Designer.
Definition: tag_designer.h:24