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.
ui_tag_block_field Class Reference

A tag block control. More...

#include <block.h>

+ Inheritance diagram for ui_tag_block_field:
+ Collaboration diagram for ui_tag_block_field:

Public Member Functions

 ui_tag_block_field (BlamTagField_Block *_field, BlamEditorDocument_Tag *_document, QWidget *parent=Q_NULLPTR)
 
 ui_tag_block_field (BlamPluginField_Block *_template, BlamEditorDocument_Tag *_document, QWidget *parent=Q_NULLPTR)
 
 ~ui_tag_block_field ()
 
bool eventFilter (QObject *object, QEvent *event) override
 
void SetDesignModeActive (drag_list *_drag_list, tag_designer *_designer) override
 Instructs the field to be editable as a designer field. More...
 
void SetDesignNameEditState (bool edit_state, bool save_changes=true) override
 Enables or disables the label edit field for the current field. More...
 
void RebuildDesignModeFieldList ()
 
void UnfocusAllContainers ()
 
void SetupUI () override
 Configures the UI for the current field. More...
 
- Public Member Functions inherited from BlamEditorTagFieldControl
 BlamEditorTagFieldControl (QWidget *parent=Q_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...
 

Additional Inherited Members

- Public Attributes inherited from BlamEditorTagFieldControl
BlamTagField * field = nullptr
 The field associated with this control. More...
 
BlamEditorDocument_Tagdocument = nullptr
 The document this field belongs to. More...
 
bool design_mode = false
 Whether or not this field is currently in design mode. More...
 
drag_listdrag_drop_list = nullptr
 The active drag list that owns this control. Only used when design_mode is enabled. More...
 
tag_designerdesigner = nullptr
 The active tag designer that owns this control. Only used when design_mode is enabled. More...
 
- Public Attributes inherited from drag_list
QBoxLayout * drag_layout = nullptr
 The layout container that holds all drag and drop widgets. More...
 

Detailed Description

A tag block control.

Tag blocks are able to store any number of entries. Each entry must follow the same template, but the values of each entry field can differ on a per-entry basis.

Constructor & Destructor Documentation

◆ ui_tag_block_field() [1/2]

ui_tag_block_field::ui_tag_block_field ( BlamTagField_Block *  _field,
BlamEditorDocument_Tag _document,
QWidget *  parent = Q_NULLPTR 
)
+ Here is the call graph for this function:

◆ ui_tag_block_field() [2/2]

ui_tag_block_field::ui_tag_block_field ( BlamPluginField_Block *  _template,
BlamEditorDocument_Tag _document,
QWidget *  parent = Q_NULLPTR 
)
+ Here is the call graph for this function:

◆ ~ui_tag_block_field()

ui_tag_block_field::~ui_tag_block_field ( )

Member Function Documentation

◆ eventFilter()

bool ui_tag_block_field::eventFilter ( QObject *  object,
QEvent *  event 
)
override
+ Here is the call graph for this function:

◆ RebuildDesignModeFieldList()

void ui_tag_block_field::RebuildDesignModeFieldList ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetDesignModeActive()

void ui_tag_block_field::SetDesignModeActive ( drag_list _drag_list,
tag_designer _designer 
)
overridevirtual

Instructs the field to be editable as a designer field.

This slightly tweaks how the field is displayed, and provides additional functionality to allow the field to be altered within the Tag Designer.

Once design mode is activated, it cannot be deactivated.

Reimplemented from BlamEditorTagFieldControl.

+ Here is the call graph for this function:

◆ SetDesignNameEditState()

void ui_tag_block_field::SetDesignNameEditState ( bool  edit_state,
bool  save_changes = true 
)
overridevirtual

Enables or disables the label edit field for the current field.

When enabled, this will replace the field display label with a text input, allowing the user to rename the field. When disabled, this will hide the edit field and optionally save any changes made.

This only has any effect when design mode is enabled.

Parameters
edit_state- Whether or not the edit field should be enabled.
save_changes- Whether or not any changes from the text input should be saved. Defaults to true.

Reimplemented from BlamEditorTagFieldControl.

+ Here is the caller graph for this function:

◆ SetupUI()

void ui_tag_block_field::SetupUI ( )
overridevirtual

Configures the UI for the current field.

This will rebuild the control from its original data, identical to what happens when a control is first created. This is ideal in cases where the original field has been updated externally and needs to have its changes reflected in the UI, such as the tag designer.

Parameters
resetting- Whether or not the widget is resetting after being initialized. If true, some additional operations may be performed to clear any existing data.

Reimplemented from BlamEditorTagFieldControl.

+ Here is the caller graph for this function:

◆ UnfocusAllContainers()

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

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