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.
tag_fields.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <qwidget.h>
4 #include <HEKGuerilla/components/tags/fields/fields.h>
5 
7 
8 #ifndef KEYSTONE
9 #define KEYSTONE
10 #endif
11 
12 class tag_designer;
13 class drag_list;
14 
18 class BlamEditorTagFieldControl : public QWidget
19 {
20  Q_OBJECT
21 
22 public:
23  BlamTagField* field = nullptr;
25  bool design_mode = false;
27  tag_designer* designer = nullptr;
28 
29  BlamEditorTagFieldControl(QWidget* parent = Q_NULLPTR) : QWidget(parent) {}
30 
39  virtual void SetDesignModeActive(drag_list* _drag_list, tag_designer* _designer) {};
40 
52  virtual void SetDesignNameEditState(bool edit_state, bool save_changes = true) {};
53 };
54 
59 {
68 
77 
85  KEYSTONE void SetWidgetValidAppearance(QWidget* widget, bool valid);
86 }
BlamEditorDocument_Tag
Class representing a Tag document.
Definition: tag.h:15
BlamKeystone::UI::TagFields::GenerateFieldTemplateControl
KEYSTONE BlamEditorTagFieldControl * GenerateFieldTemplateControl(BlamPluginField *field, BlamEditorDocument_Tag *document)
Generates a UI control for a given plugin field.
Definition: tag_fields.cpp:84
BlamEditorTagFieldControl::document
BlamEditorDocument_Tag * document
The document this field belongs to.
Definition: tag_fields.h:24
BlamEditorTagFieldControl
Interface used as a base for all tag field controls.
Definition: tag_fields.h:18
BlamEditorTagFieldControl::SetDesignModeActive
virtual void SetDesignModeActive(drag_list *_drag_list, tag_designer *_designer)
Instructs the field to be editable as a designer field.
Definition: tag_fields.h:39
BlamEditorTagFieldControl::drag_drop_list
drag_list * drag_drop_list
The active drag list that owns this control. Only used when design_mode is enabled.
Definition: tag_fields.h:26
BlamKeystone::UI::TagFields
Namespace containing utility functions for creating and altering tag fields.
Definition: tag_fields.h:58
drag_list
A basic interface class which can be used for drag and drop behaviors.
Definition: drag_container.h:19
BlamEditorTagFieldControl::design_mode
bool design_mode
Whether or not this field is currently in design mode.
Definition: tag_fields.h:25
BlamEditorTagFieldControl::BlamEditorTagFieldControl
BlamEditorTagFieldControl(QWidget *parent=Q_NULLPTR)
Definition: tag_fields.h:29
tag.h
BlamKeystone::UI::TagFields::SetWidgetValidAppearance
KEYSTONE void SetWidgetValidAppearance(QWidget *widget, bool valid)
Applies the configured invalid field colors to a given widget.
Definition: tag_fields.cpp:146
KEYSTONE
#define KEYSTONE
Definition: tag_fields.h:9
BlamEditorTagFieldControl::field
BlamTagField * field
The field associated with this control.
Definition: tag_fields.h:23
BlamEditorTagFieldControl::SetDesignNameEditState
virtual void SetDesignNameEditState(bool edit_state, bool save_changes=true)
Enables or disables the label edit field for the current field.
Definition: tag_fields.h:52
BlamEditorTagFieldControl::designer
tag_designer * designer
The active tag designer that owns this control. Only used when design_mode is enabled.
Definition: tag_fields.h:27
BlamKeystone::UI::TagFields::GenerateFieldControl
KEYSTONE BlamEditorTagFieldControl * GenerateFieldControl(BlamTagField *field, BlamEditorDocument_Tag *document)
Generates a UI control for a given field.
Definition: tag_fields.cpp:19
tag_designer
Class representing the Tag Designer.
Definition: tag_designer.h:24