Index: ui/views/examples/throbber_example.cc |
diff --git a/ui/views/examples/throbber_example.cc b/ui/views/examples/throbber_example.cc |
index 5a1981219c1403c449b40365149ab680ebf0d232..b7b2064bede1b29bcd8e66c98248ae0ac7a14474 100644 |
--- a/ui/views/examples/throbber_example.cc |
+++ b/ui/views/examples/throbber_example.cc |
@@ -16,25 +16,40 @@ namespace { |
class ThrobberView : public View { |
public: |
- ThrobberView() : throbber_(new Throbber()) { |
+ ThrobberView() : throbber_(new Throbber()), is_checked_(false) { |
AddChildView(throbber_); |
throbber_->Start(); |
} |
+ // View:: |
gfx::Size GetPreferredSize() const override { |
return gfx::Size(width(), height()); |
} |
void Layout() override { |
- int diameter = 64; |
+ int diameter = 16; |
throbber_->SetBounds((width() - diameter) / 2, |
(height() - diameter) / 2, |
diameter, diameter); |
SizeToPreferredSize(); |
} |
+ bool OnMousePressed(const ui::MouseEvent& event) override { |
+ if (GetEventHandlerForPoint(event.location()) == throbber_) { |
sadrul
2016/09/22 02:06:42
Early return when possible, i.e:
if (!GetEventH
yiyix
2016/09/22 03:46:50
Done.
|
+ if (is_checked_) |
+ throbber_->Start(); |
+ else |
+ throbber_->Stop(); |
+ throbber_->SetChecked(!is_checked_); |
+ is_checked_ = !is_checked_; |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
private: |
Throbber* throbber_; |
+ bool is_checked_; |
DISALLOW_COPY_AND_ASSIGN(ThrobberView); |
}; |