| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| #ifndef QG_LIBRARYWIDGET_H |
| #define QG_LIBRARYWIDGET_H |
|
|
| #include <memory> |
| #include "lc_graphicviewawarewidget.h" |
| #include <QModelIndex> |
|
|
| class QG_ActionHandler; |
| class QListView; |
| class QPushButton; |
| class QStandardItemModel; |
| class QStandardItem; |
| class QTreeView; |
|
|
| class QG_LibraryWidget : public LC_GraphicViewAwareWidget{ |
| Q_OBJECT |
| public: |
| QG_LibraryWidget(QG_ActionHandler *action_handler, QWidget* parent = nullptr, const char* name = nullptr, Qt::WindowFlags fl = {}); |
| ~QG_LibraryWidget() override; |
|
|
| QPushButton* getInsertButton() const{ |
| return bInsert; |
| } |
|
|
| void setGraphicView(RS_GraphicView* gview) override; |
| private: |
| QPushButton *bInsert=nullptr; |
| QString getItemDir( QStandardItem * item ); |
| QString getItemPath( QStandardItem * item ); |
| QIcon getIcon( const QString & dir, const QString & dxfFile, const QString & dxfPath ); |
| QString getPathToPixmap( const QString & dir, const QString & dxfFile, const QString & dxfPath ); |
| public slots: |
| void setActionHandler( QG_ActionHandler * ah ); |
| void keyPressEvent( QKeyEvent *e ) override; |
| void insert(); |
| void refresh(); |
| void scanTree(); |
| void buildTree(); |
| void appendTree( QStandardItem * item, QString directory ); |
| void updatePreview( QModelIndex idx ); |
| void expandView( QModelIndex idx ); |
| void collapseView( QModelIndex idx ); |
| void updateWidgetSettings(); |
| signals: |
| void escape();private: |
| QG_ActionHandler* actionHandler = nullptr; |
| std::unique_ptr<QStandardItemModel> dirModel; |
| std::unique_ptr<QStandardItemModel> iconModel; |
| QTreeView *dirView = nullptr; |
| QListView *ivPreview = nullptr; |
| QPushButton *bRefresh = nullptr; |
| QPushButton *bRebuild = nullptr; |
| }; |
|
|
| #endif |
|
|