mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-23 15:50:49 +01:00
[escher] Add methods on message table cells to change rendering
parameters (font size, color ...) Change-Id: I57a6a606607787a83d152eb326f87d9209d273b3
This commit is contained in:
@@ -12,6 +12,7 @@ public:
|
||||
virtual void setHighlighted(bool highlight) override;
|
||||
void setMessage(I18n::Message message);
|
||||
virtual void setTextColor(KDColor color);
|
||||
void setMessageFontSize(KDText::FontSize fontSize);
|
||||
private:
|
||||
MessageTextView m_messageTextView;
|
||||
};
|
||||
|
||||
@@ -6,12 +6,14 @@
|
||||
|
||||
class MessageTableCellWithBuffer : public MessageTableCell {
|
||||
public:
|
||||
MessageTableCellWithBuffer(I18n::Message message = (I18n::Message)0);
|
||||
MessageTableCellWithBuffer(I18n::Message message = (I18n::Message)0, KDText::FontSize fontSize = KDText::FontSize::Small, KDText::FontSize accessoryFontSize = KDText::FontSize::Large, KDColor accessoryTextColor = KDColorBlack);
|
||||
View * accessoryView() const override;
|
||||
void setHighlighted(bool highlight) override;
|
||||
void setAccessoryText(const char * textBody);
|
||||
const char * accessoryText();
|
||||
void setTextColor(KDColor color) override;
|
||||
void setAccessoryTextColor(KDColor color);
|
||||
void setAccessoryFontSize(KDText::FontSize fontSize);
|
||||
protected:
|
||||
BufferTextView m_accessoryView;
|
||||
};
|
||||
|
||||
@@ -18,6 +18,7 @@ public:
|
||||
KDSize minimalSizeForOptimalDisplay() const override;
|
||||
virtual const char * text() const = 0;
|
||||
virtual void setText(const char * text) = 0;
|
||||
void setFontSize(KDText::FontSize fontSize);
|
||||
protected:
|
||||
#if ESCHER_VIEW_LOGGING
|
||||
const char * className() const override;
|
||||
|
||||
@@ -26,3 +26,8 @@ void MessageTableCell::setMessage(I18n::Message text) {
|
||||
void MessageTableCell::setTextColor(KDColor color) {
|
||||
m_messageTextView.setTextColor(color);
|
||||
}
|
||||
|
||||
void MessageTableCell::setMessageFontSize(KDText::FontSize fontSize) {
|
||||
m_messageTextView.setFontSize(fontSize);
|
||||
layoutSubviews();
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include <escher/message_table_cell_with_buffer.h>
|
||||
#include <escher/palette.h>
|
||||
|
||||
MessageTableCellWithBuffer::MessageTableCellWithBuffer(I18n::Message message) :
|
||||
MessageTableCell(message),
|
||||
m_accessoryView(BufferTextView(KDText::FontSize::Large, 1.0f, 0.5f))
|
||||
MessageTableCellWithBuffer::MessageTableCellWithBuffer(I18n::Message message, KDText::FontSize fontSize, KDText::FontSize accessoryFontSize, KDColor accessoryTextColor) :
|
||||
MessageTableCell(message, fontSize),
|
||||
m_accessoryView(BufferTextView(accessoryFontSize, 1.0f, 0.5f, accessoryTextColor))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -30,3 +30,11 @@ void MessageTableCellWithBuffer::setTextColor(KDColor color) {
|
||||
m_accessoryView.setTextColor(color);
|
||||
MessageTableCell::setTextColor(color);
|
||||
}
|
||||
|
||||
void MessageTableCellWithBuffer::setAccessoryTextColor(KDColor color) {
|
||||
m_accessoryView.setTextColor(color);
|
||||
}
|
||||
|
||||
void MessageTableCellWithBuffer::setAccessoryFontSize(KDText::FontSize fontSize) {
|
||||
m_accessoryView.setFontSize(fontSize);
|
||||
}
|
||||
|
||||
@@ -27,6 +27,11 @@ void TextView::setAlignment(float horizontalAlignment, float verticalAlignment)
|
||||
markRectAsDirty(bounds());
|
||||
}
|
||||
|
||||
void TextView::setFontSize(KDText::FontSize fontSize) {
|
||||
m_fontSize = fontSize;
|
||||
markRectAsDirty(bounds());
|
||||
}
|
||||
|
||||
KDSize TextView::minimalSizeForOptimalDisplay() const {
|
||||
return KDText::stringSize(text(), m_fontSize);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user