File: bibtexdialog.h

package info (click to toggle)
texstudio 2.3%2Bdebian-3
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 20,992 kB
  • sloc: cpp: 61,734; ansic: 4,300; xml: 726; sh: 125; makefile: 25
file content (45 lines) | stat: -rw-r--r-- 1,437 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef BIBTEXDIALOG_H
#define BIBTEXDIALOG_H

#include "mostQtHeaders.h"

namespace Ui {
    class BibTeXDialog;
}

struct BibTeXType {
	QString name;
	QString description;
	QStringList mandatoryFields, optionalFields;
	BibTeXType (const BibTeXType& other): 
			name(other.name), description(other.description), 
			mandatoryFields(other.mandatoryFields), optionalFields(other.optionalFields){}
	BibTeXType (const QString& d, const QString& n, const QStringList& mf, const QStringList& of):
			name(n), description(d), mandatoryFields(mf), optionalFields(of){}		
};


class BibTeXDialog : public QDialog {
    Q_OBJECT
    Q_DISABLE_COPY(BibTeXDialog)
public:
    explicit BibTeXDialog(QWidget *parent = 0, const QStringList& fileList=QStringList(), int curFile=-1, const QString& defId="");
    virtual ~BibTeXDialog();

	QString resultString;
	int resultFileId; //-1 for new, 0..n for files from fileList, -2 for none
	static QString textToInsert(const BibTeXType& entry, bool keepOptionalFields, const QMap<QString,QString>& fields);
	static QString textToInsert(const QString& entryName);
	static QList<BibTeXType> getPossibleBibTeXTypes();
protected:
    virtual void changeEvent(QEvent *e);
	virtual void accept();
private slots:
	void typeSelectionChanged();
private:
    Ui::BibTeXDialog *m_ui;
	static void needTypes();
	static QList<BibTeXType> types;
};

#endif // BIBTEXDIALOG_H