00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00037 #ifndef __vtkKWDirectoryPresetSelector_h
00038 #define __vtkKWDirectoryPresetSelector_h
00039
00040 #include "vtkKWPresetSelector.h"
00041
00042 class vtkKWFileBrowserDialog;
00043
00044 class KWWidgets_EXPORT vtkKWDirectoryPresetSelector : public vtkKWPresetSelector
00045 {
00046
00047 public:
00048 static vtkKWDirectoryPresetSelector* New();
00049 vtkTypeRevisionMacro(vtkKWDirectoryPresetSelector, vtkKWPresetSelector);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00051
00053
00055 virtual int SetPresetDirectory(int id, const char *directory);
00056 virtual const char* GetPresetDirectory(int id);
00058
00060 virtual int HasPresetWithDirectory(const char *directory);
00061
00063
00065 virtual int GetPresetDirectoryEnabled(int id);
00066 virtual int SetPresetDirectoryEnabled(int id, int flag);
00068
00070
00072 virtual void SetDirectoryEnabledColumnVisibility(int);
00073 virtual int GetDirectoryEnabledColumnVisibility();
00074 vtkBooleanMacro(DirectoryEnabledColumnVisibility, int);
00076
00078
00080 virtual void SetMaximumDirectoryLength(int);
00081 vtkGetMacro(MaximumDirectoryLength, int);
00083
00085
00086 virtual void SetUniqueDirectories(int);
00087 vtkGetMacro(UniqueDirectories,int);
00088 vtkBooleanMacro(UniqueDirectories,int);
00090
00091
00093
00101 virtual int AddEnabledPresetDirectoriesFromDelimitedString(
00102 const char *from_str, const char from_delim);
00103 virtual int GetEnabledPresetDirectoriesToDelimitedString(
00104 char **to_str, const char to_delim);
00106
00108
00121 virtual int AddPresetDirectoriesFromDelimitedString(
00122 const char *from_str, const char from_delim);
00123 virtual int GetPresetDirectoriesToDelimitedString(
00124 char **to_str, const char to_delim);
00126
00128
00138 static int GetEnabledPresetDirectoriesFromPresetDirectories(
00139 char **to_str, const char to_delim,
00140 const char *from_str, const char from_delim);
00142
00144
00158 static int UpdatePresetDirectoriesFromEnabledPresetDirectories(
00159 char **update_str, const char update_delim,
00160 const char *from_str, const char from_delim);
00162
00164
00165 static const char *DirectoryColumnName;
00166 static const char *DirectoryEnabledColumnName;
00167
00169
00171
00177 virtual const char* PresetCellEditStartCallback(
00178 int row, int col, const char *text);
00180
00182
00187 virtual const char* PresetCellEditEndCallback(
00188 int row, int col, const char *text);
00190
00194 virtual void PresetCellUpdatedCallback(int row, int col, const char *text);
00195
00197 virtual int AddDirectoryCallback();
00198
00200
00201 vtkGetObjectMacro(FileBrowserDialog, vtkKWFileBrowserDialog);
00203
00204
00205
00206 protected:
00207 vtkKWDirectoryPresetSelector();
00208 ~vtkKWDirectoryPresetSelector();
00209
00210 int MaximumDirectoryLength;
00211 int UniqueDirectories;
00212
00214 virtual void CreateWidget();
00215
00219 virtual void CreateColumns();
00220
00228 virtual int UpdatePresetRow(int id);
00229
00231
00232 virtual int GetDirectoryColumnIndex();
00233 virtual int GetDirectoryEnabledColumnIndex();
00235
00236 vtkKWFileBrowserDialog *FileBrowserDialog;
00237
00238
00239
00240 private:
00241
00242 vtkKWDirectoryPresetSelector(const vtkKWDirectoryPresetSelector&);
00243 void operator=(const vtkKWDirectoryPresetSelector&);
00244 };
00245
00246 #endif
00247