vtkSMPropertyIterator.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkSMPropertyIterator_h
14 #define vtkSMPropertyIterator_h
15 
16 #include "vtkRemotingServerManagerModule.h" //needed for exports
17 #include "vtkSMObject.h"
18 
19 struct vtkSMPropertyIteratorInternals;
20 
21 class vtkSMProperty;
22 class vtkSMProxy;
23 
25 {
26 public:
27  static vtkSMPropertyIterator* New();
29  void PrintSelf(ostream& os, vtkIndent indent) override;
30 
34  virtual void SetProxy(vtkSMProxy* proxy);
35 
37 
40  vtkGetObjectMacro(Proxy, vtkSMProxy);
42 
46  virtual void Begin();
47 
51  virtual int IsAtEnd();
52 
56  virtual void Next();
57 
61  virtual const char* GetKey();
62 
67  virtual const char* GetPropertyLabel();
68 
72  virtual vtkSMProperty* GetProperty();
73 
75 
79  vtkSetMacro(TraverseSubProxies, int);
80  vtkGetMacro(TraverseSubProxies, int);
82 
83 protected:
85  ~vtkSMPropertyIterator() override;
86 
88 
90 
91 private:
92  vtkSMPropertyIteratorInternals* Internals;
93 
95  void operator=(const vtkSMPropertyIterator&) = delete;
96 };
97 
98 #endif
#define VTKREMOTINGSERVERMANAGER_EXPORT
superclass for all SM properties
superclass for most server manager classes
Definition: vtkSMObject.h:17
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
iterates over the properties of a proxy
void PrintSelf(ostream &os, vtkIndent indent) override