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 }