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();
410 virtual bool ResetToDomainDefaults(
bool use_unchecked_values =
false);
417 bool ResetToSettings(
double priority);
423 vtkGetStringMacro(XMLLabel);
433 vtkGetStringMacro(XMLName);
442 vtkGetMacro(Repeatable,
int);
464 if (this->BlockModifiedEvents)
466 this->PendingModifiedEvents =
true;
471 this->PendingModifiedEvents =
false;
499 bool HasDomainsWithRequiredProperties();
512 friend class vtkSMSubPropertyIterator;
547 vtkSetStringMacro(XMLName);
565 void RemoveAllDependents();
581 void UpdateDomains();
588 virtual void SaveState(
589 vtkPVXMLElement* parent,
const char* property_name,
const char* uid,
int saveDomains = 1);
599 virtual void SaveDomainState(
vtkPVXMLElement* propertyElement,
const char* uid);
619 vtkSetStringMacro(XMLLabel);
628 vtkSetMacro(InformationOnly,
int);
631 vtkSetMacro(IgnoreSynchronization,
int);
650 bool prev = this->BlockModifiedEvents;
651 this->BlockModifiedEvents = block;
661 vtkGetMacro(PendingModifiedEvents,
bool);
672 vtkSetMacro(StateIgnored,
bool);
673 vtkBooleanMacro(StateIgnored,
bool);
684 void InvokeDomainModifiedEvent();
686 bool PendingModifiedEvents;
687 bool BlockModifiedEvents;
690 #define vtkSMPropertyTemplateMacroCase(typeSMProperty, type, prop, call) \ 691 if (typeSMProperty* SM_PROPERTY = typeSMProperty::SafeDownCast(prop)) \ 694 typedef type SM_TT; \ 698 #define vtkSMVectorPropertyTemplateMacro(prop, call) \ 699 vtkSMPropertyTemplateMacroCase(vtkSMDoubleVectorProperty, double, prop, call) \ 700 vtkSMPropertyTemplateMacroCase(vtkSMIntVectorProperty, int, prop, call) \ 701 vtkSMPropertyTemplateMacroCase(vtkSMIdTypeVectorProperty, vtkIdType, prop, call) \ 702 vtkSMPropertyTemplateMacroCase(vtkSMStringVectorProperty, std::string, prop, call) 705 template <
class DomainType>
709 for (iter->Begin(); !iter->IsAtEnd(); iter->Next())
711 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