Files
VkuMonitor/cpp/window/SetupDialog/SetupDialog.h
2024-07-03 19:11:29 +09:00

102 lines
2.5 KiB
C++

/*
Copyright (c) 2015, 2016 Hubert Denkmair <hubert@denkmair.de>
This file is part of cangaroo.
cangaroo is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
cangaroo is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with cangaroo. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include <QDialog>
#include <QAction>
class Backend;
class MeasurementSetup;
class MeasurementNetwork;
class MeasurementInterface;
class QItemSelection;
class SetupDialogTreeItem;
class SetupDialogTreeModel;
namespace Ui {
class SetupDialog;
}
class SetupDialog : public QDialog
{
Q_OBJECT
public:
explicit SetupDialog(Backend &backend, QWidget *parent = 0);
~SetupDialog();
bool showSetupDialog(MeasurementSetup &setup);
void addPage(QWidget *widget);
void displayPage(QWidget *widget);
signals:
void onShowInterfacePage(SetupDialog &dlg, MeasurementInterface *mi);
public slots:
void treeViewSelectionChanged(const QItemSelection & selected, const QItemSelection & deselected);
void treeViewContextMenu(const QPoint& pos);
private slots:
void edNetworkNameChanged();
void on_btAddInterface_clicked();
void on_btRemoveInterface_clicked();
void on_btAddDatabase_clicked();
void on_btRemoveDatabase_clicked();
void updateButtons();
void executeAddCanDb();
void executeReloadCanDbs();
void executeDeleteCanDb();
void executeAddInterface();
void executeDeleteInterface();
void on_btAddNetwork_clicked();
void on_btRemoveNetwork_clicked();
void on_btRefreshNetworks_clicked();
private:
Ui::SetupDialog *ui;
Backend *_backend;
QAction *_actionDeleteInterface;
QAction *_actionDeleteCanDb;
QAction *_actionAddInterface;
QAction *_actionAddCanDb;
QAction *_actionReloadCanDbs;
SetupDialogTreeModel *model;
MeasurementNetwork *_currentNetwork;
QModelIndex getSelectedIndex();
SetupDialogTreeItem *getSelectedItem();
void addCanDb(const QModelIndex &parent);
void reloadCanDbs(const QModelIndex &parent);
void addInterface(const QModelIndex &parent);
};