File indexing completed on 2024-06-16 04:47:16

0001 /***************************************************************************
0002  * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr
0003  * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  ***************************************************************************/
0006 #ifndef SKGDEBUGPLUGINWIDGET_H
0007 #define SKGDEBUGPLUGINWIDGET_H
0008 /** @file
0009 * This file is a plugin for debug.
0010 *
0011 * @author Stephane MANKOWSKI / Guillaume DE BURE
0012  */
0013 #include "skgtabpage.h"
0014 #include "ui_skgdebugpluginwidget_base.h"
0015 
0016 /**
0017  * This file is a plugin for debug
0018  */
0019 class SKGDebugPluginWidget : public SKGTabPage
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     /**
0025      * Default Constructor
0026      * @param iParent the parent widget
0027      * @param iDocument the document
0028      */
0029     explicit SKGDebugPluginWidget(QWidget* iParent, SKGDocument* iDocument);
0030 
0031     /**
0032      * Default Destructor
0033      */
0034     ~SKGDebugPluginWidget() override;
0035 
0036     /**
0037      * Get the current state
0038      * MUST BE OVERWRITTEN
0039      * @return a string containing all information needed to set the same state.
0040      * Could be an XML stream
0041      */
0042     QString getState() override;
0043 
0044     /**
0045      * Set the current state
0046      * MUST BE OVERWRITTEN
0047      * @param iState must be interpreted to set the state of the widget
0048      */
0049     void setState(const QString& iState) override;
0050 
0051 private Q_SLOTS:
0052     void onExecuteSqlOrderInTransaction();
0053     void onExecuteSqlOrder(bool iInTransaction = false);
0054     void onTraceLevelModified();
0055     void onProfilingModeChanged();
0056     void onModeChanged();
0057     void onRefreshViewsAndIndexes();
0058     SKGError executeSqlOrders(const QStringList& iSQL, QString& oOutput);
0059 
0060 private:
0061     Q_DISABLE_COPY(SKGDebugPluginWidget)
0062 
0063     Ui::skgdebugplugin_base ui{};
0064 };
0065 
0066 #endif  // SKGDEBUGPLUGINWIDGET_H