15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef CHROME_BROWSER_UI_FIND_BAR_FIND_NOTIFICATION_DETAILS_H_
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_UI_FIND_BAR_FIND_NOTIFICATION_DETAILS_H_
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/rect.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class FindNotificationDetails {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public:
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  FindNotificationDetails(int request_id,
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                          int number_of_matches,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                          const gfx::Rect& selection_rect,
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                          int active_match_ordinal,
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                          bool final_update)
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : request_id_(request_id),
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      number_of_matches_(number_of_matches),
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      selection_rect_(selection_rect),
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      active_match_ordinal_(active_match_ordinal),
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      final_update_(final_update) {}
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  FindNotificationDetails()
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : request_id_(0),
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      number_of_matches_(-1),
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      active_match_ordinal_(-1),
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      final_update_(false) {}
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ~FindNotificationDetails() {}
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int request_id() const { return request_id_; }
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int number_of_matches() const { return number_of_matches_; }
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  gfx::Rect selection_rect() const { return selection_rect_; }
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int active_match_ordinal() const { return active_match_ordinal_; }
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bool final_update() const { return final_update_; }
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private:
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int request_id_;    // The find-in-page request whose results we're returning.
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int number_of_matches_;  // How many matches were found.
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  gfx::Rect selection_rect_;  // Where selection occurred (screen coordinate).
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  int active_match_ordinal_;  // The ordinal of the currently selected match.
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  bool final_update_;  // Whether this is the last Find Result update.
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif  // CHROME_BROWSER_UI_FIND_BAR_FIND_NOTIFICATION_DETAILS_H_
51