librime 1.2
Rime Input Method Engine, the core library
commit_history.h
Go to the documentation of this file.
1//
2// Copyright RIME Developers
3// Distributed under the BSD License
4//
5// 2012-04-27 GONG Chen <chen.sst@gmail.com>
6//
7#ifndef RIME_COMMIT_HISTORY_H_
8#define RIME_COMMIT_HISTORY_H_
9
10#include <rime/common.h>
11
12namespace rime {
13
15 string type;
16 string text;
17 CommitRecord(const string& a_type, const string& a_text)
18 : type(a_type), text(a_text) {}
19 CommitRecord(int keycode) : type("thru"), text(1, keycode) {}
20};
21
22class KeyEvent;
23class Composition;
24
25class CommitHistory : public list<CommitRecord> {
26 public:
27 static const size_t kMaxRecords = 20;
28 void Push(const CommitRecord& record);
29 void Push(const KeyEvent& key_event);
30 void Push(const Composition& composition, const string& input);
31 string repr() const;
32 string latest_text() const { return empty() ? string() : back().text; }
33};
34
35} // Namespace rime
36
37#endif // RIME_COMMIT_HISTORY_H_
Definition algebra.cc:12
Definition commit_history.h:14
string text
Definition commit_history.h:16
CommitRecord(int keycode)
Definition commit_history.h:19
string type
Definition commit_history.h:15
CommitRecord(const string &a_type, const string &a_text)
Definition commit_history.h:17
Definition commit_history.h:25
void Push(const CommitRecord &record)
Definition commit_history.cc:14
static const size_t kMaxRecords
Definition commit_history.h:27
string repr() const
Definition commit_history.cc:61
string latest_text() const
Definition commit_history.h:32
Definition composition.h:21
Definition key_event.h:17