]> ruin.nu Git - eonsl.git/blobdiff - eonsl/eonsl.h
These files is for making the project
[eonsl.git] / eonsl / eonsl.h
diff --git a/eonsl/eonsl.h b/eonsl/eonsl.h
new file mode 100644 (file)
index 0000000..8573724
--- /dev/null
@@ -0,0 +1,138 @@
+/***************************************************************************
+                          eonsl.h  -  description
+                             -------------------
+    begin     : mån okt 23 17:11:28 CEST 2000
+    copyright : (C) 2000 by Michael Andreen
+    email     : whale@linux.nu
+    changes   :
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   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 EONSL_H
+#define EONSL_H
+
+// include files for QT
+#include <qstring.h>
+#include <qpopupmenu.h>
+#include <qmainwindow.h>
+#include <qaccel.h>
+#include <qmenubar.h>
+#include <qtoolbar.h>
+#include <qpixmap.h>
+#include <qtoolbutton.h>
+#include <qapp.h>
+#include <qstatusbar.h>
+#include <qwhatsthis.h>
+#include <qmsgbox.h>
+#include <qfiledialog.h>
+#include <qprinter.h>
+#include <qpainter.h>
+
+// application specific includes
+#include "eonslview.h"
+#include "eonsldoc.h"
+#include "resource.h"
+
+/**
+  * This Class is the base class for your application. It sets up the main
+  * window and providing a menubar, toolbar
+  * and statusbar. For the main view, an instance of class EonSLView is
+  * created which creates your view.
+  */
+class EonSL : public QMainWindow
+{
+  Q_OBJECT
+  
+  public:
+    /** construtor */
+    EonSL();
+    /** destructor */
+    ~EonSL();
+    /** initMenuBar creates the menu_bar and inserts the menuitems */
+    void initMenuBar();
+    /** this creates the toolbars. Change the toobar look and add new toolbars in this
+     * function */
+    void initToolBar();
+    /** setup the statusbar */
+    void initStatusBar();
+    /** setup the document*/
+    void initDoc();
+    /** setup the mainview*/
+    void initView();
+  
+    /** overloaded for Message box on last window exit */
+    bool queryExit();
+  
+  public slots:
+  
+    /** switch argument for Statusbar help entries on slot selection */
+    void statusCallback(int id_);
+    /** open a new application window */
+  
+    /** generate a new document in the actual view */
+    void slotFileNew();
+    /** open a document */
+    void slotFileOpen();
+    /** save a document */
+    void slotFileSave();
+    /** save a document under a different filename*/
+    void slotFileSaveAs();
+    /** close the actual file */
+    void slotFileClose();
+    /** print the actual file */
+    void slotFilePrint();
+    /** exits the application */
+    void slotFileQuit();
+    /** put the marked text/object into the clipboard and remove
+     * it from the document */
+    void slotEditCut();
+    /** put the marked text/object into the clipboard*/
+    void slotEditCopy();
+    /** paste the clipboard into the document*/
+    void slotEditPaste();
+    /** toggle the toolbar*/
+    void slotViewToolBar();
+    /** toggle the statusbar*/
+    void slotViewStatusBar();
+  
+    /** shows an about dlg*/
+    void slotHelpAbout();
+  
+    /** change the status message of the whole statusbar temporary */
+    void slotStatusHelpMsg(const QString &text);
+  
+  private:
+
+    /** view is the main widget which represents your working area. The View
+     * class should handle all events of the view widget.  It is kept empty so
+     * you can create your view according to your application's needs by
+     * changing the view class.
+     */
+    EonSLView *view;
+    /** doc represents your actual document and is created only once. It keeps
+     * information such as filename and does the serialization of your files.
+     */
+    EonSLDoc *doc;
+  
+    /** file_menu contains all items of the menubar entry "File" */
+    QPopupMenu *fileMenu;
+    /** edit_menu contains all items of the menubar entry "Edit" */
+    QPopupMenu *editMenu;
+    /** view_menu contains all items of the menubar entry "View" */
+    QPopupMenu *viewMenu;
+    /** view_menu contains all items of the menubar entry "Help" */
+    QPopupMenu *helpMenu;
+  
+    QToolBar *fileToolbar;
+
+};
+#endif 
+