133 #ifndef vtkSMProperty_h 134 #define vtkSMProperty_h 148 class vtkSMInformationHelper;
167 vtkSetStringMacro(Command);
168 vtkGetStringMacro(Command);
177 vtkSetMacro(ImmediateUpdate,
int);
178 vtkGetMacro(ImmediateUpdate,
int);
239 template <
class DomainType>
240 inline DomainType* FindDomain();
246 unsigned int GetNumberOfDomains();
253 vtkGetMacro(InformationOnly,
int);
262 vtkGetMacro(IgnoreSynchronization,
int);
279 void AddDomain(
const char* name,
vtkSMDomain* dom);
285 virtual void AddLinkedProperty(
vtkSMProperty* targetProperty);
290 virtual void RemoveLinkedProperty(
vtkSMProperty* targetProperty);
300 virtual void RemoveFromSourceLink();
307 vtkSetMacro(Animateable,
int);
308 vtkGetMacro(Animateable,
int);
317 vtkSetMacro(IsInternal,
int);
318 vtkGetMacro(IsInternal,
int);
325 vtkSetMacro(NoCustomDefault,
int);
332 vtkGetMacro(NoCustomDefault,
int);
346 vtkSetStringMacro(PanelVisibility)
353 vtkGetStringMacro(PanelVisibility)
361 vtkSetStringMacro(PanelVisibilityDefaultForRepresentation)
369 vtkGetStringMacro(PanelVisibilityDefaultForRepresentation)
376 vtkSetStringMacro(PanelWidget)
383 vtkGetStringMacro(PanelWidget)
390 vtkSetStringMacro(DisableSubTrace)
397 vtkGetStringMacro(DisableSubTrace)
419 void ResetToDefault();
446 virtual bool ResetToDomainDefaults(
bool use_unchecked_values =
false);
452 vtkGetStringMacro(XMLLabel);
462 vtkGetStringMacro(XMLName);
471 vtkGetMacro(Repeatable,
int);
493 if (this->BlockModifiedEvents)
495 this->PendingModifiedEvents =
true;
500 this->PendingModifiedEvents =
false;
528 bool HasDomainsWithRequiredProperties();
539 static const char* CreateNewPrettyLabel(
const char*
name);
547 friend class vtkSMSubPropertyIterator;
582 vtkSetStringMacro(XMLName);
600 void RemoveAllDependents();
613 void UpdateDomains();
620 virtual void SaveState(
621 vtkPVXMLElement* parent,
const char* property_name,
const char* uid,
int saveDomains = 1);
631 virtual void SaveDomainState(
vtkPVXMLElement* propertyElement,
const char* uid);
651 vtkSetStringMacro(XMLLabel);
660 vtkSetMacro(InformationOnly,
int);
663 vtkSetMacro(IgnoreSynchronization,
int);
682 bool prev = this->BlockModifiedEvents;
683 this->BlockModifiedEvents = block;
693 vtkGetMacro(PendingModifiedEvents,
bool);
704 vtkSetMacro(StateIgnored,
bool);
705 vtkBooleanMacro(StateIgnored,
bool);
716 void InvokeDomainModifiedEvent();
722 void CreateAndSetPrettyLabel(
const char* name);
724 bool PendingModifiedEvents;
725 bool BlockModifiedEvents;
728 #define vtkSMPropertyTemplateMacroCase(typeSMProperty, type, prop, call) \ 729 if (typeSMProperty* SM_PROPERTY = typeSMProperty::SafeDownCast(prop)) \ 732 typedef type SM_TT; \ 736 #define vtkSMVectorPropertyTemplateMacro(prop, call) \ 737 vtkSMPropertyTemplateMacroCase(vtkSMDoubleVectorProperty, double, prop, call) \ 738 vtkSMPropertyTemplateMacroCase(vtkSMIntVectorProperty, int, prop, call) \ 739 vtkSMPropertyTemplateMacroCase(vtkSMIdTypeVectorProperty, vtkIdType, prop, call) \ 740 vtkSMPropertyTemplateMacroCase(vtkSMStringVectorProperty, std::string, prop, call) 743 template <
class DomainType>
747 for (iter->Begin(); !iter->IsAtEnd(); iter->Next())
749 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