00001 /*========================================================================= 00002 00003 Program: ParaView 00004 Module: $RCSfile: vtkPVSourceList.h,v $ 00005 00006 Copyright (c) Kitware, Inc. 00007 All rights reserved. 00008 See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00020 #ifndef __vtkPVSourceList_h 00021 #define __vtkPVSourceList_h 00022 00023 #include "vtkPVSourcesNavigationWindow.h" 00024 00025 class vtkKWEntry; 00026 class vtkPVSource; 00027 class vtkPVSourceCollection; 00028 class vtkKWMenu; 00029 00030 class VTK_EXPORT vtkPVSourceList : public vtkPVSourcesNavigationWindow 00031 { 00032 public: 00033 static vtkPVSourceList* New(); 00034 vtkTypeRevisionMacro(vtkPVSourceList,vtkPVSourcesNavigationWindow); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00038 00039 void Pick(int assyIdx); 00040 void ToggleVisibility(int assyIdx, char* id, int button); 00041 void EditColor(int assyIdx); 00043 00045 virtual void PrepareForDelete(); 00046 00047 protected: 00048 vtkPVSourceList(); 00049 ~vtkPVSourceList(); 00050 00051 virtual void ChildUpdate(vtkPVSource*); 00052 virtual void PostChildUpdate(); 00053 00055 virtual void ChildCreate(); 00056 00057 int UpdateSource(vtkPVSource *comp, int y, int in, int current); 00058 void UpdateVisibility(vtkPVSource *comp, const char *id); 00059 00061 00062 vtkGetObjectMacro(Sources, vtkPVSourceCollection); 00063 virtual void SetSources(vtkPVSourceCollection*); 00064 vtkPVSourceCollection *Sources; 00066 00067 int StartY; 00068 int LastY; 00069 int CurrentY; 00070 00071 private: 00072 vtkPVSourceList(const vtkPVSourceList&); // Not implemented 00073 void operator=(const vtkPVSourceList&); // Not implemented 00074 }; 00075 00076 #endif 00077 00078