Blame addon/doxywizard/inputstrlist.h

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