// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_BASE_MODELS_TREE_MODEL_H_ #define UI_BASE_MODELS_TREE_MODEL_H_ #include <optional> #include <string> #include <vector> #include "base/component_export.h" namespace ui { class ImageModel; class TreeModel; // TreeModelNode -------------------------------------------------------------- // Type of class returned from the model. This is a low-level interface. // Generally you will want to use TreeNode or TreeNodeWithValue which provides // a basic implementation for storing the tree hierarchy. See // tree_node_model.h. class TreeModelNode { … }; // Observer for the TreeModel. Notified of significant events to the model. class COMPONENT_EXPORT(UI_BASE) TreeModelObserver { … }; // TreeModel ------------------------------------------------------------------ // The model for TreeView. This is a low-level interface and requires a lot // of bookkeeping for the tree to be implemented. Generally you will want to // use TreeNodeModel which provides a standard implementation for basic // hierarchy and observer notification. See tree_node_model.h. class COMPONENT_EXPORT(UI_BASE) TreeModel { … }; } // namespace ui #endif // UI_BASE_MODELS_TREE_MODEL_H_