diff --git a/include/openspace/properties/optionproperty.h b/include/openspace/properties/optionproperty.h index ae7f36125e..7cd3ca2443 100644 --- a/include/openspace/properties/optionproperty.h +++ b/include/openspace/properties/optionproperty.h @@ -31,7 +31,7 @@ namespace openspace { namespace properties { - + /** * The OptionProperty is a property that provides a number of predefined (using the * addOption method) options consisting of a description and a diff --git a/include/openspace/properties/selectionproperty.h b/include/openspace/properties/selectionproperty.h new file mode 100644 index 0000000000..59f2f6eb17 --- /dev/null +++ b/include/openspace/properties/selectionproperty.h @@ -0,0 +1,74 @@ +/***************************************************************************************** +* * +* OpenSpace * +* * +* Copyright (c) 2014 * +* * +* Permission is hereby granted, free of charge, to any person obtaining a copy of this * +* software and associated documentation files (the "Software"), to deal in the Software * +* without restriction, including without limitation the rights to use, copy, modify, * +* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to * +* permit persons to whom the Software is furnished to do so, subject to the following * +* conditions: * +* * +* The above copyright notice and this permission notice shall be included in all copies * +* or substantial portions of the Software. * +* * +* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, * +* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A * +* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT * +* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * +* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE * +* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * +****************************************************************************************/ + +#ifndef __SELECTIONPROPERTY_H__ +#define __SELECTIONPROPERTY_H__ + +#include + +#include + +namespace openspace { +namespace properties { + +//REGISTER_TEMPLATEPROPERTY_HEADER(SelectionProperty, std::vector); + +class SelectionProperty : public TemplateProperty> { +public: + struct Option { + int value; + std::string description; + }; + + SelectionProperty(std::string identifier, std::string guiName); + + void addOption(Option option); + const std::vector