133 #ifndef vtkSMProperty_h 134 #define vtkSMProperty_h 136 #include "vtkRemotingServerManagerModule.h" 148 class vtkSMInformationHelper;
167 vtkSetStringMacro(Command);
168 vtkGetStringMacro(Command);
177 vtkSetMacro(ImmediateUpdate,
int);
178 vtkGetMacro(ImmediateUpdate,
int);
233 template <
class DomainType>
234 inline DomainType* FindDomain();
240 unsigned int GetNumberOfDomains();
247 vtkGetMacro(InformationOnly,
int);
256 vtkGetMacro(IgnoreSynchronization,
int);
273 void AddDomain(
const char* name,
vtkSMDomain* dom);
279 virtual void AddLinkedProperty(
vtkSMProperty* targetProperty);
284 virtual void RemoveLinkedProperty(
vtkSMProperty* targetProperty);
294 virtual void RemoveFromSourceLink();
301 vtkSetMacro(Animateable,
int);
302 vtkGetMacro(Animateable,
int);
311 vtkSetMacro(IsInternal,
int);
312 vtkGetMacro(IsInternal,
int);
319 vtkSetMacro(NoCustomDefault,
int);
326 vtkGetMacro(NoCustomDefault,
int);
340 vtkSetStringMacro(PanelVisibility)
347 vtkGetStringMacro(PanelVisibility)
355 vtkSetStringMacro(PanelVisibilityDefaultForRepresentation)
363 vtkGetStringMacro(PanelVisibilityDefaultForRepresentation)
370 vtkSetStringMacro(PanelWidget)
377 vtkGetStringMacro(PanelWidget)
384 vtkSetStringMacro(DisableSubTrace)
391 vtkGetStringMacro(DisableSubTrace)
413 void ResetToDefault();
430 virtual bool ResetToDomainDefaults(
bool use_unchecked_values =
false);
436 vtkGetStringMacro(XMLLabel);
446 vtkGetStringMacro(XMLName);
455 vtkGetMacro(Repeatable,
int);
477 if (this->BlockModifiedEvents)
479 this->PendingModifiedEvents =
true;
484 this->PendingModifiedEvents =
false;
512 bool HasDomainsWithRequiredProperties();
523 static const char* CreateNewPrettyLabel(
const char* name);
531 friend class vtkSMSubPropertyIterator;
566 vtkSetStringMacro(XMLName);
584 void RemoveAllDependents();
597 void UpdateDomains();
604 virtual void SaveState(
605 vtkPVXMLElement* parent,
const char* property_name,
const char* uid,
int saveDomains = 1);
615 virtual void SaveDomainState(
vtkPVXMLElement* propertyElement,
const char* uid);
635 vtkSetStringMacro(XMLLabel);
644 vtkSetMacro(InformationOnly,
int);
647 vtkSetMacro(IgnoreSynchronization,
int);
666 bool prev = this->BlockModifiedEvents;
667 this->BlockModifiedEvents = block;
677 vtkGetMacro(PendingModifiedEvents,
bool);
688 vtkSetMacro(StateIgnored,
bool);
689 vtkBooleanMacro(StateIgnored,
bool);
700 void InvokeDomainModifiedEvent();
706 void CreateAndSetPrettyLabel(
const char* name);
708 bool PendingModifiedEvents;
709 bool BlockModifiedEvents;
712 #define vtkSMPropertyTemplateMacroCase(typeSMProperty, type, prop, call) \ 713 if (typeSMProperty* SM_PROPERTY = typeSMProperty::SafeDownCast(prop)) \ 716 typedef type SM_TT; \ 720 #define vtkSMVectorPropertyTemplateMacro(prop, call) \ 721 vtkSMPropertyTemplateMacroCase(vtkSMDoubleVectorProperty, double, prop, call) \ 722 vtkSMPropertyTemplateMacroCase(vtkSMIntVectorProperty, int, prop, call) \ 723 vtkSMPropertyTemplateMacroCase(vtkSMIdTypeVectorProperty, vtkIdType, prop, call) \ 724 vtkSMPropertyTemplateMacroCase(vtkSMStringVectorProperty, vtkStdString, prop, call) 727 template <
class DomainType>
731 for (iter->Begin(); !iter->IsAtEnd(); iter->Next())
733 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
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
vtkSMDomainIterator * NewDomainIterator()
Creates, initializes and returns a new domain iterator.
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