Warning, file /utilities/kate/addons/katesql/schemawidget.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 SPDX-FileCopyrightText: 2010 Marco Mentasti <marcomentasti@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-only 0005 */ 0006 0007 #pragma once 0008 0009 class SQLManager; 0010 class QMouseEvent; 0011 0012 #include <QSqlDriver> 0013 #include <QString> 0014 #include <QTreeWidget> 0015 #include <QTreeWidgetItem> 0016 0017 class SchemaWidget : public QTreeWidget 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 static const int TableType = QTreeWidgetItem::UserType + 1; 0023 static const int SystemTableType = QTreeWidgetItem::UserType + 2; 0024 static const int ViewType = QTreeWidgetItem::UserType + 3; 0025 static const int FieldType = QTreeWidgetItem::UserType + 4; 0026 static const int TablesFolderType = QTreeWidgetItem::UserType + 101; 0027 static const int SystemTablesFolderType = QTreeWidgetItem::UserType + 102; 0028 static const int ViewsFolderType = QTreeWidgetItem::UserType + 103; 0029 0030 SchemaWidget(QWidget *parent, SQLManager *manager); 0031 ~SchemaWidget() override; 0032 0033 void buildDatabase(QTreeWidgetItem *databaseItem); 0034 void buildTables(QTreeWidgetItem *tablesItem); 0035 void buildViews(QTreeWidgetItem *viewsItem); 0036 void buildFields(QTreeWidgetItem *tableItem); 0037 0038 public Q_SLOTS: 0039 void buildTree(const QString &connection); 0040 void refresh(); 0041 0042 void generateSelectIntoView(); 0043 void generateUpdateIntoView(); 0044 void generateInsertIntoView(); 0045 void generateDeleteIntoView(); 0046 void executeSelect(); 0047 QString generateStatement(QSqlDriver::StatementType statementType); 0048 static void pasteStatementIntoActiveView(const QString &statement); 0049 void generateAndPasteStatement(QSqlDriver::StatementType statementType); 0050 void executeStatement(QSqlDriver::StatementType statement); 0051 0052 private Q_SLOTS: 0053 void slotCustomContextMenuRequested(const QPoint &pos); 0054 void slotItemExpanded(QTreeWidgetItem *item); 0055 0056 private: 0057 static void deleteChildren(QTreeWidgetItem *item); 0058 void mousePressEvent(QMouseEvent *event) override; 0059 void mouseMoveEvent(QMouseEvent *event) override; 0060 bool isConnectionValidAndOpen(); 0061 QString m_connectionName; 0062 QPoint m_dragStartPosition; 0063 0064 bool m_tablesLoaded; 0065 bool m_viewsLoaded; 0066 0067 SQLManager *m_manager; 0068 };