vtkPVProgressHandler.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkPVProgressHandler.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
43 #ifndef vtkPVProgressHandler_h
44 #define vtkPVProgressHandler_h
45 
46 #include "vtkObject.h"
47 #include "vtkRemotingCoreModule.h" //needed for exports
48 
50 class vtkPVSession;
51 
53 {
54 public:
55  static vtkPVProgressHandler* New();
57  void PrintSelf(ostream& os, vtkIndent indent) override;
58 
60 
63  void SetSession(vtkPVSession* conn);
64  vtkGetObjectMacro(Session, vtkPVSession);
66 
70  void RegisterProgressEvent(vtkObject* object, int id);
71 
76  void PrepareProgress();
77 
82  void AddHandlers();
83 
88  bool GetEnableProgress();
89 
94  void CleanupPendingProgress();
95 
99  void LocalCleanupPendingProgress();
100 
102 
107  vtkSetClampMacro(ProgressInterval, double, 0.01, 30.0);
108  vtkGetMacro(ProgressInterval, double);
110 
112 
115  vtkGetStringMacro(LastProgressText);
116  vtkGetMacro(LastProgress, int);
118 
119 protected:
121  ~vtkPVProgressHandler() override;
122 
123  enum TAGS
124  {
125  CLEANUP_TAG = 188969,
126  PROGRESS_EVENT_TAG = 188970,
127  MESSAGE_EVENT_TAG = 188971
128  };
129 
130  enum RMI_TAGS
131  {
132  CLEANUP_TAG_RMI = 188972,
133  MESSAGE_EVENT_TAG_RMI = 188973
134  };
135 
139  void RefreshProgress(const char* progress_text, double progress);
140 
143 
144 private:
146  void operator=(const vtkPVProgressHandler&) = delete;
147 
151  void OnProgressEvent(vtkObject* caller, unsigned long eventid, void* calldata);
152 
158  void OnMessageEvent(vtkObject* caller, unsigned long eventid, void* calldata);
159 
163  bool OnWrongTagEvent(vtkObject* caller, unsigned long eventid, void* calldata);
164 
168  void RefreshMessage(const char* message_text, int eventid, bool is_local);
169 
170  bool AddedHandlers;
171  class vtkInternals;
172  vtkInternals* Internals;
173 
174  vtkSetStringMacro(LastProgressText);
175  int LastProgress;
176  char* LastProgressText;
177 
178  class RMICallback;
179  friend class RMICallback;
180  ;
181 };
182 
183 #endif
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
extends vtkSession to add API for ParaView sessions.
Definition: vtkPVSession.h:35
#define VTKREMOTINGCORE_EXPORT
static vtkObject * New()
void operator=(const vtkObjectBase &)
progress handler.