commandbase.h File Reference

Classes

class  CommandTuple
 
class  CommandDataInterface
 
class  CommandDataInterface::SetFunctor
 
class  LegacyCommandDataInterface
 
class  CommandClassInterface
 
class  CommandInteractionClassInterface
 
class  CommandDescriptionClassInterface
 
class  LegacyCommandClassInterface
 
class  MigratedCommandClassInterface
 
class  CommandConversionClassInterface
 
class  CommandCacheData
 
class  CommandCacheInterface
 
class  CommandExecutionInterface
 

Namespaces

 maxon
 
 maxon::COMMAND
 
 maxon::CommandDataClasses
 

Macros

#define PARAM(Name, Value)
 

Typedefs

using CommandCacheMap = HashMap< Id, CommandCacheRef >
 
using CommandCacheDataRef = StrongRef< CommandCacheData >
 

Enumerations

enum class  COMMANDSTATE {
  DISABLED ,
  ENABLED
}
 
enum class  COMMANDRESULT {
  OK ,
  SKIP ,
  BREAK
}
 
enum class  INTERACTIONTYPE {
  NONE ,
  START ,
  ITERATE ,
  END ,
  REALTIME
}
 

Functions

enum maxon::COMMANDSTATE MAXON_ENUM_LIST (COMMANDSTATE)
 
enum maxon::COMMANDRESULT MAXON_ENUM_LIST (COMMANDRESULT)
 
enum maxon::INTERACTIONTYPE MAXON_ENUM_LIST (INTERACTIONTYPE, "net.maxon.command.interationtype")
 
 MAXON_DATATYPE (CommandCacheData, "net.maxon.datatype.commandcachedata")
 
 MAXON_DATATYPE (CommandCacheMap, "net.maxon.datatype.commandcachemap")
 
 MAXON_ATTRIBUTE (Bool, INTERACTIVE, "net.maxon.command.interactive", RESOURCE_DEFAULT(false))
 
 MAXON_ATTRIBUTE (CommandClass, INTERACTIONCLASS, "net.maxon.command.interactionclass")
 
 MAXON_ATTRIBUTE (Bool, USECACHE, "net.maxon.command.usecache", RESOURCE_DEFAULT(false))
 
 MAXON_ATTRIBUTE (CommandCacheDataRef, CACHEDATA, "net.maxon.command.cache")
 
 MAXON_REGISTRY (Class< CommandDataRef >, CommandDataClasses, "net.maxon.command.registry.commanddataclasses")
 
 MAXON_REGISTRY (Class< LegacyCommandDataRef >, LegacyCommandDataClasses, "net.maxon.command.registry.legacycommanddataclasses")
 
 MAXON_REGISTRY (CommandClass, CommandClasses, "net.maxon.command.registry.commandclasses")
 
 MAXON_REGISTRY (LegacyCommandClass, LegacyCommand, "net.maxon.command.registry.legacycommandclass")
 
 MAXON_REGISTRY (MigratedCommandClass, MigratedCommand, "net.maxon.command.registry.migratedcommandclass")
 
 MAXON_REGISTRY (CommandInteractionClass, CommandInteraction, "net.maxon.command.registry.commandinteractionclass")
 
 MAXON_REGISTRY (CommandDescriptionClass, CommandDescription, "net.maxon.command.registry.commanddescriptionclass")
 
 MAXON_REGISTRY (CommandConversionClass, CommandConversionClasses, "net.maxon.command.registry.commandconversionclasses")
 
 MAXON_REGISTRY (Class< CommandCacheRef >, CommandCacheClasses, "net.maxon.command.registry.commandcacheclasses")
 
 MAXON_DECLARATION (CommandDataClasses::EntryType, BASE, "net.maxon.commanddata.base")
 

Variables

 DISABLED
 
 ENABLED
 
 OK
 
 SKIP
 
 BREAK
 
 NONE
 
 START
 
 ITERATE
 
 END
 
 REALTIME
 

Macro Definition Documentation

◆ PARAM

#define PARAM (   Name,
  Value 
)

PARAM allows to invoke a command and to set the command data at the same time. Example usage: maxon::CommandDataRef commandData = maxon::CommandDataClasses::BASE().Create() iferr_return; maxon::COMMANDRESULT result = commandData.Invoke(maxon::CommandClasses::PAINT(), true, PARAM(maxon::COMMAND::POLYLINE::DRAW, maxon::POLYLINE_DRAW::BOX), PARAM(maxon::COMMAND::POLYLINE::START, Vector(mouseX, mouseY, 0.0)), PARAM(maxon::COMMAND::POLYLINE::END, Vector(mouseX, mouseY, 0.0))) iferr_return;

Variable Documentation

◆ DISABLED

DISABLED

The command can't be executed.

◆ ENABLED

ENABLED

The command can be executed.

◆ OK

OK

The command was executed properly.

◆ SKIP

SKIP

The command did not execute because no action was necessary (e.g. no selection).

◆ BREAK

BREAK

The command execution was interrupted.

◆ NONE

NONE

No interaction.

◆ START

START

Interaction start (e.g. first mouse click).

◆ ITERATE

ITERATE

Interaction iteration, performed several times after START (e.g. mouse drag).

◆ END

END

Interaction end (e.g. mouse released).

◆ REALTIME

REALTIME

Real-time iterative interaction (e.g. cursor over viewport).