vtkKWMimxMainMenuGroup.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003 Program:   MIMX Meshing Toolkit
00004 Module:    $RCSfile: vtkKWMimxMainMenuGroup.h,v $
00005 Language:  C++
00006 Date:      $Date: 2008/10/17 03:37:39 $
00007 Version:   $Revision: 1.14.4.1 $
00008 
00009  Musculoskeletal Imaging, Modelling and Experimentation (MIMX)
00010  Center for Computer Aided Design
00011  The University of Iowa
00012  Iowa City, IA 52242
00013  http://www.ccad.uiowa.edu/mimx/
00014  
00015 Copyright (c) The University of Iowa. All rights reserved.
00016 See MIMXCopyright.txt or http://www.ccad.uiowa.edu/mimx/Copyright.htm for details.
00017 
00018 This software is distributed WITHOUT ANY WARRANTY; without even 
00019 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00020 PURPOSE.  See the above copyright notices for more information.
00021 
00022 =========================================================================*/
00023 // .NAME vtkKWMimxMainMenuGroup - Base class for all the menu groups.
00024 //
00025 // .SECTION Description
00026 // Base class that contains all the Set functions for the derived classes.
00027 // Contains declaration for operation menu button which in turn launches
00028 // GUI associated with the selected operations. The derived menu groups
00029 // are Image, Surface, Block(s), Mesh, Quality, Materials and Load/BC
00030 
00031 #ifndef __vtkKWMimxMainMenuGroup_h
00032 #define __vtkKWMimxMainMenuGroup_h
00033 
00034 #include "vtkKWCompositeWidget.h"
00035 #include "vtkKWMimxMainWindow.h"
00036 #include "vtkLinkedListWrapper.h"
00037 #include "vtkLinkedListWrapperTree.h"
00038 #include "vtkBuildingBlockWin32Header.h"
00039 
00040 
00041 class vtkKWMenuButtonWithLabel;
00042 class vtkKWMimxViewProperties;
00043 
00044 class VTK_BUILDINGBLOCK_EXPORT vtkKWMimxMainMenuGroup : public vtkKWCompositeWidget
00045 {
00046 public:
00047   static vtkKWMimxMainMenuGroup* New();
00048   vtkTypeRevisionMacro(vtkKWMimxMainMenuGroup,vtkKWCompositeWidget);
00049   void PrintSelf(ostream& os, vtkIndent indent);
00050 
00051   virtual void Update();
00052   virtual void UpdateEnableState();
00053 
00054   // Description:
00055   // Set functions to access all the lists
00056   vtkSetObjectMacro(MimxMainWindow, vtkKWMimxMainWindow);
00057   vtkGetObjectMacro(MimxMainWindow, vtkKWMimxMainWindow);
00058   vtkGetObjectMacro(SurfaceList, vtkLinkedListWrapper);
00059   vtkGetObjectMacro(BBoxList, vtkLinkedListWrapper);
00060   vtkGetObjectMacro(FEMeshList, vtkLinkedListWrapper);
00061   vtkGetObjectMacro(ImageList, vtkLinkedListWrapper);
00062   vtkSetObjectMacro(DoUndoTree, vtkLinkedListWrapperTree);
00063   vtkGetObjectMacro(MainFrame, vtkKWFrame);
00064   virtual void SetMenuButtonsEnabled(int);
00065  protected:
00066         vtkKWMimxMainMenuGroup();
00067         virtual ~vtkKWMimxMainMenuGroup();
00068 
00069         virtual void CreateWidget();
00070         //vtkKWMenuButtonWithLabel *ObjectMenuButton;
00071         vtkKWMenuButtonWithLabel *OperationMenuButton;
00072         //vtkKWMenuButtonWithLabel *TypeMenuButton;
00073   vtkKWFrame *MainFrame;
00074   vtkLinkedListWrapper *SurfaceList;
00075   vtkLinkedListWrapper *BBoxList;
00076   vtkLinkedListWrapper *FEMeshList;
00077   vtkLinkedListWrapper *ImageList;
00078   vtkLinkedListWrapper *ImageMaskList;
00079         const char* ExtractFileName(const char*);
00080         vtkKWMimxMainWindow *MimxMainWindow;
00081         vtkKWMimxViewProperties *ViewProperties;
00082         vtkLinkedListWrapperTree *DoUndoTree;
00083 
00084         int ErrorState;
00085 private:
00086   vtkKWMimxMainMenuGroup(const vtkKWMimxMainMenuGroup&); // Not implemented
00087   void operator=(const vtkKWMimxMainMenuGroup&); // Not implemented
00088  };
00089 
00090 #endif
00091 
00092 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1