00001 /*************************************************************************** 00002 * * 00003 * publication.h * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 * * 00010 * Read the file COPYING for details. * 00011 * * 00012 * copyright: (C) 2003 by Jan Mueller * 00013 * email: janmueller7@hotmail.com * 00014 * * 00015 ***************************************************************************/ 00016 00017 #ifndef PublicationForm_h 00018 #define PublicationForm_h 00019 #include "publicationform.h" 00020 #include "readwriteformbase.h" 00021 00022 class QToolBar; 00023 class QAction; 00024 class FillLinkListBox; 00025 class MainWindow; 00026 00027 class Publication: public ReadWriteFormBase { 00028 Q_OBJECT 00029 00030 private: 00031 Publication(const Publication&); 00032 Publication& operator=(const Publication&); 00033 00034 protected: 00035 PublicationForm *publform; 00036 QToolBar *toolbar; 00037 QAction *insertNoteAction; 00038 QAction *createNoteAction; 00039 QAction *deleteNoteAction; 00040 QAction *createPartAction; 00041 QAction *deletePartAction; 00042 QAction *insertAuthorAction; 00043 QAction *createAuthorAction; 00044 QAction *deleteAuthorAction; 00045 QAction *showBiblioAction; 00046 QAction *addToProjectAction; 00047 00048 FillLinkListBox *filllink; 00049 FillLinkListBox *fillauthor; 00050 FillLinkListBox *fillpart; 00051 bool setData(); 00052 virtual void write(); 00053 void initToolBar(); 00054 00055 public: 00056 Publication(LitUrl url, QObject *receiver, QString slot, MainWindow *parent, const char *name); 00057 ~Publication(); 00058 00059 protected slots: 00060 virtual void setWorkingGui(bool work); 00061 virtual void setReadonlyGui(bool ro); 00062 virtual void setInvalidGui(bool inv); 00063 00064 virtual void showBiblio(); 00065 virtual void insertNote(); 00066 virtual void deleteNote(); 00067 virtual void createNote(); 00068 virtual void insertAuthor(); 00069 virtual void deleteAuthor(); 00070 virtual void createAuthor(); 00071 virtual void createPart(); 00072 virtual void deletePart(); 00073 virtual void chooseJournal(); 00074 virtual void choosePublisher(); 00075 virtual void checkJournal(); 00076 virtual void addToProject(); 00077 }; 00078 #endif