9#ifndef ISOBUS_VIRTUAL_TERMINAL_OBJECTS_HPP
10#define ISOBUS_VIRTUAL_TERMINAL_OBJECTS_HPP
146 r(0.0f),
g(0.0f),
b(0.0f) {}
153 r(red),
g(green),
b(blue) {}
189 InvalidAttributeID = 1,
211 virtual bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const = 0;
221 virtual bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError) = 0;
229 virtual bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const = 0;
233 std::uint16_t
get_id()
const;
237 void set_id(std::uint16_t value);
271 void add_child(std::uint16_t
objectID, std::int16_t relativeXLocation, std::int16_t relativeYLocation);
282 std::int16_t
get_child_x(std::uint16_t index)
const;
287 std::int16_t
get_child_y(std::uint16_t index)
const;
292 void set_child_x(std::uint16_t index, std::int16_t xOffset);
297 void set_child_y(std::uint16_t index, std::int16_t yOffset);
312 void remove_child(std::uint16_t objectIDToRemove, std::int16_t relativeXLocation, std::int16_t relativeYLocation);
335 static std::shared_ptr<VTObject>
get_object_by_id(std::uint16_t
objectID,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool);
375 BackgroundColour = 1,
379 NumberOfAttributes = 4
399 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
409 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
417 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
452 BackgroundColour = 1,
455 NumberOfAttributes = 3
475 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
485 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
493 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
500 bool change_soft_key_mask(std::uint16_t newMaskID,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool);
525 BackgroundColour = 1,
530 NumberOfAttributes = 5
568 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
578 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
586 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
613 bool change_soft_key_mask(std::uint16_t newMaskID,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool);
647 NumberOfAttributes = 4
667 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
677 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
685 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
713 BackgroundColour = 1,
715 NumberOfAttributes = 2
735 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
745 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
753 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
769 BackgroundColour = 1,
772 NumberOfAttributes = 3
792 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
802 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
810 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
838 NumberOfAttributes = 3
865 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
875 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
883 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
924 bool validate_name(std::uint16_t nameIDToValidate,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const;
946 BackgroundColour = 3,
951 NumberOfAttributes = 7
984 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
994 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1002 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1051 BackgroundColour = 1,
1053 ForegroundColour = 3,
1054 VariableReference = 4,
1058 NumberOfAttributes = 7
1078 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
1088 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1096 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1106 void set_value(std::uint8_t inputValue);
1155 BackgroundColour = 3,
1159 VariableReference = 7,
1163 NumberOfAttributes = 10
1209 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
1219 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1227 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1271 void set_value(
const std::string &value);
1324 BackgroundColour = 3,
1327 VariableReference = 6,
1332 NumberOfDecimals = 11,
1338 NumberOfAttributes = 16
1392 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
1402 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1410 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1514 void set_value(std::uint32_t inputValue);
1563 VariableReference = 3,
1567 NumberOfAttributes = 6
1594 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
1604 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1612 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1634 void set_value(std::uint8_t inputValue);
1651 bool change_list_item(std::uint8_t index, std::uint16_t newListItem,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool);
1685 BackgroundColour = 3,
1688 VariableReference = 6,
1691 NumberOfAttributes = 8
1737 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
1747 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1755 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1789 void set_value(
const std::string &value);
1830 BackgroundColour = 3,
1833 VariableReference = 6,
1836 NumberOfDecimals = 9,
1840 NumberOfAttributes = 12
1887 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
1897 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
1905 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
1967 void set_format(
bool shouldFormatAsExponential);
1975 void set_value(std::uint32_t inputValue);
2021 VariableReference = 3,
2024 NumberOfAttributes = 5
2044 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2054 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2062 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2099 bool change_list_item(std::uint8_t index, std::uint16_t newListItem,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool);
2123 NumberOfAttributes = 5
2129 TopLeftToBottomRight = 0,
2130 BottomLeftToTopRight = 1
2150 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2160 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2168 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2212 LineSuppression = 4,
2215 NumberOfAttributes = 6
2243 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2253 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2261 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2316 NumberOfAttributes = 8
2324 ClosedEllipseSegment = 2,
2325 ClosedEllipseSection = 3
2345 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2355 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2363 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2439 NumberOfAttributes = 6
2475 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2485 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2493 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2498 void add_point(std::uint16_t x, std::uint16_t y);
2556 ArcAndTickColour = 4,
2563 VariableReference = 11,
2566 NumberOfAttributes = 13
2595 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2605 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2613 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2744 TargetLineColour = 4,
2749 VariableReference = 9,
2750 TargetValueVariableReference = 10,
2754 NumberOfAttributes = 13
2785 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2795 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2803 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
2927 TargetLineColour = 4,
2934 VariableReference = 11,
2935 TargetValueVariableReference = 12,
2938 NumberOfAttributes = 14
2968 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
2978 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
2986 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3129 TransparencyColour = 3,
3134 NumberOfAttributes = 7
3170 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3180 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3188 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3197 void set_raw_data(
const std::uint8_t *data, std::uint32_t size);
3280 NumberOfAttributes = 2
3300 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3310 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3318 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3344 NumberOfAttributes = 1
3364 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3374 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3382 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3412 NumberOfAttributes = 5
3481 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3491 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3499 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3573 NumberOfAttributes = 4
3593 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3603 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3611 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3640 NumberOfAttributes = 4
3669 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3679 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3687 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3723 NumberOfAttributes = 2
3730 ValidCharactersAreListed = 0,
3731 InvalidCharactersAreListed = 1
3751 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3761 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3769 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3806 NumberOfAttributes = 2
3813 ValidCharactersAreListed = 0,
3814 InvalidCharactersAreListed = 1
3834 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3844 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3852 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3897 NumberOfAttributes = 2
3917 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3927 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
3935 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
3944 void set_value(std::uint16_t objectIDToPointTo);
3961 DefaultObjectID = 1,
3962 ExternalReferenceNAMEID = 2,
3963 ExternalObjectID = 3,
3965 NumberOfAttributes = 4
3985 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
3995 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4003 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4061 NumberOfAttributes = 1
4067 HideShowObject = 0xA0,
4068 EnableDisableObject = 0xA1,
4069 SelectInputObject = 0xA2,
4070 ControlAudioSignal = 0xA3,
4071 SetAudioVolume = 0xA4,
4074 ChangeBackgroundColour = 0xA7,
4075 ChangeNumericValue = 0xA8,
4076 ChangeEndPoint = 0xA9,
4080 ChangeActiveMask = 0xAD,
4081 ChangeSoftKeyMask = 0xAE,
4082 ChangeAttribute = 0xAF,
4083 ChangePriority = 0xB0,
4084 ChangeListItem = 0xB1,
4085 ChangeStringValue = 0xB3,
4086 ChangeChildPosition = 0xB4,
4087 ChangeObjectLabel = 0xB5,
4088 ChangePolygonPoint = 0xB6,
4089 LockUnlockMask = 0xBD,
4090 ExecuteMacro = 0xBE,
4091 ChangePolygonScale = 0xB7,
4092 GraphicsContextCommand = 0xB8,
4093 SelectColourMap = 0xBA,
4094 ExecuteExtendedMacro = 0xBC
4114 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4124 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4132 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4178 NumberOfAttributes = 1
4198 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4208 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4216 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4253 BackgroundColour = 1,
4257 NumberOfAttributes = 4
4308 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4318 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4326 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4401 NumberOfAttributes = 1
4407 LatchingBoolean = 0,
4409 NonLatchingBoolean = 2
4429 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4439 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4447 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4471 BackgroundColour = 1,
4472 FunctionAttributes = 2,
4474 NumberOfAttributes = 3
4525 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4535 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4543 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4580 NumberOfAttributes = 1
4586 LatchingBoolean = 0,
4588 NonLatchingBoolean = 2
4608 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4618 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4626 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4663 BackgroundColour = 1,
4664 FunctionAttributes = 2,
4666 NumberOfAttributes = 3
4694 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4704 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4712 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
4748 AuxiliaryObjectID = 2,
4750 NumberOfAttributes = 3
4770 bool get_is_valid(
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool)
const override;
4780 bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData,
const std::map<std::uint16_t, std::shared_ptr<VTObject>> &objectPool,
AttributeError &returnedError)
override;
4788 bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData)
const override;
General constants used throughout this library.
Similar to a data mask, but takes priority and will be shown over data masks.
Priority
Enumerates the different mask priorities. Higher priority masks will be shown over lower priority one...
@ Low
Low, information only.
@ High
High, operator is in danger or urgent machine malfunction.
@ Medium
Medium, normal alarm, machine is malfunctioning.
AcousticSignal signalPriority
The acoustic signal priority for this mask.
Priority get_mask_priority() const
Returns the priority of the alarm mask.
void set_mask_priority(Priority value)
Sets the priority of the alarm mask.
bool change_soft_key_mask(std::uint16_t newMaskID, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool)
Changes the soft key mask associated to this alarm mask to a new object ID. Performs error checking o...
AcousticSignal get_signal_priority() const
Returns the acoustic signal priority for the alarm mask.
Priority maskPriority
The priority of this mask.
void set_soft_key_mask(std::uint16_t newMaskID)
Changes the soft key mask associated to this alarm mask to a new object ID, but does no checking on t...
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint16_t softKeyMask
Object ID of a soft key mask for this alarm mask, or the null ID.
AcousticSignal
Enumerates the acoustic signal values for the alarm mask. Works only if your VT has a way to make sou...
@ Highest
Most aggressive beeping.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
~AlarmMask() override=default
Virtual destructor for a alarm mask object.
AlarmMask()=default
Constructor for a alarm mask object.
std::uint16_t get_soft_key_mask() const
Returns the object ID of the soft key mask associated with this alarm mask.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
void set_signal_priority(AcousticSignal value)
Sets the acoustic signal priority for the alarm mask.
Defines an auxiliary control designator type 2 object. Auxiliary Control Designator Type 2 Object Poi...
std::uint16_t get_auxiliary_object_id() const
Returns the object ID of the referenced auxiliary object or the null object ID. Used in conjunction w...
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
AuxiliaryControlDesignatorType2()=default
Constructor for a auxiliary control designator type 2 object.
~AuxiliaryControlDesignatorType2() override=default
Virtual destructor for a auxiliary control designator type 2 object.
std::uint16_t auxiliaryObjectID
Object ID of a referenced Auxiliary Function or Auxiliary Input object or NULL_OBJECT_ID.
std::uint8_t pointerType
The pointer type, defines how this should be rendered.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint8_t get_pointer_type() const
Returns the pointer type, which describes how this object should be rendered.
void set_auxiliary_object_id(std::uint16_t id)
Sets the object ID of the referenced auxiliary object Used in conjunction with the pointer type.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
void set_pointer_type(std::uint8_t type)
Sets the pointer type which describes how this object should be rendered.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
Defines an auxiliary function type 1 object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
FunctionType functionType
The function type.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
~AuxiliaryFunctionType1() override=default
Virtual destructor for a auxiliary function type 1 object.
FunctionType
Enumerates the different kinds of auxiliary functions (type 1)
AuxiliaryFunctionType1()=default
Constructor for a auxiliary function type 1 object.
FunctionType get_function_type() const
Returns the function type.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
void set_function_type(FunctionType type)
Sets the function type.
Defines an auxiliary function type 2 object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint8_t functionAttributesBitfield
Bitfield of function attributes defined in FunctionAttribute enum plus the FunctionType
~AuxiliaryFunctionType2() override=default
Virtual destructor for a auxiliary function type 2 object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
void set_function_attribute(FunctionAttribute attributeToSet, bool value)
Sets the value of a specified function attribute.
FunctionType get_function_type() const
Returns the function type.
AuxiliaryFunctionType2()=default
Constructor for a auxiliary function type 2 object.
FunctionAttribute
Enumerates bit offsets of attributes of auxiliary functions to be assigned to an input control.
@ CriticalControl
If this bit is 1, This function can only be controlled by a critical Auxiliary Input (see ISO 15077)
@ SingleAssignment
If 1, Function shall not be assigned with other Auxiliary Functions to same input....
@ AssignmentRestriction
If this bit is 1, This function, if assigned, can only be assigned as specified in the Preferred Assi...
void set_function_type(FunctionType type)
Sets the function type.
FunctionType
Aux inputs must be one of these types, and the input and function types must match.
@ ReservedRangeStart
Reserved for future use.
@ DualBooleanBothNonLatching
Three-Position Switch, (returning to centre position) (Momentary Single Pole, Three Position,...
@ BidirectionalEncoder
Count increases when turning in the encoders "increase" direction and count decreases when turning in...
@ CombinedAnalougeReturnTo50PercentWithDualBooleanLatching
Two way analogue (return to centre position) with latching Boolean at 0% and 100% positions.
@ DualBooleanLatchingUp
Three-Position Switch, latching in up position, momentary down (Single Pole, Three Position,...
@ Analouge
Maintains position setting.
@ BooleanNonLatchingIncreaseValue
Two-position switch (return to off) (Momentary Single Pole, Double Throw)
@ AnalougeReturnTo50Percent
Two way analogue (return to centre position)
@ ReservedRangeEnd
Used for Remove assignment command.
@ QuadratureBooleanNonLatching
Two quadrature mounted Three-Position Switches, (returning to centre position) (Momentary Single Pole...
@ DualBooleanBothLatching
Three-Position Switch (latching in all positions) (Single Pole, Three Position, Centre Off)
@ CombinedAnalougeMaintainsPositionWithDualBooleanLatching
Analogue maintains position setting with latching Boolean at 0% and 100% positions.
@ QuadratureAnalouge
Two quadrature mounted analogue maintain position setting. The centre position of each analogue axis ...
@ DualBooleanLatchingDown
Three-Position Switch, latching in down position, momentary up (Single Pole, Three Position,...
@ QuadratureAnalougeReturnTo50Percent
Two quadrature mounted analogue returns to centre position (The centre position of each analogue axis...
@ AnalougeReturnTo0PercentIncreaseValue
One way analogue input (returns to 0%)
@ BooleanLatchingOnOff
Two-position switch (maintains position) (Single Pole, Double Throw)
bool get_function_attribute(FunctionAttribute attributeToCheck) const
returns the value of a specified function attribute
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
Defines a colour map object. The Colour Map object, optionally available in VT version 4 and 5,...
std::vector< std::uint8_t > colourMapData
The actual colour map data, which remaps each index from the default table based on the size of this ...
bool set_number_of_colour_indexes(std::uint16_t value)
This is used to initialize the colour map data to either 2, 16, or 256 colour indexes....
bool set_colour_map_index(std::uint8_t index, std::uint8_t value)
Sets the colour map index to the specified value/colour.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint16_t get_number_of_colour_indexes() const
Returns the number of colour indexes in this colour map.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint8_t get_colour_map_index(std::uint8_t index) const
Returns the colour index into the VT colour table at the specified index in this colour map.
~ColourMap() override=default
Virtual destructor for a colour map object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
ColourMap()=default
Constructor for a colour map object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
The Container object is used to group objects for the purpose of moving, hiding or sharing the group.
Container()=default
Constructor for a container object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
~Container() override=default
Virtual destructor for a container object.
bool get_hidden() const
Returns the "hidden" attribute for this container.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool hidden
The hidden attribute state for this container object. True means it will be hidden when rendered.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
void set_hidden(bool value)
Sets the "hidden" attribute for this container.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
The Data Mask describes the objects that will appear in the Data Mask area of the physical display.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint16_t get_soft_key_mask() const
Returns the object ID of the soft key mask associated with this data mask.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
void set_soft_key_mask(std::uint16_t newMaskID)
Changes the soft key mask associated to this data mask to a new object ID, but does no checking on th...
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool change_soft_key_mask(std::uint16_t newMaskID, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool)
Changes the soft key mask associated to this data mask to a new object ID. Performs error checking on...
~DataMask() override=default
Virtual destructor for a data mask object.
DataMask()=default
Constructor for a data mask object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint16_t softKeyMaskObjectID
The object ID of the soft key mask associated with this data mask.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
The External Object Pointer object, available in VT version 5 and later, allows a Working Set to disp...
std::uint16_t get_external_object_id() const
Returns the external object ID. The referenced object is found in the object pool of the Working Set ...
std::uint16_t defaultObjectID
Object ID of an object which shall be displayed if the External Object ID is not valid,...
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint16_t externalObjectID
Object ID of a referenced object or the NULL Object ID.
std::uint16_t get_default_object_id() const
Returns the default object id which is the object ID of an object which shall be displayed if the Ext...
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
~ExternalObjectPointer() override=default
Virtual destructor for a object pointer object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
ExternalObjectPointer()=default
Constructor for a object pointer object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
void set_default_object_id(std::uint16_t id)
Sets the default object id which is the object ID of an object which shall be displayed if the Extern...
std::uint16_t get_external_reference_name_id() const
Returns the external reference NAME ID.
void set_external_reference_name_id(std::uint16_t id)
Sets the external reference NAME ID.
void set_external_object_id(std::uint16_t id)
Sets the external object ID. The referenced object is found in the object pool of the Working Set Mas...
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint16_t externalReferenceNAMEID
Object id of an External Reference NAME object or the NULL Object ID.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
This object holds attributes related to filling output shape objects.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
~FillAttributes() override=default
Virtual destructor for a fill attributes object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
FillType type
The fill type/mode associated with this object.
FillType get_type() const
Returns the fill type/mode associated with this object.
std::uint16_t get_fill_pattern() const
Returns the fill pattern associated with this fill attributes object.
void set_fill_pattern(std::uint16_t value)
Sets the fill pattern for this fill attributes object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint16_t fillPattern
Object id of a Picture Graphic object to use as a Fill pattern.
FillAttributes()=default
Constructor for a fill attributes object.
void set_type(FillType value)
Sets the fill type/mode associated with this object.
FillType
Enumerates the different fill types for an object.
@ FillWithSpecifiedColorInFillColorAttribute
Fill with the color specified by a fill attribute.
@ FillWithLineColor
Fill with the color of the outline of the shape.
@ FillWithPatternGivenByFillPatternAttribute
Fill with a patter provided by a fill pattern attribute.
@ NoFill
No fill will be applied.
This object holds attributes related to fonts.
FontAttributes()=default
Constructor for a font attributes object.
~FontAttributes() override=default
Virtual destructor for a font attributes object.
std::uint8_t size
Font size.
FontType
Enumerates the different font types.
@ ProprietaryBegin
The beginning of the proprietary range.
@ ReservedEnd
Reserved from ISO8859_7 to this value.
@ ProprietaryEnd
The end of the proprietary region.
std::uint8_t colour
Text colour.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
FontStyleBits
Enumerates the font style options that can be encoded in a font style bitfield.
@ Italic
Italic font style.
@ CrossedOut
Crossed-out font style (strikethrough)
@ Flashing
Flashing font style.
@ ProportionalFontRendering
Enables proportional font rendering if supported by the server.
@ Inverted
Inverted font style (upside down)
@ FlashingHidden
Flashing between hidden and shown font style.
@ Underlined
Underlined font style.
std::uint8_t get_font_width_pixels() const
Returns the width of the associated font size in pixels.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
void set_colour(std::uint8_t value)
Sets the colour of the font to a new VT colour.
void set_size(FontSize value)
Sets the font size to a new value.
std::uint8_t type
Encoding type.
void set_style(FontStyleBits bit, bool value)
Sets a specific font style bit to a new value.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
FontType get_type() const
Returns the font type associated to this font attributes object.
FontSize
Enumerates the different font sizes.
@ Size64x96
64x96 Font size
@ Size16x24
16x24 Font size
@ Size16x16
16x16 Font size
@ Size48x64
48x64 Font size
@ Size64x64
64x64 Font size
@ Size24x32
24x32 Font size
@ Size32x48
32x48 Font size
@ Size128x128
128x128 Font size
@ Size96x128
96x128 Font size
@ Size32x32
32x32 Font size
@ Size128x192
128x192 Font size
@ Size12x16
12x16 Font size
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint8_t get_colour() const
Returns the font colour as an index into the VT colour table.
std::uint8_t get_font_height_pixels() const
Returns the height of the associated font size in pixels.
std::uint8_t get_style() const
Returns the font style bitfield.
FontSize get_size() const
Returns the font size.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
void set_type(FontType value)
Sets the font type.
std::uint8_t style
Font style.
The Key objects contained in this object shall be a grouping of Key objects, or Object Pointers to Ke...
void set_name_object_id(std::uint16_t value)
Sets the Object ID of an Output String object or an Object Pointer object that points to an Output St...
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
Options
Enumerates the options bits in the options bitfield of a KeyGroup.
@ Transparent
If this bit is 1, the VT shall ignore the background colour attribute in all child Key objects.
@ Available
If 0 (FALSE) this object is not available for use at the present time, even though defined.
void set_options(std::uint8_t value)
Sets the options bitfield for this object to a new value.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
KeyGroup()=default
Constructor for a key group object.
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
std::uint16_t get_name_object_id() const
Sets the Object ID of an Output String object or an Object Pointer object that points to an Output St...
static constexpr std::uint8_t MAX_CHILD_KEYS
There shall be a max of 4 keys per group according to the standard.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
void set_key_group_icon(std::uint16_t value)
Sets the object ID of the icon to use when representing this key group.
std::uint16_t nameID
Object ID of a string variable that contains the name of the key group.
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
~KeyGroup() override=default
Virtual destructor for a key group object.
std::uint16_t keyGroupIcon
The VT may use this in the proprietary mapping screen to represent the key group.
bool validate_name(std::uint16_t nameIDToValidate, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const
Validates that the specified name ID is valid for this object.
std::uint16_t get_key_group_icon() const
Returns the key group icon that represents this key group.
void set_option(Options option, bool value)
Sets a single option in the options bitfield to the specified value.
The Key object defines the designator and key code for a Soft Key. Any object located outside of a So...
std::uint8_t get_key_code() const
Returns the key code associated to this key object.
std::uint8_t keyCode
They key code associated with events from this key object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
Key()=default
Constructor for a key object.
void set_key_code(std::uint8_t value)
Sets the key code associated to this key object.
~Key() override=default
Virtual destructor for a key object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
Defines a line attributes object, which describes how lines should be displayed on the VT.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
~LineAttributes() override=default
Virtual destructor for a line attributes object.
LineAttributes()=default
Constructor for a line attributes object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint16_t lineArtBitpattern
Bit pattern art for line. Each bit represents a paintbrush spot.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
void set_line_art_bit_pattern(std::uint16_t value)
Sets the line art bit patter for the line attribute.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint16_t get_line_art_bit_pattern() const
Sets the line art bit pattern. Each bit represents 1 pixel's on/off state.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
Defines a macro object. Performs a list of commands based on a message or event.
bool remove_command_packet(std::uint8_t index)
Deletes a command packet from the macro by index.
std::vector< std::vector< std::uint8_t > > commandPackets
Macro command list.
Command
A subset of the VT command multiplexors that support use in macros.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint8_t get_number_of_commands() const
Returns the number of stored command packets inside this macro (max 255)
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
bool add_command_packet(const std::vector< std::uint8_t > &command)
Adds a macro command packet to this macro. Essentially these are CAN messages that represent normal E...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
bool get_command_packet(std::uint8_t index, std::vector< std::uint8_t > &command)
Returns a command packet by index.
~Macro() override=default
Virtual destructor for a macro object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
static const std::array< std::uint8_t, 28 > ALLOWED_COMMANDS_LOOKUP_TABLE
The list of all allowed commands in a table for easy lookup when validating macro content.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
bool get_are_command_packets_valid() const
Returns if the command packets in this macro are valid.
Macro()=default
Constructor for a macro object.
A number variable holds a 32-bit unsigned integer value.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint32_t get_value() const
Returns the number variable's value.
void set_value(std::uint32_t value)
Sets the number variable's value.
NumberVariable()=default
Constructor for a number variable object.
~NumberVariable() override=default
Virtual destructor for a number variable object.
std::uint32_t value
32-bit unsigned integer value
Points to another object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
~ObjectPointer() override=default
Virtual destructor for a object pointer object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
void set_value(std::uint16_t objectIDToPointTo)
Sets the object id of the object this object points to. Does not do error checking on the type of obj...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint16_t value
Object ID of the object this object points to, or the NULL Object ID if the pointer should not be dra...
ObjectPointer()=default
Constructor for a object pointer object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint16_t get_value() const
Returns the object id of the object this object points to.
TThis object is similar in concept to a linear bar graph but appears arched. Arched bar graphs are dr...
void set_option(Options option, bool optionValue)
Sets a single option in the options bitfield to the specified value.
std::uint8_t get_target_line_colour() const
Returns the colour of the target line.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint16_t get_target_value() const
Returns the target value of the graph (only matters when no target value reference is used)
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
void set_target_line_colour(std::uint8_t value)
Sets the colour of the target line.
std::uint16_t get_max_value() const
Returns the maximum value of the bar graph.
std::uint16_t get_target_value_reference() const
Returns the target value reference object ID.
std::uint16_t maxValue
Maximum value. Represents when the needle is at the end of the arc.
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
void set_max_value(std::uint16_t maximumValue)
Sets the max value of the bar graph.
void set_target_value(std::uint16_t value)
Sets the target value of the graph (only matters when no target value reference is used)
void set_value(std::uint16_t value)
Sets the value of the bar graph (only matters when no child number variable is used)
void set_bar_graph_width(std::uint16_t width)
Sets the width (px) of the bar graph.
void set_end_angle(std::uint8_t value)
Sets the end angle for the graph.
void set_colour(std::uint8_t value)
Sets the colour of the bar graph.
std::uint8_t startAngle
Start angle / 2 in degrees from positive X axis counterclockwise.
std::uint8_t colour
Bar graph fill and border colour.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint16_t targetValueReference
Object ID of a Number Variable object in which to retrieve the bar graph’s target value.
std::uint16_t get_min_value() const
Returns the minimum value of the bar graph.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint16_t barGraphWidth
Bar graph width in pixels. Bar graph width should be less than half the total width,...
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
void set_target_value_reference(std::uint16_t value)
Sets the target value reference object ID.
Options
Options that can be applied to the input number.
@ BarGraphType
bar graph type. If this bit is FALSE (0), bar graph is filled
@ Deflection
0 = anticlockwise and 1 = clockwise
@ DrawTargetLine
Draw a target line.
@ Undefined
Undefined, set to 0 recommended.
void set_start_angle(std::uint8_t value)
Sets the start angle for the graph.
std::uint16_t get_value() const
Returns the value of the bar graph (only matters when no child number variable is used)
std::uint16_t variableReference
Object ID of a Number Variable object in which to retrieve the bar graph’s value.
std::uint16_t targetValue
Current target value. Used only if Target value variable Reference attribute is NULL.
std::uint8_t endAngle
End angle / 2 in degrees from positive X axis counterclockwise.
std::uint16_t value
Current value. Needle position set to this value, used if variable ref is NULL.
std::uint8_t get_start_angle() const
Returns the start angle of the graph.
std::uint8_t get_end_angle() const
Returns the end angle of the graph.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
OutputArchedBarGraph()=default
Constructor for an output arched bar graph object.
std::uint16_t get_bar_graph_width() const
Returns the width (px) of the bar graph.
std::uint8_t get_colour() const
Returns the colour of the bar graph.
void set_min_value(std::uint16_t minimumValue)
Sets the minimum value for the bar graph.
std::uint8_t targetLineColour
Target line colour (if drawn)
void set_variable_reference(std::uint16_t variableReferenceValue)
Sets the value reference object ID, which is a number variable object that should be used to determin...
void set_options(std::uint8_t options)
Sets the options bitfield for this object to a new value.
std::uint16_t minValue
Minimum value. Represents value when needle is at the start of arc.
std::uint16_t get_variable_reference() const
Returns the value reference object ID, which is a number variable object that should be used to deter...
~OutputArchedBarGraph() override=default
Virtual destructor for an output arched bar graph object.
This object outputs an ellipse or circle shape.
std::uint16_t fillAttributes
Object ID of fill attributes used to display this ellipse.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
OutputEllipse()=default
Constructor for an output ellipse object.
void set_ellipse_type(EllipseType value)
Sets the ellipse type.
void set_line_attributes(std::uint16_t lineAttributesObject)
Sets the object ID of the line attributes used to display this ellipse's lines. Does not perform any ...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint8_t endAngle
End angle/2 (in degrees) from positive X axis counter clockwise (90° is straight up)
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
void set_start_angle(std::uint8_t value)
Sets the start angle for the ellipse.
void set_end_angle(std::uint8_t value)
Sets the end angle for the ellipse.
std::uint8_t get_end_angle() const
Returns the end angle/2 (in degrees) from positive X axis counter clockwise(90° is straight up).
void set_fill_attributes(std::uint16_t fillAttributesObject)
Sets the object ID of the fill attributes used to display this ellipse's fill. Does not perform any e...
std::uint16_t get_line_attributes() const
Returns the object ID of the line attributes used to display this ellipse's lines.
EllipseType get_ellipse_type() const
Returns the type of the ellipse.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
~OutputEllipse() override=default
Virtual destructor for an output ellipse object.
std::uint16_t lineAttributes
Object ID of line attributes used to display this ellipse.
EllipseType
Types of ellipse.
@ OpenDefinedByStartEndAngles
The ellipse is defined by start and end angles.
std::uint8_t ellipseType
The type of ellipse.
std::uint8_t get_start_angle() const
Returns the Start angle/2 (in degrees) from positive X axis counter clockwise(90° is straight up) for...
std::uint8_t startAngle
Start angle/2 (in degrees) from positive X axis counter clockwise (90° is straight up).
std::uint16_t get_fill_attributes() const
Returns the object ID of the fill attributes used to display this ellipse's fill.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
This object outputs a line shape. The starting point for the line is found in the parent object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint8_t lineDirection
0 = Line is drawn from top left to bottom right of enclosing virtual rectangle, 1 = Line is drawn fro...
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint16_t get_line_attributes() const
Returns the object ID of the line attributes used to display this line.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
LineDirection get_line_direction() const
Returns the line's direction.
OutputLine()=default
Constructor for an output line object.
LineDirection
Enumerates the different directions a line can be drawn.
std::uint16_t lineAttributes
Object ID of line attributes used to display this line.
void set_line_direction(LineDirection value)
Sets the line's direction.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
void set_line_attributes(std::uint16_t lineAttributesObject)
Sets the object ID of the line attributes used to display this line. Does not perform any error check...
~OutputLine() override=default
Virtual destructor for an output line object.
This is a linear bar graph or thermometer, defined by an enclosing rectangle.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint8_t get_number_of_ticks() const
Returns the number of ticks to render across the graph.
std::uint16_t get_min_value() const
Returns the minimum value on the graph. Used to scale the graph's range.
void set_option(Options option, bool optionValue)
Sets a single option in the options bitfield to the specified value.
void set_value(std::uint16_t value)
Sets the value of the graph (only matters if there's no child number variable object).
std::uint8_t get_target_line_colour() const
Returns the target line colour as an index into the VT colour table.
std::uint16_t get_target_value_reference() const
Returns the target value reference object ID.
void set_options(std::uint8_t options)
Sets the options bitfield for this object to a new value.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint16_t maxValue
Maximum value.
void set_number_of_ticks(std::uint8_t value)
Sets the number of ticks to render when drawing the graph.
std::uint8_t targetLineColour
Target line colour (if drawn).
std::uint16_t minValue
Minimum value.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
OutputLinearBarGraph()=default
Constructor for an output linear bar graph object.
~OutputLinearBarGraph() override=default
Virtual destructor for an output linear bar graph object.
std::uint16_t get_target_value() const
Returns the graph's target value (only matters if there's no target value reference).
void set_target_line_colour(std::uint8_t lineColour)
Sets the target line colour.
void set_target_value_reference(std::uint16_t valueReferenceObjectID)
Sets the target value reference object ID.
std::uint8_t numberOfTicks
Number of ticks to draw along the bar graph.
std::uint16_t value
Current value. Needle position set to this value, used if variable ref is NULL.
std::uint16_t get_max_value() const
Returns the max value for the graph.
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
void set_variable_reference(std::uint16_t variableReferenceValue)
Sets the value reference object ID, which is a number variable object that should be used to determin...
void set_colour(std::uint8_t graphColour)
Sets the colour of the graph.
void set_target_value(std::uint16_t valueTarget)
Sets the target value for the graph (only matters if there's no target value reference).
void set_max_value(std::uint16_t value)
Sets the max value for the graph.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint16_t get_value() const
Returns the value of the graph (only matters if there's no child number variable object).
std::uint8_t colour
Bar graph fill and border colour.
void set_min_value(std::uint16_t value)
Sets the minimum value on the graph.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint8_t get_colour() const
Returns the colour of the graph.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint16_t targetValueReference
Object ID of a Number Variable object in which to retrieve the bar graph’s target value.
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
std::uint16_t get_variable_reference() const
Returns the value reference object ID, which is a number variable object that should be used to deter...
std::uint16_t targetValue
Current target value. Used only if Target value variable Reference attribute is NULL.
Options
Options that can be applied to the input number.
@ Direction
0 = Grows negative, 1 = Grows positive
@ BarGraphType
0 = Filled, 1 = not filled with value line
@ AxisOrientation
0 = vertical, 1 = horizontal
@ DrawTargetLine
Draw Target Line.
std::uint16_t variableReference
Object ID of a Number Variable object in which to retrieve the bar graph’s value.
Used to show one object out of a set of objects.
std::uint8_t get_number_of_list_items() const
Returns the number of items in the list.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint8_t numberOfListItems
Number of object references to follow. The size of the list can never exceed this number and this att...
void set_value(std::uint8_t value)
Sets the value of the selected list index (only matters if no child number variable object is present...
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint8_t value
Selected list index of this object. Used only if variable reference attribute is NULL.
~OutputList() override=default
Virtual destructor for an output list object.
std::uint16_t variableReference
The object ID of a number variable to use for the value/selected index, or NULL_OBJECT_ID.
std::uint8_t get_value() const
Returns the value of the selected list index (only matters if no child number variable object is pres...
bool change_list_item(std::uint8_t index, std::uint16_t newListItem, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool)
Changes a list item to a new ID by index.
void set_number_of_list_items(std::uint8_t value)
Sets the number of items in the list.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
OutputList()=default
Constructor for an output list object.
std::uint16_t get_variable_reference() const
Returns the variable reference, which is an object ID of a number variable or NULL_OBJECT_ID (0xFFFF)
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
void set_variable_reference(std::uint16_t referencedObjectID)
A dedicated way to set the stored variable reference so we don't have to worry about the child object...
This object is a meter. Meter is drawn about a circle enclosed within a defined square.
std::uint8_t get_number_of_ticks() const
Returns the number of ticks to render across the meter.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint8_t numberOfTicks
Number of ticks to draw about meter arc.
std::uint8_t get_needle_colour() const
Returns the value of the needle colour.
void set_options(std::uint8_t options)
Sets the options bitfield for this object to a new value.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint8_t get_end_angle() const
Returns the end angle of the meter.
std::uint16_t get_variable_reference() const
Returns the value reference object ID, which is a number variable object that should be used to deter...
void set_option(Options option, bool optionValue)
Sets a single option in the options bitfield to the specified value.
std::uint8_t get_start_angle() const
Returns the start angle for the meter.
void set_needle_colour(std::uint8_t colourIndex)
Sets the value of the needle colour.
void set_border_colour(std::uint8_t colourIndex)
Sets the border colour of the meter.
void set_end_angle(std::uint8_t value)
Sets the end angle for this meter in degrees from the +x axis counter clockwise.
std::uint16_t get_min_value() const
Returns the minimum value of the output meter.
std::uint16_t get_value() const
Returns the value for the output meter (only matters if there's no child number variable object).
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
void set_min_value(std::uint16_t value)
Sets the minimum value of the output meter.
std::uint16_t minValue
Minimum value. Represents value when needle is at the start of arc.
void set_arc_and_tick_colour(std::uint8_t colourIndex)
Sets the arc and tick colour for the meter.
void set_value(std::uint16_t value)
Sets the value of the output meter (only matters if there's no child number variable object).
void set_variable_reference(std::uint16_t variableReferenceValue)
Sets the value reference object ID, which is a number variable object that should be used to determin...
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint16_t variableReference
Object ID of a number variable to use for the value, or NULL_OBJECT_ID if not used.
std::uint16_t maxValue
Maximum value. Represents when the needle is at the end of the arc.
std::uint8_t startAngle
Start angle / 2 in degrees from positive X axis counterclockwise.
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
void set_number_of_ticks(std::uint8_t ticks)
Sets the number of ticks to render when drawing the meter.
std::uint8_t arcAndTickColour
Meter arc and tick colour (if drawn)
void set_max_value(std::uint16_t value)
Sets the max value for the output meter.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
void set_start_angle(std::uint8_t value)
Sets the start angle for the meter.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint16_t get_max_value() const
Returns the max value for the output meter.
Options
Options that can be applied to the input number.
@ DeflectionDirection
0 = From min to max, counterclockwisee. 1 = from min to max, clockwise
~OutputMeter() override=default
Virtual destructor for an output meter object.
std::uint8_t get_arc_and_tick_colour() const
Returns the arc and tick colour for the meter.
std::uint8_t endAngle
End angle / 2 in degrees from positve X axis counterclockwise.
std::uint8_t needleColour
Needle (indicator) colour.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint8_t borderColour
Border colour (if drawn)
OutputMeter()=default
Constructor for an output meter object.
std::uint8_t get_border_colour() const
Returns the border colour of the meter.
std::uint16_t value
Current value. Needle position set to this value, used if variable ref is NULL.
This object is used to format and output a numeric value based on a supplied integer value.
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
std::uint16_t get_font_attributes() const
Returns the object ID of a font attributes object that defines the font attributes of the Output Numb...
std::uint8_t get_number_of_decimals() const
Returns the number of decimals to render in the output number.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint8_t numberOfDecimals
Specifies number of decimals to display after the decimal point.
void set_number_of_decimals(std::uint8_t decimalValue)
Sets the number of decimals to render in the output number.
HorizontalJustification
The allowable horizontal justification options.
@ PositionLeft
The output number is horizontally justified to the left side of its bounding box.
@ PositionRight
The output number is horizontally justified to the right side of its bounding box.
@ PositionMiddle
The output number is horizontally justified to the center of its bounding box.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
void set_variable_reference(std::uint16_t referencedObjectID)
A dedicated way to set the stored variable reference so we don't have to worry about the child object...
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
float get_scale() const
Returns the scale factor of the output number.
void set_font_attributes(std::uint16_t fontAttributesValue)
Sets the object ID of a font attributes object that defines the font attributes of the Output Number ...
std::uint32_t get_value() const
Returns the value of the output number (only matters if there's no child number variable object).
std::int32_t offset
Offset to be applied to the input value and min/max values.
void set_scale(float scaleValue)
Sets the scale factor for the output number.
void set_format(bool shouldFormatAsExponential)
Sets the format option for this object.
VerticalJustification
The allowable vertical justification options.
@ PositionBottom
The output number is vertically justified to the bottom of its bounding box.
@ PositionTop
The output number is vertically justified to the top of its bounding box.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint8_t justificationBitfield
Bitfield of justification options.
void set_value(std::uint32_t inputValue)
Sets the value of the output number (only matters if there's no child number variable object).
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint16_t variableReference
Stores the object ID of a number variable that will be used as the value, or the NULL_OBJECT_ID if no...
bool get_format() const
Returns if the "format" option is set for this object.
Options
Options that can be applied to the input number.
@ Transparent
If true, the input field is displayed with background showing through instead of using the background...
@ DisplayZeroAsBlank
When this option bit is set, a blank field is displayed if and only if the displayed value of the obj...
@ DisplayLeadingZeros
If true, fill left to width of field with zeros; justification is applied after filling.
@ Truncate
If true the value shall be truncated to the specified number of decimals. Otherwise it shall be round...
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::int32_t get_offset() const
Returns the offset that is applied to the output number.
VerticalJustification get_vertical_justification() const
Returns the vertical justification of the output number within its bounding box.
std::uint32_t value
Raw unsigned value of the output field before scaling (unsigned 32-bit integer). Used only if variabl...
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
void set_justification_bitfield(std::uint8_t value)
Sets the justification bitfield to a new value.
~OutputNumber() override=default
Virtual destructor for an output number object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint16_t fontAttributes
Stores the object ID of a font attributes object that will be used to display this object.
void set_option(Options option, bool value)
Sets a single option in the options bitfield to the specified value.
OutputNumber()=default
Constructor for an output number object.
std::uint16_t get_variable_reference() const
Returns the variable reference, which is an object ID of a number variable or NULL_OBJECT_ID (0xFFFF)
void set_options(std::uint8_t value)
Sets the options bitfield for this object to a new value.
float scale
Scale to be applied to the input value and min/max values.
bool format
0 = use fixed format decimal display (####.nn), 1 = use exponential format ([-]###....
void set_offset(std::int32_t offsetValue)
Sets the offset of the output number.
HorizontalJustification get_horizontal_justification() const
Returns the horizontal justification of the output number within its bounding box.
This object outputs a polygon.
void set_type(PolygonType value)
Sets the polygon type for this object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint16_t get_line_attributes() const
Returns the object ID of the line attributes used to display this polygon's lines.
void set_fill_attributes(std::uint16_t fillAttributesObject)
Sets the object ID of the fill attributes used to display this polygon's fill. Does not perform any e...
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
void add_point(std::uint16_t x, std::uint16_t y)
Adds a point to the polygon, defined by x and y coordinates.
void set_line_attributes(std::uint16_t lineAttributesObject)
Sets the object ID of the line attributes used to display this polygon's lines. Does not perform any ...
std::vector< PolygonPoint > pointList
List of points that make up the polygon. Must be at least 3 points!
std::uint16_t get_fill_attributes() const
Returns the object ID of the fill attributes used to display this polygon's fill.
std::uint8_t polygonType
The polygon type. Affects how the object gets drawn.
PolygonType
Polygon type. The first three types are useful only if the polygon is to be filled.
@ Complex
Similar to Non-convex but edges cross. Uses Complex Fill Algorithm.
@ Convex
On any given horizontal line, only two points on the polygon are encountered.
@ Open
This type cannot be filled.
@ NonConvex
On any given horizontal line, more than two points on the polygon edges can be encountered but the po...
std::uint8_t get_number_of_points() const
Returns the number of polygon points.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
PolygonType get_type() const
Returns the polygon type of this object.
PolygonPoint get_point(std::uint8_t index)
Returns a point from the polygon by index.
~OutputPolygon() override=default
Virtual destructor for an output polygon object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
OutputPolygon()=default
Constructor for an output polygon object.
std::uint16_t fillAttributes
Object ID of fill attributes used to display this polygon.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint16_t lineAttributes
Object ID of line attributes used to display this polygon.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
This object outputs a rectangle shape.
std::uint8_t get_line_suppression_bitfield() const
Returns the line suppression bitfield.
~OutputRectangle() override=default
Virtual destructor for an output rectangle object.
std::uint16_t lineAttributes
Object ID of line attributes used to display this rectangle.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
void set_line_suppression_bitfield(std::uint8_t value)
Sets the line suppression bitfield value.
void set_line_attributes(std::uint16_t lineAttributesObject)
Sets the object ID of the line attributes used to display this rectangle's lines. Does not perform an...
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint16_t fillAttributes
Object ID of fill attributes used to display this rectangle.
std::uint16_t get_line_attributes() const
Returns the object ID of the line attributes used to display this rectangle's lines.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
OutputRectangle()=default
Constructor for an output rectangle object.
std::uint16_t get_fill_attributes() const
Returns the object ID of the fill attributes used to display this rectangle's fill.
std::uint8_t lineSuppressionBitfield
Bitfield of line suppression options.
LineSuppressionOption
The different line suppression options.
@ SuppressLeftSideLine
Suppress the left line of the rectangle.
@ SuppressBottomLine
Suppress the bottom line of the rectangle.
@ SuppressTopLine
Suppress the top line of the rectangle.
@ SuppressRightSideLine
Suppress the right side of the rectangle.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
void set_fill_attributes(std::uint16_t fillAttributesObject)
Sets the object ID of the fill attributes used to display this rectangle's fill. Does not perform any...
This object is used to output a string of text.
VerticalJustification
The allowable vertical justification options.
@ PositionBottom
Output string is vertically aligned to the bottom of its bounding box.
@ PositionTop
Output string is vertically aligned to the top of its bounding box.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
OutputString()=default
Constructor for an output string object.
void set_font_attributes(std::uint16_t fontAttributesValue)
Sets the object ID of a font attributes object that defines the font attributes of the Output String ...
HorizontalJustification
The allowable horizontal justification options.
@ PositionLeft
Output string is horizontally aligned to the left of its bounding box.
@ PositionRight
Output string is horizontally aligned to the right of its bounding box.
@ PositionMiddle
Output string is horizontally aligned to the center of its bounding box.
std::string get_value() const
Returns the value of the string, used only if the variable reference (a child var string) is NULL_OBJ...
std::string stringValue
The actual string. Used only if variable reference attribute is NULL. Pad with spaces as necessary to...
void set_justification_bitfield(std::uint8_t value)
Sets the justification bitfield for the object to a new value.
void set_options(std::uint8_t value)
Sets the options bitfield for this object to a new value.
void set_variable_reference(std::uint16_t variableReferenceValue)
Sets the object ID of a string variable object that contains the value of the Output String object....
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
std::uint16_t get_variable_reference() const
Returns the object ID of a string variable object that contains the value of the Output String object...
HorizontalJustification get_horizontal_justification() const
Returns the horizontal justification of the output string within its bounding box.
std::uint16_t fontAttributes
Stores the object ID of a font attributes object that will be used to display this object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
Options
Enumerates the option bits in the options bitfield for an output string.
@ WrapOnHyphen
If TRUE, Auto-Wrapping can occur between a hyphen and the next character.
@ Transparent
If TRUE, the output field is displayed with background showing through instead of using the backgroun...
@ AutoWrap
Auto-Wrapping rules apply.
void set_option(Options option, bool value)
Sets a single option in the options bitfield to the specified value.
void set_value(const std::string &value)
Sets the value of the string (only matters if it has no child string variable)
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint16_t get_font_attributes() const
Returns the object ID of a font attributes object that defines the font attributes of the Output Stri...
std::uint8_t justificationBitfield
Bitfield of justification options.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint16_t variableReference
Stores the object ID of a string variable object that will be used in place of the string value attri...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
VerticalJustification get_vertical_justification() const
Returns the vertical justification of the output string within its bounding box.
~OutputString() override=default
Virtual destructor for an output string object.
This object displays a picture graphic (bitmap)
void set_format(Format value)
Sets the picture's colour format.
std::uint32_t get_number_of_bytes_in_raw_data() const
Returns the number of bytes in the raw data that comprises the underlying bitmap.
std::uint16_t get_actual_height() const
Returns the actual height of the underlying bitmap.
void set_raw_data(const std::uint8_t *data, std::uint32_t size)
Sets a large chunk of data to the underlying bitmap.
std::uint16_t actualHeight
The actual height of the bitmap.
std::uint8_t optionsBitfield
Options bitfield, see the options enum.
std::uint8_t formatByte
The format option byte.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
Options
Enumerates the different options bits in the options bitfield.
@ RunLengthEncoded
Data is RLE See Clause B.12.2 Picture Graphic object raw data format and compression.
@ Transparent
0 = Opaque, 1 = Transparent
@ Flashing
0 = Normal, 1 = Flashing
void set_number_of_bytes_in_raw_data(std::uint32_t value)
Sets the number of bytes in the raw data that comprises the underlying bitmap.
void set_actual_height(std::uint16_t value)
Sets the actual height of the underlying bitmap.
std::vector< std::uint8_t > rawData
The raw picture data. Not a standard bitmap, but rather indicies into the VT colour table.
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
std::vector< std::uint8_t > & get_raw_data()
Returns a reference to the underlying bitmap data.
void set_actual_width(std::uint16_t value)
Sets the actual width of the underlying bitmap.
std::uint8_t transparencyColour
The colour to render as transparent if so set in the options.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
~PictureGraphic() override=default
Virtual destructor for a picture graphic (bitmap) object.
std::uint32_t numberOfBytesInRawData
Number of bytes of raw data.
void set_transparency_colour(std::uint8_t value)
Sets the transparency colour to use when rendering the object as an index into the VT colour table.
Format
Enumerates the different colour formats a picture graphic can have (mutually exclusive)
@ EightBitColour
colour pixel per byte. Each byte represents a colour palette index of 0 through 255
@ FourBitColour
2 colour pixels per byte. Each nibble(4 bits) represents a colour palette index of 0 through 15.
@ Monochrome
Monochrome; 8 pixels per byte. Each bit represents a colour palette index of 0 or 1.
std::uint16_t actualWidth
The actual width of the bitmap.
std::uint16_t get_actual_width() const
Returns the actual width of the underlying bitmap.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
Format get_format() const
Returns the picture's colour format.
PictureGraphic()=default
Constructor for a picture graphic (bitmap) object.
void set_options(std::uint8_t value)
Sets the options bitfield for this object to a new value.
void set_option(Options option, bool value)
Sets a single option in the options bitfield to the specified value.
void add_raw_data(std::uint8_t dataByte)
Sets one byte of raw data to the underlying bitmap.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
std::uint8_t get_transparency_colour() const
Returns the transparency colour to use when rendering the object as an index into the VT colour table...
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
The Soft Key Mask is a Container object that contains Key objects, Object Pointer objects,...
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
SoftKeyMask()=default
Constructor for a soft key mask object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
~SoftKeyMask() override=default
Virtual destructor for a soft key mask object.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
A String Variable holds a fixed length string.
~StringVariable() override=default
Virtual destructor for a string variable object.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::string get_value() const
Returns the actual string value stored in this object.
void set_value(const std::string &value)
Sets the actual string value stored in this object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
StringVariable()=default
Constructor for a string variable object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::string value
The actual value of the string, for non utf-16 strings.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
An object that represents the VT's active colour table.
static constexpr std::size_t VT_COLOUR_TABLE_SIZE
The size of the VT colour table as specified in ISO11783-6.
VTColourTable()
Constructor for a VT colour table.
std::array< VTColourVector, VT_COLOUR_TABLE_SIZE > colourTable
Colour table data. Associates VT colour index with RGB value.
VTColourVector get_colour(std::uint8_t colourIndex) const
Returns the colour vector associated to the specified VT colour index, which is what gets provided no...
void set_colour(std::uint8_t colourIndex, VTColourVector newColour)
Sets the specified VT colour index to a new RGB colour value.
VT 3 component colour vector.
float g
Green value for a pixel, range 0.0f to 1.0f.
constexpr VTColourVector()
Default constructor for a VT Colour, which produces the colour black.
constexpr VTColourVector(float red, float green, float blue)
Constructor for a VT Colour which initializes to an arbitrary colour.
float r
Red value for a pixel, range 0.0f to 1.0f.
float b
Blue value for a pixel, range 0.0f to 1.0f.
Storage for child object data.
std::int16_t yLocation
Relative Y location of the top left corner of the object.
std::int16_t xLocation
Relative X location of the top left corner of the object.
ChildObjectData()=default
Default constructor for child object data with default values.
Generic VT object base class.
bool offset_all_children_with_id(std::uint16_t childObjectID, std::int8_t xOffset, std::int8_t yOffset)
Offsets all child objects with the specified ID by the amount specified relative to its parent.
std::uint16_t width
The width of the object. Not always applicable, but often used.
void set_child_x(std::uint16_t index, std::int16_t xOffset)
Sets the X offset of the child object associated with the specified index into the parent object.
MacroMetadata get_macro(std::uint8_t index) const
Returns the macro ID at the specified index.
virtual VirtualTerminalObjectType get_object_type() const =0
Returns the VT object type of the underlying derived object.
std::uint16_t get_id() const
Returns the object ID of this VT object.
AttributeError
Enumerates the bit indices of the error fields that can be set when changing an attribute.
std::uint16_t height
The height of the object. Not always applicable, but often used.
static std::shared_ptr< VTObject > get_object_by_id(std::uint16_t objectID, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool)
Returns a VT object from its member pool by ID, or the null id if it does not exist.
void pop_child()
Removes the last added child object. This is meant to be a faster way to deal with objects that only ...
void add_macro(MacroMetadata macroToAdd)
Adds a macro to the list of macros referenced by this object.
std::uint16_t get_child_id(std::uint16_t index) const
Returns the ID of the child by index, if one was added previously.
void add_child(std::uint16_t objectID, std::int16_t relativeXLocation, std::int16_t relativeYLocation)
Adds an object as a child to another object, which essentially creates a tree of object association.
void set_child_y(std::uint16_t index, std::int16_t yOffset)
Sets the Y offset of the child object associated with the specified index into the parent object.
std::uint16_t objectID
Object identifier. Shall be unique within the object pool.
std::uint16_t get_number_children() const
Returns the number of child objects within this object.
std::int16_t get_child_y(std::uint16_t index) const
Returns the Y offset of the child object associated with the specified index into the parent object.
void set_width(std::uint16_t value)
Sets the width of this object in px.
virtual bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError)=0
Sets an attribute and optionally returns an error code in the last parameter.
VTObject()=default
Constructor for a generic VT object. Sets up default values and the pointer to the member object pool...
void remove_child(std::uint16_t objectIDToRemove, std::int16_t relativeXLocation, std::int16_t relativeYLocation)
Removes an object reference from another object. All fields must exactly match for the object to be r...
std::uint8_t backgroundColor
The background color (from the VT colour table)
virtual bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const =0
Gets an attribute and returns the raw data in the last parameter.
std::int16_t get_child_x(std::uint16_t index) const
Returns the X offset of the child object associated with the specified index into the parent object.
void set_background_color(std::uint8_t value)
Sets the background color attribute of this object.
std::uint16_t get_height() const
Returns the height of this object in px.
std::vector< MacroMetadata > macros
List of macros referenced by this object.
void set_id(std::uint16_t value)
Sets the object ID of this VT object.
std::vector< ChildObjectData > children
List of child objects.
void set_height(std::uint16_t value)
Sets the height of this object in px.
std::uint8_t get_number_macros() const
Returns the number of macros referenced by this object.
std::uint16_t get_width() const
Returns the width of this object in px.
std::uint8_t get_background_color() const
Returns the background color attribute of this object.
virtual std::uint32_t get_minumum_object_length() const =0
Returns the minimum binary serialized length of the associated object.
virtual ~VTObject()=default
Virtual destructor for a generic VT object.
virtual bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const =0
Performs basic error checking on the object and returns if the object is valid.
Defines a window mask object.
WindowMask()=default
Constructor for a window mask object.
void set_option(Options option, bool value)
Sets a single option in the options bitfield to the specified value.
~WindowMask() override=default
Virtual destructor for a window mask object.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
std::uint16_t get_title_object_id() const
Returns Object ID of an Output String object or an Object Pointer object that points to an Output Str...
WindowType
Enumerates the different kinds of window masks which imply how they are displayed and what they conta...
@ NumericOutputValueNoUnits2x1
This window displays a single numeric output with no units of measure in two horizontal window cells.
@ NumericInputValueWithUnits1x1
This window displays a single numeric input with units of measure in a single window cell.
@ NumericOutputValueWithUnits2x1
This window displays a single numeric output with units of measure in two horizontal window cells.
@ NumericInputValueWithUnits2x1
This window displays a single numeric input with units of measure in two horizontal window cells.
@ StringInputValue1x1
This window displays a single string input in a single window cell.
@ Freeform
the Working Set supplies and positions all child objects contained inside the window....
@ NumericInputValueNoUnits2x1
This window displays a single numeric input with no units of measure in two horizontal window cells.
@ NumericInputValueNoUnits1x1
This window displays a single numeric input with no units of measure in a single window cell.
@ StringInputValue2x1
This window displays a single string input in two horizontal window cells.
@ HorizontalLinearBarGraphNoUnits1x1
This window displays a single horizontal linear bar graph in a single window cell.
@ SingleButton2x1
This window displays a single Button object in two horizontal window cells.
@ SingleButton1x1
This window displays a single Button object in a single window cell.
@ HorizontalLinearBarGraphNoUnits2x1
This window displays a single horizontal linear bar graph in two horizontal window cells.
@ NumericOutputValueWithUnits1x1
This window displays a single numeric output with units of measure in a single window cell.
@ DoubleButton1x1
This window displays two Button objects in a single window cell.
@ StringOutputValue2x1
This window displays a single string output in two horizontal window cells.
@ StringOutputValue1x1
This window displays a single string output in a single window cell.
@ NumericOutputValueNoUnits1x1
This window displays a single numeric output with no units of measure in a single window cell.
@ DoubleButton2x1
This window displays two Button objects in two horizontal window cells.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
std::uint16_t name
Object ID of an Output String object or an Object Pointer object that points to an Output String obje...
bool get_option(Options option) const
Returns the state of a single option in the object's option bitfield.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
void set_window_type(WindowType type)
Sets the window type for this object.
WindowType get_window_type() const
Returns the window type for this object.
std::uint8_t windowType
The window type, which implies its size.
void set_icon_object_id(std::uint16_t object)
Sets the object ID of an output object that contains an icon for the window.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
std::uint8_t optionsBitfield
Bitfield of options defined in Options enum.
std::uint16_t icon
Object ID of an Output object or an Object Pointer object that points to an Output object that contai...
std::uint16_t title
Object ID of an Output String object or an Object Pointer object that points to an Output String obje...
void set_title_object_id(std::uint16_t object)
Sets the Object ID of an Output String object or an Object Pointer object that points to an Output St...
void set_name_object_id(std::uint16_t object)
Sets the object ID of an Output String object or an Object Pointer object that points to an Output St...
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
std::uint16_t get_name_object_id() const
Returns object ID of an Output String object or an Object Pointer object that points to an Output Str...
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
std::uint16_t get_icon_object_id() const
Returns the object ID of an output object that contains an icon for the window.
Options
Enumerates the bit indexes of options encoded in the object's options bitfield.
@ Transparent
Transparent. If this bit is 1, the background colour attribute shall not be used and the Window shall...
@ Available
If 0 (FALSE) this window is not available for use at the present time, even though defined.
void set_options(std::uint8_t value)
Sets the options bitfield for this object to a new value.
This object shall include one or more objects that fit inside a Soft Key designator for use as an ide...
std::vector< std::string > languageCodes
A list of 2 character language codes, like "en".
std::uint16_t activeMask
The currently active mask for this working set.
std::uint16_t get_active_mask() const
Returns tha currently active mask for this working set.
AttributeName
Enumerates this object's attributes which are assigned an attribute ID. The Change Attribute command ...
bool selectable
If this working set is selectable right now.
void set_active_mask(std::uint16_t value)
Sets the object id of the active mask for this working set.
std::uint32_t get_minumum_object_length() const override
Returns the minimum binary serialized length of the associated object.
bool get_is_valid(const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool) const override
Performs basic error checking on the object and returns if the object is valid.
void set_selectable(bool value)
Sets if the working set is selectable.
static constexpr std::uint32_t MIN_OBJECT_LENGTH
The fewest bytes of IOP data that can represent this object.
bool get_attribute(std::uint8_t attributeID, std::uint32_t &returnedAttributeData) const override
Gets an attribute and returns the raw data in the last parameter.
~WorkingSet() override=default
Virtual destructor for a working set object.
bool get_selectable() const
Returns if the working set is currently selectable.
VirtualTerminalObjectType get_object_type() const override
Returns the VT object type of the underlying derived object.
bool set_attribute(std::uint8_t attributeID, std::uint32_t rawAttributeData, const std::map< std::uint16_t, std::shared_ptr< VTObject > > &objectPool, AttributeError &returnedError) override
Sets an attribute and optionally returns an error code in the last parameter.
WorkingSet()=default
Constructor for a working set object.
This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollu...
constexpr std::uint16_t NULL_OBJECT_ID
Special ID used to indicate no object.
EventID
Enumerates VT events. Events can be uniquely associated with a Macro object to execute when the event...
@ OnChangeSize
Change Size command.
@ OnShow
For Container objects, triggered by the hide/show command, with "show" indicated; For mask objects,...
@ OnEntryOfANewValue
Operator completes entry by activating the ENTER means - value has changed.
@ OnChangeAttribute
Change Attribute command.
@ OnHide
For Container objects, triggered by the hide/show command, with "hide" indicated; for mask objects,...
@ OnChangeValue
Change numeric value or change string value command.
@ OnChangePriority
Change Priority command.
@ OnESC
Input aborted on an input field either by the operator or the Working Set.
@ OnKeyPress
A Soft Key or Button is pressed.
@ OnDisable
Input object is disabled (only enabled input objects can be navigated to). An Animation object is dis...
@ OnChangeEndpoint
Change Endpoint command.
@ OnPointingEventRelease
Operator touch/click is released.
@ OnChangeSoftKeyMask
Change Soft Key mask command.
@ OnChangeBackgroundColour
Change Background Colour command.
@ OnInputFieldDeselection
The input field, Key or Button has lost focus, operator has navigated off of the input field or Butto...
@ OnActivate
Working set is made active.
@ ChangeLineAttributes
Change Line Attributes command.
@ OnEnable
Input object is enabled (only enabled input objects can be navigated to). An Animation object is enab...
@ ProprietaryRangeBegin
Proprietary range begin.
@ OnDeactivate
Working set is made inactive.
@ OnEntryOfAValue
Operator completes entry by activating the ENTER means - value does not have to change.
@ OnPointingEventPress
Operator touches/clicks an area that causes a pointing event.
@ ProprietaryRangeEnd
Proprietary range end.
@ OnInputFieldSelection
The input field, Key or Button has received focus, operator has navigated onto the input field or But...
@ ChangeFontAttributes
Change Font Attributes command.
@ ChangeFillAttributes
Change Fill Attributes command.
@ UseExtendedMacroReference
This is not an event. When value is found in the event list of an object, it indicates that a 16 bit ...
@ OnKeyRelease
A Soft Key or Button is released.
@ ChangeChildLocation
Change Child Location command.
@ OnChangeActiveMask
Change Active mask command.
@ OnChangeChildPosition
Change Child Position command.
VirtualTerminalObjectType
The types of objects in an object pool by object type byte value.
@ ManufacturerDefined9
Manufacturer defined objects should not be sent to any other Vendors VT.
@ GraphicData
Used to define the data for a graphic image.
@ ExternalReferenceNAME
Used to identify the WS Master of a Working Set that can be referenced.
@ ManufacturerDefined3
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined14
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ObjectLabelRefrenceList
Used to specify an object label.
@ ManufacturerDefined4
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined5
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined10
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined8
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined6
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined7
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined11
Manufacturer defined objects should not be sent to any other Vendors VT.
@ GraphicsContext
Used to output a graphics context.
@ ManufacturerDefined2
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined13
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined15
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ScaledGraphic
Used to display a scaled representation of a graphic object.
@ ExternalObjectDefinition
Used to list the objects that may be referenced from another Working Set.
@ Animation
The Animation object is used to display simple animations.
@ ManufacturerDefined1
Manufacturer defined objects should not be sent to any other Vendors VT.
@ ManufacturerDefined12
Manufacturer defined objects should not be sent to any other Vendors VT.
Stores a cartesian polygon point.
std::uint16_t yValue
Y value of a point relative to the top left corner of the polygon.
std::uint16_t xValue
X value of a point relative to the top left corner of the polygon.