AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations
isobus_virtual_terminal_objects.hpp File Reference

Defines the different VT object types that can comprise a VT object pool. More...

#include "isobus/isobus/can_constants.hpp"
#include <array>
#include <map>
#include <memory>
#include <string>
#include <vector>
Include dependency graph for isobus_virtual_terminal_objects.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  isobus::MacroMetadata
 A helper structure to group a macro ID with an event ID. More...
 
class  isobus::VTColourVector
 VT 3 component colour vector. More...
 
class  isobus::VTColourTable
 An object that represents the VT's active colour table. More...
 
class  isobus::VTObject
 Generic VT object base class. More...
 
class  isobus::VTObject::ChildObjectData
 Storage for child object data. More...
 
class  isobus::WorkingSet
 This object shall include one or more objects that fit inside a Soft Key designator for use as an identification of the Working Set. More...
 
class  isobus::DataMask
 The Data Mask describes the objects that will appear in the Data Mask area of the physical display. More...
 
class  isobus::AlarmMask
 Similar to a data mask, but takes priority and will be shown over data masks. More...
 
class  isobus::Container
 The Container object is used to group objects for the purpose of moving, hiding or sharing the group. More...
 
class  isobus::SoftKeyMask
 The Soft Key Mask is a Container object that contains Key objects, Object Pointer objects, or External Object Pointer objects. More...
 
class  isobus::Key
 The Key object defines the designator and key code for a Soft Key. Any object located outside of a Soft Key designator is clipped. More...
 
class  isobus::KeyGroup
 The Key objects contained in this object shall be a grouping of Key objects, or Object Pointers to Key objects. More...
 
class  isobus::Button
 The Button object defines a button control. More...
 
class  isobus::InputBoolean
 The Input Boolean object is used to input a TRUE/FALSE type indication from the operator. More...
 
class  isobus::InputString
 This object is used to input a character string from the operator. More...
 
class  isobus::InputNumber
 This object is used to format, display and change a numeric value based on a supplied integer value. More...
 
class  isobus::InputList
 The Input List object is used to show one object out of a set of objects, and to allow operator selection of one object from the set. More...
 
class  isobus::OutputString
 This object is used to output a string of text. More...
 
class  isobus::OutputNumber
 This object is used to format and output a numeric value based on a supplied integer value. More...
 
class  isobus::OutputList
 Used to show one object out of a set of objects. More...
 
class  isobus::OutputLine
 This object outputs a line shape. The starting point for the line is found in the parent object. More...
 
class  isobus::OutputRectangle
 This object outputs a rectangle shape. More...
 
class  isobus::OutputEllipse
 This object outputs an ellipse or circle shape. More...
 
class  isobus::OutputPolygon
 This object outputs a polygon. More...
 
struct  isobus::OutputPolygon::PolygonPoint
 Stores a cartesian polygon point. More...
 
class  isobus::OutputMeter
 This object is a meter. Meter is drawn about a circle enclosed within a defined square. More...
 
class  isobus::OutputLinearBarGraph
 This is a linear bar graph or thermometer, defined by an enclosing rectangle. More...
 
class  isobus::OutputArchedBarGraph
 TThis object is similar in concept to a linear bar graph but appears arched. Arched bar graphs are drawn about an Output Ellipse object enclosed within a defined rectangle. More...
 
class  isobus::PictureGraphic
 This object displays a picture graphic (bitmap) More...
 
class  isobus::NumberVariable
 A number variable holds a 32-bit unsigned integer value. More...
 
class  isobus::StringVariable
 A String Variable holds a fixed length string. More...
 
class  isobus::FontAttributes
 This object holds attributes related to fonts. More...
 
class  isobus::LineAttributes
 Defines a line attributes object, which describes how lines should be displayed on the VT. More...
 
class  isobus::FillAttributes
 This object holds attributes related to filling output shape objects. More...
 
class  isobus::InputAttributes
 This object defines the valid or invalid characters for an Input String object. More...
 
class  isobus::ExtendedInputAttributes
 The Extended Input Attributes object, available in VT version 4 and later, defines the valid or invalid characters for an Input String object. More...
 
class  isobus::ExtendedInputAttributes::CodePlane
 Stores data for a code plane (for utf-16 strings) More...
 
class  isobus::ObjectPointer
 Points to another object. More...
 
class  isobus::ExternalObjectPointer
 The External Object Pointer object, available in VT version 5 and later, allows a Working Set to display objects that exist in another Working Set’s object pool. More...
 
class  isobus::Macro
 Defines a macro object. Performs a list of commands based on a message or event. More...
 
class  isobus::ColourMap
 Defines a colour map object. The Colour Map object, optionally available in VT version 4 and 5, and mandatory in VT version 6 and later, allows the Working Set designer to alter the transformation of the VT colour index values to the defined RGB value. This provides a mechanism where the colours table can be changed at run-time. More...
 
class  isobus::WindowMask
 Defines a window mask object. More...
 
class  isobus::AuxiliaryFunctionType1
 Defines an auxiliary function type 1 object. More...
 
class  isobus::AuxiliaryFunctionType2
 Defines an auxiliary function type 2 object. More...
 
class  isobus::AuxiliaryInputType1
 Defines an auxiliary input type 1 object. More...
 
class  isobus::AuxiliaryInputType2
 Defines an auxiliary input type 2 object. More...
 
class  isobus::AuxiliaryControlDesignatorType2
 Defines an auxiliary control designator type 2 object. Auxiliary Control Designator Type 2 Object Pointers allow the Working Set to place Auxiliary Input Type 2 and Auxiliary Function Type 2 designators in the Data Mask at Working Set defined coordinates. More...
 

Namespaces

namespace  isobus
 This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollution.
 

Enumerations

enum class  isobus::VirtualTerminalObjectType : std::uint8_t {
  isobus::WorkingSet = 0 , isobus::DataMask = 1 , isobus::AlarmMask = 2 , isobus::Container = 3 ,
  isobus::WindowMask = 34 , isobus::SoftKeyMask = 4 , isobus::Key = 5 , isobus::Button = 6 ,
  isobus::KeyGroup = 35 , isobus::InputBoolean = 7 , isobus::InputString = 8 , isobus::InputNumber = 9 ,
  isobus::InputList = 10 , isobus::OutputString = 11 , isobus::OutputNumber = 12 , isobus::OutputList = 37 ,
  isobus::OutputLine = 13 , isobus::OutputRectangle = 14 , isobus::OutputEllipse = 15 , isobus::OutputPolygon = 16 ,
  isobus::OutputMeter = 17 , isobus::OutputLinearBarGraph = 18 , isobus::OutputArchedBarGraph = 19 , isobus::GraphicsContext = 36 ,
  isobus::Animation = 44 , isobus::PictureGraphic = 20 , isobus::GraphicData = 46 , isobus::ScaledGraphic = 48 ,
  isobus::NumberVariable = 21 , isobus::StringVariable = 22 , isobus::FontAttributes = 23 , isobus::LineAttributes = 24 ,
  isobus::FillAttributes = 25 , isobus::InputAttributes = 26 , isobus::ExtendedInputAttributes = 38 , isobus::ColourMap = 39 ,
  isobus::ObjectLabelRefrenceList = 40 , isobus::ObjectPointer = 27 , isobus::ExternalObjectDefinition = 41 , isobus::ExternalReferenceNAME = 42 ,
  isobus::ExternalObjectPointer = 43 , isobus::Macro = 28 , isobus::AuxiliaryFunctionType1 = 29 , isobus::AuxiliaryInputType1 = 30 ,
  isobus::AuxiliaryFunctionType2 = 31 , isobus::AuxiliaryInputType2 = 32 , isobus::AuxiliaryControlDesignatorType2 = 33 , isobus::ManufacturerDefined1 = 240 ,
  isobus::ManufacturerDefined2 = 241 , isobus::ManufacturerDefined3 = 242 , isobus::ManufacturerDefined4 = 243 , isobus::ManufacturerDefined5 = 244 ,
  isobus::ManufacturerDefined6 = 245 , isobus::ManufacturerDefined7 = 246 , isobus::ManufacturerDefined8 = 247 , isobus::ManufacturerDefined9 = 248 ,
  isobus::ManufacturerDefined10 = 249 , isobus::ManufacturerDefined11 = 250 , isobus::ManufacturerDefined12 = 251 , isobus::ManufacturerDefined13 = 252 ,
  isobus::ManufacturerDefined14 = 253 , isobus::ManufacturerDefined15 = 254 , isobus::Reserved = 255
}
 The types of objects in an object pool by object type byte value. More...
 
enum class  isobus::EventID : std::uint8_t {
  isobus::Reserved = 0 , isobus::OnActivate = 1 , isobus::OnDeactivate = 2 , isobus::OnShow = 3 ,
  isobus::OnHide = 4 , isobus::OnEnable = 5 , isobus::OnDisable = 6 , isobus::OnChangeActiveMask = 7 ,
  isobus::OnChangeSoftKeyMask = 8 , isobus::OnChangeAttribute = 9 , isobus::OnChangeBackgroundColour = 10 , isobus::ChangeFontAttributes = 11 ,
  isobus::ChangeLineAttributes = 12 , isobus::ChangeFillAttributes = 13 , isobus::ChangeChildLocation = 14 , isobus::OnChangeSize = 15 ,
  isobus::OnChangeValue = 16 , isobus::OnChangePriority = 17 , isobus::OnChangeEndpoint = 18 , isobus::OnInputFieldSelection = 19 ,
  isobus::OnInputFieldDeselection = 20 , isobus::OnESC = 21 , isobus::OnEntryOfAValue = 22 , isobus::OnEntryOfANewValue = 23 ,
  isobus::OnKeyPress = 24 , isobus::OnKeyRelease = 25 , isobus::OnChangeChildPosition = 26 , isobus::OnPointingEventPress = 27 ,
  isobus::OnPointingEventRelease = 28 , isobus::ProprietaryRangeBegin = 240 , isobus::ProprietaryRangeEnd = 254 , isobus::UseExtendedMacroReference = 255
}
 Enumerates VT events. Events can be uniquely associated with a Macro object to execute when the event occurs. These are defined in ISO 11783-6:2018 Table A.2. More...
 

Detailed Description

Defines the different VT object types that can comprise a VT object pool.

Author
Adrian Del Grosso

Definition in file isobus_virtual_terminal_objects.hpp.