blob: 9f540e9ed0278555c7f46094dd3184511ea2c7cf [file] [log] [blame]
// Copyright 2020 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 CHROME_BROWSER_UI_VIEWS_SIDE_PANEL_H_
#define CHROME_BROWSER_UI_VIEWS_SIDE_PANEL_H_
#include "ui/base/metadata/metadata_header_macros.h"
#include "ui/views/bubble/bubble_dialog_delegate_view.h"
#include "ui/views/view.h"
#include "ui/views/view_observer.h"
class SidePanel : public views::View, public views::ViewObserver {
public:
METADATA_HEADER(SidePanel);
SidePanel();
SidePanel(const SidePanel&) = delete;
SidePanel& operator=(const SidePanel&) = delete;
~SidePanel() override;
void SetPanelWidth(int width);
private:
void UpdateVisibility();
// views::View:
void ChildVisibilityChanged(View* child) override;
// views::ViewObserver:
void OnChildViewAdded(View* observed_view, View* child) override;
void OnChildViewRemoved(View* observed_view, View* child) override;
};
#endif // CHROME_BROWSER_UI_VIEWS_SIDE_PANEL_H_