Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / ui / views / examples / label_example.h
index 8b7cfe7..ea6cd94 100644 (file)
@@ -6,12 +6,25 @@
 #define UI_VIEWS_EXAMPLES_LABEL_EXAMPLE_H_
 
 #include "base/macros.h"
+#include "ui/views/controls/button/button.h"
+#include "ui/views/controls/combobox/combobox_listener.h"
+#include "ui/views/controls/textfield/textfield_controller.h"
 #include "ui/views/examples/example_base.h"
 
 namespace views {
+
+class Checkbox;
+class GridLayout;
+class Label;
+
 namespace examples {
 
-class VIEWS_EXAMPLES_EXPORT LabelExample : public ExampleBase {
+class ExampleComboboxModel;
+
+class VIEWS_EXAMPLES_EXPORT LabelExample : public ExampleBase,
+                                           public ButtonListener,
+                                           public ComboboxListener,
+                                           public TextfieldController {
  public:
   LabelExample();
   virtual ~LabelExample();
@@ -19,7 +32,34 @@ class VIEWS_EXAMPLES_EXPORT LabelExample : public ExampleBase {
   // ExampleBase:
   virtual void CreateExampleView(View* container) OVERRIDE;
 
+  // ButtonListener:
+  virtual void ButtonPressed(Button* button, const ui::Event& event) OVERRIDE;
+
+  // ComboboxListener:
+  virtual void OnPerformAction(Combobox* combobox) OVERRIDE;
+
+  // TextfieldController:
+  virtual void ContentsChanged(Textfield* sender,
+                               const base::string16& new_contents) OVERRIDE;
+
  private:
+   // Add a customizable label and various controls to modify its presentation.
+   void AddCustomLabel(View* container);
+
+   // Creates and adds a combobox to the layout.
+   Combobox* AddCombobox(GridLayout* layout,
+                         const char* name,
+                         const char** strings,
+                         int count);
+
+  Textfield* textfield_;
+  Combobox* alignment_;
+  Combobox* elide_behavior_;
+  ScopedVector<ExampleComboboxModel> example_combobox_models_;
+  Checkbox* multiline_;
+  Checkbox* shadows_;
+  Label* custom_label_;
+
   DISALLOW_COPY_AND_ASSIGN(LabelExample);
 };