41 #ifndef GUI_OBJECTS_PLUGINARG_BASE_HPP
42 #define GUI_OBJECTS_PLUGINARG_BASE_HPP
56 #ifndef BEGIN_objects_SCOPE
57 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
58 # define END_objects_SCOPE END_SCOPE(objects)
129 void ResetSelection(
void);
135 E_Choice Which(
void)
const;
141 void CheckSelected(E_Choice index)
const;
147 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
155 static string SelectionName(E_Choice index);
174 typedef list< CRef< CPluginValue > >
TArray;
186 bool IsSingle(
void)
const;
192 const TSingle& GetSingle(
void)
const;
212 bool IsArray(
void)
const;
218 const TArray& GetArray(
void)
const;
236 static const char*
const sm_SelectionNames[];
277 bool IsSetName(
void)
const;
284 bool CanGetName(
void)
const;
287 void ResetName(
void);
293 const TName& GetName(
void)
const;
306 TName& SetName(
void);
315 bool IsSetDesc(
void)
const;
322 bool CanGetDesc(
void)
const;
325 void ResetDesc(
void);
331 const TDesc& GetDesc(
void)
const;
344 TDesc& SetDesc(
void);
353 bool IsSetLong_desc(
void)
const;
360 bool CanGetLong_desc(
void)
const;
363 void ResetLong_desc(
void);
391 bool IsSetOptional(
void)
const;
398 bool CanGetOptional(
void)
const;
401 void ResetOptional(
void);
404 void SetDefaultOptional(
void);
431 bool IsSetDefault(
void)
const;
438 bool CanGetDefault(
void)
const;
441 void ResetDefault(
void);
444 void SetDefaultDefault(
void);
471 bool IsSetHidden(
void)
const;
478 bool CanGetHidden(
void)
const;
481 void ResetHidden(
void);
484 void SetDefaultHidden(
void);
511 bool IsSetData(
void)
const;
518 bool CanGetData(
void)
const;
521 void ResetData(
void);
527 const TData& GetData(
void)
const;
539 TData& SetData(
void);
548 bool IsSetConstraint(
void)
const;
555 bool CanGetConstraint(
void)
const;
558 void ResetConstraint(
void);
573 virtual void Reset(
void);
611 if ( m_choice != index )
612 ThrowInvalidSelection(index);
621 DoSelect(index, pool);
628 Select(index, reset, 0);
634 return m_choice == e_Single;
640 return m_choice == e_Array;
646 CheckSelected(e_Array);
688 m_Name = std::forward<CPluginArg_Base::TName>(
value);
735 m_Desc = std::forward<CPluginArg_Base::TDesc>(
value);
Base class for all serializable objects.
static char UnassignedByte(void)
void ThrowUnassigned(TMemberIndex index) const
static string UnassignedString(void)
bool NotEmpty(void) const THROWS_NONE
Check if CRef is not empty – pointing to an object and has a non-null value.
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GUIOBJECTS_EXPORT
bool IsSetHidden(void) const
Check if a value has been assigned to Hidden data member.
bool CanGetDesc(void) const
Check if it is safe to call GetDesc method.
DECLARE_INTERNAL_TYPE_INFO()
bool IsSetOptional(void) const
Check if a value has been assigned to Optional data member.
bool CanGetDefault(void) const
Check if it is safe to call GetDefault method.
bool IsSetDesc(void) const
Check if a value has been assigned to Desc data member.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
const TName & GetName(void) const
Get the Name member data.
TDefault GetDefault(void) const
Get the Default member data.
bool CanGetHidden(void) const
Check if it is safe to call GetHidden method.
TDesc & SetDesc(void)
Assign a value to Desc data member.
TLong_desc & SetLong_desc(void)
Assign a value to Long_desc data member.
bool CanGetName(void) const
Check if it is safe to call GetName method.
bool IsArray(void) const
Check if variant Array is selected.
bool CanGetData(void) const
Check if it is safe to call GetData method.
TConstraint & SetConstraint(void)
Assign a value to Constraint data member.
void ResetOptional(void)
Reset Optional data member.
void ResetHidden(void)
Reset Hidden data member.
const TConstraint & GetConstraint(void) const
Get the Constraint member data.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TLong_desc & GetLong_desc(void) const
Get the Long_desc member data.
list< CRef< CPluginValueConstraint > > TConstraint
TDefault & SetDefault(void)
Assign a value to Default data member.
list< CRef< CPluginValueConstraint > > m_Constraint
const TArray & GetArray(void) const
Get the variant data.
CPluginArg_Base(const CPluginArg_Base &)
CPluginArg_Base & operator=(const CPluginArg_Base &)
Tparent::CMemberIndex< E_memberIndex, 9 > TmemberIndex
C_Data & operator=(const C_Data &)
void SetDefaultDefault(void)
Assign default value to Default data member.
void SetDefaultOptional(void)
Assign default value to Optional data member.
void ResetData(void)
Reset Data data member.
void ResetDefault(void)
Reset Default data member.
TData & SetData(void)
Assign a value to Data data member.
void SetDefaultHidden(void)
Assign default value to Hidden data member.
bool IsSetConstraint(void) const
Check if a value has been assigned to Constraint data member.
TName & SetName(void)
Assign a value to Name data member.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
NCBI_NS_NCBI::CUnionBuffer< TArray > m_Array
bool IsSetData(void) const
Check if a value has been assigned to Data data member.
THidden & SetHidden(void)
Assign a value to Hidden data member.
TArray & SetArray(void)
Select the variant.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
bool IsSetDefault(void) const
Check if a value has been assigned to Default data member.
bool IsSetLong_desc(void) const
Check if a value has been assigned to Long_desc data member.
bool IsSetName(void) const
Check if a value has been assigned to Name data member.
bool CanGetConstraint(void) const
Check if it is safe to call GetConstraint method.
TOptional & SetOptional(void)
Assign a value to Optional data member.
bool CanGetLong_desc(void) const
Check if it is safe to call GetLong_desc method.
THidden GetHidden(void) const
Get the Hidden member data.
bool CanGetOptional(void) const
Check if it is safe to call GetOptional method.
const TDesc & GetDesc(void) const
Get the Desc member data.
E_Choice Which(void) const
Which variant is currently selected.
NCBI_NS_NCBI::CSerialObject * m_object
DECLARE_INTERNAL_TYPE_INFO()
TOptional GetOptional(void) const
Get the Optional member data.
const TData & GetData(void) const
Get the Data member data.
bool IsSingle(void) const
Check if variant Single is selected.
list< CRef< CPluginValue > > TArray
Defines to provide correct exporting from DLLs in Windows.
const GenericPointer< typename T::ValueType > T2 value