basic for add button

This commit is contained in:
mrbesen 2021-12-21 18:04:28 +01:00
parent 350d8cae8d
commit 87985abaa0
Signed by: MrBesen
GPG Key ID: 596B2350DCD67504
8 changed files with 160 additions and 13 deletions

31
include/addnewwhat.h Normal file
View File

@ -0,0 +1,31 @@
#pragma once
#include <QDialog>
namespace Ui {
class AddNewWhat;
}
class AddNewWhat : public QDialog {
Q_OBJECT
public:
explicit AddNewWhat(QWidget *parent = nullptr);
~AddNewWhat();
enum ReturnCode {
None = -1,
Cancel = 0,
Row,
Button,
Sample
};
ReturnCode returnCode = ReturnCode::None;
public slots:
virtual void accept() override;
virtual void reject() override;
private:
Ui::AddNewWhat *ui;
};

View File

@ -10,13 +10,11 @@ protected:
public:
virtual ~ButtonManagerItem();
virtual bool hasAdd() const;
virtual bool hasEdit() const;
virtual bool hasRemove() const;
virtual bool hasMoveUp() const;
virtual bool hasMoveDown() const;
virtual void add();
virtual void edit();
virtual void remove();
virtual void moveUp();

View File

@ -30,6 +30,7 @@ SOURCES += \
src/samplereader.cpp \
src/buttonmanager.cpp \
src/buttonmanageritems.cpp \
src/addnewwhat.cpp \
Log/Log.cpp
HEADERS += \
@ -43,6 +44,7 @@ HEADERS += \
include/samplereader.h \
include/buttonmanager.h \
include/buttonmanageritems.h \
include/addnewwhat.h \
miniaudio/miniaudio.h \
Log/Log.h
@ -51,6 +53,7 @@ UI_DIR = ui/
OBJECTS_DIR = obj/
FORMS += \
ui/addnewwhat.ui \
ui/buttonmanager.ui \
ui/editsample.ui \
ui/mainwindow.ui

23
src/addnewwhat.cpp Normal file
View File

@ -0,0 +1,23 @@
#include "addnewwhat.h"
#include "ui_addnewwhat.h"
AddNewWhat::AddNewWhat(QWidget *parent) : QDialog(parent), ui(new Ui::AddNewWhat) {
ui->setupUi(this);
}
AddNewWhat::~AddNewWhat() {
delete ui;
}
void AddNewWhat::accept() {
int idx = ui->comboBox->currentIndex();
returnCode = (ReturnCode) (idx+1);
QDialog::accept();
}
void AddNewWhat::reject() {
returnCode = Cancel;
QDialog::reject();
}

View File

@ -1,6 +1,8 @@
#include "buttonmanager.h"
#include "ui_buttonmanager.h"
#include "addnewwhat.h"
#include <Log.h>
ButtonManager::ButtonManager(Config& conf, MainWindow* parent) : QDialog(parent), ui(new Ui::ButtonManager), mainW(parent), mainConfig(conf) {
@ -33,7 +35,21 @@ void ButtonManager::reject() {
}
void ButtonManager::addButton() {
perform<&ButtonManagerItem::add>();
AddNewWhat whatshouldbeadded(this);
whatshouldbeadded.exec();
AddNewWhat::ReturnCode type = whatshouldbeadded.returnCode;
if(type == AddNewWhat::ReturnCode::Row) {
// create new row
return;
}
if(type == AddNewWhat::ReturnCode::Button) {
// create new button
return;
}
if(type == AddNewWhat::ReturnCode::Sample) {
// create new sample
return;
}
}
void ButtonManager::editButton() {
@ -64,7 +80,7 @@ void ButtonManager::itemSelected() {
ButtonManagerItem* item = dynamic_cast<ButtonManagerItem*>(getSelectedItem());
if(item) {
// set buttons
ui->addButton->setEnabled(item->hasAdd());
// ui->addButton->setEnabled(item->hasAdd());
ui->editButton->setEnabled(item->hasEdit());
ui->deleteButton->setEnabled(item->hasRemove());
ui->moveUpButton->setEnabled(item->hasMoveUp());
@ -72,7 +88,7 @@ void ButtonManager::itemSelected() {
} else {
Log::info << "no valid item selected";
ui->addButton->setEnabled(false);
// ui->addButton->setEnabled(false);
ui->editButton->setEnabled(false);
ui->deleteButton->setEnabled(false);
ui->moveUpButton->setEnabled(false);

View File

@ -12,10 +12,6 @@ ButtonManagerItem::ButtonManagerItem(QTreeWidgetItem* parent, int type) : QTreeW
ButtonManagerItem::~ButtonManagerItem() {}
bool ButtonManagerItem::hasAdd() const {
return false;
}
bool ButtonManagerItem::hasEdit() const {
return false;
}
@ -32,9 +28,6 @@ bool ButtonManagerItem::hasMoveDown() const {
return false;
}
void ButtonManagerItem::add() {}
void ButtonManagerItem::edit() {}
void ButtonManagerItem::remove() {}

83
ui/addnewwhat.ui Normal file
View File

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AddNewWhat</class>
<widget class="QDialog" name="AddNewWhat">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>201</width>
<height>85</height>
</rect>
</property>
<property name="windowTitle">
<string>What Type of Element should be created?</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QComboBox" name="comboBox">
<item>
<property name="text">
<string>Row</string>
</property>
</item>
<item>
<property name="text">
<string>Button</string>
</property>
</item>
<item>
<property name="text">
<string>Sample</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>AddNewWhat</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>227</x>
<y>204</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>AddNewWhat</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>295</x>
<y>210</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

View File

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
<string>Edit Sample</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>