vtkSMNewWidgetRepresentationProxyAbstract.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
3 #ifndef vtkSMNewWidgetRepresentationProxyAbstract_h
4 #define vtkSMNewWidgetRepresentationProxyAbstract_h
5 
6 #include "vtkRemotingViewsModule.h" //needed for exports
7 #include "vtkSMProxy.h"
8 
9 #include "vtkCommand.h" // for vtkCommand
10 #include "vtkSmartPointer.h" // for vtkSmartPointer
11 #include "vtkWeakPointer.h" // for vtkWeakPointer
12 
13 #include <list> // for std::list
14 
15 class vtkSMLink;
16 class vtkSMPropertyGroup;
17 
27 {
28 public:
30  void PrintSelf(ostream& os, vtkIndent indent) override;
31 
33 
41  bool LinkProperties(vtkSMProxy* controlledProxy, vtkSMPropertyGroup* controlledPropertyGroup);
42  bool UnlinkProperties(vtkSMProxy* controlledProxy);
44 
45 protected:
48 
53  virtual void ExecuteEvent(unsigned long event) = 0;
54 
58  void ProcessLinkedPropertyEvent(vtkSMProperty* caller, unsigned long event);
59 
64  void SetupPropertiesLinks();
65 
68 
69 private:
73 
74  vtkWeakPointer<vtkSMProxy> ControlledProxy;
75  vtkWeakPointer<vtkSMPropertyGroup> ControlledPropertyGroup;
76 
77  typedef std::list<vtkSmartPointer<vtkSMLink>> LinksType;
78  LinksType Links;
79 };
80 
81 //----------------------------------------------------------------------------
83 {
84 public:
86  {
88  }
89 
91  void Execute(vtkObject* caller, unsigned long event, void*) override;
92 
94 };
95 
96 #endif
vtkWeakPointer< vtkSMNewWidgetRepresentationProxyAbstract > WidgetRepresentation
#define VTKREMOTINGVIEWS_EXPORT
void PrintSelf(ostream &os, vtkIndent indent) override
superclass for all SM properties
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
Abstract class for proxies for 2D and 3D widgets.
void operator=(const vtkSMProxy &)=delete