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

A generic tag field control template. More...

#include <generic.h>

+ Inheritance diagram for ui_generic_field:
+ Collaboration diagram for ui_generic_field:

Public Member Functions

 ui_generic_field (BlamTagField *_field, BlamEditorDocument_Tag *_document, QWidget *parent=Q_NULLPTR)
 
 ui_generic_field (BlamPluginField *_template, BlamEditorDocument_Tag *_document)
 
 ~ui_generic_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 SetupUI () override
 Configures the UI for the current field. More...
 
- Public Member Functions inherited from BlamEditorTagFieldControl
 BlamEditorTagFieldControl (QWidget *parent=Q_NULLPTR)
 

Public Attributes

BlamTagField * field = nullptr
 The field associated with this control. More...
 
BlamPluginField * template_field = nullptr
 The plugin field associated with this control. More...
 
bool is_template = false
 Whether or not this field is displaying as a template. More...
 
- 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...
 

Protected Attributes

Ui::basic_tag_field ui
 

Detailed Description

A generic tag field control template.

This class is used as a base for most tag fields. Some tag fields (such as blocks or comments) will not derive from this, but instead will have their own UI. This control has a label for the display name or field ID, and a layout panel to contain any specific controls for a given field.

Constructor & Destructor Documentation

◆ ui_generic_field() [1/2]

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

◆ ui_generic_field() [2/2]

ui_generic_field::ui_generic_field ( BlamPluginField *  _template,
BlamEditorDocument_Tag _document 
)
+ Here is the call graph for this function:

◆ ~ui_generic_field()

ui_generic_field::~ui_generic_field ( )

Member Function Documentation

◆ eventFilter()

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

◆ SetDesignModeActive()

void ui_generic_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.

◆ SetDesignNameEditState()

void ui_generic_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 call graph for this function:
+ Here is the caller graph for this function:

◆ SetupUI()

void ui_generic_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.

Reimplemented in ui_vector_field, and ui_int_field.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ field

BlamTagField* ui_generic_field::field = nullptr

The field associated with this control.

◆ is_template

bool ui_generic_field::is_template = false

Whether or not this field is displaying as a template.

◆ template_field

BlamPluginField* ui_generic_field::template_field = nullptr

The plugin field associated with this control.

Only used when the field is displaying as a template.

◆ ui

Ui::basic_tag_field ui_generic_field::ui
protected

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