|
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 _INPUTSTRING_H
|
|
Packit |
1c1d7e |
#define _INPUTSTRING_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "input.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <QObject>
|
|
Packit |
1c1d7e |
#include <QMap>
|
|
Packit |
1c1d7e |
#include <QStringList>
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class QLabel;
|
|
Packit |
1c1d7e |
class QLineEdit;
|
|
Packit |
1c1d7e |
class QToolBar;
|
|
Packit |
1c1d7e |
class QComboBox;
|
|
Packit |
1c1d7e |
class QGridLayout;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class InputString : public QObject, public Input
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
Q_OBJECT
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
enum StringMode { StringFree=0,
|
|
Packit |
1c1d7e |
StringFile=1,
|
|
Packit |
1c1d7e |
StringDir=2,
|
|
Packit |
1c1d7e |
StringFixed=3,
|
|
Packit |
1c1d7e |
StringImage=4
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
InputString( QGridLayout *layout,int &row,
|
|
Packit |
1c1d7e |
const QString &id, const QString &s,
|
|
Packit |
1c1d7e |
StringMode m,
|
|
Packit |
1c1d7e |
const QString &docs,
|
|
Packit |
1c1d7e |
const QString &absPath = QString() );
|
|
Packit |
1c1d7e |
~InputString();
|
|
Packit |
1c1d7e |
void addValue(QString s);
|
|
Packit |
1c1d7e |
void setDefault();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
// Input
|
|
Packit |
1c1d7e |
QVariant &value();
|
|
Packit |
1c1d7e |
void update();
|
|
Packit |
1c1d7e |
Kind kind() const { return String; }
|
|
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 |
void setValue(const QString&);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
signals:
|
|
Packit |
1c1d7e |
void changed();
|
|
Packit |
1c1d7e |
void showHelp(Input *);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
private slots:
|
|
Packit |
1c1d7e |
void browse();
|
|
Packit |
1c1d7e |
void clear();
|
|
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 |
QLabel *m_im;
|
|
Packit |
1c1d7e |
QToolBar *m_br;
|
|
Packit |
1c1d7e |
QComboBox *m_com;
|
|
Packit |
1c1d7e |
QString m_str;
|
|
Packit |
1c1d7e |
QString m_default;
|
|
Packit |
1c1d7e |
StringMode m_sm;
|
|
Packit |
1c1d7e |
QStringList m_values;
|
|
Packit |
1c1d7e |
int m_index;
|
|
Packit |
1c1d7e |
QVariant m_value;
|
|
Packit |
1c1d7e |
QString m_docs;
|
|
Packit |
1c1d7e |
QString m_id;
|
|
Packit |
1c1d7e |
bool m_absPath;
|
|
Packit |
1c1d7e |
QString m_tdocs;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|