00001 /*=auto========================================================================= 00002 00003 Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All 00004 Rights Reserved. 00005 00006 See Doc/copyright/copyright.txt 00007 or http://www.slicer.org/copyright/copyright.txt for details. 00008 00009 Program: 3D Slicer 00010 Module: $RCSfile: vtkSlicerApplicationGUI.cxx,v $ 00011 Date: $Date: 2010-02-15 16:34:06 -0500 (Mon, 15 Feb 2010) $ 00012 Version: $Revision: 12141 $ 00013 a 00014 =========================================================================auto=*/ 00015 00022 // 00023 00024 #ifndef __vtkSlicerContextMenuHelper_h 00025 #define __vtkSlicerContextMenuHelper_h 00026 00027 #include "vtkObject.h" 00028 #include "vtkSlicerBaseGUIWin32Header.h" 00029 00030 00031 #include "vtkMRMLScene.h" 00032 #include "vtkMRMLNode.h" 00033 00034 #include "vtkKWTopLevel.h" 00035 #include "vtkKWMenu.h" 00036 00037 #include "vtkKWEntryWithLabel.h" 00038 class vtkKWPushButton; 00039 00040 00041 class VTK_SLICER_BASE_GUI_EXPORT vtkSlicerContextMenuHelper : public vtkObject 00042 { 00043 public: 00044 static vtkSlicerContextMenuHelper* New(); 00045 vtkTypeRevisionMacro(vtkSlicerContextMenuHelper, vtkObject); 00046 00049 virtual void PopulateMenu(); 00050 00054 // 00055 virtual void DeleteNodeCallback(); 00056 virtual void RenameNodeCallback(); 00057 virtual void ToggleVisibilityCallback(); 00058 virtual void RenameApplyCallback(); 00059 virtual void RenameApplyCallback(char * vtkNotUsed( name ) ) {this->RenameApplyCallback();}; 00060 virtual void EditCallback(); 00061 00064 // 00065 void PopUpRenameEntry(); 00066 void HideRenameEntry(); 00067 00070 vtkSetObjectMacro(MRMLScene, vtkMRMLScene); 00071 vtkGetObjectMacro(MRMLScene, vtkMRMLScene); 00072 00075 vtkSetObjectMacro(MRMLNode, vtkMRMLNode); 00076 vtkGetObjectMacro(MRMLNode, vtkMRMLNode); 00077 00080 vtkSetObjectMacro(ContextMenu, vtkKWMenu); 00081 vtkGetObjectMacro(ContextMenu, vtkKWMenu); 00082 00085 void UpdateMenuState(); 00086 00087 protected: 00088 00089 vtkSlicerContextMenuHelper(); 00090 ~vtkSlicerContextMenuHelper(); 00091 00092 private: 00093 vtkSlicerContextMenuHelper(const vtkSlicerContextMenuHelper&); 00094 void operator =(const vtkSlicerContextMenuHelper&); 00095 00096 vtkMRMLScene *MRMLScene; 00097 vtkMRMLNode *MRMLNode; 00098 vtkKWMenu *ContextMenu; 00099 vtkKWTopLevel *RenameTopLevel; 00100 vtkKWEntryWithLabel *RenameEntry; 00101 vtkKWPushButton *RenameApply; 00102 vtkKWPushButton *RenameCancel; 00105 int DeleteItem; 00106 int RenameItem; 00107 int EditItem; 00108 }; 00109 00110 #endif
1.6.1