|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef _INPUTSTRLIST_H
|
|
Packit |
1c1d7e |
#define _INPUTSTRLIST_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "input.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <QObject>
|
|
Packit |
1c1d7e |
#include <QStringList>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class QLabel;
|
|
Packit |
1c1d7e |
class QLineEdit;
|
|
Packit |
1c1d7e |
class QPushButton;
|
|
Packit |
1c1d7e |
class QListWidget;
|
|
Packit |
1c1d7e |
class QStringList;
|
|
Packit |
1c1d7e |
class QGridLayout;
|
|
Packit |
1c1d7e |
class QAction;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class InputStrList : public QObject, public Input
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
enum ListMode { ListString = 0,
|
|
Packit |
1c1d7e |
ListFile = 1,
|
|
Packit |
1c1d7e |
ListDir = 2,
|
|
Packit |
1c1d7e |
ListFileDir = ListFile | ListDir
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
InputStrList( QGridLayout *layout,int &row,
|
|
Packit |
1c1d7e |
const QString &id, const QStringList &sl,
|
|
Packit |
1c1d7e |
ListMode v, const QString &docs);
|
|
Packit |
1c1d7e |
void setValue(const QStringList &sl);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QVariant &value();
|
|
Packit |
1c1d7e |
void update();
|
|
Packit |
1c1d7e |
Kind kind() const { return StrList; }
|
|
Packit |
1c1d7e |
QString docs() const { return m_docs; }
|
|
Packit |
1c1d7e |
QString id() const { return m_id; }
|
|
Packit |
1c1d7e |
QString templateDocs() const { return m_tdocs; }
|
|
Packit |
1c1d7e |
void addDependency(Input *) { Q_ASSERT(false); }
|
|
Packit |
1c1d7e |
void setEnabled(bool);
|
|
Packit |
1c1d7e |
void updateDependencies() {}
|
|
Packit |
1c1d7e |
void writeValue(QTextStream &t,QTextCodec *codec);
|
|
Packit |
1c1d7e |
void setTemplateDocs(const QString &docs) { m_tdocs = docs; }
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public slots:
|
|
Packit |
1c1d7e |
void reset();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
signals:
|
|
Packit |
1c1d7e |
void changed();
|
|
Packit |
1c1d7e |
void showHelp(Input *);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void addString();
|
|
Packit |
1c1d7e |
void delString();
|
|
Packit |
1c1d7e |
void updateString();
|
|
Packit |
1c1d7e |
void selectText(const QString &s);
|
|
Packit |
1c1d7e |
void browseFiles();
|
|
Packit |
1c1d7e |
void browseDir();
|
|
Packit |
1c1d7e |
void help();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
void updateDefault();
|
|
Packit |
1c1d7e |
QLabel *m_lab;
|
|
Packit |
1c1d7e |
QLineEdit *m_le;
|
|
Packit |
1c1d7e |
QAction *m_add;
|
|
Packit |
1c1d7e |
QAction *m_del;
|
|
Packit |
1c1d7e |
QAction *m_upd;
|
|
Packit |
1c1d7e |
QAction *m_brFile;
|
|
Packit |
1c1d7e |
QAction *m_brDir;
|
|
Packit |
1c1d7e |
QListWidget *m_lb;
|
|
Packit |
1c1d7e |
QStringList m_default;
|
|
Packit |
1c1d7e |
QStringList m_strList;
|
|
Packit |
1c1d7e |
QVariant m_value;
|
|
Packit |
1c1d7e |
QString m_docs;
|
|
Packit |
1c1d7e |
QString m_id;
|
|
Packit |
1c1d7e |
QString m_tdocs;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|