/usr/include/KWWidgets/vtkKWSelectionFrame.h is in libkwwidgets1-dev 1.0.0~cvs20100930-8.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 | /*=========================================================================
Module: $RCSfile: vtkKWSelectionFrame.h,v $
Copyright (c) Kitware, Inc.
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.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 vtkKWSelectionFrame - Selection Frame
// .SECTION Description
// The selction frame is what contains a render widget.
// It is called a "selection frame" because in its title bar, you can
// select which render widget to display in it.
// .SECTION See Also
// vtkKWSelectionFrameLayoutManager
#ifndef __vtkKWSelectionFrame_h
#define __vtkKWSelectionFrame_h
#include "vtkKWCompositeWidget.h"
class vtkKWFrame;
class vtkKWLabel;
class vtkKWMenuButton;
class vtkKWPushButton;
class vtkKWSelectionFrameInternals;
class vtkKWToolbarSet;
class vtkStringArray;
class KWWidgets_EXPORT vtkKWSelectionFrame : public vtkKWCompositeWidget
{
public:
static vtkKWSelectionFrame* New();
vtkTypeRevisionMacro(vtkKWSelectionFrame, vtkKWCompositeWidget);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set/Get title
virtual void SetTitle(const char *title);
virtual const char* GetTitle();
// Description:
// Select/Deselect the window
virtual void SetSelected(int);
vtkGetMacro(Selected, int);
vtkBooleanMacro(Selected, int);
// Description:
// Set the selection list (array of num strings).
// The selection list is represented as a pull down menu, which
// visibility can be set. As a convenience, any entry made of two
// dashes "--" is used as a separator.
// This selection list can be used, for example, to display the titles
// of other selection frames that can be switched with the current
// selection frame.
virtual void SetSelectionList(int num, const char **list);
virtual void SetSelectionList(vtkStringArray *list);
vtkGetObjectMacro(SelectionListMenuButton, vtkKWMenuButton);
// Description:
// Specifies a command to associate with the widget. This command is
// invoked when an item is picked by the user in the selection list.
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
// The following parameters are also passed to the command:
// - item selected in the list: const char *
// - pointer to this object: vtkKWSelectionFrame*
virtual void SetSelectionListCommand(vtkObject *object, const char *method);
// Description:
// Set/Get the selection list visibility.
virtual void SetSelectionListVisibility(int);
vtkGetMacro(SelectionListVisibility, int);
vtkBooleanMacro(SelectionListVisibility, int);
// Description:
// Allow the close functionality (button and menu entry)
// If set, a close button is added in the top right corner,
// and a "Close" entry is added to the end of the selection list.
virtual void SetAllowClose(int);
vtkGetMacro(AllowClose, int);
vtkBooleanMacro(AllowClose, int);
vtkGetObjectMacro(CloseButton, vtkKWPushButton);
// Description:
// Specifies a command to associate with the widget. This command is
// typically invoked when the widget is closed (using the close button
// or the Close() method).
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
// The following parameters are also passed to the command:
// - pointer to this object: vtkKWSelectionFrame*
virtual void SetCloseCommand(vtkObject *object, const char *method);
// Description:
// Close the selection frame. It can be re-implemented by
// subclasses to add more functionalities, release resources, etc.
// The current implementation invokes the CloseCommand, if any.
virtual void Close();
// Description:
// Allow title to be changed (menu entry)
// If set, a "Change title" entry is added to the end of the selection list,
// enabling the title to be changed using the ChangeTitleCommand. There
// is actually no code or user interface to change the title, it is left
// to the ChangeTitleCommand.
virtual void SetAllowChangeTitle(int);
vtkGetMacro(AllowChangeTitle, int);
vtkBooleanMacro(AllowChangeTitle, int);
// Description:
// Specifies a command to associate with the widget. This command is
// typically invoked when the "Change title" menu entry is selected.
// This command is usually implemented by a different class and will,
// for example, query the user for a new title, check that this title meet
// some constraints, and call SetTitle() on this object (which in turn will
// trigger the TitleChangedCommand).
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
// The following parameters are also passed to the command:
// - pointer to this object: vtkKWSelectionFrame*
virtual void SetChangeTitleCommand(vtkObject *object, const char *method);
// Description:
// Specifies a command to associate with the widget. This command is
// typically invoked when the title is changed.
// This command can be used, for example, to notify a layout manager that
// it should refresh its list of available selection frame titles
// (see vtkKWSelectionFrameLayoutManager).
// Do not confuse this command with the ChangeTitleCommand, which is invoked
// when the "Change Title" menu entry is selected by the user, and is used
// to allow a third-party class to provide some user-dialog and change
// the title (given some potential constraints). This user-dialog will, in
// turn, most probably call SetTitle, which will trigger TitleChangedCommand.
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
// The following parameters are also passed to the command:
// - pointer to this object: vtkKWSelectionFrame*
virtual void SetTitleChangedCommand(vtkObject *object, const char *method);
// Description:
// Specifies a command to associate with the widget. This command is
// typically invoked when the frame title is selected by the user
// (click in title bar).
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
// The following parameters are also passed to the command:
// - pointer to this object: vtkKWSelectionFrame*
virtual void SetSelectCommand(vtkObject *object, const char *method);
// Description:
// Specifies a command to associate with the widget. This command is
// typically invoked when the frame title is double-clicked on.
// Note that this will also invoke the SelectCommand, since the first
// click acts as a select event.
// The 'object' argument is the object that will have the method called on
// it. The 'method' argument is the name of the method to be called and any
// arguments in string form. If the object is NULL, the method is still
// evaluated as a simple command.
// The following parameters are also passed to the command:
// - pointer to this object: vtkKWSelectionFrame*
virtual void SetDoubleClickCommand(vtkObject *object, const char *method);
// Description:
// Set/Get the title foregroud/background color (in both normal and
// selected mode).
vtkGetVector3Macro(TitleColor, double);
virtual void SetTitleColor(double r, double g, double b);
virtual void SetTitleColor(double rgb[3])
{ this->SetTitleColor(rgb[0], rgb[1], rgb[2]); };
vtkGetVector3Macro(TitleSelectedColor, double);
virtual void SetTitleSelectedColor(double r, double g, double b);
virtual void SetTitleSelectedColor(double rgb[3])
{ this->SetTitleSelectedColor(rgb[0], rgb[1], rgb[2]); };
vtkGetVector3Macro(TitleBackgroundColor, double);
virtual void SetTitleBackgroundColor(double r, double g, double b);
virtual void SetTitleBackgroundColor(double rgb[3])
{ this->SetTitleBackgroundColor(rgb[0], rgb[1], rgb[2]); };
vtkGetVector3Macro(TitleSelectedBackgroundColor, double);
virtual void SetTitleSelectedBackgroundColor(double r, double g, double b);
virtual void SetTitleSelectedBackgroundColor(double rgb[3])
{ this->SetTitleSelectedBackgroundColor(rgb[0], rgb[1], rgb[2]); };
// Description:
// Set/Get the title bar visibility.
virtual void SetTitleBarVisibility(int);
vtkGetMacro(TitleBarVisibility, int);
vtkBooleanMacro(TitleBarVisibility, int);
// Description:
// Set/Get the toolbar set visibility, and retrieve the toolbar set.
// The toolbar set is usually displayed below the title bar
virtual vtkKWToolbarSet* GetToolbarSet();
virtual void SetToolbarSetVisibility(int);
vtkGetMacro(ToolbarSetVisibility, int);
vtkBooleanMacro(ToolbarSetVisibility, int);
// Description:
// Retrieve the title bar user frame. This frame sits in the title
// bar, on the right side of the title itself, and be used to insert
// user-defined UI elements. It is not visible if TitleBarVisibility
// is Off.
virtual vtkKWFrame* GetTitleBarUserFrame();
// Description:
// Retrieve the body frame. This is the main frame, below the title bar,
// where to pack the real contents of whatever that object is supposed
// to display (say, a render widget).
vtkGetObjectMacro(BodyFrame, vtkKWFrame);
// Description:
// Set/Get the left user-frame visibility, and retrieve the frame.
// The left user-frame is displayed on the left side of the BodyFrame, as
// its name implies, can be used to put any extra UI the user wants.
virtual vtkKWFrame* GetLeftUserFrame();
virtual void SetLeftUserFrameVisibility(int);
vtkGetMacro(LeftUserFrameVisibility, int);
vtkBooleanMacro(LeftUserFrameVisibility, int);
// Description:
// Set/Get the right user-frame visibility, and retrieve the frame.
// The right user-frame is displayed on the right side of the BodyFrame, as
// its name implies, can be used to put any extra UI the user wants.
virtual vtkKWFrame* GetRightUserFrame();
virtual void SetRightUserFrameVisibility(int);
vtkGetMacro(RightUserFrameVisibility, int);
vtkBooleanMacro(RightUserFrameVisibility, int);
// Description:
// Set/Get the outer selection frame width and color. The outer selection
// frame is a thin frame around the whole widget which color is changed
// when the widget is selected. This is useful, for example, when the
// title bar is not visible (the title bar color also changes when the
// widget is selected). Set the width of the selection frame to 0 to
// discard this feature. Colors can be customized.
virtual void SetOuterSelectionFrameWidth(int);
vtkGetMacro(OuterSelectionFrameWidth, int);
vtkGetVector3Macro(OuterSelectionFrameColor, double);
virtual void SetOuterSelectionFrameColor(double r, double g, double b);
virtual void SetOuterSelectionFrameColor(double rgb[3])
{ this->SetOuterSelectionFrameColor(rgb[0], rgb[1], rgb[2]); };
vtkGetVector3Macro(OuterSelectionFrameSelectedColor, double);
virtual void SetOuterSelectionFrameSelectedColor(
double r, double g, double b);
virtual void SetOuterSelectionFrameSelectedColor(double rgb[3])
{ this->SetOuterSelectionFrameSelectedColor(rgb[0], rgb[1], rgb[2]); };
// Description:
// Set/Get if the outer selection frame is blinking.
virtual void SetOuterSelectionFrameBlinking(int);
vtkGetMacro(OuterSelectionFrameBlinking, int);
vtkBooleanMacro(OuterSelectionFrameBlinking, int);
// Description:
// Update the "enable" state of the object and its internal parts.
// Depending on different Ivars (this->Enabled, the application's
// Limited Edition Mode, etc.), the "enable" state of the object is updated
// and propagated to its internal parts/subwidgets. This will, for example,
// enable/disable parts of the widget UI, enable/disable the visibility
// of 3D widgets, etc.
virtual void UpdateEnableState();
// Description:
// Callbacks. Internal, do not use.
virtual void CloseCallback();
virtual void SelectionListCallback(const char *menuItem);
virtual void SelectCallback();
virtual void DoubleClickCallback();
virtual void ChangeTitleCallback();
virtual void OuterSelectionFrameBlinkingCallback();
protected:
vtkKWSelectionFrame();
~vtkKWSelectionFrame();
// Description:
// Create the widget.
virtual void CreateWidget();
vtkKWFrame *OuterSelectionFrame;
vtkKWFrame *TitleBarFrame;
vtkKWMenuButton *SelectionListMenuButton;
vtkKWPushButton *CloseButton;
vtkKWLabel *TitleLabel;
vtkKWFrame *BodyFrame;
virtual void Pack();
virtual void Bind();
virtual void UnBind();
virtual int SetColor(double *color, double r, double g, double b);
virtual void UpdateSelectedAspect();
virtual void UpdateOuterSelectionFrameColor();
virtual void UpdateSelectionListMenuButton();
double TitleColor[3];
double TitleSelectedColor[3];
double TitleBackgroundColor[3];
double TitleSelectedBackgroundColor[3];
double OuterSelectionFrameColor[3];
double OuterSelectionFrameSelectedColor[3];
char *SelectionListCommand;
char *CloseCommand;
char *SelectCommand;
char *DoubleClickCommand;
char *ChangeTitleCommand;
char *TitleChangedCommand;
virtual void InvokeSelectionListCommand(const char*, vtkKWSelectionFrame*);
virtual void InvokeCloseCommand(vtkKWSelectionFrame *obj);
virtual void InvokeSelectCommand(vtkKWSelectionFrame *obj);
virtual void InvokeDoubleClickCommand(vtkKWSelectionFrame *obj);
virtual void InvokeChangeTitleCommand(vtkKWSelectionFrame *obj);
virtual void InvokeTitleChangedCommand(vtkKWSelectionFrame *obj);
int Selected;
int SelectionListVisibility;
int AllowClose;
int AllowChangeTitle;
int ToolbarSetVisibility;
int LeftUserFrameVisibility;
int RightUserFrameVisibility;
int TitleBarVisibility;
int OuterSelectionFrameWidth;
int OuterSelectionFrameBlinking;
virtual void CreateOuterSelectionFrameBlinkingTimer();
virtual void CancelOuterSelectionFrameBlinkingTimer();
// PIMPL Encapsulation for STL containers
vtkKWSelectionFrameInternals *Internals;
private:
vtkKWToolbarSet *ToolbarSet;
vtkKWFrame *LeftUserFrame;
vtkKWFrame *RightUserFrame;
vtkKWFrame *TitleBarUserFrame;
vtkKWSelectionFrame(const vtkKWSelectionFrame&); // Not implemented
void operator=(const vtkKWSelectionFrame&); // Not implemented
};
#endif
|