ParaView
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 =========================================================================*/
41 #ifndef vtkPVProgressHandler_h
42 #define vtkPVProgressHandler_h
43 
44 #include "vtkObject.h"
45 #include "vtkPVClientServerCoreCoreModule.h" //needed for exports
46 
47 class vtkMultiProcessController;
48 class vtkPVSession;
49 
50 class VTKPVCLIENTSERVERCORECORE_EXPORT vtkPVProgressHandler : public vtkObject
51 {
52 public:
53  static vtkPVProgressHandler* New();
54  vtkTypeMacro(vtkPVProgressHandler, vtkObject);
55  void PrintSelf(ostream& os, vtkIndent indent);
56 
58 
61  void SetSession(vtkPVSession* conn);
62  vtkGetObjectMacro(Session, vtkPVSession);
64 
68  void RegisterProgressEvent(vtkObject* object, int id);
69 
74  void PrepareProgress();
75 
80  void CleanupPendingProgress();
81 
83 
86  vtkSetClampMacro(ProgressFrequency, double, 0.01, 30.0);
87  vtkGetMacro(ProgressFrequency, double);
89 
91 
94  vtkGetStringMacro(LastProgressText);
95  vtkGetMacro(LastProgress, int);
97 
99 
102  vtkGetStringMacro(LastMessage);
104 
105 protected:
108 
109  enum eTAGS
110  {
111  CLEANUP_TAG = 188969,
112  PROGRESS_EVENT_TAG = 188970,
113  MESSAGE_EVENT_TAG = 188971
114  };
115 
117  void RefreshProgress(const char* progress_text, double progress);
118  void RefreshMessage(const char* message_text);
120 
123 
124 private:
125  vtkPVProgressHandler(const vtkPVProgressHandler&) VTK_DELETE_FUNCTION;
126  void operator=(const vtkPVProgressHandler&) VTK_DELETE_FUNCTION;
127 
131  void OnProgressEvent(vtkObject* caller, unsigned long eventid, void* calldata);
132 
136  void OnMessageEvent(vtkObject* caller, unsigned long eventid, void* calldata);
137 
141  bool OnWrongTagEvent(vtkObject* caller, unsigned long eventid, void* calldata);
142 
143  bool AddedHandlers;
144  class vtkInternals;
145  vtkInternals* Internals;
146 
147  vtkSetStringMacro(LastProgressText);
148  int LastProgress;
149  char* LastProgressText;
150 
151  vtkSetStringMacro(LastMessage);
152  char* LastMessage;
153 };
154 
155 #endif
extends vtkSession to add API for ParaView sessions.
Definition: vtkPVSession.h:35
progress handler.