#ifndef __vtkKWSequenceImporterPage1_h #define __vtkKWSequenceImporterPage1_h #include "vtkKWFrame.h" #include #include class vtkKWMessageWithLabel; class vtkKWPushButton; class vtkKWFrame; class vtkKWListBoxWithScrollbarsWithLabel; class vtkKWListBox; class vtkKWMultiColumnList; class vtkKWRadioButton; class vtkKWEntryWithLabel; class vtkMetaDataSet; class vtkKWCheckButtonWithLabel; class VTK_EXPORT vtkKWSequenceImporterPage1 : public vtkKWFrame { public: static vtkKWSequenceImporterPage1* New(); vtkTypeRevisionMacro(vtkKWSequenceImporterPage1,vtkKWFrame); virtual void UpdateEnableState(); virtual void Update(); //BTX enum IncomingModeIds { NORMAL_MODE, ONEGEOMETRY_MODE, IMPORT_MODE }; //ETX // Descrition: // Set/Get whether the widget should allow reordering // or the final list with the Up/Down buttons. vtkBooleanMacro(AllowReordering, int); vtkGetMacro(AllowReordering, int); vtkSetMacro(AllowReordering, int); vtkGetMacro(DataSetType, unsigned long); vtkGetMacro(EnlapsedTime, double); vtkGetMacro(Delay, double); vtkGetMacro(TimeStamp, double); vtkGetMacro(NumberOfFiles, unsigned int); unsigned int GetIncomingMode (void) const { return this->IncomingMode; } bool GetSameGeometryFlag(); const char* GetSequenceName (void) const { return this->SequenceName.c_str(); } //BTX std::vector GetFileList (void) const; std::vector< std::pair > GetValidFileList (void) const; std::vector GetImportedMetaDataSetList (void) const; //ETX int GetNumberOfElementsOfFileList(); const char* GetElementFromFileList(int idx); int GetElementIndexFromFileList(const char* element); bool AreAllFilesValid (void) const; // Description: // Callbacks. Internal, do not use. virtual void AddCallback(); virtual void ImportCallback(); virtual void RemoveCallback(); virtual void RemoveAllCallback(); virtual void UpCallback(); virtual void DownCallback(); virtual void FileListSelectionChangedCallback(); virtual void FileListCellUpdatedCallback(int , int , const char*); virtual void EnlapsedTimeEntryCallback (const char* val); virtual void SequenceNameEntryCallback (const char* val); virtual void TimeStampEntryCallback (const char* val); virtual void DelayEntryCallback (const char* val); protected: vtkKWSequenceImporterPage1(); ~vtkKWSequenceImporterPage1(); // Description: // Create the widget. virtual void CreateWidget(); virtual void CreateFileList(); virtual void CreateButtons(); virtual void Pack(); virtual void InsertElement (const char* filename, const char* path); virtual void UpdateTimes(); virtual void ShiftItems (int firstindex, int lastindex, bool up); vtkKWMultiColumnList* FileList; vtkKWPushButton* AddButton; vtkKWPushButton* ImportButton; vtkKWPushButton* RemoveButton; vtkKWPushButton* RemoveAllButton; vtkKWPushButton* UpButton; vtkKWPushButton* DownButton; vtkKWCheckButtonWithLabel* SameGeometryButton; vtkKWFrame* ButtonFrameFiles; vtkKWFrame* ButtonFrameAttributes; vtkKWFrame* ButtonFrameMoves; vtkKWFrame* LeftFrame; vtkKWFrame* RightFrame; vtkKWRadioButton* ImageTypeCheckButton; vtkKWRadioButton* MeshTypeCheckButton; vtkKWEntryWithLabel* EnlapsedTimeEntry; vtkKWEntryWithLabel* SequenceNameEntry; vtkKWEntryWithLabel* TimeStampEntry; vtkKWEntryWithLabel* DelayEntry; unsigned long DataSetType; unsigned int IncomingMode; unsigned int NumberOfFiles; double EnlapsedTime; double Delay; double TimeStamp; //BTX std::string SequenceName; std::vector ImportedMetaDataSetList; //ETX int AllowReordering; private: vtkKWSequenceImporterPage1(const vtkKWSequenceImporterPage1&); // Not implemented. void operator=(const vtkKWSequenceImporterPage1&); // Not implemented. }; #endif