gearmulator

Emulation of classic VA synths of the late 90s/2000s that are based on Motorola 56300 family DSPs
Log | Files | Refs | Submodules | README | LICENSE

weTree.cpp (1144B)


      1 #include "weTree.h"
      2 
      3 #include "weTreeItem.h"
      4 #include "xtEditor.h"
      5 #include "xtWaveEditor.h"
      6 
      7 namespace xtJucePlugin
      8 {
      9 	Tree::Tree(WaveEditor& _editor) : m_editor(_editor)
     10 	{
     11 		setRootItem(new TreeItem());
     12 		setRootItemVisible(false);
     13 
     14 		auto& editor = _editor.getEditor();
     15 
     16 		if(const auto t = editor.getTemplate("pm_treeview"))
     17 			t->apply(editor, *this);
     18 
     19 		getViewport()->setScrollBarsShown(true, true);
     20 
     21 		if(const auto t = editor.getTemplate("pm_scrollbar"))
     22 		{
     23 			t->apply(editor, getViewport()->getVerticalScrollBar());
     24 			t->apply(editor, getViewport()->getHorizontalScrollBar());
     25 		}
     26 	}
     27 
     28 	Tree::~Tree()
     29 	{
     30 		deleteRootItem();
     31 	}
     32 
     33 	void Tree::parentHierarchyChanged()
     34 	{
     35 		TreeView::parentHierarchyChanged();
     36 
     37 		const auto* parent = getParentComponent();
     38 		if(!parent)
     39 			return;
     40 
     41 		const auto w = static_cast<float>(parent->getWidth()) / g_waveEditorScale;
     42 		const auto h = static_cast<float>(parent->getHeight()) / g_waveEditorScale;
     43 
     44 		setTransform(juce::AffineTransform::scale(g_waveEditorScale));
     45 		setSize(static_cast<int>(w), static_cast<int>(h));
     46 	}
     47 
     48 	void Tree::paint(juce::Graphics& _g)
     49 	{
     50 		juce::TreeView::paint(_g);
     51 	}
     52 }