Elaztek Developer Hub
Blamite Game Engine - Keystone  00385.05.12.23.0209.blamite
A library that enables the use of Qt in Blamite's editing tools.
tag_designer Class Reference

Class representing the Tag Designer. More...

#include <tag_designer.h>

+ Inheritance diagram for tag_designer:
+ Collaboration diagram for tag_designer:

Public Member Functions

 tag_designer (QWidget *parent=Q_NULLPTR)
 
 ~tag_designer ()
 
void CloseAllLabelEditors ()
 
void UnfocusAllContainers ()
 
void EnablePluginEditControls ()
 
void GeneratePluginFieldControl (drag_list *destination_drag_list, BlamPluginField *plugin_field)
 
void CreateNewPluginField (drag_list *destination_drag_list, int *next_item_id, BlamTagFieldType type)
 
- Public Member Functions inherited from BlamEditorDocumentWidget
 BlamEditorDocumentWidget (QWidget *parent=nullptr)
 
- Public Member Functions inherited from drag_list
void GenerateDropZones (bool clear_existing=true)
 Generates drop zones for the given drag list. More...
 
void AddContentWidget (QWidget *widget)
 Adds a content item to the drag list. More...
 
std::vector< QWidget * > GetContentWidgets ()
 Retrieves a list of all content widgets within the drag list. More...
 

Public Attributes

BlamPlugin * plugin = nullptr
 
int next_field_id = 0
 
- Public Attributes inherited from BlamEditorDocumentWidget
BlamEditorDocumentdocument = nullptr
 The document associated with this widget. More...
 
- Public Attributes inherited from drag_list
QBoxLayout * drag_layout = nullptr
 The layout container that holds all drag and drop widgets. More...
 

Detailed Description

Class representing the Tag Designer.

The Tag Designer provides a GUI for authoring tag class definition files, or 'plugins'. These plugins are stored as XML files on disk, and are used by the Editing Kit to interact with tag files.

These files are not directly used by the game engine - instead, the game engine itself has its tag definitions built-in using C++ code. While this reduces compatiability, it ensures that the game engine can read tags as quickly and efficiently as possible - with minimal memory overhead.

The Tag Designer saves tag files as XML by default, for use within the Editing Kit. However, tags can also be exported to C++ code for ready use in-engine, allowing the designer to be used for both project-level tags as well as our own in-engine tags.

Constructor & Destructor Documentation

◆ tag_designer()

tag_designer::tag_designer ( QWidget *  parent = Q_NULLPTR)

◆ ~tag_designer()

tag_designer::~tag_designer ( )

Member Function Documentation

◆ CloseAllLabelEditors()

void tag_designer::CloseAllLabelEditors ( )
+ Here is the call graph for this function:

◆ CreateNewPluginField()

void tag_designer::CreateNewPluginField ( drag_list destination_drag_list,
int *  next_item_id,
BlamTagFieldType  type 
)
+ Here is the call graph for this function:

◆ EnablePluginEditControls()

void tag_designer::EnablePluginEditControls ( )

◆ GeneratePluginFieldControl()

void tag_designer::GeneratePluginFieldControl ( drag_list destination_drag_list,
BlamPluginField *  plugin_field 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnfocusAllContainers()

void tag_designer::UnfocusAllContainers ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ next_field_id

int tag_designer::next_field_id = 0

◆ plugin

BlamPlugin* tag_designer::plugin = nullptr

The documentation for this class was generated from the following files: