]> ruin.nu Git - eonsl.git/commitdiff
These files is for making the project
authorMichael Andreen <harv@ruin.nu>
Wed, 27 Dec 2000 18:39:50 +0000 (18:39 +0000)
committerMichael Andreen <harv@ruin.nu>
Wed, 27 Dec 2000 18:39:50 +0000 (18:39 +0000)
The initial source code.

15 files changed:
eonsl/ccreature.cpp [new file with mode: 0644]
eonsl/ccreature.h [new file with mode: 0644]
eonsl/eonsl.cpp [new file with mode: 0644]
eonsl/eonsl.h [new file with mode: 0644]
eonsl/eonsl.xpm [new file with mode: 0644]
eonsl/eonsldoc.cpp [new file with mode: 0644]
eonsl/eonsldoc.h [new file with mode: 0644]
eonsl/eonslview.cpp [new file with mode: 0644]
eonsl/eonslview.h [new file with mode: 0644]
eonsl/filenew.xpm [new file with mode: 0644]
eonsl/fileopen.xpm [new file with mode: 0644]
eonsl/filesave.xpm [new file with mode: 0644]
eonsl/main.cpp [new file with mode: 0644]
eonsl/mini-eonsl.xpm [new file with mode: 0644]
eonsl/resource.h [new file with mode: 0644]

diff --git a/eonsl/ccreature.cpp b/eonsl/ccreature.cpp
new file mode 100644 (file)
index 0000000..a1ad293
--- /dev/null
@@ -0,0 +1,24 @@
+/***************************************************************************
+                          ccreature.cpp  -  description
+                             -------------------
+    begin     : Tue Oct 31 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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "ccreature.h"
+
+CCreature::CCreature(){
+}
+CCreature::~CCreature(){
+}
diff --git a/eonsl/ccreature.h b/eonsl/ccreature.h
new file mode 100644 (file)
index 0000000..4cffee9
--- /dev/null
@@ -0,0 +1,65 @@
+/***************************************************************************
+                          ccreature.h  -  description
+                             -------------------
+    begin     : Tue Oct 31 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 CCREATURE_H
+#define CCREATURE_H
+
+//QT includes
+#include <qobject.h>
+#include <qfile.h>
+/**This class is the base class for every creature; living, undead and so on.
+       This will probably be the only class for creaturs in the end.
+  *@author Michael Andreen
+  *@short Class for creatures; Humans, monsters and so on.
+  */
+class CCreature : public QObject
+{
+Q_OBJECT
+public:
+       /** Create an empty CCreature object */
+       CCreature();
+       /** Load a creature from file. The only thing it does is calling
+                       the memberfunction load(QString *filename)
+         @param filename The path to the file that holds the creature
+        */
+       CCreature(QString *filename);
+       /**Create a creature (probably a npc) with randomized attributes
+          @param race i.e: Human, Elf
+          @param profession e.g: Warrior, thief
+          @param level defines how good the creature are, e.g: 0=not good at all.
+        */
+       CCreature(QString race, QString profession, int level);
+       /** Delete the CCreature object */
+       ~CCreature();
+protected:
+       /*
+        * This is the pointer to the first closecombat weapon.
+        */
+//     CCloseWeapon*   m_firstCWeapon;
+       /*
+        * This is the pointer to the first range weapon.
+        */
+//     CRangeWeapon*   m_firstRWeapon;
+       /*
+        * This is the pointer to the first container. This hold a linked list with a lot of items.
+        */
+//     CContainer*             m_firstContainer;
+
+};
+
+#endif
diff --git a/eonsl/eonsl.cpp b/eonsl/eonsl.cpp
new file mode 100644 (file)
index 0000000..0e90cc1
--- /dev/null
@@ -0,0 +1,419 @@
+/***************************************************************************
+                          eonsl.cpp  -  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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "eonsl.h"
+#include "filesave.xpm"
+#include "fileopen.xpm"
+#include "filenew.xpm"
+
+EonSL::EonSL()
+{
+  setCaption("EonSL " VERSION);
+  
+  ///////////////////////////////////////////////////////////////////
+  // call inits to invoke all other construction parts
+  initMenuBar();
+  initToolBar();
+  initStatusBar();
+
+  initDoc();
+  initView();  
+}
+
+EonSL::~EonSL()
+{
+}
+
+void EonSL::initMenuBar()
+{
+  ///////////////////////////////////////////////////////////////////
+  // MENUBAR
+
+  ///////////////////////////////////////////////////////////////////
+  // menuBar entry fileMenu
+
+  fileMenu=new QPopupMenu();
+  fileMenu->insertItem("&New", this, SLOT(slotFileNew()), CTRL+Key_N, ID_FILE_NEW);
+  fileMenu->insertItem("&Open...", this, SLOT(slotFileOpen()), CTRL+Key_O, ID_FILE_OPEN);
+  fileMenu->insertSeparator();
+  fileMenu->insertItem("&Save", this, SLOT(slotFileSave()), CTRL+Key_S, ID_FILE_SAVE);
+  fileMenu->insertItem("Save &as...", this, SLOT(slotFileSaveAs()), 0, ID_FILE_SAVE_AS);
+  fileMenu->insertItem("&Close", this, SLOT(slotFileClose()), CTRL+Key_W, ID_FILE_CLOSE);
+  fileMenu->insertSeparator();
+  fileMenu->insertItem("&Print", this, SLOT(slotFilePrint()), CTRL+Key_P, ID_FILE_PRINT);
+  fileMenu->insertSeparator();
+  fileMenu->insertItem("E&xit", this, SLOT(slotFileQuit()), CTRL+Key_Q, ID_FILE_QUIT);
+
+  ///////////////////////////////////////////////////////////////////
+  // menuBar entry editMenu
+  editMenu=new QPopupMenu();
+  editMenu->insertItem("Cu&t", this, SLOT(slotEditCut()), CTRL+Key_X, ID_EDIT_CUT);
+  editMenu->insertItem("&Copy", this, SLOT(slotEditCopy()), CTRL+Key_C, ID_EDIT_COPY);
+  editMenu->insertItem("&Paste", this, SLOT(slotEditPaste()), CTRL+Key_V, ID_EDIT_PASTE);
+  
+  ///////////////////////////////////////////////////////////////////
+  // menuBar entry viewMenu
+  viewMenu=new QPopupMenu();
+  viewMenu->setCheckable(true);
+  viewMenu->insertItem("Tool&bar", this, SLOT(slotViewToolBar()), 0, ID_VIEW_TOOLBAR);
+  viewMenu->insertItem("&Statusbar", this, SLOT(slotViewStatusBar()), 0, ID_VIEW_STATUSBAR);
+
+  viewMenu->setItemChecked(ID_VIEW_TOOLBAR, true);
+  viewMenu->setItemChecked(ID_VIEW_STATUSBAR, true);
+
+  ///////////////////////////////////////////////////////////////////
+  // EDIT YOUR APPLICATION SPECIFIC MENUENTRIES HERE
+  
+  ///////////////////////////////////////////////////////////////////
+  // menuBar entry helpMenu
+  helpMenu=new QPopupMenu();
+  helpMenu->insertItem("About...", this, SLOT(slotHelpAbout()), 0, ID_HELP_ABOUT);
+
+
+  ///////////////////////////////////////////////////////////////////
+  // MENUBAR CONFIGURATION
+  // set menuBar() the current menuBar 
+
+  menuBar()->insertItem("&File", fileMenu);
+  menuBar()->insertItem("&Edit", editMenu);
+  menuBar()->insertItem("&View", viewMenu);
+  menuBar()->insertSeparator();
+  menuBar()->insertItem("&Help", helpMenu);
+  
+  ///////////////////////////////////////////////////////////////////
+  // CONNECT THE SUBMENU SLOTS WITH SIGNALS
+
+  connect(fileMenu, SIGNAL(highlighted(int)), SLOT(statusCallback(int)));
+  connect(editMenu, SIGNAL(highlighted(int)), SLOT(statusCallback(int)));
+  connect(viewMenu, SIGNAL(highlighted(int)), SLOT(statusCallback(int)));
+  connect(helpMenu, SIGNAL(highlighted(int)), SLOT(statusCallback(int)));
+  
+}
+
+void EonSL::initToolBar()
+{
+  ///////////////////////////////////////////////////////////////////
+  // TOOLBAR
+  QPixmap openIcon, saveIcon, newIcon;
+
+  fileToolbar = new QToolBar(this, "file operations");
+  newIcon = QPixmap(filenew);
+  QToolButton *fileNew = new QToolButton(newIcon, "New File", 0, this,
+                                         SLOT(slotFileNew()), fileToolbar);
+
+  openIcon = QPixmap(fileopen);
+  QToolButton *fileOpen = new QToolButton(openIcon, "Open File", 0, this,
+                                          SLOT(slotFileOpen()), fileToolbar);
+
+  saveIcon = QPixmap(filesave);
+  QToolButton *fileSave = new QToolButton(saveIcon, "Save File", 0, this,
+                                          SLOT(slotFileSave()), fileToolbar);
+  
+  
+  fileToolbar->addSeparator();
+  QWhatsThis::whatsThisButton(fileToolbar);
+  QWhatsThis::add(fileNew,"Click this button to create a new file.\n\n"
+                  "You can also select the New command from the File menu.");
+  QWhatsThis::add(fileOpen,"Click this button to open a new file.\n\n"
+                  "You can also select the Open command from the File menu.");
+  QWhatsThis::add(fileSave,"Click this button to save the file you are "
+                  "editing. You will be prompted for a file name.\n\n"
+                  "You can also select the Save command from the File menu.");
+  
+}
+
+void EonSL::initStatusBar()
+{
+  ///////////////////////////////////////////////////////////////////
+  //STATUSBAR
+  statusBar()->message(IDS_STATUS_DEFAULT, 2000);
+}
+
+void EonSL::initDoc()
+{
+   doc=new EonSLDoc();
+}
+
+void EonSL::initView()
+{ 
+  ////////////////////////////////////////////////////////////////////
+  // set the main widget here
+  view=new EonSLView(this, doc);
+  setCentralWidget(view);
+}
+
+bool EonSL::queryExit()
+{
+  int exit=QMessageBox::information(this, "Quit...",
+                                    "Do your really want to quit?",
+                                    QMessageBox::Ok, QMessageBox::Cancel);
+
+  if (exit==1)
+  {
+
+  }
+  else
+  {
+
+  };
+
+  return (exit==1);
+}
+
+/////////////////////////////////////////////////////////////////////
+// SLOT IMPLEMENTATION
+/////////////////////////////////////////////////////////////////////
+
+
+void EonSL::slotFileNew()
+{
+  statusBar()->message("Creating new file...");
+  doc->newDoc();
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotFileOpen()
+{
+  statusBar()->message("Opening file...");
+
+  QString fileName = QFileDialog::getOpenFileName(0,0,this);
+  if (!fileName.isEmpty())
+  {
+    doc->load(fileName);
+    setCaption(fileName);
+    QString message="Loaded document: "+fileName;
+    statusBar()->message(message, 2000);
+  }
+  else
+  {
+    statusBar()->message("Opening aborted", 2000);
+  }
+}
+
+
+void EonSL::slotFileSave()
+{
+  statusBar()->message("Saving file...");
+  doc->save();
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotFileSaveAs()
+{
+  statusBar()->message("Saving file under new filename...");
+  QString fn = QFileDialog::getSaveFileName(0, 0, this);
+  if (!fn.isEmpty())
+  {
+    doc->saveAs(fn);
+  }
+  else
+  {
+    statusBar()->message("Saving aborted", 2000);
+  }
+
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotFileClose()
+{
+  statusBar()->message("Closing file...");
+
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotFilePrint()
+{
+  statusBar()->message("Printing...");
+  QPrinter printer;
+  if (printer.setup(this))
+  {
+    QPainter painter;
+    painter.begin(&printer);
+
+    ///////////////////////////////////////////////////////////////////
+    // TODO: Define printing by using the QPainter methods here
+
+    painter.end();
+  };
+
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotFileQuit()
+{ 
+  statusBar()->message("Exiting application...");
+  ///////////////////////////////////////////////////////////////////
+  // exits the Application
+  if(doc->isModified())
+  {
+    if(queryExit())
+    {
+      qApp->quit();
+    }
+    else
+    {
+
+    };
+  }
+  else
+  {
+    qApp->quit();
+  };
+
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotEditCut()
+{
+  statusBar()->message("Cutting selection...");
+
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotEditCopy()
+{
+  statusBar()->message("Copying selection to clipboard...");
+  
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotEditPaste()
+{
+  statusBar()->message("Inserting clipboard contents...");
+  
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+
+void EonSL::slotViewToolBar()
+{
+  statusBar()->message("Toggle toolbar...");
+  ///////////////////////////////////////////////////////////////////
+  // turn Toolbar on or off
+  
+  if (fileToolbar->isVisible())
+  {
+    fileToolbar->hide();
+    viewMenu->setItemChecked(ID_VIEW_TOOLBAR, false);
+  } 
+  else
+  {
+    fileToolbar->show();
+    viewMenu->setItemChecked(ID_VIEW_TOOLBAR, true);
+  };
+
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotViewStatusBar()
+{
+  statusBar()->message("Toggle statusbar...");
+  ///////////////////////////////////////////////////////////////////
+  //turn Statusbar on or off
+  
+  if (statusBar()->isVisible())
+  {
+    statusBar()->hide();
+    viewMenu->setItemChecked(ID_VIEW_STATUSBAR, false);
+  }
+  else
+  {
+    statusBar()->show();
+    viewMenu->setItemChecked(ID_VIEW_STATUSBAR, true);
+  }
+  
+  statusBar()->message(IDS_STATUS_DEFAULT);
+}
+
+void EonSL::slotHelpAbout()
+{
+  QMessageBox::about(this,"About...",
+                     IDS_APP_ABOUT );
+}
+
+void EonSL::slotStatusHelpMsg(const QString &text)
+{
+  ///////////////////////////////////////////////////////////////////
+  // change status message of whole statusbar temporary (text, msec)
+  statusBar()->message(text, 2000);
+}
+
+void EonSL::statusCallback(int id_)
+{
+  switch (id_)
+  {
+    case ID_FILE_NEW:
+         slotStatusHelpMsg("Creates a new document");
+         break;
+
+    case ID_FILE_OPEN:
+         slotStatusHelpMsg("Opens an existing document");
+         break;
+
+    case ID_FILE_SAVE:
+         slotStatusHelpMsg("Saves the actual document");
+         break;
+
+    case ID_FILE_SAVE_AS:
+         slotStatusHelpMsg("Saves the actual document as...");
+         break;
+
+    case ID_FILE_CLOSE:
+         slotStatusHelpMsg("Closes the actual document");
+         break;
+
+    case ID_FILE_PRINT:
+         slotStatusHelpMsg("Prints out the actual document");
+         break;
+
+    case ID_FILE_QUIT:
+         slotStatusHelpMsg("Quits the application");
+         break;
+
+    case ID_EDIT_CUT:
+         slotStatusHelpMsg("Cuts the selected section and puts it to the clipboard");
+         break;
+
+    case ID_EDIT_COPY:
+         slotStatusHelpMsg("Copies the selected section to the clipboard");
+         break;
+
+    case ID_EDIT_PASTE:
+         slotStatusHelpMsg("Pastes the clipboard contents to actual position");
+         break;
+
+    case ID_EDIT_SELECT_ALL:
+         slotStatusHelpMsg("Selects the whole document contents");
+         break;
+
+    case ID_VIEW_TOOLBAR:
+         slotStatusHelpMsg("Enables/disables the toolbar");
+         break;
+
+    case ID_VIEW_STATUSBAR:
+         slotStatusHelpMsg("Enables/disables the statusbar");
+         break;
+
+    case ID_HELP_ABOUT:
+         slotStatusHelpMsg("Shows an aboutbox");
+         break;
+  }
+}
+
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 
+
diff --git a/eonsl/eonsl.xpm b/eonsl/eonsl.xpm
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/eonsl/eonsldoc.cpp b/eonsl/eonsldoc.cpp
new file mode 100644 (file)
index 0000000..e60d526
--- /dev/null
@@ -0,0 +1,53 @@
+/***************************************************************************
+                          eonsldoc.cpp  -  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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "eonsldoc.h"
+
+EonSLDoc::EonSLDoc()
+{
+  modified = false;
+}
+
+EonSLDoc::~EonSLDoc()
+{
+}
+
+void EonSLDoc::newDoc()
+{
+}
+
+bool EonSLDoc::save()
+{
+  return true;
+}
+
+bool EonSLDoc::saveAs(const QString &filename)
+{
+  return true;
+}
+
+bool EonSLDoc::load(const QString &filename)
+{
+  emit documentChanged();
+  return true;
+}
+
+bool EonSLDoc::isModified() const
+{
+  return modified;
+}
diff --git a/eonsl/eonsldoc.h b/eonsl/eonsldoc.h
new file mode 100644 (file)
index 0000000..4df8bc9
--- /dev/null
@@ -0,0 +1,50 @@
+/***************************************************************************
+                          eonsldoc.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 EONSLDOC_H
+#define EONSLDOC_H
+
+// include files for QT
+#include <qobject.h>
+
+// application specific includes
+
+/**
+  * the Document Class
+  */
+
+class EonSLDoc : public QObject
+{
+  Q_OBJECT
+
+  public:
+    EonSLDoc();
+    ~EonSLDoc();
+    void newDoc();
+    bool save();
+    bool saveAs(const QString &filename);
+    bool load(const QString &filename);
+    bool isModified() const;
+
+  signals:
+    void documentChanged();
+
+  protected:
+    bool modified;
+};
+
+#endif
diff --git a/eonsl/eonslview.cpp b/eonsl/eonslview.cpp
new file mode 100644 (file)
index 0000000..416fa44
--- /dev/null
@@ -0,0 +1,35 @@
+/***************************************************************************
+                          eonslview.cpp  -  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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "eonslview.h"
+
+EonSLView::EonSLView(QWidget *parent, EonSLDoc *doc) : QWidget(parent)
+{
+  /** connect doc with the view*/
+  connect(doc, SIGNAL(documentChanged()), this, SLOT(slotDocumentChanged()));
+}
+
+EonSLView::~EonSLView()
+{
+}
+
+void EonSLView::slotDocumentChanged()
+{
+  //TODO update the view
+
+}
diff --git a/eonsl/eonslview.h b/eonsl/eonslview.h
new file mode 100644 (file)
index 0000000..60893fb
--- /dev/null
@@ -0,0 +1,44 @@
+/***************************************************************************
+                          eonslview.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 EONSLVIEW_H
+#define EONSLVIEW_H
+
+// include files for QT
+#include <qwidget.h>
+
+// application specific includes
+#include "eonsldoc.h"
+
+/**
+ * This class provides an incomplete base for your application view. 
+ */
+
+class EonSLView : public QWidget
+{
+  Q_OBJECT
+  public:
+    EonSLView(QWidget *parent=0, EonSLDoc* doc=0);
+    ~EonSLView();
+  
+  protected slots:
+    void slotDocumentChanged();
+  
+};
+
+#endif
diff --git a/eonsl/filenew.xpm b/eonsl/filenew.xpm
new file mode 100644 (file)
index 0000000..2543c9b
--- /dev/null
@@ -0,0 +1,22 @@
+/* XPM */
+static const char * filenew[] = {
+"10 14 5 1",
+"      c None",
+".     c #000000",
+"+     c #FFFFFF",
+"@     c #DCDCDC",
+"#     c #C0C0C0",
+".......   ",
+".++++@@.  ",
+".++++#+@. ",
+".++++#++@.",
+".++++#....",
+".+++++###.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".........."};
diff --git a/eonsl/fileopen.xpm b/eonsl/fileopen.xpm
new file mode 100644 (file)
index 0000000..48211e2
--- /dev/null
@@ -0,0 +1,22 @@
+/* XPM */
+static const char *fileopen[] = {
+"    16    13        5            1",
+". c #040404",
+"# c #808304",
+"a c #bfc2bf",
+"b c #f3f704",
+"c c #f3f7f3",
+"aaaaaaaaa...aaaa",
+"aaaaaaaa.aaa.a.a",
+"aaaaaaaaaaaaa..a",
+"a...aaaaaaaa...a",
+".bcb.......aaaaa",
+".cbcbcbcbc.aaaaa",
+".bcbcbcbcb.aaaaa",
+".cbcb...........",
+".bcb.#########.a",
+".cb.#########.aa",
+".b.#########.aaa",
+"..#########.aaaa",
+"...........aaaaa"
+};
diff --git a/eonsl/filesave.xpm b/eonsl/filesave.xpm
new file mode 100644 (file)
index 0000000..ed3ea96
--- /dev/null
@@ -0,0 +1,21 @@
+/* XPM */
+static const char *filesave[] = {
+"    14    14        3            1",
+". c #040404",
+"# c #808304",
+"a c #bfc2bf",
+"..............",
+".#.aaaaaaaa.a.",
+".#.aaaaaaaa...",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".#.aaaaaaaa.#.",
+".##........##.",
+".############.",
+".##.........#.",
+".##......aa.#.",
+".##......aa.#.",
+".##......aa.#.",
+"a............."
+};
diff --git a/eonsl/main.cpp b/eonsl/main.cpp
new file mode 100644 (file)
index 0000000..093f945
--- /dev/null
@@ -0,0 +1,39 @@
+/***************************************************************************
+                          main.cpp  -  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.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#include <qapplication.h>
+#include <qfont.h>
+
+#include "eonsl.h"
+
+int main(int argc, char *argv[])
+{
+  Misapplication a(argc, argv);
+
+  a.setFont(QFont("helvetica", 12));
+  /* uncomment the following line, if you want a Windows 95 look*/
+  // a.setStyle(WindowsStyle);
+    
+  EonSL *eonsl=new EonSL();
+  a.setMainWidget(eonsl);
+
+  eonsl->setCaption("EonSL" VERSION);
+  eonsl->show();
+
+  return a.exec();
+}
diff --git a/eonsl/mini-eonsl.xpm b/eonsl/mini-eonsl.xpm
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/eonsl/resource.h b/eonsl/resource.h
new file mode 100644 (file)
index 0000000..0a4b854
--- /dev/null
@@ -0,0 +1,73 @@
+/***************************************************************************
+                          resource.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 RESOURCE_H
+#define RESOURCE_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+
+///////////////////////////////////////////////////////////////////
+// resource.h  -- contains macros used for commands
+
+
+///////////////////////////////////////////////////////////////////
+// COMMAND VALUES FOR MENUBAR AND TOOLBAR ENTRIES
+
+
+///////////////////////////////////////////////////////////////////
+// File-menu entries
+#define ID_FILE_NEW                 10020
+#define ID_FILE_OPEN                10030
+
+#define ID_FILE_SAVE                10050
+#define ID_FILE_SAVE_AS             10060
+#define ID_FILE_CLOSE               10070
+
+#define ID_FILE_PRINT               10080
+
+#define ID_FILE_QUIT                10100
+
+
+///////////////////////////////////////////////////////////////////
+// Edit-menu entries
+#define ID_EDIT_UNDO                11010
+#define ID_EDIT_REDO                11020
+#define ID_EDIT_COPY                11030
+#define ID_EDIT_CUT                 11040
+#define ID_EDIT_PASTE               11050
+#define ID_EDIT_SELECT_ALL          11060
+
+
+///////////////////////////////////////////////////////////////////
+// View-menu entries                    
+#define ID_VIEW_TOOLBAR             12010
+#define ID_VIEW_STATUSBAR           12020
+
+///////////////////////////////////////////////////////////////////
+// Help-menu entries
+#define ID_HELP_ABOUT               1002
+
+///////////////////////////////////////////////////////////////////
+// General application values
+#define IDS_APP_ABOUT               "EonSL\nVersion " VERSION \
+                                    "\n(w) 2000 by Michael Andreen"
+#define IDS_STATUS_DEFAULT          "Ready."
+
+#endif // RESOURCE_H