summaryrefslogtreecommitdiffstats
path: root/src/kbibtex_part.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kbibtex_part.h')
-rw-r--r--src/kbibtex_part.h169
1 files changed, 169 insertions, 0 deletions
diff --git a/src/kbibtex_part.h b/src/kbibtex_part.h
new file mode 100644
index 0000000..f9a045a
--- /dev/null
+++ b/src/kbibtex_part.h
@@ -0,0 +1,169 @@
+/***************************************************************************
+* Copyright (C) 2004-2006 by Thomas Fischer *
+* fischer@unix-ag.uni-kl.de *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program; if not, write to the *
+* Free Software Foundation, Inc., *
+* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+***************************************************************************/
+
+#ifndef _KBIBTEXPART_H_
+#define _KBIBTEXPART_H_
+
+#include <kparts/part.h>
+#include <kparts/factory.h>
+
+#include <element.h>
+#include <xsltransform.h>
+#include <documentwidget.h>
+#include <settingsdlg.h>
+
+class QWidget;
+class QTextEdit;
+class QFile;
+class QLabel;
+class QTabWidget;
+class QPainter;
+class QListViewItem;
+class QProgressDialog;
+class KURL;
+class KListView;
+class KAction;
+class KActionMenu;
+class KToggleAction;
+class KMainWindow;
+
+class KBibTeXPart : public KParts::ReadWritePart
+{
+ Q_OBJECT
+
+public:
+ KBibTeXPart( QWidget *parentWidget, const char *widgetName,
+ QObject *parent, const char *name );
+
+ virtual ~KBibTeXPart();
+
+ void setReadWrite( bool rw );
+
+ void setModified( bool modified );
+
+ bool saveAs();
+ bool queryClose();
+ virtual bool closeURL();
+
+public slots:
+ virtual bool save();
+
+signals:
+ void signalAddRecentURL( const KURL& );
+
+protected:
+ virtual bool openFile();
+ virtual bool saveFile();
+
+protected slots:
+ void slotFileSaveAs();
+ void slotFileMerge();
+ void slotFileExport();
+ void slotFileStatistics();
+ void slotFileFindDups();
+ void slotPreferences();
+
+private slots:
+ bool slotNewElement();
+ void slotSearchWebsites( int id );
+ void slotToggleShowSpecialElements();
+ void slotDeferredInitialization();
+ void slotUpdateMenu( int numSelectedItems );
+ void slotUndoChanged( bool undoAvailable );
+ void slotUseInPipe();
+
+private:
+ enum SearchDirection
+ {
+ sdForward, sdBackward
+ };
+ enum SaveStatus
+ {
+ ssSave, ssExport, ssFailed
+ };
+
+ int m_defInitCounter;
+ QLabel *m_preview;
+ QProgressDialog *m_progressDialog;
+ KBibTeX::DocumentWidget *m_documentWidget;
+ KBibTeX::SettingsDlg *m_settingsDlg;
+ KAction *m_actionFileMerge;
+ KAction *m_actionFileExport;
+ KAction *m_actionFileStatistics;
+ KAction *m_actionFileFindDups;
+ KAction *m_actionEditUndo;
+ KAction *m_actionElementSendToLyX;
+ KAction *m_actionEditElement;
+ KAction *m_actionDeleteElement;
+ KAction *m_actionEditCut;
+ KAction *m_actionEditCopy;
+ KAction *m_actionEditCopyRef;
+ KAction *m_actionEditPaste;
+ KAction *m_actionEditSelectAll;
+ KAction *m_actionEditFind;
+ KAction *m_actionEditFindNext;
+ KAction *m_actionPreferences;
+ KAction *m_actionSearchOnlineDatabases;
+ KActionMenu *m_actionViewDocument;
+ KAction *m_actionViewFirstDocument;
+ KAction *m_actionViewDocumentOnlineRef;
+ KActionMenu *m_actionAssignKeywords;
+ KAction *m_actionNormalizeIds;
+ KActionMenu *m_actionMenuSearchWebsites;
+ KActionMenu *m_actionViewShowColumns;
+ KAction *m_actionSearchNCBI;
+ KToggleAction *m_actionUseInPipe;
+ KToggleAction *m_actionShowComments;
+ KToggleAction *m_actionShowMacros;
+ KMainWindow *m_mainWindow;
+ QValueList<KBibTeX::WebQuery*> webQueryList;
+ bool m_initializationDone;
+ QFile *m_inPipe;
+
+ void readSettings();
+ void writeSettings();
+
+ void setupGUI( QWidget *parentWidget, const char *name );
+ void setupActions();
+
+signals:
+ void progressCancel();
+};
+
+class KInstance;
+class KAboutData;
+
+class KBibTeXPartFactory : public KParts::Factory
+{
+ Q_OBJECT
+public:
+ KBibTeXPartFactory();
+ virtual ~KBibTeXPartFactory();
+ virtual KParts::Part* createPartObject( QWidget * parentWidget, const char * widgetName,
+ QObject * parent, const char * name,
+ const char * classname, const QStringList & /* args */ );
+ static KInstance* instance();
+
+private:
+ static KInstance* s_instance;
+ static KAboutData* s_about;
+};
+
+#endif // _KBIBTEXPART_H_