// ---------------------------------------------------------------------------- // - Open3D: www.open3d.org - // ---------------------------------------------------------------------------- // Copyright (c) 2018-2023 www.open3d.org // SPDX-License-Identifier: MIT // ---------------------------------------------------------------------------- #pragma once #include #include "open3d/visualization/gui/Widget.h" namespace open3d { namespace visualization { namespace gui { class Checkbox; class ColorEdit; class Label; class NumberEdit; /// The only difference between just putting in a Checkbox with /// TreeView::AddItem() is that with a Checkbox, clicking on the /// text will toggle on/off, whereas with this you must click on /// the checkbox; clicking on the text will open/close the children /// (if any, and if CanSelectItemsWithChildren is false). class CheckableTextTreeCell : public Widget { public: CheckableTextTreeCell(const char* text, bool is_checked, std::function on_toggled); ~CheckableTextTreeCell(); std::shared_ptr GetCheckbox(); std::shared_ptr