46 */ |
46 */ |
47 class HbInputState |
47 class HbInputState |
48 { |
48 { |
49 public: |
49 public: |
50 HbInputState() |
50 HbInputState() |
51 : iModeType(HbInputModeNone), |
51 : mModeType(HbInputModeNone), |
52 iTextCase(HbTextCaseNone), |
52 mTextCase(HbTextCaseNone), |
53 iKeyboardType(HbKeyboardNone), |
53 mKeyboardType(HbKeyboardNone), |
54 iLanguage(HbInputLanguage()) |
54 mLanguage(HbInputLanguage()) |
55 {} |
55 {} |
56 |
56 |
57 HbInputState(HbInputModeType aModeType, HbTextCase aTextCase, HbKeyboardType aKeyboardType, const HbInputLanguage &aLanguage = HbInputLanguage()) |
57 HbInputState(HbInputModeType modeType, HbTextCase textCase, HbKeyboardType keyboardType, const HbInputLanguage &language = HbInputLanguage()) |
58 : iModeType(aModeType), |
58 : mModeType(modeType), |
59 iTextCase(aTextCase), |
59 mTextCase(textCase), |
60 iKeyboardType(aKeyboardType), |
60 mKeyboardType(keyboardType), |
61 iLanguage(aLanguage) |
61 mLanguage(language) |
62 {} |
62 {} |
63 |
63 |
64 void operator=(const HbInputState& aState) { |
64 void operator=(const HbInputState& other) { |
65 iModeType = aState.iModeType; |
65 mModeType = other.mModeType; |
66 iTextCase = aState.iTextCase; |
66 mTextCase = other.mTextCase; |
67 iKeyboardType = aState.iKeyboardType; |
67 mKeyboardType = other.mKeyboardType; |
68 iLanguage = aState.iLanguage; |
68 mLanguage = other.mLanguage; |
69 } |
69 } |
70 |
70 |
71 bool operator==(const HbInputState& aState) { |
71 bool operator==(const HbInputState& other) { |
72 if (iModeType == aState.iModeType |
72 if (mModeType == other.mModeType |
73 && iTextCase == aState.iTextCase |
73 && mTextCase == other.mTextCase |
74 && iKeyboardType == aState.iKeyboardType |
74 && mKeyboardType == other.mKeyboardType |
75 && iLanguage == aState.iLanguage) { |
75 && mLanguage == other.mLanguage) { |
76 return true; |
76 return true; |
77 } |
77 } |
78 return false; |
78 return false; |
79 } |
79 } |
80 |
80 |
81 /*! |
81 /*! |
82 This is same as compare operator except for the language value. If either one of the |
82 This is same as compare operator except for the language value. If either one of the |
83 states being compared has undefined language value, it will match to any language. |
83 states being compared has undefined language value, it will match to any language. |
84 If both language values are defined, then they are compared directly. |
84 If both language values are defined, then they are compared directly. |
85 */ |
85 */ |
86 bool isMatch(const HbInputState& aState) { |
86 bool isMatch(const HbInputState& other) { |
87 if (iModeType == aState.iModeType |
87 if (mModeType == other.mModeType |
88 && iTextCase == aState.iTextCase |
88 && mTextCase == other.mTextCase |
89 && iKeyboardType == aState.iKeyboardType |
89 && mKeyboardType == other.mKeyboardType |
90 && (iLanguage == aState.iLanguage || |
90 && (mLanguage == other.mLanguage || |
91 iLanguage.undefined() || // Undefined matches to anything. |
91 mLanguage.undefined() || // Undefined matches to anything. |
92 aState.iLanguage.undefined())) { |
92 other.mLanguage.undefined())) { |
93 return true; |
93 return true; |
94 } |
94 } |
95 return false; |
95 return false; |
96 } |
96 } |
97 |
97 |
98 bool operator!=(const HbInputState& aState) { |
98 bool operator!=(const HbInputState& other) { |
99 if (iModeType != aState.iModeType |
99 if (mModeType != other.mModeType |
100 || iTextCase != aState.iTextCase |
100 || mTextCase != other.mTextCase |
101 || iKeyboardType != aState.iKeyboardType |
101 || mKeyboardType != other.mKeyboardType |
102 || iLanguage != aState.iLanguage) { |
102 || mLanguage != other.mLanguage) { |
103 return true; |
103 return true; |
104 } |
104 } |
105 return false; |
105 return false; |
106 } |
106 } |
107 |
107 |
108 /*! |
108 /*! |
109 Returns input mode. |
109 Returns input mode. |
110 */ |
110 */ |
111 HbInputModeType inputMode() const { return iModeType; } |
111 HbInputModeType inputMode() const { return mModeType; } |
112 |
112 |
113 /*! |
113 /*! |
114 Sets input mode. |
114 Sets input mode. |
115 */ |
115 */ |
116 void setInputMode(HbInputModeType newMode) { iModeType = newMode; } |
116 void setInputMode(HbInputModeType newMode) { mModeType = newMode; } |
117 |
117 |
118 /*! |
118 /*! |
119 Returns text case. |
119 Returns text case. |
120 */ |
120 */ |
121 HbTextCase textCase() const { return iTextCase; } |
121 HbTextCase textCase() const { return mTextCase; } |
122 |
122 |
123 /*! |
123 /*! |
124 Sets text case. |
124 Sets text case. |
125 */ |
125 */ |
126 void setTextCase(HbTextCase newCase) { iTextCase = newCase; } |
126 void setTextCase(HbTextCase newCase) { mTextCase = newCase; } |
127 |
127 |
128 /*! |
128 /*! |
129 Returns keyboard type. |
129 Returns keyboard type. |
130 */ |
130 */ |
131 HbKeyboardType keyboard() const { return iKeyboardType; } |
131 HbKeyboardType keyboard() const { return mKeyboardType; } |
132 |
132 |
133 /*! |
133 /*! |
134 Sets keyboard type. |
134 Sets keyboard type. |
135 */ |
135 */ |
136 void setKeyboard(HbKeyboardType newKeyboard) { iKeyboardType = newKeyboard; } |
136 void setKeyboard(HbKeyboardType newKeyboard) { mKeyboardType = newKeyboard; } |
137 |
137 |
138 /*! |
138 /*! |
139 Returns language. |
139 Returns language. |
140 */ |
140 */ |
141 HbInputLanguage language() const { return HbInputLanguage(iLanguage); } |
141 HbInputLanguage language() const { return HbInputLanguage(mLanguage); } |
142 |
142 |
143 /*! |
143 /*! |
144 Sets language. |
144 Sets language. |
145 */ |
145 */ |
146 void setLanguage(const HbInputLanguage &newLanguage) { iLanguage = newLanguage; } |
146 void setLanguage(const HbInputLanguage &newLanguage) { mLanguage = newLanguage; } |
147 |
147 |
148 private: |
148 private: |
149 HbInputModeType iModeType; |
149 HbInputModeType mModeType; |
150 HbTextCase iTextCase; |
150 HbTextCase mTextCase; |
151 HbKeyboardType iKeyboardType; |
151 HbKeyboardType mKeyboardType; |
152 HbInputLanguage iLanguage; |
152 HbInputLanguage mLanguage; |
153 }; |
153 }; |
154 |
154 |
155 #endif // HB_INPUT_STATE_H |
155 #endif // HB_INPUT_STATE_H |
156 |
156 |
157 // End of file |
157 // End of file |