new_docker_build.sh gains Group 12 (212 GUI/Data plugins); fixes LtsUtilsGuiDds visibility (LTO-stripped exports), LtsProjectionWorkstation unity name shadow, 6 unity-off dirs (dup file-scope statics, ddsftc INTERFACE sources) and reconfigures BUILD_FILTERMANAGEMENT/BUILD_PLUGINS_SERVICEMONITOR=ON
85 lines
1.9 KiB
C++
Executable File
85 lines
1.9 KiB
C++
Executable File
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <memory>
|
|
#include <vector>
|
|
#include <QtCore/QSet>
|
|
#include <LtsWidgets/lts_dialog.h>
|
|
#include "charge_table_model.h"
|
|
#include <ProjectDataManagement/pdm_ftc.h>
|
|
#include <ProjectDataManagement/logger.h>
|
|
|
|
namespace Ui {
|
|
class ChargeTableDialog;
|
|
}
|
|
|
|
namespace Core {
|
|
class FunctionReplyObject;
|
|
}
|
|
|
|
namespace LtsSession {
|
|
class LtsSession;
|
|
}
|
|
|
|
namespace LtsUtils {
|
|
class RequestHelper;
|
|
}
|
|
|
|
namespace FileManagement {
|
|
class ForeignGuiInterface;
|
|
}
|
|
|
|
namespace ProjectDataManagement
|
|
{
|
|
|
|
#ifdef BUILD_WITH_EXTERNAL_DDS
|
|
|
|
class ChargeTableDialog : public LtsWidgets::LtsDialog
|
|
, protected ProjectDataManagement::Interface::Ftc::UpdateChargeTypeReplyHandler
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ChargeTableDialog(QWidget *parent = nullptr, bool organiser = false);
|
|
~ChargeTableDialog();
|
|
|
|
bool init(LtsSession::LtsSession *session, bool showDetails = false, const QSet<GearClass> &gearClasses = {GearClass::GearClass_DuelSim});
|
|
bool apply() override;
|
|
|
|
public slots:
|
|
void setValues(const std::vector<int> &values, bool includeChildren = false);
|
|
void setValues(const QSet<int> &values, bool includeChildren = false);
|
|
|
|
private:
|
|
void retranslate() override;
|
|
void onUpdateChargeTypeReply(const Core::FunctionReplyObject &replyObject) override final;
|
|
void tableColumnOrganiserSetting() override;
|
|
|
|
Ui::ChargeTableDialog *m_ui;
|
|
LtsSession::LtsSession *m_session;
|
|
std::shared_ptr<ProjectDataManagement::Interface::Ftc> m_ftc;
|
|
std::shared_ptr<FileManagement::ForeignGuiInterface> m_flmGui;
|
|
LtsUtils::RequestHelper *m_requestHelper;
|
|
ChargeTableDialogModel *m_model;
|
|
bool m_isOrganiser;
|
|
LOGGER_T m_logger;
|
|
|
|
signals:
|
|
void selectedUleisCodes(const QSet<int> &codes);
|
|
|
|
private slots:
|
|
void enaDisa();
|
|
void showDetails(bool showThem);
|
|
void onEditCharge();
|
|
void onPrint();
|
|
void enaDisaOk(bool hasChanges);
|
|
void onImportButtonClicked();
|
|
void onExportButtonClicked();
|
|
};
|
|
|
|
#endif // BUILD_WITH_EXTERNAL_DDS
|
|
|
|
}
|