cef/libcef/browser/views/basic_label_button_impl.cc
2016-07-26 13:28:54 -04:00

44 lines
1.4 KiB
C++

// Copyright 2016 The Chromium Embedded Framework Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be found
// in the LICENSE file.
#include "libcef/browser/views/basic_label_button_impl.h"
#include "libcef/browser/views/basic_label_button_view.h"
// static
CefRefPtr<CefLabelButton> CefLabelButton::CreateLabelButton(
CefRefPtr<CefButtonDelegate> delegate,
const CefString& text,
bool with_frame) {
return CefBasicLabelButtonImpl::Create(delegate, text, with_frame);
}
// static
CefRefPtr<CefBasicLabelButtonImpl> CefBasicLabelButtonImpl::Create(
CefRefPtr<CefButtonDelegate> delegate,
const CefString& text,
bool with_frame) {
CEF_REQUIRE_UIT_RETURN(nullptr);
CefRefPtr<CefBasicLabelButtonImpl> label_button =
new CefBasicLabelButtonImpl(delegate);
label_button->Initialize();
if (!text.empty())
label_button->SetText(text);
if (with_frame)
label_button->root_view()->SetStyle(views::CustomButton::STYLE_BUTTON);
return label_button;
}
CefBasicLabelButtonImpl::CefBasicLabelButtonImpl(CefRefPtr<CefButtonDelegate> delegate)
: ParentClass(delegate) {
}
views::LabelButton* CefBasicLabelButtonImpl::CreateRootView() {
return new CefBasicLabelButtonView(delegate());
}
void CefBasicLabelButtonImpl::InitializeRootView() {
static_cast<CefBasicLabelButtonView*>(root_view())->Initialize();
}