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
|