• Main Page
  • Classes
  • Files
  • Directories
  • File List
  • File Members

vtkKWKeyBindingsWidget.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Module:    $RCSfile: vtkKWKeyBindingsWidget.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 vtkKWKeyBindingsWidget - a key bindings widget.
00015 // .SECTION Description
00016 // This widget can be used to display key bindings stored in a key bindings
00017 // manager class (vtkKWKeyBindingsManager).
00018 // .SECTION See Also
00019 // vtkKWKeyBindingsManager
00020 
00021 #ifndef __vtkKWKeyBindingsWidget_h
00022 #define __vtkKWKeyBindingsWidget_h
00023 
00024 #include "vtkKWCompositeWidget.h"
00025 
00026 class vtkKWMultiColumnListWithScrollbars;
00027 class vtkKWKeyBindingsWidgetInternals;
00028 class vtkKWToolbar;
00029 class vtkKWPushButton;
00030 class vtkKWLoadSaveButton;
00031 class vtkKWTextWithScrollbars;
00032 class vtkKWFrameWithLabel;
00033 class vtkKWKeyBindingsManager;
00034 
00035 class KWWidgets_EXPORT vtkKWKeyBindingsWidget : public vtkKWCompositeWidget
00036 {
00037 public:
00038   static vtkKWKeyBindingsWidget* New();
00039   vtkTypeRevisionMacro(vtkKWKeyBindingsWidget,vtkKWCompositeWidget);
00040   void PrintSelf(ostream& os, vtkIndent indent);
00041   
00042   // Description:
00043   // Set/Get the key bindings manager.
00044   vtkGetObjectMacro(KeyBindingsManager,vtkKWKeyBindingsManager);
00045   virtual void SetKeyBindingsManager(vtkKWKeyBindingsManager *mgr);
00046 
00047   // Description:
00048   // Write all keybindings to a stream or text file (tab delimited).
00049   // Return 1 on success, 0 otherwise
00050   virtual int WriteKeyBindingsToStream(ostream& os);
00051   virtual int WriteKeyBindingsToFile(const char *filename);
00052   
00053   // Description:
00054   // Update the "enable" state of the object and its internal parts.
00055   // Depending on different Ivars (this->Enabled, the application's 
00056   // Limited Edition Mode, etc.), the "enable" state of the object 
00057   // is updated and propagated to its internal parts/subwidgets. 
00058   // This will, for example, enable/disable parts of the widget UI, 
00059   // enable/disable the visibility of 3D widgets, etc.
00060   virtual void UpdateEnableState();
00061   virtual void Update();
00062 
00063   // Description:
00064   // Callback, do NOT use. 
00065   virtual void SelectionChangedCallback();
00066   virtual void WriteKeyBindingsToFileCallback();
00067 
00068 protected:
00069   vtkKWKeyBindingsWidget();
00070   ~vtkKWKeyBindingsWidget();
00071 
00072   // Description:
00073   // Create the widget.
00074   virtual void CreateWidget();
00075   
00076   // Description:
00077   // Member variables
00078   vtkKWKeyBindingsWidgetInternals *Internals;
00079   vtkKWMultiColumnListWithScrollbars *KeyBindingsList;
00080   vtkKWToolbar *Toolbar;
00081   vtkKWLoadSaveButton *SaveButton;
00082   vtkKWFrameWithLabel *DetailFrame;
00083   vtkKWTextWithScrollbars *DetailText;
00084   vtkKWKeyBindingsManager *KeyBindingsManager;
00085 
00086 private:
00087 
00088   vtkKWKeyBindingsWidget(const vtkKWKeyBindingsWidget&); // Not implemented
00089   void operator=(const vtkKWKeyBindingsWidget&); // Not implemented
00090 };
00091 #endif

Generated on Sat Dec 11 2010 02:07:58 for KWWidgets by  doxygen 1.7.2