#pragma once #include "LogViewTelegram.hpp" #include class QAction; class QTableView; namespace N_LogView { class LogViewInjectionThread; class TelegramEditModel; class TelegramEdit :public QObject { Q_OBJECT public: explicit TelegramEdit(QWidget *parent = nullptr); QTableView *tableView() { return m_tableView; } void appendTelegram(const QSharedPointer &telegram); void setInjectionThread(LogViewInjectionThread* a_injectionThread); bool isInjectionPossible() const; protected: QSharedPointer m_copyTelegram; QSharedPointer currentSelectedTelegram() const; QModelIndex currentSelectedIndex() const; QSharedPointer telegramAtRow(int row); void loadTelegramList(bool checkAppend); protected: QAction *m_addTeleAction; QAction *m_editTeleAction; QAction *m_copyTeleAction; QAction *m_pasteTeleAction; QAction *m_deleteTeleAction; QAction *m_moveTeleUpAction; QAction *m_moveTeleDownAction; QAction *m_teleListLoad; QAction *m_teleListAppend; QAction *m_teleListSave; QTableView *m_tableView; bool m_DoLoop; LogViewInjectionThread *m_InjectionThread; int m_currentRowToSend; int m_curEditTelegramRow; TelegramEditModel *m_EditModel; NGL::INGLLogger &m_logger; static QString s_DIR(); static QString s_EDIT_TELEGRAM_GROUP(); static QString s_TELEGRAMLIST_FILE_ID(); static QString s_TELEGRAMLIST_FILES(); protected Q_SLOTS: void addTelegram(); void injectTelegram(bool a_bAsCentralTelegram); void injectTelegram(const QSharedPointer &a_telegram, bool a_bAsCentralTelegram); void sendTelegram(const QSharedPointer &a_telegram); void sendCurrentTelegram(); void tableViewCustomContextMenu(const QPoint &pos); void editTelegram(); void showTelegram(); void deleteTelegram(); void injectCentralTelegram(); void injectTetraTelegram(); void loopTelegrams(); void loopNextTelegram(); void sequenceTelegrams(); void sequenceNextTelegram(); void copy(); void paste(); void moveUp(); void moveDown(); void saveTelegramList(); void loadTelegramListAppend(); void loadTelegramListReplace(); void editTelegramDialogFinished(); void onSelectionChanged(); }; }