KWWidgets
debian/tmp/usr/include/KWWidgets/vtkKWCanvasWithScrollbars.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Module: $RCSfile: vtkKWWidgetWithScrollbarsSubclass.h.in,v $
4 
5  Copyright (c) Kitware, Inc.
6  All rights reserved.
7  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notice for more information.
12 
13 =========================================================================*/
14 // .NAME vtkKWCanvasWithScrollbars - a vtkKWCanvas associated to two vtkKWScrollbar's
15 // .SECTION Description
16 // This composite widget provides horizontal and vertical scrolling
17 // capabilities to a core widget. They can be enabled or disabled separately.
18 // As a subclass of vtkKWWidgetWithScrollbars, it inherits methods to
19 // retrieve the scrollbars and set their visibility and layout.
20 // @ingroup kwwidgets_autogenerated_widget_with_scrollbars_group
21 // .SECTION Note
22 // This class and the corresponding code were
23 // \subpage kwwidgets_autogenerated_page "generated automatically" by
24 // instantiating the <tt>Templates/vtkKWWidgetWithScrollbarsSubclass.h.in</tt>
25 // and <tt>Templates/vtkKWWidgetWithScrollbarsSubclass.cxx.in</tt> files for
26 // the type vtkKWCanvas. Classes related to the same template can be found
27 // in the \ref kwwidgets_autogenerated_widget_with_scrollbars_group section.
28 // .SECTION See Also
29 // vtkKWWidgetWithScrollbars vtkKWCanvas
30 
31 #ifndef __vtkKWCanvasWithScrollbars_h
32 #define __vtkKWCanvasWithScrollbars_h
33 
35 
36 class vtkKWScrollbar;
37 class vtkKWCanvas;
38 
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent);
45 
46  // Description:
47  // Get the vtkKWCanvas for which we addded the scrollbars
48  virtual vtkKWCanvas* GetWidget();
49 
50  // Description:
51  // Update the "enable" state of the object and its internal parts.
52  // Depending on different Ivars (this->Enabled, the application's
53  // Limited Edition Mode, etc.), the "enable" state of the object is updated
54  // and propagated to its internal parts/subwidgets. This will, for example,
55  // enable/disable parts of the widget UI, enable/disable the visibility
56  // of 3D widgets, etc.
57  virtual void UpdateEnableState();
58 
59 protected:
62 
63  // Description:
64  // Create the widget.
65  virtual void CreateWidget();
66 
67  // Description:
68  // Internal widget
69  vtkKWCanvas *Widget;
70 
71  // Description:
72  // Create scrollbars and associate the scrollbars to a widget by
73  // setting up the callbacks between both instances.
74  // Re-implemented to set the associated now that we know the internal widget
75  virtual void CreateHorizontalScrollbar();
76  virtual void CreateVerticalScrollbar();
77 
78  // Description:
79  // Pack.
80  virtual void Pack();
81 
82 private:
83  vtkKWCanvasWithScrollbars(const vtkKWCanvasWithScrollbars&); // Not implemented
84  void operator=(const vtkKWCanvasWithScrollbars&); // Not implemented
85 };
86 
87 #endif