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..5fda5921c20c7269981d91f2bd03881cc0473719 100644 |
--- a/ui/views/examples/throbber_example.cc |
+++ b/ui/views/examples/throbber_example.cc |
@@ -16,25 +16,43 @@ namespace { |
class ThrobberView : public View { |
public: |
- ThrobberView() : throbber_(new Throbber()) { |
+ ThrobberView() : throbber_(new Throbber()), is_checked_(false) { |
AddChildView(throbber_); |
throbber_->Start(); |
} |
+ // View implementation. |
tdanderson
2016/09/19 23:32:27
nit: Just "// View:"
yiyix
2016/09/21 17:10:48
Done.
|
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_) { |
+ if (is_checked_) { |
+ throbber_->Start(); |
+ throbber_->SetChecked(false); |
+ is_checked_ = false; |
+ } else { |
+ throbber_->Stop(); |
+ throbber_->SetChecked(true); |
+ is_checked_ = true; |
tdanderson
2016/09/19 23:32:27
You can avoid duplicated code with:
throbber->Set
yiyix
2016/09/21 17:10:48
Thanks, I thought about it, then i don't know how
|
+ } |
+ return true; |
+ } |
+ return false; |
+ } |
+ |
private: |
Throbber* throbber_; |
+ bool is_checked_; |
DISALLOW_COPY_AND_ASSIGN(ThrobberView); |
}; |