28 #ifndef __vtkKWDirectoryExplorer_h
29 #define __vtkKWDirectoryExplorer_h
39 class vtkKWDirectoryExplorerInternals;
46 void PrintSelf(ostream& os, vtkIndent indent);
51 virtual int OpenDirectory(
const char* path);
57 virtual int RenameDirectory(
const char* currentname,
const char* newname);
62 virtual int DeleteDirectory(
const char* dirname);
67 virtual void SetSelectionMode(
int);
68 virtual void SetSelectionModeToSingle();
69 virtual void SetSelectionModeToMultiple();
73 virtual int HasSelection();
77 virtual const char *GetSelectedDirectory()
78 {
return GetNthSelectedDirectory(0);}
79 virtual int GetNumberOfSelectedDirectories();
80 virtual const char *GetNthSelectedDirectory(
int i);
81 virtual void SelectDirectory(
const char*);
82 virtual void DeselectDirectory(
const char*);
83 virtual void ClearSelection();
88 virtual void SetMaximumNumberOfDirectoriesInHistory(
int);
89 vtkGetMacro(MaximumNumberOfDirectoriesInHistory,
int);
93 virtual void GetSelectionBackgroundColor(
double *r,
double *g,
double *b);
94 virtual double* GetSelectionBackgroundColor();
95 virtual void SetSelectionBackgroundColor(
double r,
double g,
double b);
96 virtual void SetSelectionBackgroundColor(
double rgb[3])
98 virtual void GetSelectionForegroundColor(
double *r,
double *g,
double *b);
99 virtual double* GetSelectionForegroundColor();
100 virtual void SetSelectionForegroundColor(
double r,
double g,
double b);
101 virtual void SetSelectionForegroundColor(
double rgb[3])
107 virtual void SetTreeWidth(
int);
108 virtual int GetTreeWidth();
109 virtual void SetTreeHeight(
int);
110 virtual int GetTreeHeight();
114 virtual void GetTreeBackgroundColor(
double *r,
double *g,
double *b);
115 virtual double* GetTreeBackgroundColor();
116 virtual void SetTreeBackgroundColor(
double r,
double g,
double b);
117 virtual void SetTreeBackgroundColor(
double rgb[3])
134 virtual void SetDirectorySelectedCommand(vtkObject *obj,
const char *method);
135 virtual void SetDirectoryOpenedCommand(vtkObject *obj,
const char *method);
136 virtual void SetDirectoryClosedCommand(vtkObject *obj,
const char *method);
137 virtual void SetDirectoryCreatedCommand(vtkObject *obj,
const char *method);
138 virtual void SetDirectoryDeletedCommand(vtkObject *obj,
const char *method);
139 virtual void SetDirectoryRenamedCommand(vtkObject *obj,
const char *method);
146 DirectorySelectedEvent = 10000,
147 DirectoryOpenedEvent,
148 DirectoryClosedEvent,
149 DirectoryCreatedEvent,
150 DirectoryDeletedEvent
156 virtual void Focus();
176 virtual void AddBindingToInternalWidget(
177 const char* event, vtkObject *obj,
const char* method);
186 virtual void OpenDirectoryNodeCallback(
187 const char* node,
int offsetFromCurrentIndex);
194 virtual void SingleClickOnNodeCallback(
const char* node);
199 virtual void RightClickCallback(
int x,
int y,
const char* node);
204 virtual int RenameCallback();
209 virtual void RightClickExploreCallback(
const char*);
216 virtual void TreeKeyNavigationCallback();
222 virtual void DirectoryOpenedCallback(
const char* node);
227 virtual void DirectorySelectedCallback();
233 virtual void DirectoryClosedCallback(
const char* node);
241 virtual void CreateNewFolderCallback();
248 virtual void BackToPreviousDirectoryCallback();
254 virtual void ForwardToNextDirectoryCallback();
260 virtual void GoUpDirectoryCallback();
266 virtual int RemoveSelectedNodeCallback();
270 virtual void LoadRootDirectoryCallback();
280 virtual void Update();
286 virtual void ScrollToDirectory(
const char* prefix);
299 virtual void LoadRootDirectory();
303 virtual void BackToRoot();
309 virtual void SelectDirectoryNode(
const char* node,
int opennode = 1);
318 virtual const char* ReloadDirectory(
const char* node,
const char* path);
326 virtual const char* ReloadDirectory(
const char* parentnode,
335 virtual void OpenSubDirectory(
const char* parentnode,
336 const char* fullname,
342 virtual void OpenDirectoryNode(
const char* node,
348 virtual void OpenWholeTree(
const char* node);
353 virtual void ReloadDirectoryNode(
const char* node);
358 virtual void UpdateDirectoryNode(
const char* node);
362 virtual void AddDirectoryNode(
363 const char* parentnode,
366 const char* fullname,
372 const char *GetNthSelectedNode(
int i);
376 virtual void UpdateMostRecentDirectoryHistory(
const char* node);
381 virtual void PruneMostRecentDirectoriesInHistory();
385 virtual void RemoveDirectoryFromHistory(
const char* node);
389 virtual void PopulateContextMenu(
vtkKWMenu *menu,
const char*);
393 int IsNodeSelected(
const char* node);
400 const char* OpenDirectoryInternal(
const char* dirname,
int select);
404 char *DirectorySelectedCommand;
405 char *DirectoryOpenedCommand;
406 char *DirectoryClosedCommand;
407 char *DirectoryCreatedCommand;
408 char *DirectoryDeletedCommand;
409 char *DirectoryRenamedCommand;
413 virtual void InvokeDirectorySelectedCommand(
const char* path);
414 virtual void InvokeDirectoryOpenedCommand(
const char* path);
415 virtual void InvokeDirectoryClosedCommand(
const char* path);
416 virtual void InvokeDirectoryCreatedCommand(
const char* path);
417 virtual void InvokeDirectoryDeletedCommand(
const char* path);
418 virtual void InvokeDirectoryRenamedCommand(
419 const char* oldname,
const char* newname);
423 vtkKWDirectoryExplorerInternals *
Internals;
437 int MaximumNumberOfDirectoriesInHistory;
441 static vtkIdType IdCounter;