Files
Sourcetrail/src/lib_gui/qt/element/QtListBox.h
T
mlangkabel 3ffe76d161 logic: Directory list box now restricts the user to select files, directories or both if required
* split QtDirectoryListBox and QtStringListBox
* renamed QtDirectoryListBox to QtPathListBox
* extracted QtListItemWidget class to own file
* renamed QtListItemWidget to QtListBoxItem
* added SelectionPolicyType to QtPathListBox to allow for specifying if selecting files, directories or both should be allowed.
2018-03-30 18:25:58 +02:00

59 lines
1.0 KiB
C++

#ifndef QT_LIST_BOX_H
#define QT_LIST_BOX_H
#include <QFrame>
#include "utility/file/FilePath.h"
class QEvent;
class QHBoxLayout;
class QListWidget;
class QListWidgetItem;
class QPushButton;
class QtTextEditDialog;
class QtListBoxItem;
class QtListBox
: public QFrame
{
Q_OBJECT
public:
QtListBox(QWidget *parent, const QString& listName);
virtual ~QtListBox() = default;
void clear();
QtListBoxItem* addListBoxItemWithText(const QString& text);
void selectItem(QListWidgetItem* item);
protected:
void addWidgetToBar(QWidget* widget);
bool event(QEvent* event) override;
QListWidget* m_list;
protected slots:
QtListBoxItem* addListBoxItem();
void removeListBoxItem();
void showEditDialog();
void canceledEditDialog();
void savedEditDialog();
private:
virtual QtListBoxItem* createListBoxItem(QListWidgetItem* item) = 0;
QHBoxLayout* m_innerBarLayout;
QPushButton* m_addButton;
QPushButton* m_removeButton;
QString m_listName;
std::shared_ptr<QtTextEditDialog> m_editDialog;
};
#endif // QT_LIST_BOX_H