From b6355b1d65edfa51c9f80ac4c8c088bf9f19b788 Mon Sep 17 00:00:00 2001 From: Fanda Vacek Date: Mon, 18 Feb 2019 20:07:20 +0100 Subject: variable font size --- qtmips_gui/cacheview.cpp | 3 ++- qtmips_gui/coreview.cpp | 3 ++- qtmips_gui/coreview/adder.cpp | 3 ++- qtmips_gui/coreview/alu.cpp | 3 ++- qtmips_gui/coreview/constant.cpp | 3 ++- qtmips_gui/coreview/instructionview.cpp | 4 +++- qtmips_gui/coreview/logicblock.cpp | 3 ++- qtmips_gui/coreview/memory.cpp | 3 ++- qtmips_gui/coreview/programcounter.cpp | 5 +++-- qtmips_gui/coreview/registers.cpp | 3 ++- qtmips_gui/coreview/value.cpp | 3 ++- qtmips_gui/fontsize.cpp | 23 +++++++++++++++++++++++ qtmips_gui/fontsize.h | 14 ++++++++++++++ qtmips_gui/mainwindow.cpp | 1 + qtmips_gui/qtmips_gui.pro | 6 ++++-- 15 files changed, 66 insertions(+), 14 deletions(-) create mode 100644 qtmips_gui/fontsize.cpp create mode 100644 qtmips_gui/fontsize.h (limited to 'qtmips_gui') diff --git a/qtmips_gui/cacheview.cpp b/qtmips_gui/cacheview.cpp index d279083..9373cff 100644 --- a/qtmips_gui/cacheview.cpp +++ b/qtmips_gui/cacheview.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "cacheview.h" +#include "fontsize.h" #include ////////////////////// @@ -145,7 +146,7 @@ CacheViewBlock::CacheViewBlock(const machine::Cache *cache, unsigned block , boo curr_row = 0; QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); validity = new QGraphicsSimpleTextItem*[rows]; if (cache->config().write_policy() == machine::MachineConfigCache::WP_BACK) diff --git a/qtmips_gui/coreview.cpp b/qtmips_gui/coreview.cpp index 2e8ec5c..121b622 100644 --- a/qtmips_gui/coreview.cpp +++ b/qtmips_gui/coreview.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "coreview.h" +#include "fontsize.h" #include ////////////////////////////////////////////////////////////////////////////// @@ -243,7 +244,7 @@ coreview::Signal *CoreViewScene::new_signal(const coreview::Connector *a, const QGraphicsSimpleTextItem *CoreViewScene::new_label(const QString &str, qreal x, qreal y) { QGraphicsSimpleTextItem *i= new QGraphicsSimpleTextItem(str); QFont f; - f.setPointSize(5); + f.setPointSize(FontSize::SIZE5); i->setFont(f); addItem(i); i->setPos(x, y); diff --git a/qtmips_gui/coreview/adder.cpp b/qtmips_gui/coreview/adder.cpp index 0da3814..d24b603 100644 --- a/qtmips_gui/coreview/adder.cpp +++ b/qtmips_gui/coreview/adder.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "adder.h" +#include "fontsize.h" #include using namespace coreview; @@ -47,7 +48,7 @@ using namespace coreview; Adder::Adder() : QGraphicsItem(nullptr), plus("+", this) { QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); plus.setFont(font); QRectF plus_box = plus.boundingRect(); plus.setPos(DENT + (WIDTH-DENT)/2 - plus_box.width()/2, HEIGHT/2 - plus_box.height()/2); diff --git a/qtmips_gui/coreview/alu.cpp b/qtmips_gui/coreview/alu.cpp index 5327f4e..31f1529 100644 --- a/qtmips_gui/coreview/alu.cpp +++ b/qtmips_gui/coreview/alu.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "alu.h" +#include "fontsize.h" #include ////////////////////// @@ -46,7 +47,7 @@ coreview::Alu::Alu() : QGraphicsItem(nullptr), name("ALU", this) { name.setPos(3, 25); QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); name.setFont(font); con_in_a = new Connector(Connector::AX_X); diff --git a/qtmips_gui/coreview/constant.cpp b/qtmips_gui/coreview/constant.cpp index 15ebbc7..a4286e6 100644 --- a/qtmips_gui/coreview/constant.cpp +++ b/qtmips_gui/coreview/constant.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "constant.h" +#include "fontsize.h" #include using namespace coreview; @@ -44,7 +45,7 @@ using namespace coreview; Constant::Constant(const Connector *con, const QString &text) : QGraphicsObject(nullptr), text(text, this) { QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); this->text.setFont(font); con_our = new Connector(Connector::AX_X); diff --git a/qtmips_gui/coreview/instructionview.cpp b/qtmips_gui/coreview/instructionview.cpp index 495edfb..9794ae5 100644 --- a/qtmips_gui/coreview/instructionview.cpp +++ b/qtmips_gui/coreview/instructionview.cpp @@ -34,6 +34,8 @@ ******************************************************************************/ #include "instructionview.h" +#include "../fontsize.h" + #include #include @@ -49,7 +51,7 @@ using namespace coreview; InstructionView::InstructionView() : QGraphicsObject(nullptr), text(this) { QFont f; - f.setPointSize(6); + f.setPointSize(FontSize::SIZE6); text.setFont(f); // Initialize to NOP diff --git a/qtmips_gui/coreview/logicblock.cpp b/qtmips_gui/coreview/logicblock.cpp index e2c5e24..dfc77b1 100644 --- a/qtmips_gui/coreview/logicblock.cpp +++ b/qtmips_gui/coreview/logicblock.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "logicblock.h" +#include "fontsize.h" #include using namespace coreview; @@ -49,7 +50,7 @@ LogicBlock::LogicBlock(QString name) : LogicBlock(QVector({name})) { } LogicBlock::LogicBlock(QVector name) : QGraphicsObject(nullptr) { QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); qreal h = 0, w = 0; for (int i = 0; i < name.size(); i++) { diff --git a/qtmips_gui/coreview/memory.cpp b/qtmips_gui/coreview/memory.cpp index 7d30da8..b690db4 100644 --- a/qtmips_gui/coreview/memory.cpp +++ b/qtmips_gui/coreview/memory.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "memory.h" +#include "fontsize.h" #include using namespace coreview; @@ -49,7 +50,7 @@ Memory::Memory(bool cache_used, const machine::Cache *cch) : QGraphicsObject(nul cache = cache_used; QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); name.setFont(font); type.setFont(font); cache_t.setFont(font); diff --git a/qtmips_gui/coreview/programcounter.cpp b/qtmips_gui/coreview/programcounter.cpp index 262d122..3a8c068 100644 --- a/qtmips_gui/coreview/programcounter.cpp +++ b/qtmips_gui/coreview/programcounter.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "programcounter.h" +#include "fontsize.h" #include using namespace coreview; @@ -49,10 +50,10 @@ ProgramCounter::ProgramCounter(machine::QtMipsMachine *machine) : QGraphicsObjec QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); name.setPos(WIDTH/2 - name.boundingRect().width()/2, 0); name.setFont(font); - font.setPointSize(8); + font.setPointSize(FontSize::SIZE8); value.setText(QString("0x") + QString::number(machine->registers()->read_pc(), 16)); value.setPos(1, HEIGHT - value.boundingRect().height()); value.setFont(font); diff --git a/qtmips_gui/coreview/registers.cpp b/qtmips_gui/coreview/registers.cpp index d58109f..8ccff27 100644 --- a/qtmips_gui/coreview/registers.cpp +++ b/qtmips_gui/coreview/registers.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "registers.h" +#include "fontsize.h" #include using namespace coreview; @@ -56,7 +57,7 @@ Registers::Registers() : QGraphicsObject(nullptr), name("Registers", this) { // TODO do we want to have any hooks on real registers? QFont font; - font.setPointSize(7); + font.setPointSize(FontSize::SIZE7); name.setFont(font); QRectF name_box = name.boundingRect(); diff --git a/qtmips_gui/coreview/value.cpp b/qtmips_gui/coreview/value.cpp index 9a3ab09..2be8bb6 100644 --- a/qtmips_gui/coreview/value.cpp +++ b/qtmips_gui/coreview/value.cpp @@ -34,6 +34,7 @@ ******************************************************************************/ #include "value.h" +#include "../fontsize.h" using namespace coreview; @@ -58,7 +59,7 @@ QRectF Value::boundingRect() const { void Value::paint(QPainter *painter, const QStyleOptionGraphicsItem *option __attribute__((unused)), QWidget *widget __attribute__((unused))){ QFont f; - f.setPointSize(7); + f.setPointSize(FontSize::SIZE7); painter->setFont(f); QRectF rect; diff --git a/qtmips_gui/fontsize.cpp b/qtmips_gui/fontsize.cpp new file mode 100644 index 0000000..8923d08 --- /dev/null +++ b/qtmips_gui/fontsize.cpp @@ -0,0 +1,23 @@ +#include "fontsize.h" + +#include +#include +#include +#include + +int FontSize::SIZE5 = 5; +int FontSize::SIZE6 = 6; +int FontSize::SIZE7 = 7; +int FontSize::SIZE8 = 8; + +void FontSize::init() +{ + int h = QFontMetrics(QApplication::font()).height(); + qDebug() << "Font size:" << h; + h /= 5; + int d = h / 10 + 1; + FontSize::SIZE5 = h - 2*d; + FontSize::SIZE6 = h - d; + FontSize::SIZE7 = h; + FontSize::SIZE8 = h + d; +} diff --git a/qtmips_gui/fontsize.h b/qtmips_gui/fontsize.h new file mode 100644 index 0000000..d5a20e3 --- /dev/null +++ b/qtmips_gui/fontsize.h @@ -0,0 +1,14 @@ +#ifndef FONTSIZES_H +#define FONTSIZES_H + +struct FontSize +{ + static int SIZE5; + static int SIZE6; + static int SIZE7; + static int SIZE8; + + static void init(); +}; + +#endif // FONTSIZES_H diff --git a/qtmips_gui/mainwindow.cpp b/qtmips_gui/mainwindow.cpp index 5174949..bbb3a3b 100644 --- a/qtmips_gui/mainwindow.cpp +++ b/qtmips_gui/mainwindow.cpp @@ -36,6 +36,7 @@ #include "mainwindow.h" #include "aboutdialog.h" #include "ossyscall.h" +#include "fontsize.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { machine = nullptr; diff --git a/qtmips_gui/qtmips_gui.pro b/qtmips_gui/qtmips_gui.pro index e9c0caf..4f4b863 100644 --- a/qtmips_gui/qtmips_gui.pro +++ b/qtmips_gui/qtmips_gui.pro @@ -56,7 +56,8 @@ SOURCES += \ peripheralsdock.cpp \ terminaldock.cpp \ peripheralsview.cpp \ - coreview/multitext.cpp + coreview/multitext.cpp \ + fontsize.cpp HEADERS += \ mainwindow.h \ @@ -92,7 +93,8 @@ HEADERS += \ peripheralsdock.h \ terminaldock.h \ peripheralsview.h \ - coreview/multitext.h + coreview/multitext.h \ + fontsize.h FORMS += \ NewDialog.ui \ -- cgit v1.2.3