1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-09 23:34:20 +00:00

added a flag to FileBrowserComponent so it can optionally use a treeview to show the files

This commit is contained in:
jules 2007-06-20 13:23:30 +00:00
parent 205304c3a9
commit e45d1fb725
3 changed files with 22 additions and 9 deletions

View file

@ -10,7 +10,7 @@ Changelist for version 1.44
- changed the MouseEvent structure so that it now contains a pointer to the event component and also the original component.
- added a PopupMenu::dismissAllActiveMenus() method.
- added the JUCE_LOG_ASSERTIONS flag, which can automatically log assertion failures, even in release builds.
- new classes DirectoryContentsDisplayComponent and FileTreeComponent, allow a view of a directory as either a list or treeview. I've added a demo of the FileTreeComponent to the treeviews section of the Juce Demo.
- new classes DirectoryContentsDisplayComponent and FileTreeComponent, allow a view of a directory as either a list or treeview. I've added a demo of the FileTreeComponent to the treeviews section of the Juce Demo. There's also now an option in the FileBrowserComponent constructor to use a treeview.
- small change to the strictness of the way TreeViews handle their root items. Be careful now to never delete a tree's root item until either the treeview has been deleted, or until you've removed the root from the tree using setRootItem (0). Not doing this can now cause a crash in the tree's destructor, where it expects the root to still be valid.

View file

@ -39,6 +39,7 @@ BEGIN_JUCE_NAMESPACE
#include "../../../../juce_core/text/juce_LocalisedStrings.h"
#include "../../../../juce_core/basics/juce_SystemStats.h"
#include "juce_FileListComponent.h"
#include "juce_FileTreeComponent.h"
//==============================================================================
@ -56,7 +57,8 @@ public:
FileBrowserComponent::FileBrowserComponent (FileChooserMode mode_,
const File& initialFileOrDirectory,
const FileFilter* fileFilter,
FilePreviewComponent* previewComp_)
FilePreviewComponent* previewComp_,
const bool useTreeView)
: directoriesOnlyFilter (0),
mode (mode_),
listeners (2),
@ -84,13 +86,21 @@ FileBrowserComponent::FileBrowserComponent (FileChooserMode mode_,
fileList = new DirectoryContentsList (fileFilter, thread);
// this component could alternatively be a FileTreeComponent
FileListComponent* const list = new FileListComponent (*fileList);
list->setOutlineThickness (1);
if (useTreeView)
{
FileTreeComponent* const tree = new FileTreeComponent (*fileList);
addAndMakeVisible (tree);
fileListComponent = tree;
}
else
{
FileListComponent* const list = new FileListComponent (*fileList);
list->setOutlineThickness (1);
addAndMakeVisible (list);
fileListComponent = list;
}
fileListComponent = list;
addAndMakeVisible (list);
list->addListener (this);
fileListComponent->addListener (this);
addAndMakeVisible (currentPathBox = new ComboBox (T("path")));
currentPathBox->setEditableText (true);

View file

@ -89,11 +89,14 @@ public:
is deleted.
@param previewComp an optional preview component that will be used to
show previews of files that the user selects
@param useTreeView if this is false, the files are shown in a list; if true,
they are shown in a treeview
*/
FileBrowserComponent (FileChooserMode browserMode,
const File& initialFileOrDirectory,
const FileFilter* fileFilter,
FilePreviewComponent* previewComp);
FilePreviewComponent* previewComp,
const bool useTreeView = false);
/** Destructor. */
~FileBrowserComponent();