1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/user_education/test/test_custom_help_bubble_view.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/views/layout/flex_layout.h"
#include "ui/views/view_class_properties.h"
namespace user_education::test {
TestCustomHelpBubbleView::TestCustomHelpBubbleView(
views::View* anchor_view,
views::BubbleBorder::Arrow arrow)
: views::BubbleDialogDelegateView(anchor_view, arrow) {
SetProperty(views::kElementIdentifierKey, kBubbleId);
auto* const layout = SetLayoutManager(std::make_unique<views::FlexLayout>());
layout->SetOrientation(views::LayoutOrientation::kVertical);
cancel_button_ = AddChildView(std::make_unique<views::LabelButton>(
base::BindOnce(&TestCustomHelpBubbleView::NotifyUserAction,
base::Unretained(this), UserAction::kCancel),
u"Cancel"));
cancel_button_->SetProperty(views::kElementIdentifierKey, kCancelButtonId);
dismiss_button_ = AddChildView(std::make_unique<views::LabelButton>(
base::BindOnce(&TestCustomHelpBubbleView::NotifyUserAction,
base::Unretained(this), UserAction::kDismiss),
u"Dismiss"));
dismiss_button_->SetProperty(views::kElementIdentifierKey, kDismissButtonId);
action_button_ = AddChildView(std::make_unique<views::LabelButton>(
base::BindOnce(&TestCustomHelpBubbleView::NotifyUserAction,
base::Unretained(this), UserAction::kAction),
u"Action"));
action_button_->SetProperty(views::kElementIdentifierKey, kActionButtonId);
snooze_button_ = AddChildView(std::make_unique<views::LabelButton>(
base::BindOnce(&TestCustomHelpBubbleView::NotifyUserAction,
base::Unretained(this), UserAction::kSnooze),
u"Snooze"));
snooze_button_->SetProperty(views::kElementIdentifierKey, kSnoozeButtonId);
}
TestCustomHelpBubbleView::~TestCustomHelpBubbleView() {
cancel_button_ = nullptr;
dismiss_button_ = nullptr;
action_button_ = nullptr;
snooze_button_ = nullptr;
}
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(TestCustomHelpBubbleView, kBubbleId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(TestCustomHelpBubbleView,
kCancelButtonId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(TestCustomHelpBubbleView,
kDismissButtonId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(TestCustomHelpBubbleView,
kActionButtonId);
DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(TestCustomHelpBubbleView,
kSnoozeButtonId);
BEGIN_METADATA(TestCustomHelpBubbleView)
END_METADATA
} // namespace user_education::test
|