10 #include <QListWidget>
28 : m_printFn(
std::move(printFn))
43 void write(
const char *messagePart)
46 const size_t len = strlen(messagePart);
47 const char *messageEnd = messagePart + len;
48 const char *start = messagePart;
50 const char *newLinePos;
51 while ((newLinePos = strchr(start,
'\n')) !=
nullptr)
53 m_currentMessage += QString::fromUtf8(start,
static_cast<int>(newLinePos - start));
54 m_printFn(m_currentMessage);
55 m_currentMessage.clear();
56 start = newLinePos + 1;
59 if (start != messageEnd)
61 m_currentMessage += QString::fromUtf8(start,
static_cast<int>(messageEnd - start));
67 m_printFn(m_currentMessage);
71 QString m_currentMessage{};
72 std::function<void(
const QString &)> m_printFn;
82 void write(
const char *messagePart)
90 m_output.
write(messagePart);
105 const QString m_prefix;
108 if (m_prefix.isEmpty())
137 m_output.
write(messagePart);
158 auto *messageItem =
new QListWidgetItem(message);
159 messageItem->setForeground(m_brush);
160 m_view->addItem(messageItem);
164 if (m_prefix.isEmpty())
static bool Warning(const char *format,...)
Prints out a formatted warning message in console.
static bool Print(const char *format,...)
Prints out a formatted message in console.
ConsoleWrapper(std::function< void(const QString &)> printFn)
void write(const char *messagePart)
Redirects messages to ACloudViewer's console output.
ccConsoleOutput()=default
void write(const char *messagePart)
ccConsoleOutput(const char *prefix)