Skip to content

Commit 2d864d6

Browse files
committed
runnable, crashes while running in one instance
1 parent 7c90652 commit 2d864d6

20 files changed

+53
-39
lines changed

MyBachelor.pro.user

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<!DOCTYPE QtCreatorProject>
3-
<!-- Written by QtCreator 15.0.1, 2025-02-21T20:55:11. -->
3+
<!-- Written by QtCreator 15.0.1, 2025-03-07T11:21:00. -->
44
<qtcreator>
55
<data>
66
<variable>EnvironmentId</variable>

absencewindow.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,6 @@ absenceWindow::absenceWindow(QWidget *parent): ScreenWidget(parent) {
6363

6464
absenceWindow::~absenceWindow(){}
6565

66-
void absenceWindow::configure(ShowBasicData*) {
66+
void absenceWindow::configure(ShowBasicData*, ShowBasicData2 *) {
6767

6868
}

absencewindow.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class absenceWindow : public ScreenWidget
2828
public:
2929
absenceWindow(QWidget *parent = nullptr);
3030
~absenceWindow();
31-
void configure(ShowBasicData*) override;
31+
void configure(ShowBasicData*,ShowBasicData2*) override;
3232

3333
signals:
3434
void scheduleAbsenceOpened();

coordinator.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ void Coordinator::showSchedule() {
6767
hideAllScreens(Screen::Schedule);
6868
}
6969

70-
void Coordinator::hideAllScreens(Screen exeption, ShowBasicData* data){
70+
void Coordinator::hideAllScreens(Screen exeption, ShowBasicData* data, ShowBasicData2* data2){
7171
for(auto i = windows.begin(); i != windows.end(); ++i ){
7272
if(i.key() == exeption){
7373
i.value()->show();
74-
i.value()->configure(data);
74+
i.value()->configure(data, data2);
7575
qDebug() << "SHOWING" << &i.key();
7676
}else if(i.key() != exeption){
7777
i.value()->hide();

coordinator.hpp

+2-4
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,9 @@ class Coordinator : public QObject {
4444
void showSettingsWindow();
4545
void showSchedule();
4646
void sendAbsenceSchedule();
47-
void hideAllScreens(Screen exeption, ShowBasicData* data = new ShowBasicData());
47+
void hideAllScreens(Screen exeption, ShowBasicData* data = new ShowBasicData(), ShowBasicData2 *data2 = new ShowBasicData2());
4848
void implementMenuBar(QBoxLayout *layout);
49-
public:
50-
int hourStart;
51-
int dayOfWeek;
49+
5250
private:
5351
QMap<Screen, ScreenWidget*>windows;
5452

gradeswindow.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ gradesWindow::gradesWindow(QWidget *parent): ScreenWidget(parent) {
1111

1212
gradesWindow::~gradesWindow(){}
1313

14-
void gradesWindow::configure(ShowBasicData*) {
14+
void gradesWindow::configure(ShowBasicData*, ShowBasicData2 *) {
1515

1616
}

gradeswindow.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class gradesWindow : public ScreenWidget
1111
public:
1212
gradesWindow(QWidget *parent = nullptr);
1313
~gradesWindow();
14-
void configure(ShowBasicData*) override;
14+
void configure(ShowBasicData*,ShowBasicData2*) override;
1515

1616
private:
1717
QVBoxLayout *mainLayout = new QVBoxLayout;

inputabsence.cpp

+6-7
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,6 @@ inputAbsence::inputAbsence(QWidget *parent): ScreenWidget(parent) {
88
QObject::connect(addAbsence, &QPushButton::clicked,this, [](){
99
coordinator->showSchedule();
1010
});
11-
QObject::connect(coordinator, &Coordinator::sendImputAbsence,this, [=](){
12-
dayBox->setText(QString::number(coordinator->dayOfWeek));
13-
hourBox->setText(QString::number(coordinator->hourStart));
14-
});
1511

1612
setLayout(mainLayout);
1713
nameLine->addWidget(nameLabel);
@@ -36,7 +32,10 @@ inputAbsence::inputAbsence(QWidget *parent): ScreenWidget(parent) {
3632
}
3733
inputAbsence::~inputAbsence(){}
3834

39-
void inputAbsence::configure(ShowBasicData* data) {
40-
InputAbsenceData* castedData = (InputAbsenceData*)data;
41-
nameLabel->setText(castedData->name);
35+
void inputAbsence::configure(ShowBasicData* data, ShowBasicData2* data2) {
36+
InputAbsenceData* passedData1 = (InputAbsenceData*)data;
37+
InputAbsenceData* passedData2 = (InputAbsenceData*)data2;
38+
hourBox->setText(passedData1->name);
39+
dayBox->setText(passedData2->name);
40+
4241
}

inputabsence.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ class inputAbsence : public ScreenWidget
1414
public:
1515
inputAbsence(QWidget *parent = nullptr);
1616
~inputAbsence();
17-
void configure(ShowBasicData*) override;
17+
void configure(ShowBasicData*data, ShowBasicData2*data2) override;
1818

1919
private:
2020
QVBoxLayout *mainLayout = new QVBoxLayout;

menuwindow.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ menuWindow::menuWindow(QWidget*parent): ScreenWidget(parent) {
3939

4040
menuWindow::~menuWindow(){};
4141

42-
void menuWindow::configure(ShowBasicData*) {
42+
void menuWindow::configure(ShowBasicData*, ShowBasicData2 *) {
4343

4444
}

menuwindow.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class menuWindow : public ScreenWidget
1313
public:
1414
menuWindow(QWidget *parent = nullptr);
1515
~menuWindow();
16-
void configure(ShowBasicData*) override;
16+
void configure(ShowBasicData*,ShowBasicData2*) override;
1717

1818
private:
1919
QVBoxLayout *mainLayout = new QVBoxLayout;

registerscreen.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,6 @@ registerscreen::registerscreen(QWidget *parent): ScreenWidget(parent),
6868

6969
registerscreen::~registerscreen(){}
7070

71-
void registerscreen::configure(ShowBasicData*) {
71+
void registerscreen::configure(ShowBasicData*, ShowBasicData2 *) {
7272

7373
}

registerscreen.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class registerscreen : public ScreenWidget
4242
registerscreen(QWidget *parent = nullptr);
4343
~registerscreen();
4444

45-
void configure(ShowBasicData*) override;
45+
void configure(ShowBasicData*,ShowBasicData2*) override;
4646

4747
private:
4848

schedule.cpp

+19-10
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,17 @@ Schedule::Schedule(QWidget*parent): ScreenWidget(parent) {
8383

8484
//in absence add mode
8585
QObject::connect(calendar, &QTableWidget::cellClicked, this, [&](){
86-
coordinator->dayOfWeek = calendar->currentRow();
87-
coordinator->hourStart = calendar->currentColumn();
88-
auto item = calendar->item(coordinator->dayOfWeek, coordinator->hourStart);
89-
if (!item) {
90-
qDebug() << "ITEM IS NOT SELECTED!!!";
91-
notDeletable.show();
92-
return;
93-
}
86+
qDebug()<< "cell clicked";
9487
if(isAbsenceMode == true){
95-
coordinator->showInputAbsence(new InputAbsenceData("Petr"));
88+
qDebug()<< "if statement triggered";
89+
dayOfWeek = calendar->currentRow();
90+
hourStart = calendar->currentColumn();
91+
qDebug() << "variables set";
92+
//crashes here
93+
coordinator->showInputAbsence(new InputAbsenceData(QString::number(hourStart, dayOfWeek)));
94+
qDebug() << "show input absence called";
9695
emit sendImputAbsenceData();
96+
qDebug() <<"signal emited";
9797
}else{
9898
return;
9999
}
@@ -155,6 +155,15 @@ Schedule::Schedule(QWidget*parent): ScreenWidget(parent) {
155155
}
156156
});
157157

158+
for(int i = 0; i < 5; i++){
159+
for(int j = 0; j <10;j++){
160+
auto item = calendar->item(i, j);
161+
if(!item){
162+
calendar->setItem(i,j,new QTableWidgetItem(""));
163+
}
164+
}
165+
qDebug() << "ROW " << i <<" SET";
166+
}
158167
// void scheduleAbsenceOpened();
159168

160169
deleteItemButton->hide();
@@ -363,6 +372,6 @@ bool Schedule::exeptionForAdd(){
363372

364373
}
365374

366-
void Schedule::configure(ShowBasicData*) {
375+
void Schedule::configure(ShowBasicData*, ShowBasicData2 *) {
367376

368377
}

schedule.hpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,18 @@ class Schedule : public ScreenWidget
4040
Schedule(QWidget *parent = nullptr);
4141
~Schedule();
4242
void updateData();
43-
void configure(ShowBasicData*) override;
43+
void configure(ShowBasicData*,ShowBasicData2*) override;
4444

4545
private:
4646
void setupUI();
4747

4848
private:
4949
bool isUpdating = true;
5050
bool isAbsenceMode = false;
51+
52+
int hourStart;
53+
int dayOfWeek;
54+
5155
//bool isTaken = true;
5256
QList<ScheduleItem> cachedSchedule;
5357
QTableWidget* calendar = new QTableWidget(5,10);

screenwidget.hpp

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,16 @@ struct ShowBasicData {
77

88
};
99

10+
struct ShowBasicData2{
11+
12+
};
13+
1014
class ScreenWidget: public QWidget {
1115
Q_OBJECT
1216

1317
public:
1418
ScreenWidget(QWidget *parent = nullptr); // : QWidget(parent) { }
15-
virtual void configure(ShowBasicData*) = 0;
19+
virtual void configure(ShowBasicData*, ShowBasicData2*) = 0;
1620
};
1721

1822
#endif // SCREENWIDGET_H

settingsWindow.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ settingsWindow::settingsWindow(QWidget* parent): ScreenWidget(parent) {
1111

1212
settingsWindow::~settingsWindow() {}
1313

14-
void settingsWindow::configure(ShowBasicData*) {
14+
void settingsWindow::configure(ShowBasicData*, ShowBasicData2 *) {
1515

1616
}

settingsWindow.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class settingsWindow: public ScreenWidget
1212
public:
1313
settingsWindow(QWidget *parent = nullptr);
1414
~settingsWindow();
15-
void configure(ShowBasicData*) override;
15+
void configure(ShowBasicData*, ShowBasicData2*) override;
1616

1717
private:
1818
QVBoxLayout *mainLayout = new QVBoxLayout;

signinscreen.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ SignInScreen::~SignInScreen() {
111111

112112
}
113113

114-
void SignInScreen::configure(ShowBasicData*) {
114+
void SignInScreen::configure(ShowBasicData*, ShowBasicData2 *) {
115115

116116
}
117117

signinscreen.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class SignInScreen: public ScreenWidget
1818
SignInScreen(QWidget *parent = nullptr);
1919
~SignInScreen();
2020

21-
void configure(ShowBasicData*) override;
21+
void configure(ShowBasicData*,ShowBasicData2*) override;
2222

2323
private:
2424
//UI

0 commit comments

Comments
 (0)