Files
Upsilon/escher/src/message_table_cell_with_editable_text.cpp
Émilie Feral d7091397e5 [escher] Rule of 5 in view
Change-Id: Iba04e9046845b544e184530562e34f831fce96f6
2017-05-24 15:32:22 +02:00

47 lines
1.5 KiB
C++

#include <escher/message_table_cell_with_editable_text.h>
#include <escher/palette.h>
#include <escher/app.h>
MessageTableCellWithEditableText::MessageTableCellWithEditableText(Responder * parentResponder, TextFieldDelegate * textFieldDelegate, char * draftTextBuffer, I18n::Message message) :
Responder(parentResponder),
MessageTableCell(message),
m_textField(this, m_textBody, draftTextBuffer, TextField::maxBufferSize(), textFieldDelegate, true, KDText::FontSize::Large, 1.0f, 0.5f)
{
}
View * MessageTableCellWithEditableText::accessoryView() const {
return (View *)&m_textField;
}
const char * MessageTableCellWithEditableText::editedText() const {
return m_textField.text();
}
void MessageTableCellWithEditableText::didBecomeFirstResponder() {
app()->setFirstResponder(&m_textField);
}
bool MessageTableCellWithEditableText::isEditing() {
return m_textField.isEditing();
}
void MessageTableCellWithEditableText::setEditing(bool isEditing) {
m_textField.setEditing(isEditing);
}
void MessageTableCellWithEditableText::setHighlighted(bool highlight) {
MessageTableCell::setHighlighted(highlight);
KDColor backgroundColor = highlight? Palette::Select : KDColorWhite;
m_textField.setBackgroundColor(backgroundColor);
}
void MessageTableCellWithEditableText::setAccessoryText(const char * text) {
m_textField.setText(text);
layoutSubviews();
}
void MessageTableCellWithEditableText::setTextColor(KDColor color) {
m_textField.setTextColor(color);
MessageTableCell::setTextColor(color);
}