casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FlagActionUtil.h
Go to the documentation of this file.
1 //# Copyright (C) 2009
2 //# Associated Universities, Inc. Washington DC, USA.
3 //#
4 //# This library is free software; you can redistribute it and/or modify it
5 //# under the terms of the GNU Library General Public License as published by
6 //# the Free Software Foundation; either version 2 of the License, or (at your
7 //# option) any later version.
8 //#
9 //# This library is distributed in the hope that it will be useful, but WITHOUT
10 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 //# License for more details.
13 //#
14 //# You should have received a copy of the GNU Library General Public License
15 //# along with this library; if not, write to the Free Software Foundation,
16 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
17 //#
18 //# Correspondence concerning AIPS++ should be addressed as follows:
19 //# Internet email: aips2-request@nrao.edu.
20 //# Postal address: AIPS++ Project Office
21 //# National Radio Astronomy Observatory
22 //# 520 Edgemont Road
23 //# Charlottesville, VA 22903-2475 USA
24 //#
25 
26 
27 #ifndef FLAGACTIONUTIL_H_
28 #define FLAGACTIONUTIL_H_
29 
30 #include <vector>
31 #include <iostream>
33 #include <plotms/Client/Client.h>
34 
35 namespace casa {
36 
37 // FlagActionUtil is a set of flagging methods that are
38 // accessed from multiple classes. All the methods are
39 // static and (hopefully) inlined.
41 public:
42  static PlotLogMessage* flagRange(Client *client, PlotMSPlot* plot,
43  int canvasIndex, std::vector<PlotRegion>& regions,
44  bool /*showUnflagged*/, bool /*showFlagged*/) {
45  PlotMSFlagging flagging = client->getFlagging();
46  std::cout << "Flagging the range " << std::endl;
47  PlotLogMessage* m = plot->flagRange(canvasIndex, flagging, Vector<PlotRegion>(regions), true);
48  return m;
49  }
50 
51  static PlotLogMessage* unflagRange(Client *client, PlotMSPlot* plot,
52  int canvasIndex, std::vector<PlotRegion>& regions,
53  bool /*showUnflagged*/, bool /*showFlagged*/) {
54  PlotMSFlagging flagging = client->getFlagging();
55  PlotLogMessage* m = plot->flagRange(canvasIndex, flagging, Vector<PlotRegion>(regions), false);
56  return m;
57  }
58 
59  // constructor
61 
62  // destructor
63  virtual ~FlagActionUtil();
64 
65 protected:
66  virtual void redrawPlots(Client *client, PlotMSPlot* plot, vector<PlotCanvasPtr>& visibleCanv );
67  virtual void addRedrawPlot( PlotMSPlot* plot );
68 
69 private:
70  // Keep list of plots that have to be redrawn.
71  vector<PlotMSPlot*> flaggedPlots;
72 };
73 
74 } /* namespace casa */
75 #endif /* FLAGACTIONUTIL_H_ */
A 1-D Specialization of the Array class.
static PlotLogMessage * unflagRange(Client *client, PlotMSPlot *plot, int canvasIndex, std::vector< PlotRegion > &regions, bool, bool)
virtual void addRedrawPlot(PlotMSPlot *plot)
virtual PlotMSFlagging getFlagging() const =0
Retrieve flagging information specified by the client.
FlagActionUtil is a set of flagging methods that are accessed from multiple classes.
vector< PlotMSPlot * > flaggedPlots
Keep list of plots that have to be redrawn.
virtual ~FlagActionUtil()
destructor
virtual void redrawPlots(Client *client, PlotMSPlot *plot, vector< PlotCanvasPtr > &visibleCanv)
Specifies flagging parameters (including possibly flag extension) for an MS.
Class for a single &quot;plot&quot; concept.
Definition: PlotMSPlot.h:57
Abstraction for the interface between the client (possibly a GUI) and the model (plot engine) that is...
Definition: Client.h:45
FlagActionUtil()
constructor
static PlotLogMessage * flagRange(Client *client, PlotMSPlot *plot, int canvasIndex, std::vector< PlotRegion > &regions, bool, bool)
Superclass for all messages going through the PlotLogger.
Definition: PlotLogger.h:48
PlotLogMessage * flagRange(int canvasIndex, casa::PlotMSFlagging &flagging, const casacore::Vector< PlotRegion > &regions, bool showFlagged)