summaryrefslogtreecommitdiffstats
path: root/keduca/keducabuilder/keducabuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'keduca/keducabuilder/keducabuilder.h')
-rw-r--r--keduca/keducabuilder/keducabuilder.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/keduca/keducabuilder/keducabuilder.h b/keduca/keducabuilder/keducabuilder.h
new file mode 100644
index 00000000..74c5eb58
--- /dev/null
+++ b/keduca/keducabuilder/keducabuilder.h
@@ -0,0 +1,126 @@
+/***************************************************************************
+ keducabuilder.h - description
+ -------------------
+ begin : Sat May 26 2001
+ copyright : (C) 2001 by Javier Campos
+ email : javi@asyris.org
+***************************************************************************/
+
+/***************************************************************************
+ * *
+ * 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. *
+ * *
+ ***************************************************************************/
+
+#ifndef KEDUCABUILDER_H
+#define KEDUCABUILDER_H
+
+#include "../libkeduca/fileread.h"
+
+#include <kmainwindow.h>
+
+#include <klistbox.h>
+#include <kaction.h>
+
+#include <qtextview.h>
+#include <qsplitter.h>
+
+/**Main control documents
+ * The Editor. This is the new main window of KEduca.
+ * You can edit a KEduca Document (i.e. Test/Examen) here.
+ *@author Javier Campos
+ */
+
+class KEducaBuilder : public KMainWindow {
+ Q_OBJECT
+
+public:
+ KEducaBuilder(QWidget* parent=0, const char *name=0, WFlags f = WType_TopLevel | WDestructiveClose);
+ ~KEducaBuilder();
+ /** start a dialog that asks the user what he wants to do to start*/
+ bool startChooser();
+ /** Init Internet Gallery Servers */
+ void initGallery(const KURL &urlFile = KURL());
+
+private:
+
+ // Private methods
+
+ /** Init graphical interface */
+ void init();
+ /** Init menu bar settings */
+ void initMenuBar();
+ /** Write settings */
+ void configWrite();
+ /** Read config data */
+ void configRead();
+ /** Check if the current document can save */
+ bool checkSave();
+
+ /** Save the file, return false if save failed for any reason */
+ bool fileSave();
+ /** Save the file under a user-chosen filename, return false if save as
+ failed for any reason */
+ bool fileSaveAs();
+
+ /** Ask the user if he wants to save the file if it has been changed.
+ Returns true if the file may be replaced (that is when he successfully saved it or said "Discard") */
+ bool currentFileMayBeReplaced();
+
+ // Private attributes
+
+ /** KEDUCA file */
+ FileRead *_keducaFile;
+ /** Recent files */
+ KRecentFilesAction *_recentFiles;
+ /** List of answers */
+ KListBox *_listAnswer;
+ /** Preview */
+ QTextView *_preview;
+ /** Main splitter */
+ QSplitter *_split;
+ /** I open a file */
+ bool _isOpenFile;
+ QString _nativeFormat;
+
+public slots:
+ /** Open new file */
+ void slotFileOpenURL( const KURL &url );
+ /** Delete current document and start new */
+ void slotFileOpenNew();
+
+private slots:
+ /** Open new document. */
+ void slotFileOpen();
+ /** Item select */
+ void slotPreview( QListBoxItem *item );
+ /** Close the window */
+ bool queryClose();
+ /** Edit question */
+ void slotEdit();
+ /** Add question */
+ void slotAdd();
+ /** Remove question */
+ void slotRemove();
+ /** Down record */
+ void slotDown();
+ /** Up record */
+ void slotUp();
+ /** Save As... */
+ void slotFileSaveAs();
+ /** Save file */
+ void slotFileSave();
+ /** Print file */
+ void slotFilePrint();
+ /** Header info */
+ int slotHeader();
+ /** Init Gallery */
+ void slotGallery();
+ /** Double click in list, edit question */
+ void slotEditbyList(QListBoxItem *item);
+};
+
+#endif