diff options
author | komatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 06:49:20 +0000 |
---|---|---|
committer | komatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-09-24 06:49:20 +0000 |
commit | 9f2c77cc39552f63783e2ef0e3ab06ed1e21c617 (patch) | |
tree | c3770e2b353ac891d35c81f181465aa787c324fa /chromeos | |
parent | 5fda91945adf976de3b9e74e82d0e4c5f02d79e2 (diff) | |
download | chromium_src-9f2c77cc39552f63783e2ef0e3ab06ed1e21c617.zip chromium_src-9f2c77cc39552f63783e2ef0e3ab06ed1e21c617.tar.gz chromium_src-9f2c77cc39552f63783e2ef0e3ab06ed1e21c617.tar.bz2 |
Create a struct for CandidateWindowProperty.
BUG=293117
Review URL: https://chromiumcodereview.appspot.com/23621043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224926 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r-- | chromeos/dbus/ibus/ibus_lookup_table.cc | 33 | ||||
-rw-r--r-- | chromeos/dbus/ibus/ibus_lookup_table.h | 45 |
2 files changed, 48 insertions, 30 deletions
diff --git a/chromeos/dbus/ibus/ibus_lookup_table.cc b/chromeos/dbus/ibus/ibus_lookup_table.cc index 38c5656..248edb5 100644 --- a/chromeos/dbus/ibus/ibus_lookup_table.cc +++ b/chromeos/dbus/ibus/ibus_lookup_table.cc @@ -183,22 +183,18 @@ bool PopIBusLookupTable(dbus::MessageReader* reader, IBusLookupTable* table) { /////////////////////////////////////////////////////////////////////////////// // IBusLookupTable IBusLookupTable::IBusLookupTable() - : page_size_(kDefaultPageSize), - cursor_position_(0), - is_cursor_visible_(true), - orientation_(HORIZONTAL), - show_window_at_composition_(false) { + : property_(new CandidateWindowProperty) { } IBusLookupTable::~IBusLookupTable() { } bool IBusLookupTable::IsEqual(const IBusLookupTable& table) const { - if (page_size_ != table.page_size_ || - cursor_position_ != table.cursor_position_ || - is_cursor_visible_ != table.is_cursor_visible_ || - orientation_ != table.orientation_ || - show_window_at_composition_ != table.show_window_at_composition_ || + if (page_size() != table.page_size() || + cursor_position() != table.cursor_position() || + is_cursor_visible() != table.is_cursor_visible() || + orientation() != table.orientation() || + show_window_at_composition() != table.show_window_at_composition() || candidates_.size() != table.candidates_.size()) return false; @@ -216,15 +212,22 @@ bool IBusLookupTable::IsEqual(const IBusLookupTable& table) const { } void IBusLookupTable::CopyFrom(const IBusLookupTable& table) { - page_size_ = table.page_size_; - cursor_position_ = table.cursor_position_; - is_cursor_visible_ = table.is_cursor_visible_; - orientation_ = table.orientation_; - show_window_at_composition_ = table.show_window_at_composition_; + SetProperty(table.GetProperty()); candidates_.clear(); candidates_ = table.candidates_; } +IBusLookupTable::CandidateWindowProperty::CandidateWindowProperty() + : page_size(kDefaultPageSize), + cursor_position(0), + is_cursor_visible(true), + is_vertical(false), + show_window_at_composition(false) { +} + +IBusLookupTable::CandidateWindowProperty::~CandidateWindowProperty() { +} + IBusLookupTable::Entry::Entry() { } diff --git a/chromeos/dbus/ibus/ibus_lookup_table.h b/chromeos/dbus/ibus/ibus_lookup_table.h index bf328cf..eff3e0e 100644 --- a/chromeos/dbus/ibus/ibus_lookup_table.h +++ b/chromeos/dbus/ibus/ibus_lookup_table.h @@ -84,6 +84,16 @@ class CHROMEOS_EXPORT IBusLookupTable { VERTICAL = 1, }; + struct CandidateWindowProperty { + CandidateWindowProperty(); + virtual ~CandidateWindowProperty(); + int page_size; + int cursor_position; + bool is_cursor_visible; + bool is_vertical; + bool show_window_at_composition; + }; + // Represents a candidate entry. In dbus communication, each // field is represented as IBusText, but attributes are not used in Chrome. // So just simple string is sufficient in this case. @@ -106,45 +116,50 @@ class CHROMEOS_EXPORT IBusLookupTable { // Copies |table| to myself. void CopyFrom(const IBusLookupTable& table); + const CandidateWindowProperty& GetProperty() const { + return *property_; + } + void SetProperty(const CandidateWindowProperty& property) { + *property_ = property; + } + // Returns the number of candidates in one page. - uint32 page_size() const { return page_size_; } - void set_page_size(uint32 page_size) { page_size_ = page_size; } + uint32 page_size() const { return property_->page_size; } + void set_page_size(uint32 page_size) { property_->page_size = page_size; } // Returns the cursor index of the currently selected candidate. - uint32 cursor_position() const { return cursor_position_; } + uint32 cursor_position() const { return property_->cursor_position; } void set_cursor_position(uint32 cursor_position) { - cursor_position_ = cursor_position; + property_->cursor_position = cursor_position; } // Returns true if the cursor is visible. - bool is_cursor_visible() const { return is_cursor_visible_; } + bool is_cursor_visible() const { return property_->is_cursor_visible; } void set_is_cursor_visible(bool is_cursor_visible) { - is_cursor_visible_ = is_cursor_visible; + property_->is_cursor_visible = is_cursor_visible; } // Returns the orientation of lookup table. - Orientation orientation() const { return orientation_; } + Orientation orientation() const { + return property_->is_vertical ? VERTICAL : HORIZONTAL; + } void set_orientation(Orientation orientation) { - orientation_ = orientation; + property_->is_vertical = (orientation == VERTICAL); } const std::vector<Entry>& candidates() const { return candidates_; } std::vector<Entry>* mutable_candidates() { return &candidates_; } bool show_window_at_composition() const { - return show_window_at_composition_; + return property_->show_window_at_composition; } void set_show_window_at_composition(bool show_window_at_composition) { - show_window_at_composition_ = show_window_at_composition; + property_->show_window_at_composition = show_window_at_composition; } private: - uint32 page_size_; - uint32 cursor_position_; - bool is_cursor_visible_; - Orientation orientation_; + scoped_ptr<CandidateWindowProperty> property_; std::vector<Entry> candidates_; - bool show_window_at_composition_; DISALLOW_COPY_AND_ASSIGN(IBusLookupTable); }; |