121 #ifndef vtkSMProperty_h
122 #define vtkSMProperty_h
125 #include "vtkRemotingServerManagerModule.h"
137 class vtkSMInformationHelper;
156 vtkSetStringMacro(Command);
157 vtkGetStringMacro(Command);
166 vtkSetMacro(ImmediateUpdate,
int);
167 vtkGetMacro(ImmediateUpdate,
int);
228 template <
class DomainType>
229 inline DomainType* FindDomain();
235 unsigned int GetNumberOfDomains();
242 vtkGetMacro(InformationOnly,
int);
251 vtkGetMacro(IgnoreSynchronization,
int);
268 void AddDomain(
const char* name,
vtkSMDomain* dom);
274 virtual void AddLinkedProperty(
vtkSMProperty* targetProperty);
279 virtual void RemoveLinkedProperty(
vtkSMProperty* targetProperty);
289 virtual void RemoveFromSourceLink();
296 vtkSetMacro(Animateable,
int);
297 vtkGetMacro(Animateable,
int);
306 vtkSetMacro(IsInternal,
int);
307 vtkGetMacro(IsInternal,
int);
314 vtkSetMacro(NoCustomDefault,
int);
321 vtkGetMacro(NoCustomDefault,
int);
335 vtkSetStringMacro(PanelVisibility);
342 vtkGetStringMacro(PanelVisibility);
350 vtkSetStringMacro(PanelVisibilityDefaultForRepresentation);
358 vtkGetStringMacro(PanelVisibilityDefaultForRepresentation);
365 vtkSetStringMacro(PanelWidget);
372 vtkGetStringMacro(PanelWidget);
379 vtkSetStringMacro(DisableSubTrace);
386 vtkGetStringMacro(DisableSubTrace);
408 void ResetToDefault();
435 virtual bool ResetToDomainDefaults(
bool use_unchecked_values =
false);
441 vtkGetStringMacro(XMLLabel);
451 vtkGetStringMacro(XMLName);
460 vtkGetMacro(Repeatable,
int);
482 if (this->BlockModifiedEvents)
484 this->PendingModifiedEvents =
true;
489 this->PendingModifiedEvents =
false;
517 bool HasDomainsWithRequiredProperties();
532 "Use vtkSMObject::CreatePrettyLabel(const std::string& name) instead.")
533 static const
char* CreateNewPrettyLabel(const
char* name);
541 friend class vtkSMSubPropertyIterator;
576 vtkSetStringMacro(XMLName);
594 void RemoveAllDependents();
610 void UpdateDomains();
617 virtual void SaveState(
618 vtkPVXMLElement* parent,
const char* property_name,
const char* uid,
int saveDomains = 1);
628 virtual void SaveDomainState(
vtkPVXMLElement* propertyElement,
const char* uid);
648 vtkSetStringMacro(XMLLabel);
657 vtkSetMacro(InformationOnly,
int);
660 vtkSetMacro(IgnoreSynchronization,
int);
679 bool prev = this->BlockModifiedEvents;
680 this->BlockModifiedEvents = block;
690 vtkGetMacro(PendingModifiedEvents,
bool);
701 vtkSetMacro(StateIgnored,
bool);
702 vtkBooleanMacro(StateIgnored,
bool);
713 void InvokeDomainModifiedEvent();
715 bool PendingModifiedEvents;
716 bool BlockModifiedEvents;
719 #define vtkSMPropertyTemplateMacroCase(typeSMProperty, type, prop, call) \
720 if (typeSMProperty* SM_PROPERTY = typeSMProperty::SafeDownCast(prop)) \
723 typedef type SM_TT; \
727 #define vtkSMVectorPropertyTemplateMacro(prop, call) \
728 vtkSMPropertyTemplateMacroCase(vtkSMDoubleVectorProperty, double, prop, call) \
729 vtkSMPropertyTemplateMacroCase(vtkSMIntVectorProperty, int, prop, call) \
730 vtkSMPropertyTemplateMacroCase(vtkSMIdTypeVectorProperty, vtkIdType, prop, call) \
731 vtkSMPropertyTemplateMacroCase(vtkSMStringVectorProperty, std::string, prop, call)
734 template <
class DomainType>
738 for (iter->Begin(); !iter->IsAtEnd(); iter->Next())
740 if (DomainType* domain = DomainType::SafeDownCast(iter->GetDomain()))