129 #ifndef vtkSMProperty_h 130 #define vtkSMProperty_h 132 #include "vtkPVServerManagerCoreModule.h" 135 #include "vtkWeakPointer.h" 142 class vtkSMInformationHelper;
154 void PrintSelf(ostream& os, vtkIndent indent);
161 vtkSetStringMacro(Command);
162 vtkGetStringMacro(Command);
171 vtkSetMacro(ImmediateUpdate,
int);
172 vtkGetMacro(ImmediateUpdate,
int);
193 virtual void UnRegister(vtkObjectBase* obj);
215 unsigned int GetNumberOfDomains();
232 VTK_LEGACY(
void UpdateDependentDomains());
239 vtkGetMacro(InformationOnly,
int);
248 vtkGetMacro(IgnoreSynchronization,
int);
265 void AddDomain(
const char* name,
vtkSMDomain* dom);
271 virtual void AddLinkedProperty(
vtkSMProperty* targetProperty);
276 virtual void RemoveLinkedProperty(
vtkSMProperty* targetProperty);
286 virtual void RemoveFromSourceLink();
293 vtkSetMacro(Animateable,
int);
294 vtkGetMacro(Animateable,
int);
303 vtkSetMacro(IsInternal,
int);
304 vtkGetMacro(IsInternal,
int);
311 vtkSetMacro(NoCustomDefault,
int);
318 vtkGetMacro(NoCustomDefault,
int);
331 vtkSetStringMacro(PanelVisibility)
338 vtkGetStringMacro(PanelVisibility)
346 vtkSetStringMacro(PanelVisibilityDefaultForRepresentation)
354 vtkGetStringMacro(PanelVisibilityDefaultForRepresentation)
361 vtkSetStringMacro(PanelWidget)
368 vtkGetStringMacro(PanelWidget)
390 void ResetToDefault();
407 virtual bool ResetToDomainDefaults(
bool use_unchecked_values =
false);
413 vtkGetStringMacro(XMLLabel);
423 vtkGetStringMacro(XMLName);
432 vtkGetMacro(Repeatable,
int);
454 if (this->BlockModifiedEvents)
456 this->PendingModifiedEvents =
true;
460 this->Superclass::Modified();
461 this->PendingModifiedEvents =
false;
489 bool HasDomainsWithRequiredProperties();
502 friend class vtkSMSubPropertyIterator;
537 vtkSetStringMacro(XMLName);
555 void RemoveAllDependents();
568 void UpdateDomains();
575 virtual void SaveState(
576 vtkPVXMLElement* parent,
const char* property_name,
const char* uid,
int saveDomains = 1);
586 virtual void SaveDomainState(
vtkPVXMLElement* propertyElement,
const char* uid);
606 vtkSetStringMacro(XMLLabel);
614 vtkSetMacro(InformationOnly,
int);
617 vtkSetMacro(IgnoreSynchronization,
int);
636 bool prev = this->BlockModifiedEvents;
637 this->BlockModifiedEvents = block;
647 vtkGetMacro(PendingModifiedEvents,
bool);
658 vtkSetMacro(StateIgnored,
bool);
659 vtkBooleanMacro(StateIgnored,
bool);
670 void InvokeDomainModifiedEvent();
676 void CreatePrettyLabel(
const char* name);
678 bool PendingModifiedEvents;
679 bool BlockModifiedEvents;
682 #define vtkSMPropertyTemplateMacroCase(typeSMProperty, type, prop, call) \ 683 if (typeSMProperty* SM_PROPERTY = typeSMProperty::SafeDownCast(prop)) \ 686 typedef type SM_TT; \ 689 #define vtkSMVectorPropertyTemplateMacro(prop, call) \ 690 vtkSMPropertyTemplateMacroCase(vtkSMDoubleVectorProperty, double, prop, call) \ 691 vtkSMPropertyTemplateMacroCase(vtkSMIntVectorProperty, int, prop, call) \ 692 vtkSMPropertyTemplateMacroCase(vtkSMIdTypeVectorProperty, vtkIdType, prop, call) \ 693 vtkSMPropertyTemplateMacroCase(vtkSMStringVectorProperty, vtkStdString, prop, call)
vtkSMProperty * InformationProperty
virtual void Modified()
Overridden to support blocking of modified events.
iterates over domains of a property
vtkSMDomainIterator * DomainIterator
vtkSMPropertyLink * Links
void PrintSelf(ostream &os, vtkIndent indent)
superclass for all SM properties
Store messages for the interpreter.
vtkSMInformationHelper * InformationHelper
Header class that setup every thing in order to use Protobuf messages in a transparent manner...
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).