/// Get current size of this subtree container vec2 UIComponentTreeView::getSize() { float height = 0.f; for(size_t i = 0; i < mParent->getChildCount(); ++i) { height += getItemSize(i).y + mSpacing; } return vec2(mParent->getSize().x, height); }
/// Toggle will expand/collapse the tree view void UIComponentTreeView::toggle() { if(collapsed) { Log("Expanding a tree container. Total size of %d children", mParent->getChildCount()); float allItemsSize = 0.f; for(size_t i = 0; i < mParent->getChildCount(); ++i) { allItemsSize += getItemSize(i).y; Log("Child %i rect(%f,%f,%f,%f)", i, mParent->getChild(i)->getPosition().x, mParent->getChild(i)->getPosition().y, mParent->getChild(i)->getSize().x, mParent->getChild(i)->getSize().y); } mParent->setSize(mParent->getSize().x, getSize().y); collapsed = false; } else { mParent->setSize(mParent->getSize().x, 0.f); collapsed = true; } }
fm::Size Buffer::getItemCount() const { if (getItemSize() == 0) return 0; return m_byteCount / getItemSize(); }