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.
bitfield.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <HEKGuerilla/components/tags/fields/bitfield/bitfield.h>
4 #include <qcheckbox.h>
5 
7 #include "../generic/generic.h"
8 
14 class ui_bitfield_bit : public QCheckBox
15 {
16 public:
17  BlamBitfieldBitData bit_data;
18  BlamBitfieldBitInfo bit_info;
19  bool has_bit_info = false;
20 };
21 
28 {
29 private slots:
35  void bitfield_bit_CheckChanged(int new_state);
36 
37 private:
38  std::vector<ui_bitfield_bit*> bit_controls = std::vector<ui_bitfield_bit*>();
39 
40  QFrame* bitfield_frame = nullptr;
41  QVBoxLayout* bitfield_item_container = nullptr;
42 
50  ui_bitfield_bit* AddBitfieldBit(BlamBitfieldBitData bit_data);
51 
60  ui_bitfield_bit* AddBitfieldBit(BlamBitfieldBitData bit_data, BlamBitfieldBitInfo bit_info);
61 
69  ui_bitfield_bit* AddBitfieldBit(BlamBitfieldBitInfo bit_info);
70 
71 public:
77  ui_bitfield_field(BlamTagField_Bitfield* _field, BlamEditorDocument_Tag* _document);
78 
79  ui_bitfield_field(BlamPluginField_Bitfield* _template, BlamEditorDocument_Tag* _document);
80 
85 
86  void SetupUI() override;
87 };
BlamEditorDocument_Tag
Class representing a Tag document.
Definition: tag.h:15
bitfield.h
BlamEditorDocument_Tag::FlagAsModified
void FlagAsModified(bool new_modified_state=true)
Definition: tag.cpp:126
ui_bitfield_bit::bit_info
BlamBitfieldBitInfo bit_info
The bit information for this control, if available.
Definition: bitfield.h:18
ui_bitfield_bit::bit_data
BlamBitfieldBitData bit_data
The bit data for this control.
Definition: bitfield.h:17
BlamEditorTagFieldControl::document
BlamEditorDocument_Tag * document
The document this field belongs to.
Definition: tag_fields.h:24
ui_generic_field::template_field
BlamPluginField * template_field
The plugin field associated with this control.
Definition: generic.h:35
ui_bitfield_field
A bitfield control.
Definition: bitfield.h:27
ui_bitfield_field::~ui_bitfield_field
~ui_bitfield_field()
Cleans up any data used by the control.
Definition: bitfield.cpp:15
ui_bitfield_bit::has_bit_info
bool has_bit_info
Whether or not bit_info is available.
Definition: bitfield.h:19
ui_bitfield_field::SetupUI
void SetupUI() override
Configures the UI for the current field.
Definition: bitfield.cpp:105
ui_generic_field::ui
Ui::basic_tag_field ui
Definition: generic.h:24
ui_generic_field::field
BlamTagField * field
The field associated with this control.
Definition: generic.h:30
ui_bitfield_bit
A bitfield bit/flag control.
Definition: bitfield.h:14
ui_generic_field::is_template
bool is_template
Whether or not this field is displaying as a template.
Definition: generic.h:36
ui_generic_field
A generic tag field control template.
Definition: generic.h:19
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
tag_fields.h
ui_bitfield_field::ui_bitfield_field
ui_bitfield_field(BlamTagField_Bitfield *_field, BlamEditorDocument_Tag *_document)
Constructs a new Bitfield control.
Definition: bitfield.cpp:5