SVG5/scalendarmenuview.cpp
2025-10-12 13:55:56 +09:00

109 lines
1.8 KiB
C++

#include "scalendarmenuview.h"
#include <QPaintEvent>
#include <QPainter>
#include <QMouseEvent>
SCalendarMenuView::SCalendarMenuView(QWidget *parent) : QWidget(parent)
{
m_strText = "";
m_nID = 0;
m_nFontSize = 18;
Unselect();
}
SCalendarMenuView::~SCalendarMenuView()
{
}
void SCalendarMenuView::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
QSize nSize = size();
int nPaddingLeft = 0;
QRect rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height());
QColor colorBackground;
if(m_bSelected==false)
{
colorBackground = Qt::white;
}
else
{
colorBackground = Qt::gray;
}
painter.fillRect(rectDisplay, colorBackground);
nPaddingLeft = 20;
rectDisplay = QRect(nPaddingLeft, 0, nSize.width()-nPaddingLeft, nSize.height());
QFont font("Roboto");
font.setPixelSize(m_nFontSize);
painter.setFont(font);
painter.setPen(Qt::black);
painter.drawText(rectDisplay, Qt::AlignLeft | Qt::AlignVCenter, m_strText);
}
void SCalendarMenuView::mousePressEvent(QMouseEvent *event)
{
}
void SCalendarMenuView::mouseReleaseEvent(QMouseEvent *event)
{
Select();
update();
ExecuteMenu(m_nID);
}
void SCalendarMenuView::SetText(QString strText)
{
m_strText = strText;
}
void SCalendarMenuView::SetID(int nID)
{
m_nID = nID;
}
void SCalendarMenuView::SetData(int nID, QString strText)
{
SetText(strText);
SetID(nID);
}
int SCalendarMenuView::GetID()
{
return m_nID;
}
void SCalendarMenuView::Select()
{
m_bSelected = true;
}
void SCalendarMenuView::Unselect()
{
m_bSelected = false;
}
bool SCalendarMenuView::IsSelected()
{
return m_bSelected;
}
void SCalendarMenuView::SetFontSize(int nFontSize)
{
m_nFontSize = nFontSize;
}