Elaztek Developer Hub
Blamite Game Engine - Keystone  00386.06.16.23.0646.blamite
A library that enables the use of Qt in Blamite's editing tools.
save_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 BlamTagDesignerSaveExportMenu : public QMenu
18 {
19 private:
20  tag_designer* designer = nullptr;
21  BlamPlugin* plugin = nullptr;
22 
31  void AddMenuItem(std::string icon_id, QString title, void (BlamTagDesignerSaveExportMenu::*slot)(), bool enabled = true);
32 
36  void SetupMenu(QPoint pos);
37 
47  bool ValidateForSaving(bool skip_builtin_check);
48 
57  bool SavePlugin();
58 
59 public:
68  BlamTagDesignerSaveExportMenu(QPoint pos, BlamPlugin* _plugin, tag_designer* _designer, QWidget* parent = Q_NULLPTR);
69 
71 
72 private slots:
73 
77  void SaveActionClicked();
78 
82  void SaveAsActionClicked();
83 
87  void ExportToCppActionClicked();
88 
92  void ExportToCppAsActionClicked();
93 
97  void SaveToExternalFileActionClicked();
98 };
editor_data.h
KeystoneMessageBoxButtons::Ok
@ Ok
Dialog is shown with an [OK] button.
themes.h
KeystoneMessageBoxType::Error
@ Error
Dialog icon will be a red circle with an X.
BlamTagDesignerSaveExportMenu::BlamTagDesignerSaveExportMenu
BlamTagDesignerSaveExportMenu(QPoint pos, BlamPlugin *_plugin, tag_designer *_designer, QWidget *parent=Q_NULLPTR)
Constructs a new instance of the tag designer save/export menu.
Definition: save_menu.cpp:12
BlamTagDesignerSaveExportMenu::~BlamTagDesignerSaveExportMenu
~BlamTagDesignerSaveExportMenu()
Definition: save_menu.cpp:19
BlamKeystone::Utils::ShowMessageBox
KEYSTONE KeystoneDialogResult ShowMessageBox(std::string message)
Definition: utils.cpp:279
utils.h
BlamTagDesignerSaveExportMenu
Class representing the Tag Designer 'Save and Export' menu.
Definition: save_menu.h:17
KeystoneMessageBoxType::Warning
@ Warning
Dialog icon will be a yellow triangle with an exclamation mark.
BlamKeystone::Themes::GetActiveTheme
KEYSTONE BlamEditorTheme * GetActiveTheme()
Retrieves the currently selected theme.
Definition: themes.cpp:335
save_menu.h
BlamEditorWindow::config
BlamConfigurationFile * config
The configuration file for this editor window.
Definition: BlamEditorWindow.h:67
BlamKeystone::EditorData::GetMainEditorWindow
KEYSTONE BlamEditorWindow * GetMainEditorWindow()
Retrieves the main editor window.
Definition: editor_data.cpp:32
field_menu.h
drag_list
A basic interface class which can be used for drag and drop behaviors.
Definition: drag_container.h:19
tag_designer::RebuildPluginFieldData
void RebuildPluginFieldData()
Reconstructs the field data within the plugin based on the fields present within the designer UI.
Definition: tag_designer.cpp:436
KeystoneMessageBoxType::Info
@ Info
Dialog icon will be a white circle with an i.
tag_designer.h
tag_designer
Class representing the Tag Designer.
Definition: tag_designer.h:24