14 #ifndef OSG_APPLICATIONUSAGE
15 #define OSG_APPLICATIONUSAGE 1
17 #include <osg/Referenced>
35 typedef std::map<std::string,std::string>
UsageMap;
50 COMMAND_LINE_OPTION = 0x1,
51 ENVIRONMENTAL_VARIABLE = 0x2,
52 KEYBOARD_MOUSE_BINDING = 0x4,
53 HELP_ALL = KEYBOARD_MOUSE_BINDING|ENVIRONMENTAL_VARIABLE|COMMAND_LINE_OPTION
56 void addUsageExplanation(Type
type,
const std::string& option,
const std::string& explanation);
62 void addCommandLineOption(
const std::string& option,
const std::string& explanation,
const std::string &defaultValue =
"");
71 void addEnvironmentalVariable(
const std::string& option,
const std::string& explanation,
const std::string& defaultValue =
"");
80 void addKeyboardMouseBinding(
const std::string& prefix,
int key,
const std::string& explanation);
81 void addKeyboardMouseBinding(
int key,
const std::string& explanation);
82 void addKeyboardMouseBinding(
const std::string& option,
const std::string& explanation);
88 void getFormattedString(std::string& str,
const UsageMap& um,
unsigned int widthOfOutput=80,
bool showDefaults=
false,
const UsageMap& ud=UsageMap());
90 void write(std::ostream& output,
const UsageMap& um,
unsigned int widthOfOutput=80,
bool showDefaults=
false,
const UsageMap& ud=UsageMap());
92 void write(std::ostream& output,
unsigned int type=COMMAND_LINE_OPTION,
unsigned int widthOfOutput=80,
bool showDefaults=
false);
94 void writeEnvironmentSettings(std::ostream& output);
std::string _applicationName
const std::string & getDescription() const
std::map< std::string, std::string > UsageMap
const UsageMap & getCommandLineOptions() const
UsageMap _commandLineOptions
void addUsageExplanation(Type type, const std::string &option, const std::string &explanation)
static ApplicationUsage * instance()
UsageMap _commandLineOptionsDefaults
void setEnvironmentalVariables(const UsageMap &usageMap)
const UsageMap & getCommandLineOptionsDefaults() const
const UsageMap & getKeyboardMouseBindings() const
std::string _commandLineUsage
void setCommandLineOptions(const UsageMap &usageMap)
const UsageMap & getEnvironmentalVariablesDefaults() const
const std::string & getCommandLineUsage() const
void setApplicationName(const std::string &name)
void setDescription(const std::string &desc)
virtual ~ApplicationUsage()
UsageMap _environmentalVariables
GLint GLenum GLsizei GLsizei GLsizei GLint GLenum GLenum type
void setKeyboardMouseBindings(const UsageMap &usageMap)
const UsageMap & getEnvironmentalVariables() const
const std::string & getApplicationName() const
ApplicationUsageProxy(ApplicationUsage::Type type, const std::string &option, const std::string &explanation)
UsageMap _environmentalVariablesDefaults
void setEnvironmentalVariablesDefaults(const UsageMap &usageMap)
void setCommandLineUsage(const std::string &explanation)
void setCommandLineOptionsDefaults(const UsageMap &usageMap)