summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authorkomatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 06:49:20 +0000
committerkomatsu@chromium.org <komatsu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-09-24 06:49:20 +0000
commit9f2c77cc39552f63783e2ef0e3ab06ed1e21c617 (patch)
treec3770e2b353ac891d35c81f181465aa787c324fa /chromeos
parent5fda91945adf976de3b9e74e82d0e4c5f02d79e2 (diff)
downloadchromium_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.cc33
-rw-r--r--chromeos/dbus/ibus/ibus_lookup_table.h45
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);
};