juicysfplugin/Source/FilePicker.h

54 lines
1.9 KiB
C
Raw Normal View History

2018-02-27 08:25:20 +08:00
//
// Created by Alex Birch on 03/10/2017.
//
#pragma once
#include "../JuceLibraryCode/JuceHeader.h"
#include "FluidSynthModel.h"
2018-06-14 07:43:17 +08:00
#include "FilePickerFragment.h"
2018-02-27 08:25:20 +08:00
class FilePicker: public Component,
public FilePickerFragment,
public ValueTree::Listener,
2018-02-27 08:25:20 +08:00
private FilenameComponentListener
{
public:
FilePicker(
AudioProcessorValueTreeState& valueTreeState
// FluidSynthModel& fluidSynthModel
2018-02-27 08:25:20 +08:00
);
~FilePicker();
void resized() override;
void paint (Graphics& g) override;
virtual void setDisplayedFilePath(const String&) override;
virtual void valueTreePropertyChanged (ValueTree& treeWhosePropertyHasChanged,
const Identifier& property) override;
inline virtual void valueTreeChildAdded (ValueTree& parentTree,
ValueTree& childWhichHasBeenAdded) override {};
inline virtual void valueTreeChildRemoved (ValueTree& parentTree,
ValueTree& childWhichHasBeenRemoved,
int indexFromWhichChildWasRemoved) override {};
inline virtual void valueTreeChildOrderChanged (ValueTree& parentTreeWhoseChildrenHaveMoved,
int oldIndex, int newIndex) override {};
inline virtual void valueTreeParentChanged (ValueTree& treeWhoseParentHasChanged) override {};
inline virtual void valueTreeRedirected (ValueTree& treeWhichHasBeenChanged) override {};
2018-02-27 08:25:20 +08:00
private:
FilenameComponent fileChooser;
AudioProcessorValueTreeState& valueTreeState;
// FluidSynthModel& fluidSynthModel;
2018-02-27 08:25:20 +08:00
String currentPath;
2018-02-27 08:25:20 +08:00
void filenameComponentChanged (FilenameComponent*) override;
bool shouldChangeDisplayedFilePath(const String &path);
2018-02-27 08:25:20 +08:00
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (FilePicker)
};