The initial source code.
--- /dev/null
+/***************************************************************************
+ 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(){
+}
--- /dev/null
+/***************************************************************************
+ 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
--- /dev/null
+/***************************************************************************
+ 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;
+ }
+}
+
--- /dev/null
+/***************************************************************************
+ 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
+
--- /dev/null
+/***************************************************************************
+ 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;
+}
--- /dev/null
+/***************************************************************************
+ 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
--- /dev/null
+/***************************************************************************
+ 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
+
+}
--- /dev/null
+/***************************************************************************
+ 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
--- /dev/null
+/* XPM */
+static const char * filenew[] = {
+"10 14 5 1",
+" c None",
+". c #000000",
+"+ c #FFFFFF",
+"@ c #DCDCDC",
+"# c #C0C0C0",
+"....... ",
+".++++@@. ",
+".++++#+@. ",
+".++++#++@.",
+".++++#....",
+".+++++###.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".++++++++.",
+".........."};
--- /dev/null
+/* 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"
+};
--- /dev/null
+/* 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............."
+};
--- /dev/null
+/***************************************************************************
+ 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();
+}
--- /dev/null
+/***************************************************************************
+ 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