ctkModuleParameter.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. /*=============================================================================
  2. Library: CTK
  3. Copyright (c) 2010 Brigham and Women's Hospital (BWH) All Rights Reserved.
  4. Licensed under the Apache License, Version 2.0 (the "License");
  5. you may not use this file except in compliance with the License.
  6. You may obtain a copy of the License at
  7. http://www.apache.org/licenses/LICENSE-2.0
  8. Unless required by applicable law or agreed to in writing, software
  9. distributed under the License is distributed on an "AS IS" BASIS,
  10. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  11. See the License for the specific language governing permissions and
  12. limitations under the License.
  13. =============================================================================*/
  14. #ifndef __ctkModuleParameter_h
  15. #define __ctkModuleParameter_h
  16. #include "ctkModuleDescriptionExport.h"
  17. #include <QTextStream>
  18. class ctkModuleParameterPrivate;
  19. /**
  20. * \brief Single parameter to a module, like a threshold of a filter.
  21. *
  22. * ctkModuleParameter describes a single parameters to a
  23. * module. Information on the parameter type, name, flag, label,
  24. * description, channel, index, default, and constraints can be
  25. * stored.
  26. *
  27. */
  28. class CTK_MODULDESC_EXPORT ctkModuleParameter
  29. {
  30. Q_DECLARE_PRIVATE(ctkModuleParameter)
  31. public:
  32. ctkModuleParameter();
  33. ~ctkModuleParameter();
  34. void setTag(const QString& tag);
  35. QString tag() const;
  36. void setCPPType(const QString& type);
  37. QString cppType() const;
  38. void setType(const QString& type);
  39. QString type() const;
  40. void setReference(const QString& ref);
  41. QString reference() const;
  42. void setHidden(const QString& hidden);
  43. QString hidden() const;
  44. // Simple return types are parameters on output channel with no
  45. // flags and without a specified index
  46. bool isReturnParameter() const;
  47. // Has a flag or a long flag?
  48. bool isFlagParameter() const;
  49. // Is an index type?
  50. bool isIndexParameter() const;
  51. void setArgType(const QString& argType);
  52. QString argType() const;
  53. void setStringToType(const QString& stringToType);
  54. QString stringToType() const;
  55. void setName(const QString& name);
  56. QString name() const;
  57. void setLongFlag(const QString& longFlag);
  58. QString longFlag() const;
  59. void setLongFlagAliasesAsString(const QString& aliases);
  60. QString longFlagAliasesAsString() const;
  61. QStringList longFlagAliases() const;
  62. void setDeprecatedLongFlagAliasesAsString(const QString& aliases);
  63. QString deprecatedLongFlagAliasesAsString() const;
  64. QStringList deprecatedLongFlagAliases() const;
  65. void setLabel(const QString& label);
  66. QString label() const;
  67. void setConstraints(const QString& constraints);
  68. QString constraints() const;
  69. void setMaximum(const QString& maximum);
  70. QString maximum() const;
  71. void setMinimum(const QString& minimum);
  72. QString minimum() const;
  73. void setStep(const QString& step);
  74. QString step() const;
  75. void setDescription(const QString& description);
  76. QString description() const;
  77. void setChannel(const QString& channel);
  78. QString channel() const;
  79. void setIndex(const QString& index);
  80. QString index() const;
  81. void setDefaultValue(const QString& def);
  82. QString defaultValue() const;
  83. void setFlag(const QString& flag);
  84. QString flag() const;
  85. void setFlagAliasesAsString(const QString& aliases);
  86. QString flagAliasesAsString() const;
  87. QStringList flagAliases() const;
  88. void setDeprecatedFlagAliasesAsString(const QString& aliases);
  89. QString deprecatedFlagAliasesAsString() const;
  90. QStringList deprecatedFlagAliases() const;
  91. void setMultiple(const QString& multiple);
  92. QString multiple() const;
  93. void setAggregate(const QString& aggregate);
  94. QString aggregate() const;
  95. void setFileExtensionsAsString(const QString& extensions);
  96. QString fileExtensionsAsString() const;
  97. QStringList fileExtensions() const;
  98. void setCoordinateSystem(const QString& coordinateSystem);
  99. QString coordinateSystem() const;
  100. QStringList elements() const;
  101. //QStringList& elements();
  102. private:
  103. Q_DISABLE_COPY(ctkModuleParameter)
  104. ctkModuleParameterPrivate * const d_ptr;
  105. };
  106. CTK_MODULDESC_EXPORT QTextStream& operator<<(QTextStream& os, const ctkModuleParameter& parameter);
  107. #endif