vtkSMProxyClipboard.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
23 #ifndef vtkSMProxyClipboard_h
24 #define vtkSMProxyClipboard_h
25 
26 #include "vtkRemotingMiscModule.h" //needed for exports
27 #include "vtkSMObject.h"
28 #include "vtkSmartPointer.h" // for vtkSmartPointer.
29 
30 class vtkPVXMLElement;
31 class vtkSMProxy;
32 class vtkSMProxyClipboardInternals;
33 
35 {
36 public:
37  static vtkSMProxyClipboard* New();
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
45  vtkGetMacro(CopiedProxy, vtkSMProxy*);
46 
51  bool Copy(vtkSMProxy* source);
52 
58  bool CanPaste(vtkSMProxy* target);
59 
63  bool Paste(vtkSMProxy* target);
64 
68  void Clear() { this->Copy(nullptr); }
69 
70 protected:
72  ~vtkSMProxyClipboard() override;
73 
74 private:
76  void operator=(const vtkSMProxyClipboard&) = delete;
77 
78  vtkSMProxyClipboardInternals* Internals;
79 
80  vtkSMProxy* CopiedProxy = nullptr;
81 };
82 
83 #endif
void Clear()
Clears the clipboard.
superclass for most server manager classes
Definition: vtkSMObject.h:17
#define VTKREMOTINGMISC_EXPORT
static vtkSMObject * New()
proxy for a VTK object(s) on a server
Definition: vtkSMProxy.h:140
helper class to help copy/paste properties on proxies.
This is used by vtkPVXMLParser to represent an XML document starting at the root element.
void PrintSelf(ostream &os, vtkIndent indent) override