Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

GUI/Widgets/vtkKWSelectionFrameLayoutManager.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003 Copyright (c) 1998-2003 Kitware Inc. 469 Clifton Corporate Parkway,
00004 Clifton Park, NY, 12065, USA.
00005 
00006 All rights reserved. No part of this software may be reproduced, distributed,
00007 or modified, in any form or by any means, without permission in writing from
00008 Kitware Inc.
00009 
00010 IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR
00011 DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
00012 OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF,
00013 EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00014 
00015 THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING,
00016 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
00017 PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE IS PROVIDED ON AN
00018 "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE
00019 MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
00020 
00021 =========================================================================*/
00029 #ifndef __vtkKWSelectionFrameLayoutManager_h
00030 #define __vtkKWSelectionFrameLayoutManager_h
00031 
00032 #include "vtkKWCompositeWidget.h"
00033 
00034 class vtkKWSelectionFrame;
00035 class vtkKWSelectionFrameLayoutManagerInternals;
00036 class vtkKWRenderWidget;
00037 class vtkImageData;
00038 class vtkKWMenu;
00039 class vtkKWToolbar;
00040 
00041 class KWWIDGETS_EXPORT vtkKWSelectionFrameLayoutManager : public vtkKWCompositeWidget
00042 {
00043 public:
00044   static vtkKWSelectionFrameLayoutManager* New();
00045   vtkTypeRevisionMacro(vtkKWSelectionFrameLayoutManager, vtkKWCompositeWidget);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00049   virtual void Create(vtkKWApplication *app);
00050   
00052 
00053   virtual void SetResolution(int i, int j);
00054   virtual void SetResolution(int res[2])
00055     { this->SetResolution(res[0], res[1]); };
00056   vtkGetVector2Macro(Resolution, int);
00058 
00062   virtual int AddWidget(vtkKWSelectionFrame *widget);
00063 
00066   virtual vtkKWSelectionFrame* AllocateAndAddWidget();
00067 
00069 
00075   virtual int SetWidgetTag(vtkKWSelectionFrame*, const char *tag);
00076   virtual const char* GetWidgetTag(vtkKWSelectionFrame*);
00078 
00080 
00082   virtual int SetWidgetGroup(vtkKWSelectionFrame*, const char *group);
00083   virtual const char* GetWidgetGroup(vtkKWSelectionFrame*);
00085 
00087 
00088   virtual int GetNumberOfWidgets();
00089   virtual int GetNumberOfWidgetsWithTag(const char *tag);
00090   virtual int GetNumberOfWidgetsWithGroup(const char *group);
00092 
00094 
00095   virtual int HasWidget(vtkKWSelectionFrame *widget);
00096   virtual int HasWidgetWithTag(const char *tag);
00097   virtual int HasWidgetWithTagAndGroup(const char *tag, const char *group);
00099 
00101 
00106   virtual vtkKWSelectionFrame* GetWidgetWithTag(const char *tag);
00107   virtual vtkKWSelectionFrame* GetWidgetWithTagAndGroup(
00108     const char *tag, const char *group);
00109   virtual vtkKWSelectionFrame* GetWidgetWithTitle(const char *title);
00110   virtual vtkKWSelectionFrame* GetNthWidget(int index);
00111   virtual vtkKWSelectionFrame* GetNthWidgetNotMatching(
00112     int index, vtkKWSelectionFrame *avoid);
00113   virtual vtkKWSelectionFrame* GetNthWidgetWithGroup(
00114     int index, const char *group);
00116 
00118 
00120   virtual int GetWidgetPosition(vtkKWSelectionFrame *w, int *col, int *row);
00121   virtual int GetWidgetPosition(vtkKWSelectionFrame *w, int pos[2])
00122     { return this->GetWidgetPosition(w, pos, pos + 1); }
00123   virtual int SetWidgetPosition(vtkKWSelectionFrame *w, int col, int row);
00124   virtual int SetWidgetPosition(vtkKWSelectionFrame *w, int pos[2])
00125     { return this->SetWidgetPosition(w, pos[0], pos[1]); }
00126   virtual vtkKWSelectionFrame* GetWidgetAtPosition(int col, int row);
00127   virtual vtkKWSelectionFrame* GetWidgetAtPosition(int pos[2])
00128     { return this->GetWidgetAtPosition(pos[0], pos[1]); }
00130 
00132 
00134   virtual int SwitchWidgetsPosition(
00135     vtkKWSelectionFrame *w1, vtkKWSelectionFrame *w2);
00137 
00140   virtual void SelectWidget(vtkKWSelectionFrame *widget);
00141 
00144   virtual vtkKWSelectionFrame* GetSelectedWidget();
00145 
00147 
00148   virtual void SetSelectionChangedCommand(
00149     vtkObject* object, const char *method);
00151 
00153 
00156   virtual int RemoveWidget(vtkKWSelectionFrame *widget);
00157   virtual int RemoveAllWidgets();
00158   virtual int RemoveAllWidgetsWithGroup(const char *group);
00160 
00165   virtual int ShowWidgetsWithGroup(const char *group);
00166 
00168 
00173   virtual int SaveScreenshotAllWidgets();
00174   virtual int SaveScreenshotAllWidgetsToFile(const char* fileName);
00175   virtual int CopyScreenshotAllWidgetsToClipboard();
00177 
00179 
00185   virtual int AppendAllWidgetsToImageData(vtkImageData *image);
00186   virtual int AppendAllWidgetsToImageDataFast(vtkImageData *image);
00187   virtual int AppendSelectedWidgetToImageData(vtkImageData *image);
00188   virtual int AppendSelectedWidgetToImageDataFast(vtkImageData *image);
00190 
00192 
00195   virtual int PrintAllWidgets();
00196   virtual int PrintAllWidgetsAtResolution(double dpi);
00197   virtual int PrintSelectedWidget();
00198   virtual int PrintSelectedWidgetAtResolution(double dpi);
00200 
00202 
00205   virtual void CreateResolutionEntriesMenu(vtkKWMenu *parent);
00206   vtkGetObjectMacro(ResolutionEntriesMenu, vtkKWMenu);
00207   virtual void UpdateResolutionEntriesMenu();
00209 
00211 
00213   virtual void CreateResolutionEntriesToolbar(vtkKWWidget *parent);
00214   vtkGetObjectMacro(ResolutionEntriesToolbar, vtkKWToolbar);
00215   virtual void UpdateResolutionEntriesToolbar();
00217 
00224   virtual void UpdateEnableState();
00225 
00227 
00228   virtual void SelectWidgetCallback(vtkKWSelectionFrame*);
00229   virtual void SelectAndMaximizeWidgetCallback(vtkKWSelectionFrame*);
00230   virtual void CloseWidgetCallback(vtkKWSelectionFrame*);
00231   virtual int  ChangeWidgetTitleCallback(vtkKWSelectionFrame*);
00232   virtual void WidgetTitleChangedCallback(vtkKWSelectionFrame*);
00233   virtual void SwitchWidgetCallback(
00234     const char *title, vtkKWSelectionFrame *widget);
00236 
00238   virtual void UpdateSelectionLists();
00239 
00240 protected:
00241   vtkKWSelectionFrameLayoutManager();
00242   ~vtkKWSelectionFrameLayoutManager();
00243 
00244   int Resolution[2];
00245   vtkKWMenu    *ResolutionEntriesMenu;
00246   vtkKWToolbar *ResolutionEntriesToolbar;
00247   char *SelectionChangedCommand;
00248 
00250   virtual vtkKWSelectionFrame* AllocateWidget();
00251 
00253 
00256   virtual void CreateWidget(vtkKWSelectionFrame*);
00257   virtual void ConfigureWidget(vtkKWSelectionFrame*);
00259 
00264   virtual vtkKWRenderWidget* GetVisibleRenderWidget(vtkKWSelectionFrame*);
00265 
00267   virtual void Pack();
00268 
00270   virtual void AdjustResolution();
00271 
00274   virtual int PrintWidgets(double dpi, int selection_only);
00275 
00277 
00283   virtual int AppendWidgetsToImageData(
00284     vtkImageData *image,int selection_only, int direct = 0);
00286 
00288   virtual void NumberOfWidgetsHasChanged();
00289 
00292   virtual void ReorganizeWidgetPositions();
00293 
00295 
00298   virtual int CanWidgetTitleBeChanged(
00299     vtkKWSelectionFrame *widget, const char *new_title);
00301 
00302   // PIMPL Encapsulation for STL containers
00303 
00304   vtkKWSelectionFrameLayoutManagerInternals *Internals;
00305 
00307 
00308   virtual void AddCallbacksToWidget(vtkKWSelectionFrame *widget);
00309   virtual void RemoveCallbacksFromWidget(vtkKWSelectionFrame *widget);
00311 
00314   virtual void DeleteWidget(vtkKWSelectionFrame *widget);
00315 
00316 private:
00317 
00318   vtkKWSelectionFrameLayoutManager(const vtkKWSelectionFrameLayoutManager&); // Not implemented
00319   void operator=(const vtkKWSelectionFrameLayoutManager&); // Not implemented
00320 };
00321 
00322 #endif

Generated on Tue May 30 12:31:44 2006 for ParaView by doxygen 1.3.5