File: vtkVVSelectionFrameLayoutManager.h

package info (click to toggle)
volview 3.4-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 25,204 kB
  • sloc: cpp: 132,585; ansic: 11,612; tcl: 236; sh: 64; makefile: 25; xml: 8
file content (94 lines) | stat: -rw-r--r-- 3,528 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/*=========================================================================

  Copyright (c) Kitware, Inc.
  All rights reserved.
  See Copyright.txt or http://www.kitware.com/VolViewCopyright.htm for details.

     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.

=========================================================================*/
// .NAME vtkVVSelectionFrameLayoutManager - a MxN layout manager for a set of vtkKWSelectionFrame
// .SECTION Description
// This class is a layout manager for vtkKWSelectionFrame. It will grid them
// according to a given MxN resolution, allocate new ones, handle print/screenshots, etc. 

#ifndef __vtkVVSelectionFrameLayoutManager_h
#define __vtkVVSelectionFrameLayoutManager_h

#include "vtkKWSelectionFrameLayoutManager.h"
#include "XML/vtkXMLIOBaseMacros.h" // Needed for XML reader/writer macros

class vtkKWSelectionFrame;
class vtkVVSelectionFrameLayoutManagerInternals;
class vtkKWRenderWidget;
class vtkImageData;
class vtkKWMenu;
class vtkKWToolbar;
class vtkVVSelectionFrame;

class VTK_EXPORT vtkVVSelectionFrameLayoutManager : public vtkKWSelectionFrameLayoutManager
{
public:
  static vtkVVSelectionFrameLayoutManager* New();
  vtkTypeRevisionMacro(vtkVVSelectionFrameLayoutManager, vtkKWSelectionFrameLayoutManager);
  void PrintSelf(ostream& os, vtkIndent indent);
  //BTX
  vtkKWGetXMLReaderWriterObjectsMacro();
  //ETX

  // Description:
  // Allocate a new widget.
  virtual vtkKWSelectionFrame* AllocateWidget();

  // Description:
  // Return the slection frame containing a given renderer, or null
  // if it does not exist.
  virtual vtkKWSelectionFrame* GetContainingSelectionFrame(
      vtkKWRenderWidget* ren);

  // Description:
  // Convenience method to update the annotation to all the render widgets
  // in this manager.
  virtual void UpdateRenderWidgetsAnnotations();

  // Description:
  // Convenience method to set the visibility of the some annotations of
  // all the render widgets in this manager.
  virtual void SetCornerAnnotationsVisibility(int v);
  vtkBooleanMacro(CornerAnnotationsVisibility, int);
  virtual int GetCornerAnnotationsVisibility();
  virtual void SetScaleBarsVisibility(int v);
  vtkBooleanMacro(ScaleBarsVisibility, int);
  virtual int GetScaleBarsVisibility();
  virtual void ToggleAlmostAllAnnotationsVisibility();

  // Description:
  // Convenience method to check if (and/or how many) paintbrush widgets are
  // defined over all the selection frames
  virtual int GetNumberOfPaintbrushWidgets();

  // Description:
  // Override the superclass method to see if the application is set in quiet
  // mode, in which case, no dialogs are popped up during the save process.
  virtual int SaveScreenshotAllWidgetsToFile(const char* fileName);

protected:
  vtkVVSelectionFrameLayoutManager();
  ~vtkVVSelectionFrameLayoutManager() {};

  // Description:
  // Get preferred frame for annotations checking. This selects a frame
  // that will be used to check which annotations are On/Off, assuming
  // all of them are in-sync. The selected frame is favored, to cope
  // we unsynchronized frames
  virtual vtkVVSelectionFrame* GetPreferredFrameForAnnotationsCheck();

private:

  vtkVVSelectionFrameLayoutManager(const vtkVVSelectionFrameLayoutManager&); // Not implemented
  void operator=(const vtkVVSelectionFrameLayoutManager&); // Not implemented
};

#endif