128 #ifndef vtkSMProperty_h 129 #define vtkSMProperty_h 143 class vtkSMInformationHelper;
162 vtkSetStringMacro(Command);
163 vtkGetStringMacro(Command);
172 vtkSetMacro(ImmediateUpdate,
int);
173 vtkGetMacro(ImmediateUpdate,
int);
234 template <
class DomainType>
235 inline DomainType* FindDomain();
241 unsigned int GetNumberOfDomains();
248 vtkGetMacro(InformationOnly,
int);
257 vtkGetMacro(IgnoreSynchronization,
int);
274 void AddDomain(
const char* name,
vtkSMDomain* dom);
280 virtual void AddLinkedProperty(
vtkSMProperty* targetProperty);
285 virtual void RemoveLinkedProperty(
vtkSMProperty* targetProperty);
295 virtual void RemoveFromSourceLink();
302 vtkSetMacro(Animateable,
int);
303 vtkGetMacro(Animateable,
int);
312 vtkSetMacro(IsInternal,
int);
313 vtkGetMacro(IsInternal,
int);
320 vtkSetMacro(NoCustomDefault,
int);
321 vtkGetMacro(NoCustomDefault,
int);
335 vtkSetStringMacro(PanelVisibility);
336 vtkGetStringMacro(PanelVisibility);
344 vtkSetStringMacro(PanelVisibilityDefaultForRepresentation);
345 vtkGetStringMacro(PanelVisibilityDefaultForRepresentation);
352 vtkSetStringMacro(PanelWidget);
353 vtkGetStringMacro(PanelWidget);
360 vtkSetStringMacro(DisableSubTrace);
361 vtkGetStringMacro(DisableSubTrace);
383 void ResetToDefault();
416 virtual bool ResetToDomainDefaults(
bool use_unchecked_values =
false);
423 bool ResetToSettings(
double priority);
429 vtkGetStringMacro(XMLLabel);
439 vtkGetStringMacro(XMLName);
448 vtkGetMacro(Repeatable,
int);
482 if (this->BlockModifiedEvents)
484 this->PendingModifiedEvents =
true;
489 this->PendingModifiedEvents =
false;
517 bool HasDomainsWithRequiredProperties();
530 friend class vtkSMSubPropertyIterator;
565 vtkSetStringMacro(XMLName);
583 void RemoveAllDependents();
599 void UpdateDomains();
606 virtual void SaveState(
607 vtkPVXMLElement* parent,
const char* property_name,
const char* uid,
int saveDomains = 1);
617 virtual void SaveDomainState(
vtkPVXMLElement* propertyElement,
const char* uid);
627 bool WarnIfDeprecated();
643 vtkSetStringMacro(XMLLabel);
652 vtkSetMacro(InformationOnly,
int);
655 vtkSetMacro(IgnoreSynchronization,
int);
674 bool prev = this->BlockModifiedEvents;
675 this->BlockModifiedEvents = block;
685 vtkGetMacro(PendingModifiedEvents,
bool);
696 vtkSetMacro(StateIgnored,
bool);
697 vtkBooleanMacro(StateIgnored,
bool);
708 void InvokeDomainModifiedEvent();
710 bool PendingModifiedEvents;
711 bool BlockModifiedEvents;
714 #define vtkSMPropertyTemplateMacroCase(typeSMProperty, type, prop, call) \ 715 if (typeSMProperty* SM_PROPERTY = typeSMProperty::SafeDownCast(prop)) \ 718 typedef type SM_TT; \ 722 #define vtkSMVectorPropertyTemplateMacro(prop, call) \ 723 vtkSMPropertyTemplateMacroCase(vtkSMDoubleVectorProperty, double, prop, call) \ 724 vtkSMPropertyTemplateMacroCase(vtkSMIntVectorProperty, int, prop, call) \ 725 vtkSMPropertyTemplateMacroCase(vtkSMIdTypeVectorProperty, vtkIdType, prop, call) \ 726 vtkSMPropertyTemplateMacroCase(vtkSMStringVectorProperty, std::string, prop, call) 729 template <
class DomainType>
733 for (iter->Begin(); !iter->IsAtEnd(); iter->Next())
735 if (DomainType* domain = DomainType::SafeDownCast(iter->GetDomain()))
vtkSMProperty * InformationProperty
static vtkSmartPointer< T > Take(T *t)
iterates over domains of a property
vtkSMDomainIterator * DomainIterator
vtkSMPropertyLink * Links
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for all SM properties
void Modified() override
Overridden to support blocking of modified events.
Store messages for the interpreter.
DomainType * FindDomain()
Same as FindDomain(classname), except the classname is deduced from the type.
vtkSMInformationHelper * InformationHelper
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
virtual void UnRegister(vtkObjectBase *o)
represents the possible values a property can have
virtual bool IsStateIgnored()
superclass for most server manager classes
proxy for a VTK source on a server
int IgnoreSynchronization
The vtkSMSessionProxyManager is esponsible for creating and managing proxies for a given session...
Creates a link between two properties.
bool SetBlockModifiedEvents(bool block)
Block/unblock modified events, returns the current state of the block flag.
virtual void ReadFrom(const vtkSMMessage *, int vtkNotUsed(message_offset), vtkSMProxyLocator *)
Let the property read and set its content from the stream.
vtkSMDocumentation * Documentation
This is the concrete implementation for the Undo element for a property modification event...
static vtkSMObject * New()
proxy for a VTK object(s) on a server
is used to locate proxies referred to in state xmls while loading state files.
vtkWeakPointer< vtkSMProxy > Proxy
class providing access to the documentation for a vtkSMProxy.
vtkSMPropertyInternals * PInternals
virtual void ResetToXMLDefaults()
For properties that support specifying defaults in XML configuration, this method will reset the prop...
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
char * PanelVisibilityDefaultForRepresentation
virtual bool IsValueDefault()
Returns true if the property's value is different from the default value.
virtual void ClearUncheckedElements()
Use this method to clear unchecked values set of this property.
virtual void UpdateAllInputs()
Update all proxies referred by this property (if any).
void PrintSelf(ostream &os, vtkIndent indent) override