| Index: ash/common/system/tray/tri_view.h
|
| diff --git a/ash/common/system/tray/tri_view.h b/ash/common/system/tray/tri_view.h
|
| deleted file mode 100644
|
| index 5774467632822f4d14696e355b6bfe6e368f1d4e..0000000000000000000000000000000000000000
|
| --- a/ash/common/system/tray/tri_view.h
|
| +++ /dev/null
|
| @@ -1,157 +0,0 @@
|
| -// Copyright 2016 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef ASH_COMMON_SYSTEM_TRAY_TRI_VIEW_H_
|
| -#define ASH_COMMON_SYSTEM_TRAY_TRI_VIEW_H_
|
| -
|
| -#include <memory>
|
| -
|
| -#include "ash/ash_export.h"
|
| -#include "base/macros.h"
|
| -#include "ui/gfx/geometry/insets.h"
|
| -#include "ui/gfx/geometry/size.h"
|
| -#include "ui/views/view.h"
|
| -
|
| -namespace views {
|
| -class Border;
|
| -class BoxLayout;
|
| -class LayoutManager;
|
| -} // namespace views
|
| -
|
| -namespace ash {
|
| -class SizeRangeLayout;
|
| -
|
| -// A View which has 3 child containers (START, CENTER, END) which can be
|
| -// arranged vertically or horizontally. The child containers can have minimum
|
| -// and/or maximum preferred size defined as well as a flex weight that is used
|
| -// to distribute excess space across the main axis, i.e. flexible width for the
|
| -// horizontal orientation. By default all the containers have a flex weight of
|
| -// 0, meaning no flexibility, and no minimum or maximum size.
|
| -//
|
| -// Child views should not be added to |this| directly via View::AddChildView()
|
| -// or View::AddChildViewAt() and will fail a DCHECK() if attempted.
|
| -//
|
| -// Views added to the containers are laid out as per the LayoutManager that has
|
| -// been installed on that container. By default a BoxLayout manager is installed
|
| -// on each container with the same orientation as |this| has been created with.
|
| -// The default BoxLayout will use a center alignment for both the main axis and
|
| -// cross axis alignment.
|
| -class ASH_EXPORT TriView : public views::View {
|
| - public:
|
| - enum class Orientation {
|
| - HORIZONTAL,
|
| - VERTICAL,
|
| - };
|
| -
|
| - // The different containers that child Views can be added to.
|
| - enum class Container { START = 0, CENTER = 1, END = 2 };
|
| -
|
| - // Constructs a layout with horizontal orientation and 0 padding between
|
| - // containers.
|
| - TriView();
|
| -
|
| - // Creates |this| with a Horizontal orientation and the specified padding
|
| - // between containers.
|
| - //
|
| - // TODO(bruthig): The |padding_between_containers| can only be set on
|
| - // BoxLayouts during construction. Investigate whether this can be a mutable
|
| - // property of BoxLayouts and if so consider dropping it as a constructor
|
| - // parameter here.
|
| - explicit TriView(int padding_between_containers);
|
| -
|
| - // Creates |this| with the specified orientation and 0 padding between
|
| - // containers.
|
| - explicit TriView(Orientation orientation);
|
| -
|
| - // Creates this with the specified |orientation| and
|
| - // |padding_between_containers|.
|
| - TriView(Orientation orientation, int padding_between_containers);
|
| -
|
| - ~TriView() override;
|
| -
|
| - // Set the minimum height for all containers to |height|.
|
| - void SetMinHeight(int height);
|
| -
|
| - // Set the minimum size for the given |container|.
|
| - void SetMinSize(Container container, const gfx::Size& size);
|
| -
|
| - // Get the minimum size for the given |container|.
|
| - gfx::Size GetMinSize(Container container);
|
| -
|
| - // Set the maximum size for the given |container|.
|
| - void SetMaxSize(Container container, const gfx::Size& size);
|
| -
|
| - // Adds the child |view| to the specified |container|.
|
| - void AddView(Container container, views::View* view);
|
| -
|
| - // Removes all the children from the specified |container|. If
|
| - // |delete_children| is true, the views are deleted, unless marked as not
|
| - // parent owned.
|
| - void RemoveAllChildren(Container container, bool delete_children);
|
| -
|
| - // During layout the |insets| are applied to the host views entire space
|
| - // before allocating the remaining space to the container views.
|
| - void SetInsets(const gfx::Insets& insets);
|
| -
|
| - // Sets the border for the given |container|.
|
| - void SetContainerBorder(Container container,
|
| - std::unique_ptr<views::Border> border);
|
| -
|
| - // Sets whether the |container| is visible. During a layout the space will be
|
| - // allocated to the visible containers only. i.e. non-visible containers will
|
| - // not be allocated any space.
|
| - void SetContainerVisible(Container container, bool visible);
|
| -
|
| - // Sets the flex weight for the given |container|. Using the preferred size as
|
| - // the basis, free space along the main axis is distributed to views in the
|
| - // ratio of their flex weights. Similarly, if the views will overflow the
|
| - // parent, space is subtracted in these ratios.
|
| - //
|
| - // A flex of 0 means this view is not resized. Flex values must not be
|
| - // negative.
|
| - //
|
| - // Note that non-zero flex values will take precedence over size constraints.
|
| - // i.e. even if |container| has a max size set the space allocated during
|
| - // layout may be larger if |flex| > 0 and similar for min size constraints.
|
| - void SetFlexForContainer(Container container, int flex);
|
| -
|
| - // Sets the |layout_manager| used by the given |container|.
|
| - void SetContainerLayout(Container container,
|
| - std::unique_ptr<views::LayoutManager> layout_manager);
|
| -
|
| - protected:
|
| - // View:
|
| - void ViewHierarchyChanged(
|
| - const views::View::ViewHierarchyChangedDetails& details) override;
|
| - const char* GetClassName() const override;
|
| -
|
| - private:
|
| - friend class TriViewTest;
|
| -
|
| - // Returns the View for the given |container|.
|
| - views::View* GetContainer(Container container);
|
| -
|
| - // Returns the layout manager for the given |container|.
|
| - SizeRangeLayout* GetLayoutManager(Container container);
|
| -
|
| - // Type spcific layout manager installed on |this|. Responsible for laying out
|
| - // the container Views.
|
| - views::BoxLayout* box_layout_;
|
| -
|
| - SizeRangeLayout* start_container_layout_manager_;
|
| - SizeRangeLayout* center_container_layout_manager_;
|
| - SizeRangeLayout* end_container_layout_manager_;
|
| -
|
| - // In order to detect direct manipulation of child views the
|
| - // ViewHierarchyChanged() event override fails on a DCHECK. However, we need
|
| - // to manipulate the child views during construction/destruction so this flag
|
| - // is used to disable the DCHECK during construction/destruction.
|
| - bool enable_hierarchy_changed_dcheck_ = false;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(TriView);
|
| -};
|
| -
|
| -} // namespace ash
|
| -
|
| -#endif // ASH_COMMON_SYSTEM_TRAY_TRI_VIEW_H_
|
|
|