Elaztek Developer Hub
Blamite Game Engine - Keystone  00402.09.29.23.0627.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 
64  virtual void SetupUI() {};
65 };
66 
71 {
80 
89 
97  KEYSTONE void SetWidgetValidAppearance(QWidget* widget, bool valid);
98 }
block.h
BlamEditorDocument_Tag
Class representing a Tag document.
Definition: tag.h:15
ui_dataref_field
Definition: dataref.h:8
ui_tagref_field
Definition: tagref.h:11
bitfield.h
ui_ascii_field
An ascii input field.
Definition: ascii.h:16
boolean.h
ui_float32_field
A float input field.
Definition: float32.h:13
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:94
ui_comment_field
A comment field control.
Definition: comment.h:15
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
ui_int_field
An integer input field.
Definition: int.h:13
BlamEditorDocument.h
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
ui_enum_field
Definition: enum.h:9
ui_bitfield_field
A bitfield control.
Definition: bitfield.h:27
dataref.h
tagref.h
BlamEditorDocumentType::Tag
@ Tag
Indicates the document represents a tag file.
ui_tag_block_field
A tag block control.
Definition: block.h:17
ui_boolean_field
A boolean input field.
Definition: boolean.h:16
ui_unknown_field
An unknown tag field.
Definition: unknown.h:14
fieldref.h
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:70
comment.h
ui_vector_field
A vector input field.
Definition: vector.h:13
drag_list
A basic interface class which can be used for drag and drop behaviors.
Definition: drag_container.h:19
float32.h
vector.h
BlamEditorTagFieldControl::design_mode
bool design_mode
Whether or not this field is currently in design mode.
Definition: tag_fields.h:25
BlamEditorTagFieldControl::SetupUI
virtual void SetupUI()
Configures the UI for the current field.
Definition: tag_fields.h:64
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:164
color.h
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
enum.h
tag_fields.h
ascii.h
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
unknown.h
BlamKeystone::UI::TagFields::GenerateFieldControl
KEYSTONE BlamEditorTagFieldControl * GenerateFieldControl(BlamTagField *field, BlamEditorDocument_Tag *document)
Generates a UI control for a given field.
Definition: tag_fields.cpp:21
int.h
ui_color_field
Definition: color.h:9
ui_fieldref_field
A fieldref input field.
Definition: fieldref.h:14
tag_designer
Class representing the Tag Designer.
Definition: tag_designer.h:24
BlamKeystone::EditorData::GetDocumentTypeConfiguration
KEYSTONE BlamConfigurationFile * GetDocumentTypeConfiguration(BlamEditorDocumentType type)
Attempts to locate the configuration file for the specified document type.
Definition: document_config.cpp:107