// Copyright (c) 2012 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 UI_VIEWS_EXAMPLES_EXAMPLES_WINDOW_H_ #define UI_VIEWS_EXAMPLES_EXAMPLES_WINDOW_H_ #include #include #include #include "base/callback_forward.h" #include "base/strings/stringprintf.h" #include "ui/gfx/native_widget_types.h" #include "ui/views/examples/create_examples.h" #include "ui/views/examples/example_base.h" #include "ui/views/examples/views_examples_export.h" namespace views { class Widget; namespace examples { VIEWS_EXAMPLES_EXPORT extern const char kExamplesWidgetName[]; // Returns the current widget. VIEWS_EXAMPLES_EXPORT Widget* GetExamplesWidget(); // Shows a window with the views examples in it. |extra_examples| contains any // additional examples to add. |window_context| is used to determine where the // window should be created (see |Widget::InitParams::context| for details). VIEWS_EXAMPLES_EXPORT void ShowExamplesWindow( base::OnceClosure on_close, ExampleVector examples = CreateExamples(), gfx::NativeWindow window_context = nullptr); // Prints |string| in the status area, at the bottom of the window. VIEWS_EXAMPLES_EXPORT void LogStatus(const std::string& string); // Same as LogStatus(), but with a format string. template void PrintStatus(const char* format, Args... args) { LogStatus(base::StringPrintf(format, args...)); } } // namespace examples } // namespace views #endif // UI_VIEWS_EXAMPLES_EXAMPLES_WINDOW_H_