Archicad 28 C++ API
Loading...
Searching...
No Matches
Tracker API

Classes

class  ACAPI::Tracking::v1::TrackerManager
 TrackerManager is a class to access the main tracker with. More...
 
class  Tracking::Tracker
 Class for managing one specific tracker and its fields. More...
 
class  Tracking::Tracker::HintGuard
 Helper guard class to specify a hint what to do when the editing of a field needs to be ended and possibly the reason for ending it. More...
 
class  Tracking::Tracker::InEditKeyboardHandler
 Class to derive from, when creating custom keyboard handlers for the tracker's edit mode. More...
 
class  Tracking::Tracker::RunningModeKeyboardHandler
 Class to derive from, when creating custom keyboard handlers for the tracker's running mode. More...
 

Typedefs

using ACAPI::Tracking::v1::TrackerRef = std::reference_wrapper<::Tracking::Tracker >
 Reference to the type Tracking::Tracker.
 
typedef GS::ConstForwardIterator< ITrackerItem * > Tracking::Tracker::ConstItemIterator
 A constant iterator to read the items of the tracker.
 
typedef GS::ForwardIterator< ITrackerItem * > Tracking::Tracker::ItemIterator
 An iterator for accessing the items of the tracker.
 

Enumerations

enum class  Tracking::Tracker::ValueHandlingOnDeactivate { Tracking::Tracker::ValueHandlingOnDeactivate::Accept , Tracking::Tracker::ValueHandlingOnDeactivate::Reject }
 Determines what to do with the edited field's latest value when the editing of the field needs to end. More...
 
enum class  Tracking::Tracker::PositionHandingOnDeactivate { Tracking::Tracker::PositionHandingOnDeactivate::KeepAsItIs , Tracking::Tracker::PositionHandingOnDeactivate::RemoveFromIdealPosition }
 Determines how to relocate the tracker when the editing of the field needs to be ended. More...
 

Functions

Result< TrackerManagerACAPI::Tracking::v1::GetTrackerManager ()
 A function to create TrackerManager instance.
 
 Tracking::Tracker::HintGuard::HintGuard (Tracker &trackerToGuard, Hint newHint)
 Starts the scope of the hint.
 
 Tracking::Tracker::HintGuard::~HintGuard ()
 Finishes the scope of the hint.
 
TrackerTracking::Tracker::InEditKeyboardHandler::GetTracker ()
 Gets the parent tracker, where the events will be handled.
 
virtual DG::EventHandlerResultType Tracking::Tracker::InEditKeyboardHandler::KeyPressed (const DG::Key::Code &code, DG::Item **item) override
 Handles a regular key press event.
 
virtual DG::EventHandlerResultType Tracking::Tracker::InEditKeyboardHandler::KeyPressed (const DG::Key::Modifier &modifier, DG::Item **item) override
 Handles a modifier key press event.
 
TrackerTracking::Tracker::RunningModeKeyboardHandler::GetTracker ()
 Gets the parent tracker, where the events will be handled.
 
virtual DG::EventHandlerResultType Tracking::Tracker::RunningModeKeyboardHandler::KeyPressed (const DG::Key::Code &code, DG::Item **item) override
 Handles a regular key press event.
 
virtual DG::EventHandlerResultType Tracking::Tracker::RunningModeKeyboardHandler::KeyPressed (const DG::Key::Modifier &modifier, DG::Item **item) override
 Handles a modifier key press event.
 
void Tracking::Tracker::ShowReturnToRunningModeButton (bool show)
 Provides the option to force hiding the Mark Position button for each field of the tracker.
 
void Tracking::Tracker::RefreshSize ()
 Updates the size of the entire tracker based on its content such as fields, icons, etc.
 
 Tracking::Tracker::Tracker ()
 Tracker constructor.
 
void Tracking::Tracker::AddItem (ITrackerItem *trackerItem)
 Add an item to the tracker.
 
void Tracking::Tracker::SwapItems (ITrackerItem *trackerItem1, ITrackerItem *trackerItem2)
 Swaps the specified items.
 
ConstItemIterator Tracking::Tracker::EnumerateAllItems () const
 Provides a constant iterator to read each item of the tracker regardless whether they are visible or not.
 
ItemIterator Tracking::Tracker::EnumerateAllItems ()
 Provides an iterator to access each item of the tracker regardless whether they are visible or not.
 
ConstItemIterator Tracking::Tracker::EnumerateVisibleItems () const
 Provides a constant iterator to read the visible items of the tracker.
 
ItemIterator Tracking::Tracker::EnumerateVisibleItems ()
 Provides an iterator to access the visible items of the tracker.
 
const ITrackerItem * Tracking::Tracker::GetSelectedItem () const
 Provides the item for the tracker field that is currently the default one, shown with bold fonts, or is being edited.
 
ITrackerItem * Tracking::Tracker::GetSelectedItem ()
 Provides access to change the item that is currently the default field, shown with bold fonts, or is being edited.
 
virtual void Tracking::Tracker::Synchronize ()
 Draws the tracker after ensuring that each field's value is consistent based on the input.
 
virtual void Tracking::Tracker::RefreshFade ()
 Function for updating the fade animation.
 
DG::NativeRect Tracking::Tracker::GetRect (void) const
 Provides the size and position of the tracker.
 
void Tracking::Tracker::SetPosition (const DG::NativePoint &point, bool animated=false, short milliSec=-1)
 Repositions the tracker with the possibility of being animated.
 
void Tracking::Tracker::MoveToVisiblePosition ()
 Moves the tracker to near to its current location but where it doesn't obstruct anything.
 
void Tracking::Tracker::StayInVisiblePosition ()
 Makes tracker stay at the position set by MoveToVisiblePosition.
 
DG::Item * Tracking::Tracker::ActivateEditMode ()
 Starts the editing of the currently default tracker field (see GetSelectedItem)
 
void Tracking::Tracker::DeactivateEditMode (ValueHandlingOnDeactivate valueHandling, const GS::Optional< const ITrackerItem * > &acceptedItemPtr, PositionHandingOnDeactivate positionHandling)
 Stops the editing of the currently default tracker field (see GetSelectedItem)
 
bool Tracking::Tracker::IsInEditMode () const
 Checks if any tracker field value is being edited.
 
bool Tracking::Tracker::IsTrackerEditWindowActive () const
 Checks whether the tracker's window is focused.
 
void Tracking::Tracker::SetNextActivableItem ()
 Activates the editing of the field following (i.e. the row below) the default or edited one.
 
void Tracking::Tracker::SetPrevActivableItem ()
 Activates the editing of the field preceding (i.e. the row above) the default or edited one.
 
bool Tracking::Tracker::IsFirstActivableItemActive ()
 Checks whether the first editable field is currently being edited or not.
 
bool Tracking::Tracker::IsLastActivableItemActive ()
 Checks whether the last editable field is currently being edited or not.
 
void Tracking::Tracker::SetFirstActivableItem ()
 Activates the first editable field (i.e. the topmost editable row)
 
void Tracking::Tracker::SetLastActivableItem ()
 Activates the last editable field (i.e. the bottommost editable row)
 
void Tracking::Tracker::Hide () override
 Hides the tracker.
 
void Tracking::Tracker::Show () override
 Shows the tracker.
 
bool Tracking::Tracker::IsVisible () const override
 Checks whether the tracker is visible or not.
 
void Tracking::Tracker::SetGlobalOpacity (float opacity)
 Changes the opacity of the entire tracker, with its texts and background as a single unit.
 
void Tracking::Tracker::SetShowParameterNames (bool showParameterNames)
 Changes the appearance of the tracker whether to display the name of the fields or not.
 
void Tracking::Tracker::SetAllwaysShowParameterNames (bool allwaysShowParameterNames)
 Provides the option to override the value specified by SetShowParameterNames.
 
void Tracking::Tracker::SetEditTrackerSizePreference (bool isEditTrackerMinimizedParam)
 Changes the behavior of the tracker whether to automatically expand and show every field each time a field is started to be edited.
 
static void Tracking::Tracker::SetForegroundColor (const Gfx::Color &foregroundColorToSet)
 Changes the color of texts and icons globally for all trackers.
 
static void Tracking::Tracker::SetBackgroundColor (const Gfx::Color &backgroundColorToSet)
 Changes the background color (i.e. the fill behind texts and icons) globally for all trackers.
 
static void Tracking::Tracker::SetFrameColor (const Gfx::Color &frameColorToSet)
 Changes the frame color globally for all trackers.
 
static Gfx::Color Tracking::Tracker::GetDefaultForegroundColor ()
 Retrieves the color of texts and icons used globally by all trackers.
 
static Gfx::Color Tracking::Tracker::GetDefaultBackgroundColor ()
 Retrieves the background color (i.e. the fill behind texts and icons) used globally by all trackers.
 
static Gfx::Color Tracking::Tracker::GetDefaultFrameColor ()
 Retrieves the frame color used globally by all trackers.
 
static void Tracking::Tracker::SetOpacity (float opacityToSet)
 Changes the opacity of the background (i.e. the fill behind texts and icons) for all trackers, globally.
 
static void Tracking::Tracker::SetDrawFrame (bool drawFrameToSet)
 Changes whether to show the tracker's frame globally for all trackers.
 
static void Tracking::Tracker::SetSmallFont (bool smallFontToSet)
 Changes whether the tracker rows should be display more compactly, globally for all trackers.
 
Gfx::Color Tracking::Tracker::GetForegroundColor ()
 Retrieves the color of texts and icons.
 
Gfx::Color Tracking::Tracker::GetBackgroundColor ()
 Retrieves the background color (i.e. the fill behind texts and icons)
 
Gfx::Color Tracking::Tracker::GetFrameColor ()
 Retrieves the tracker's frame color.
 
static float Tracking::Tracker::GetOpacity ()
 Retrieves the tracker's opacity.
 
bool Tracking::Tracker::GetDrawFrame ()
 Retrieves whether the tracker's frame is shown.
 
static bool Tracking::Tracker::GetSmallFont ()
 Retrieves whether tracker rows are displayed more compactly.
 
void Tracking::Tracker::SetCustomBackgroundColor (const Gfx::Color &color)
 Changes the background color (i.e. the fill behind texts and icons)
 
void Tracking::Tracker::SetCustomForeGroundColor (const Gfx::Color &color)
 Changes the color of texts and icons.
 
void Tracking::Tracker::SetCustomFrameColor (const Gfx::Color &color)
 Changes the frame color.
 
void Tracking::Tracker::SetCustomDrawFrame (bool drawFrameToSet)
 Changes whether to show the tracker's frame.
 
bool Tracking::Tracker::IsDecimalSeparator (const DG::Key::Code &code) const
 Checks whether a keyboard code is for the decimal separator.
 
static short Tracking::Tracker::ReadTrackerTimesPref (const GS::UniString &name, Int32 defaultValue)
 Utility function for retrieving tracker animation durations stored in the system preferences (i.e the registry on Windows)
 
void Tracking::Tracker::SetInEditKeyboardHandler (GS::Owner< InEditKeyboardHandler > handler)
 Sets a keyboard handler to use in edit mode.
 
void Tracking::Tracker::SetRunningModeKeyboardHandler (GS::Owner< RunningModeKeyboardHandler > handler)
 Sets a keyboard handler to use in running mode.
 

Detailed Description

Tracker API

The Tracker API provides functions to create custom trackers.

Tracking::Tracker

Typedef Documentation

◆ TrackerRef

using ACAPI::Tracking::v1::TrackerRef = typedef std::reference_wrapper<::Tracking::Tracker>

Reference to the type Tracking::Tracker.

Since
Archicad 28

Enumeration Type Documentation

◆ PositionHandingOnDeactivate

Determines how to relocate the tracker when the editing of the field needs to be ended.

Enumerator
KeepAsItIs 

The tracker is going to be kept at its current location

RemoveFromIdealPosition 

The tracker is going to be moved to the position controlled by GetTrackerPosition

◆ ValueHandlingOnDeactivate

Determines what to do with the edited field's latest value when the editing of the field needs to end.

Enumerator
Accept 

The edited field's latest value will be taken into account

Reject 

The edited field's latest value won't be taken into account

Function Documentation

◆ ActivateEditMode()

DG::Item * Tracking::Tracker::ActivateEditMode ( )

Starts the editing of the currently default tracker field (see GetSelectedItem)

Returns
  • a pointer to the DG::Item for the actual input field (e.g. a DG::RealEdit)
  • nullptr when the tracker has no fields/items
Precondition
Must be called when not already editing a field (i.e. IsInEditMode is false)

◆ AddItem()

void Tracking::Tracker::AddItem ( ITrackerItem *  trackerItem)

Add an item to the tracker.

Parameters
[in]trackerItemThe item to be added

◆ DeactivateEditMode()

void Tracking::Tracker::DeactivateEditMode ( ValueHandlingOnDeactivate  valueHandling,
const GS::Optional< const ITrackerItem * > &  acceptedItemPtr,
PositionHandingOnDeactivate  positionHandling 
)

Stops the editing of the currently default tracker field (see GetSelectedItem)

Parameters
[in]valueHandling
  • when Accept, the currently edited field value will be taken into account and will have its effect
  • when Reject, the currently edited field value will be discarded
[in]acceptedItemPtrwhen the Optional has a value, the function emits an OnInputAccept event with the Optional's value as the argument of the event
[in]positionHandlingdetermines how to relocate the tracker when the editing of the field needs to end
Precondition
Must be called when already editing a field (i.e. IsInEditMode is true)

◆ EnumerateAllItems() [1/2]

ItemIterator Tracking::Tracker::EnumerateAllItems ( )

Provides an iterator to access each item of the tracker regardless whether they are visible or not.

Returns
Returns an ItemIterator

◆ EnumerateAllItems() [2/2]

ConstItemIterator Tracking::Tracker::EnumerateAllItems ( ) const

Provides a constant iterator to read each item of the tracker regardless whether they are visible or not.

Returns
Returns a ConstItemIterator

◆ EnumerateVisibleItems() [1/2]

ItemIterator Tracking::Tracker::EnumerateVisibleItems ( )

Provides an iterator to access the visible items of the tracker.

Returns
Returns an ItemIterator

◆ EnumerateVisibleItems() [2/2]

ConstItemIterator Tracking::Tracker::EnumerateVisibleItems ( ) const

Provides a constant iterator to read the visible items of the tracker.

Returns
Returns a ConstItemIterator

◆ GetBackgroundColor()

Gfx::Color Tracking::Tracker::GetBackgroundColor ( )

Retrieves the background color (i.e. the fill behind texts and icons)

Returns
the color of the tracker's background

The result is be defined by SetBackgroundColor unless overridden by SetCustomBackgroundColor

◆ GetDefaultBackgroundColor()

static Gfx::Color Tracking::Tracker::GetDefaultBackgroundColor ( )
static

Retrieves the background color (i.e. the fill behind texts and icons) used globally by all trackers.

Returns
the color for the background used by default in all trackers

The result is defined by SetBackgroundColor

◆ GetDefaultForegroundColor()

static Gfx::Color Tracking::Tracker::GetDefaultForegroundColor ( )
static

Retrieves the color of texts and icons used globally by all trackers.

Returns
the color of texts and icons used by default in all trackers

The result is defined by SetForegroundColor

◆ GetDefaultFrameColor()

static Gfx::Color Tracking::Tracker::GetDefaultFrameColor ( )
static

Retrieves the frame color used globally by all trackers.

Returns
the frame color used by default in all trackers

The result is defined by SetFrameColor

◆ GetDrawFrame()

bool Tracking::Tracker::GetDrawFrame ( )

Retrieves whether the tracker's frame is shown.

Returns
bool value, when true, the trackers frame is displayed

The result might be defined by SetDrawFrame unless overridden by SetCustomDrawFrame

◆ GetForegroundColor()

Gfx::Color Tracking::Tracker::GetForegroundColor ( )

Retrieves the color of texts and icons.

Returns
the color of the tracker's texts and icons

◆ GetFrameColor()

Gfx::Color Tracking::Tracker::GetFrameColor ( )

Retrieves the tracker's frame color.

Returns
the frame color of the tracker

The result is be defined by SetFrameColor unless overridden by SetCustomFrameColor

◆ GetOpacity()

static float Tracking::Tracker::GetOpacity ( )
static

Retrieves the tracker's opacity.

Returns
the opacity of trackers, fully transparent when 0.0f, fully opaque when 1.0f

The result is defined by SetOpacity

◆ GetRect()

DG::NativeRect Tracking::Tracker::GetRect ( void  ) const

Provides the size and position of the tracker.

Returns
Returns the rectangle as a DG::NativeRect (where values are multiplied with the HiDPI factor)

◆ GetSelectedItem() [1/2]

ITrackerItem * Tracking::Tracker::GetSelectedItem ( )

Provides access to change the item that is currently the default field, shown with bold fonts, or is being edited.

Returns
Returns a pointer to an ITrackerItem
Here for instance, the X row is going to be the selected item

◆ GetSelectedItem() [2/2]

const ITrackerItem * Tracking::Tracker::GetSelectedItem ( ) const

Provides the item for the tracker field that is currently the default one, shown with bold fonts, or is being edited.

Returns
Returns a pointer to a const ITrackerItem
Here for instance, the Y row is going to be the selected item

◆ GetSmallFont()

static bool Tracking::Tracker::GetSmallFont ( )
static

Retrieves whether tracker rows are displayed more compactly.

Returns
bool value, when true, the height of the rows are shorter
Remarks
Not recommended for general use. Might be removed in the future. Remnant for supporting an old Work Environment option. (Was available until AC19)

◆ GetTracker() [1/2]

Tracker & Tracking::Tracker::InEditKeyboardHandler::GetTracker ( )
protected

Gets the parent tracker, where the events will be handled.

Returns
The parent tracker

◆ GetTracker() [2/2]

Tracker & Tracking::Tracker::RunningModeKeyboardHandler::GetTracker ( )
protected

Gets the parent tracker, where the events will be handled.

Returns
The parent tracker

◆ GetTrackerManager()

Result< TrackerManager > ACAPI::Tracking::v1::GetTrackerManager ( )
inline

A function to create TrackerManager instance.

Returns
Returns the TrackerManager instance. This process cannot fail.

◆ Hide()

void Tracking::Tracker::Hide ( )
override

Hides the tracker.

When called while a tracker field is being edited, the field's value is going to be rejected.

◆ HintGuard()

Tracking::Tracker::HintGuard::HintGuard ( Tracker trackerToGuard,
Hint  newHint 
)

Starts the scope of the hint.

Parameters
[in,out]trackerToGuardthe affected tracker
[in]newHintthe fields of trackerToGuard (i.e. ITrackerItems) will receive this hint, which affect if the cursor should be moved or whether new Guide Lines needs to be placed

◆ IsDecimalSeparator()

bool Tracking::Tracker::IsDecimalSeparator ( const DG::Key::Code &  code) const

Checks whether a keyboard code is for the decimal separator.

Parameters
[in]codethe code identifying the keyboard key
Returns
a bool value, true when the keyboard code represents the decimal separator

◆ IsFirstActivableItemActive()

bool Tracking::Tracker::IsFirstActivableItemActive ( )

Checks whether the first editable field is currently being edited or not.

Returns
bool value, true when the currently edited field is the first of the editable ones

◆ IsInEditMode()

bool Tracking::Tracker::IsInEditMode ( ) const

Checks if any tracker field value is being edited.

Returns
bool value, true when a field is being edited

◆ IsLastActivableItemActive()

bool Tracking::Tracker::IsLastActivableItemActive ( )

Checks whether the last editable field is currently being edited or not.

Returns
bool value, true when the currently edited field is the last of the editable ones

◆ IsTrackerEditWindowActive()

bool Tracking::Tracker::IsTrackerEditWindowActive ( ) const

Checks whether the tracker's window is focused.

Returns
bool value, true when the focused window is the tracker

◆ IsVisible()

bool Tracking::Tracker::IsVisible ( ) const
override

Checks whether the tracker is visible or not.

Returns
a bool value, true when the tracker is visible

◆ KeyPressed() [1/4]

virtual DG::EventHandlerResultType Tracking::Tracker::InEditKeyboardHandler::KeyPressed ( const DG::Key::Code &  code,
DG::Item **  item 
)
overrideprotectedvirtual

Handles a regular key press event.

Parameters
[in]codethe code of the pressed key
[out]itemPointer to the UI item where the key press should be forwarded. nullptr by default, leave it as is to not forward the event
Returns
An enum to signal whether the event is processed or should be forwarded to the next handler

◆ KeyPressed() [2/4]

virtual DG::EventHandlerResultType Tracking::Tracker::RunningModeKeyboardHandler::KeyPressed ( const DG::Key::Code &  code,
DG::Item **  item 
)
overrideprotectedvirtual

Handles a regular key press event.

Parameters
[in]codethe code of the pressed key
[out]itemPointer to the UI item where the key press should be forwarded. nullptr by default, leave it as is to not forward the event
Returns
An enum to signal whether the event is processed or should be forwarded to the next handler

◆ KeyPressed() [3/4]

virtual DG::EventHandlerResultType Tracking::Tracker::InEditKeyboardHandler::KeyPressed ( const DG::Key::Modifier &  modifier,
DG::Item **  item 
)
overrideprotectedvirtual

Handles a modifier key press event.

Parameters
[in]modifierthe pressed modifier
[out]itemPointer to the UI item where the key press should be forwarded. nullptr by default, leave it as is to not forward the event
Returns
An enum to signal whether the event is processed or should be forwarded to the next handler

◆ KeyPressed() [4/4]

virtual DG::EventHandlerResultType Tracking::Tracker::RunningModeKeyboardHandler::KeyPressed ( const DG::Key::Modifier &  modifier,
DG::Item **  item 
)
overrideprotectedvirtual

Handles a modifier key press event.

Parameters
[in]modifierthe pressed modifier
[out]itemPointer to the UI item where the key press should be forwarded. nullptr by default, leave it as is to not forward the event
Returns
An enum to signal whether the event is processed or should be forwarded to the next handler

◆ MoveToVisiblePosition()

void Tracking::Tracker::MoveToVisiblePosition ( )

Moves the tracker to near to its current location but where it doesn't obstruct anything.

Remarks
Implementation detail. Not recommended for general use. Might be removed from here in the future.
Precondition
Must be called when not editing a field (i.e. IsInEditMode is false)

The location is determined by GetIdealTrackerPosition.

◆ ReadTrackerTimesPref()

static short Tracking::Tracker::ReadTrackerTimesPref ( const GS::UniString &  name,
Int32  defaultValue 
)
static

Utility function for retrieving tracker animation durations stored in the system preferences (i.e the registry on Windows)

Parameters
[in]namethe key's name for the duration value
[in]defaultValueduration in milliseconds, in case the key doesn't exist in the preferences yet
Returns
a short value, animation duration in milliseconds
  • It is recommended to have name only contain characters representable in a C-string
  • It is recommended to set defaultValue only to at most a couple seconds. (0 < defaultValue < 2000)
  • The returned value is always at least 1 ms.

◆ RefreshFade()

virtual void Tracking::Tracker::RefreshFade ( )
virtual

Function for updating the fade animation.

Remarks
Implementation detail. Not recommended for general use. Might be removed from here in the future.

◆ SetAllwaysShowParameterNames()

void Tracking::Tracker::SetAllwaysShowParameterNames ( bool  allwaysShowParameterNames)

Provides the option to override the value specified by SetShowParameterNames.

Parameters
[in]allwaysShowParameterNamesbool value, when true, field names are forced to be shown, otherwise not

◆ SetBackgroundColor()

static void Tracking::Tracker::SetBackgroundColor ( const Gfx::Color &  backgroundColorToSet)
static

Changes the background color (i.e. the fill behind texts and icons) globally for all trackers.

Parameters
[in]backgroundColorToSetthe new color for the background
Remarks
Not recommended for general use as changing the tracker colors in Work Environment settings also relies on this function
backgroundColorToSet=Gfx::Color(255, 0, 0)
  • The alpha component of backgroundColorToSet has no visible effect except for being stored.

◆ SetCustomBackgroundColor()

void Tracking::Tracker::SetCustomBackgroundColor ( const Gfx::Color &  color)

Changes the background color (i.e. the fill behind texts and icons)

Parameters
[in]colorthe new color for the background
  • Overrides the value defined by SetBackgroundColor
  • The alpha component of color has no visible effect except for being stored.

◆ SetCustomDrawFrame()

void Tracking::Tracker::SetCustomDrawFrame ( bool  drawFrameToSet)

Changes whether to show the tracker's frame.

Parameters
[in]drawFrameToSetbool value, when true, trackers will have a frame

Overrides the value defined by SetDrawFrame

◆ SetCustomForeGroundColor()

void Tracking::Tracker::SetCustomForeGroundColor ( const Gfx::Color &  color)

Changes the color of texts and icons.

Parameters
[in]colorthe new color for texts and icons
  • Overrides the value defined by SetForegroundColor
  • The alpha component of color has no visible effect except for being stored.

◆ SetCustomFrameColor()

void Tracking::Tracker::SetCustomFrameColor ( const Gfx::Color &  color)

Changes the frame color.

Parameters
[in]colorthe new color for the frame
  • Overrides the value defined by SetFrameColor
  • The color is not reset and it is stored even when the frame turned off (see also: SetDrawFrame)
  • The alpha component of color has no visible effect except for being stored.

◆ SetDrawFrame()

static void Tracking::Tracker::SetDrawFrame ( bool  drawFrameToSet)
static

Changes whether to show the tracker's frame globally for all trackers.

Parameters
[in]drawFrameToSetbool value, when true, trackers will have a frame
Remarks
Not recommended for general use as changing the tracker opacity in Work Environment settings also relies on this function
drawFrameToSet = false drawFrameToSet = true

◆ SetEditTrackerSizePreference()

void Tracking::Tracker::SetEditTrackerSizePreference ( bool  isEditTrackerMinimizedParam)

Changes the behavior of the tracker whether to automatically expand and show every field each time a field is started to be edited.

Parameters
[in]isEditTrackerMinimizedParambool value, when true, some fields might not be shown immediately
Remarks
Not recommended for general use as changing the tracker colors in Work Environment settings also relies on this function
isEditTrackerMinimizedParam = true isEditTrackerMinimizedParam = false

◆ SetFirstActivableItem()

void Tracking::Tracker::SetFirstActivableItem ( )

Activates the first editable field (i.e. the topmost editable row)

When a field is being edited at the time of call, the function deactivates that.

◆ SetForegroundColor()

static void Tracking::Tracker::SetForegroundColor ( const Gfx::Color &  foregroundColorToSet)
static

Changes the color of texts and icons globally for all trackers.

Parameters
[in]foregroundColorToSetthe new color for texts and icons
Remarks
Not recommended for general use as changing the tracker colors in Work Environment settings also relies on this function
foregroundColorToSet=Gfx::Color(255, 0, 0)
  • The alpha component of foregroundColorToSet has no visible effect except for being stored.

◆ SetFrameColor()

static void Tracking::Tracker::SetFrameColor ( const Gfx::Color &  frameColorToSet)
static

Changes the frame color globally for all trackers.

Parameters
[in]frameColorToSetthe new color for the frame
Remarks
Not recommended for general use as changing the tracker frame in Work Environment settings also relies on this function
frameColorToSet=Gfx::Color(255, 0, 0)
  • The color is not reset and it is stored even when the frame turned off (see also: SetDrawFrame)
  • The alpha component of frameColorToSet has no visible effect except for being stored.

◆ SetGlobalOpacity()

void Tracking::Tracker::SetGlobalOpacity ( float  opacity)

Changes the opacity of the entire tracker, with its texts and background as a single unit.

Parameters
[in]opacitya float value, fully transparent when 0.0f, fully opaque when 1.0f
Remarks
Not recommended for general use. Might be removed from here in the future.
  • The opacity of the field that is being edited is not affected.
  • The behavior is undefined for cases when the opacity value is less than 0 or greater than 1.
    opacity = 0.0f opacity = 0.33f opacity = 0.66f opacity = 1.00f

◆ SetInEditKeyboardHandler()

void Tracking::Tracker::SetInEditKeyboardHandler ( GS::Owner< InEditKeyboardHandler handler)

Sets a keyboard handler to use in edit mode.

Parameters
[in]handlerthe handler to set

◆ SetLastActivableItem()

void Tracking::Tracker::SetLastActivableItem ( )

Activates the last editable field (i.e. the bottommost editable row)

When a field is being edited at the time of call, the function deactivates that.

◆ SetNextActivableItem()

void Tracking::Tracker::SetNextActivableItem ( )

Activates the editing of the field following (i.e. the row below) the default or edited one.

  • When a field is being edited at the time of call, the function deactivates that.
  • It's cyclic, that is it activates the first editable field when the current one is the last

◆ SetOpacity()

static void Tracking::Tracker::SetOpacity ( float  opacityToSet)
static

Changes the opacity of the background (i.e. the fill behind texts and icons) for all trackers, globally.

Parameters
[in]opacityToSeta float value, new opacity for the background
  • fully transparent when 0.0f, fully opaque when 1.0f
Remarks
Not recommended for general use as changing the tracker opacity in Work Environment settings also relies on this function

The behavior is undefined for cases when the opacity value is less than 0 or greater than 1.

opacityToSet = 0.0f opacityToSet = 0.33f opacityToSet = 0.66f opacityToSet = 1.00f

◆ SetPosition()

void Tracking::Tracker::SetPosition ( const DG::NativePoint &  point,
bool  animated = false,
short  milliSec = -1 
)

Repositions the tracker with the possibility of being animated.

Parameters
[in]pointTarget top left position as DG::NativePoint (where values multiplied with the HiDPI factor)
[in]animatedFalse by default. When true, the repositioning is animated.
[in]milliSec
  • short parameter controlling the length of the animation in milliseconds. By default -1.
  • When less than zero, the animation length is defined by a tracker registry/preference value "QuickAnimationTime". (See also: ReadTrackerTimesPref)

    The program gets blocked until the animation is completed, therefore it is not recommended to use long animation times.

◆ SetPrevActivableItem()

void Tracking::Tracker::SetPrevActivableItem ( )

Activates the editing of the field preceding (i.e. the row above) the default or edited one.

  • When a field is being edited at the time of call, the function deactivates that.
  • It's cyclic, that is it activates the last editable field when the current one is the first

◆ SetRunningModeKeyboardHandler()

void Tracking::Tracker::SetRunningModeKeyboardHandler ( GS::Owner< RunningModeKeyboardHandler handler)

Sets a keyboard handler to use in running mode.

Parameters
[in]handlerthe handler to set

◆ SetShowParameterNames()

void Tracking::Tracker::SetShowParameterNames ( bool  showParameterNames)

Changes the appearance of the tracker whether to display the name of the fields or not.

Parameters
[in]showParameterNamesbool value, when true, field names are shown, otherwise not
Remarks
Not recommended for general use as changing the tracker setting in Work Environment settings also relies on this function

Side effect: When called while editing a field, the field input might be deactivated and activated

showParameterNames = false showParameterNames = true

◆ SetSmallFont()

static void Tracking::Tracker::SetSmallFont ( bool  smallFontToSet)
static

Changes whether the tracker rows should be display more compactly, globally for all trackers.

Parameters
[in]smallFontToSetbool value, when true, the height of the rows will be shorter
Remarks
Not recommended for general use. Might be removed in the future. Remnant for supporting an old Work Environment option. (Was available until AC19)
smallFontToSet = false smallFontToSet = true

◆ ShowReturnToRunningModeButton()

void Tracking::Tracker::ShowReturnToRunningModeButton ( bool  show)
protected

Provides the option to force hiding the Mark Position button for each field of the tracker.

Parameters
[in]show
  • when false, no Mark position button will be shown for any field
  • when true, Mark position buttons are not forced to be hidden and its availability is determined by the field (ITrackerItem) it belongs to

    Mark Postion button:

◆ StayInVisiblePosition()

void Tracking::Tracker::StayInVisiblePosition ( )

Makes tracker stay at the position set by MoveToVisiblePosition.

Remarks
Implementation detail. Not recommended for general use. Might be removed from here in the future.

Related to the Tracker Landing Game easter egg

◆ SwapItems()

void Tracking::Tracker::SwapItems ( ITrackerItem *  trackerItem1,
ITrackerItem *  trackerItem2 
)

Swaps the specified items.

Parameters
[in]trackerItem1Item to be swapped with trackerItem2
[in]trackerItem2Item to be swapped with trackerItem1
Precondition
Both items must already be added to the tracker and they must not be the same item

◆ Tracker()

Tracking::Tracker::Tracker ( )

Tracker constructor.

Side effect: Initializes tracker animation durations called "QuickAnimationTime" and "SlowAnimationTime" within system preferences in case these haven't been done yet (see also ReadTrackerTimesPref)

◆ ~HintGuard()

Tracking::Tracker::HintGuard::~HintGuard ( )

Finishes the scope of the hint.

Postcondition
The state modified by the guard within the instance given in HintGuard::HintGuard's trackerToGuard is restored to its original state