API functions are available for logging instantaneous and noninstantaneous tools and command waypoints, recording appropriate data for each. Both tools and commands appear in the Commands timeline track.
An instantaneous tool causes an effect that happens immediately and the waypoint has no duration. A noninstantaneous tool is typically interactive and the waypoint has a duration.
In general, an icon, menu item, or command on the command line activates a tool.
Tools and commands waypoints should include primary functions, tools, and commands that the user explicitly executes. Internal commands, automatically executed commands, or commands that are executed as part of a script, should not be included.
#include <Chronicle/Chronicle.h> // create the waypoint through the facade; it is automatically timestamped Chronicle::Waypoint *waypoint = Chronicle::Facade::Waypoints::commandEntered(L"LINE"); // for command waypoints, optionally add parameters Chronicle::Facade::Waypoints::commandParameterEntered(waypoint, L"From point", L"#-2,1"); Chronicle::Facade::Waypoints::commandParameterEntered(waypoint, L"To point", L"@5,0"); Chronicle::Facade::Waypoints::commandParameterEntered(waypoint, L"To point", L"@0,3"); Chronicle::Facade::Waypoints::commandParameterEntered(waypoint, L"To point", L"@-5,3"); // to automatically set the duration, indicate when the command is completed Chronicle::Facade::Waypoints::commandCompleted(waypoint); // if the command is provided by a plug-in, specify the plug-in name Chronicle::Facade::Waypoints::commandFromPlugin(waypoint, L"SamplePluginName"); // report the waypoint (this is always the last step) Chronicle::Error err = Chronicle::Facade::waypointReached(waypoint); // after reporting the waypoint, it is automatically deleted! waypoint = NULL;
#include <Chronicle/Chronicle.h> // create the waypoint through the facade; it is automatically timestamped Chronicle::Waypoint *waypoint = Chronicle::Facade::Waypoints::toolStarted(L"Circle", 1234); // for tool waypoints, optionally add parameters Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Origin", Chronicle::PointF(127.5, -64.0)); Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Radius", 97.0); Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Line Width", 3.0); Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Filled", true); Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Fill Color", Chronicle::Color(255, 0, 128, 192)); Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Line Color", Chronicle::Color(255, 255, 255)); // to automatically set the duration, indicate when the tool is finished Chronicle::Facade::Waypoints::toolFinished(waypoint); // if the tool is provided by a plug-in, specify the plug-in name Chronicle::Facade::Waypoints::toolFromPlugin(waypoint, L"SamplePluginName"); // report the waypoint (this is always the last step) Chronicle::Error err = Chronicle::Facade::waypointReached(waypoint); // after reporting the waypoint, it is automatically deleted! waypoint = NULL;
#include <Chronicle/Chronicle.h> // create the waypoint through the facade; it is automatically timestamped Chronicle::Waypoint *waypoint = Chronicle::Facade::Waypoints::toolUsed(L"Text", 1234); // for tool waypoints, optionally add parameters Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Bounds", Chronicle::RectangleF(0, 0, 240, 64)); Chronicle::Facade::Waypoints::toolParameter(waypoint, L"Text", "Hello, world!"); // if the tool is provided by a plug-in, specify the plug-in name Chronicle::Facade::Waypoints::toolFromPlugin(waypoint, L"SamplePluginName"); // report the waypoint (this is always the last step) Chronicle::Error err = Chronicle::Facade::waypointReached(waypoint); // after reporting the waypoint, it is automatically deleted! waypoint = NULL;