#include <QGraphicsTextItem>
#include <QGraphicsSceneMouseEvent>
#include "mainwindow.h"
#include "ui_mainwindow.h"
{
ui->setupUi(this);
setupCalendar();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow
::changeEvent(QEvent *e
) {
switch (e->type()) {
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::setupCalendar(){
ui->CalendarView->setScene(&calendarScene);
ui->CalendarView->move(0,0);
ui->CalendarView->show();
initializeCalendarVariables();
drawGrid();
}
void MainWindow::initializeCalendarVariables(){
columns = 3;
interval = 15; // Minutes
boxHeight = 19;
dayStart = 9;
dayEnd = 17;
totalDayLength = dayEnd - dayStart;
horizontalLines = totalDayLength * (60 / interval) + 2; // 1 for the Heading and one for OB1
leftMargin = 35;
topMargin = 20;
columnWidth = 200;
totalWidth = columnWidth *columns; //left to right
totalHeight = boxHeight * horizontalLines; // total height
}
void MainWindow::drawGrid(){
QPen gridLinePen
(Qt
::black,
1, Qt
::SolidLine, Qt
::RoundCap, Qt
::RoundJoin);
//Horizontal Lines
for(int ii=0; ii <= horizontalLines; ii++){
calendarScene.addLine(leftMargin,ii*boxHeight,leftMargin+totalWidth,ii*boxHeight,gridLinePen);
}
//Vertical Lines
for(int jj=0; jj <= columns; jj ++){
calendarScene.addLine(jj * columnWidth + leftMargin,0,jj*columnWidth + leftMargin,totalHeight,gridLinePen);
}
}
{
}
#include <QGraphicsTextItem>
#include <QGraphicsSceneMouseEvent>
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{
ui->setupUi(this);
setupCalendar();
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::setupCalendar(){
ui->CalendarView->setScene(&calendarScene);
ui->CalendarView->move(0,0);
ui->CalendarView->show();
initializeCalendarVariables();
drawGrid();
}
void MainWindow::initializeCalendarVariables(){
columns = 3;
interval = 15; // Minutes
boxHeight = 19;
dayStart = 9;
dayEnd = 17;
totalDayLength = dayEnd - dayStart;
horizontalLines = totalDayLength * (60 / interval) + 2; // 1 for the Heading and one for OB1
leftMargin = 35;
topMargin = 20;
columnWidth = 200;
totalWidth = columnWidth *columns; //left to right
totalHeight = boxHeight * horizontalLines; // total height
}
void MainWindow::drawGrid(){
QPen gridLinePen(Qt::black, 1, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
//Horizontal Lines
for(int ii=0; ii <= horizontalLines; ii++){
calendarScene.addLine(leftMargin,ii*boxHeight,leftMargin+totalWidth,ii*boxHeight,gridLinePen);
}
//Vertical Lines
for(int jj=0; jj <= columns; jj ++){
calendarScene.addLine(jj * columnWidth + leftMargin,0,jj*columnWidth + leftMargin,totalHeight,gridLinePen);
}
}
void MainWindow::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); //Just for testing
}
To copy to clipboard, switch view to plain text mode
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QGraphicsScene>
#include <QGraphicsSceneMouseEvent>
namespace Ui {
class MainWindow;
}
Q_OBJECT
public:
~MainWindow();
protected:
private:
void initializeCalendarVariables();
void setupCalendar();
Ui::MainWindow *ui;
//Calendar
void drawGrid();
int columns;
int interval;
int boxHeight;
int horizontalLines;
int leftMargin;
int topMargin;
int columnWidth;
int totalWidth; //left to right
int totalHeight; // total height
int dayStart;
int dayEnd;
int totalDayLength;
};
#endif // MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QGraphicsScene>
#include <QGraphicsSceneMouseEvent>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
void mousePressEvent(QGraphicsSceneMouseEvent *);
private:
void initializeCalendarVariables();
void setupCalendar();
Ui::MainWindow *ui;
QGraphicsScene calendarScene;
//Calendar
void drawGrid();
int columns;
int interval;
int boxHeight;
int horizontalLines;
int leftMargin;
int topMargin;
int columnWidth;
int totalWidth; //left to right
int totalHeight; // total height
int dayStart;
int dayEnd;
int totalDayLength;
};
#endif // MAINWINDOW_H
To copy to clipboard, switch view to plain text mode
Bookmarks