KWWidgets
|
00001 /*========================================================================= 00002 00003 Module: $RCSfile: vtkKWScrollbar.h,v $ 00004 00005 Copyright (c) Kitware, Inc. 00006 All rights reserved. 00007 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notice for more information. 00012 00013 =========================================================================*/ 00014 // .NAME vtkKWScrollbar - a simple scrollbar 00015 // .SECTION Description 00016 // The core scrollbar 00017 00018 00019 #ifndef __vtkKWScrollbar_h 00020 #define __vtkKWScrollbar_h 00021 00022 #include "vtkKWCoreWidget.h" 00023 00024 class KWWidgets_EXPORT vtkKWScrollbar : public vtkKWCoreWidget 00025 { 00026 public: 00027 static vtkKWScrollbar* New(); 00028 vtkTypeRevisionMacro(vtkKWScrollbar,vtkKWCoreWidget); 00029 void PrintSelf(ostream& os, vtkIndent indent); 00030 00031 // Description: 00032 // Set/Get the background color of the widget. 00033 virtual void GetBackgroundColor(double *r, double *g, double *b); 00034 virtual double* GetBackgroundColor(); 00035 virtual void SetBackgroundColor(double r, double g, double b); 00036 virtual void SetBackgroundColor(double rgb[3]) 00037 { this->SetBackgroundColor(rgb[0], rgb[1], rgb[2]); }; 00038 00039 // Description: 00040 // Set/Get the foreground color of the widget. 00041 virtual void GetForegroundColor(double *r, double *g, double *b); 00042 virtual double* GetForegroundColor(); 00043 virtual void SetForegroundColor(double r, double g, double b); 00044 virtual void SetForegroundColor(double rgb[3]) 00045 { this->SetForegroundColor(rgb[0], rgb[1], rgb[2]); }; 00046 00047 // Description: 00048 // Set/Get the highlight thickness, a non-negative value indicating the 00049 // width of the highlight rectangle to draw around the outside of the 00050 // widget when it has the input focus. 00051 virtual void SetHighlightThickness(int); 00052 virtual int GetHighlightThickness(); 00053 00054 // Description: 00055 // Set/Get the active background color of the widget. An element 00056 // (a widget or portion of a widget) is active if the mouse cursor is 00057 // positioned over the element and pressing a mouse button will cause some 00058 // action to occur. 00059 virtual void GetActiveBackgroundColor(double *r, double *g, double *b); 00060 virtual double* GetActiveBackgroundColor(); 00061 virtual void SetActiveBackgroundColor(double r, double g, double b); 00062 virtual void SetActiveBackgroundColor(double rgb[3]) 00063 { this->SetActiveBackgroundColor(rgb[0], rgb[1], rgb[2]); }; 00064 00065 // Description: 00066 // Set/Get the border width, a non-negative value indicating the width of 00067 // the 3-D border to draw around the outside of the widget (if such a border 00068 // is being drawn; the Relief option typically determines this). 00069 virtual void SetBorderWidth(int); 00070 virtual int GetBorderWidth(); 00071 00072 // Description: 00073 // Set/Get the 3-D effect desired for the widget. 00074 // The value indicates how the interior of the widget should appear 00075 // relative to its exterior. 00076 // Valid constants can be found in vtkKWOptions::ReliefType. 00077 virtual void SetRelief(int); 00078 virtual int GetRelief(); 00079 virtual void SetReliefToRaised(); 00080 virtual void SetReliefToSunken(); 00081 virtual void SetReliefToFlat(); 00082 virtual void SetReliefToRidge(); 00083 virtual void SetReliefToSolid(); 00084 virtual void SetReliefToGroove(); 00085 00086 // Description: 00087 // Set/Get the orientation type. 00088 // For widgets that can lay themselves out with either a horizontal or 00089 // vertical orientation, such as scrollbars, this option specifies which 00090 // orientation should be used. 00091 // Valid constants can be found in vtkKWOptions::OrientationType. 00092 virtual void SetOrientation(int); 00093 virtual int GetOrientation(); 00094 virtual void SetOrientationToHorizontal(); 00095 virtual void SetOrientationToVertical(); 00096 00097 // Description: 00098 // Set/Get the trough color, i.e. the color to use for the rectangular 00099 // trough areas in widgets such as scrollbars and scales. 00100 // Ignored on Windows though (not supported by native widget) 00101 virtual void GetTroughColor(double *r, double *g, double *b); 00102 virtual double* GetTroughColor(); 00103 virtual void SetTroughColor(double r, double g, double b); 00104 virtual void SetTroughColor(double rgb[3]) 00105 { this->SetTroughColor(rgb[0], rgb[1], rgb[2]); }; 00106 00107 // Description: 00108 // Set/Get the desired narrow dimension of the scrollbar widget, not 00109 // including 3-D border, if any. For vertical scrollbars this will be the 00110 // width and for horizontal scrollbars this will be the height. 00111 virtual void SetWidth(int); 00112 virtual int GetWidth(); 00113 00114 // Description: 00115 // Specifies a command to associate with the widget. This command is 00116 // typically invoked to change the view in the widget associated with 00117 // the scrollbar. 00118 // The 'object' argument is the object that will have the method called on 00119 // it. The 'method' argument is the name of the method to be called and any 00120 // arguments in string form. If the object is NULL, the method is still 00121 // evaluated as a simple command. 00122 virtual void SetCommand(vtkObject *object, const char *method); 00123 00124 protected: 00125 vtkKWScrollbar() {}; 00126 ~vtkKWScrollbar() {}; 00127 00128 // Description: 00129 // Create the widget. 00130 virtual void CreateWidget(); 00131 00132 private: 00133 vtkKWScrollbar(const vtkKWScrollbar&); // Not implemented 00134 void operator=(const vtkKWScrollbar&); // Not implemented 00135 }; 00136 00137 #endif