Insight GUI changes:

- New target pinout widgets
- Made auto-refresh of registers and GPIO pad states optional (via context menu on refresh tool button)
This commit is contained in:
Nav
2025-02-18 00:35:39 +00:00
parent e8f747a152
commit 8a473473db
75 changed files with 2927 additions and 2304 deletions

View File

@@ -0,0 +1,45 @@
#include "Label.hpp"
namespace Widgets::PinoutWidgets
{
void Label::refreshGeometry() {
this->minimumWidth = Label::FONT_METRICS.boundingRect(this->text()).width() + (Label::HORIZ_PADDING * 2);
this->width = this->minimumWidth;
}
void Label::paint(QPainter* painter, int startX, int startY) const {
painter->setFont(Label::FONT);
painter->setBrush(this->rectColor());
painter->setPen(Qt::PenStyle::NoPen);
const auto rect = QRect{startX, startY, this->width, Label::HEIGHT};
painter->drawRect(rect);
painter->setPen(this->changed ? this->changedFontColor() : this->fontColor());
painter->drawText(rect, Qt::AlignCenter, this->text());
}
const QColor& Label::rectColor() const {
static constexpr auto RECT_COLOR = QColor{0x42, 0x42, 0x42};
return RECT_COLOR;
}
const QColor& Label::fontColor() const {
static constexpr auto FONT_COLOR = QColor{0xA2, 0xA2, 0xA2};
return FONT_COLOR;
}
const QColor& Label::changedFontColor() const {
/*
* I spent a considerable amount of time attempting to find a good font color for highlighting changes.
* I failed miserably. Have given up, for now.
*
* TODO: Revisit after v2.0.0
*/
return this->fontColor();
// static constexpr auto FONT_COLOR = QColor{0x54, 0x7F, 0xBA};
// return FONT_COLOR;
}
}