vtkSMSettingsProxy.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
53 #ifndef vtkSMSettingsProxy_h
54 #define vtkSMSettingsProxy_h
55 
56 #include "vtkRemotingServerManagerModule.h" //needed for exports
57 #include "vtkSMProxy.h"
58 
59 class VTKREMOTINGSERVERMANAGER_EXPORT vtkSMSettingsProxy : public vtkSMProxy
60 {
61 public:
62  static vtkSMSettingsProxy* New();
64  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
71 
73 
76  static void ProcessPropertyLinks(vtkSMProxy* proxy);
78 
80 
85  void AddLink(const char* sourceProperty, vtkSMProxy* target, const char* targetProperty,
86  bool unlink_if_modified);
87  void RemoveLink(const char* sourceProperty, vtkSMProxy* target, const char* targetProperty);
89 
94  const char* GetSourcePropertyName(vtkSMProxy* target, const char* targetProperty);
95 
97 
100  void SaveLinksState(vtkPVXMLElement* root);
101  void LoadLinksState(vtkPVXMLElement* root, vtkSMProxyLocator* locator);
103 
105 
108  vtkSetMacro(IsSerializable, bool);
109  vtkGetMacro(IsSerializable, bool);
111 
112 protected:
114  ~vtkSMSettingsProxy() override;
115 
119  void CreateVTKObjects() override;
120 
121  void SetPropertyModifiedFlag(const char* name, int flag) override;
122 
123 private:
124  vtkSMSettingsProxy(const vtkSMSettingsProxy&) = delete;
125  void operator=(const vtkSMSettingsProxy&) = delete;
126 
130  void VTKObjectModified();
131 
132  void AutoBreakMapPropertyLink(vtkObject*, unsigned long, void*);
133 
134  unsigned long VTKObjectObserverId = 0;
135  bool IsSerializable = false;
136 
137  class vtkInternals;
138  vtkInternals* Internals;
139 };
140 
141 #endif
vtkSMSessionProxyManager
Definition: vtkSMSessionProxyManager.h:135
vtkSMProxy::New
static vtkSMProxy * New()
vtkSMProxy::CreateVTKObjects
virtual void CreateVTKObjects()
Given a class name (by setting VTKClassName) and server ids (by setting ServerIDs),...
vtkSMProxy::Internals
vtkSMProxyInternals * Internals
Definition: vtkSMProxy.h:1002
vtkObject
vtkSMProxy
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
vtkSMProxy::ReadXMLAttributes
virtual int ReadXMLAttributes(vtkSMSessionProxyManager *pm, vtkPVXMLElement *element)
Read attributes from an XML element.
vtkSMSettingsProxy
proxy subclass responsible for linking settings proxies and settings classes on the VTK side.
Definition: vtkSMSettingsProxy.h:59
vtkSMProxy::operator=
void operator=(const vtkSMProxy &)=delete
vtkIndent
vtkSMProxy::SetPropertyModifiedFlag
virtual void SetPropertyModifiedFlag(const char *name, int flag)
Note on property modified flags: The modified flag of each property associated with a proxy is stored...
vtkPVXMLElement
Definition: vtkPVXMLElement.h:23
vtkSMProxy.h
vtkSMProxy::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
vtkSMProxyLocator
is used to locate proxies referred to in state xmls while loading state files.
Definition: vtkSMProxyLocator.h:24