109 lines
1.8 KiB
C++
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;
|
|
}
|