--- /dev/null
+
+View/Controller
+ View
+ Cursor
+ Position(inDocument)
+ VPosition(visible document position)
+ MouseInput
+ KeyInput
+ Scrollbar
+ Lensbar
+
+ ColorHilighting
+ OverlayView
+
+Document
+ +PieceTree
+ +
+ Event
+ BackupThread
+
+
--- /dev/null
+
+#include "control.h"
+
+Control::Control(Document *doc)
+ : doc_(doc)
+{
+}
+
+Control::~Control()
+{
+}
+
+bool Control::AddCursor(int id, Cursor *cur)
+{
+ if (curs_.find(id) != curs_.constEnd()) {
+ return false;
+ }
+ curs_.insert(id, cur);
+ return true;
+}
+
+bool Control::AddView(int id, View *view)
+{
+ CursorMap::const_iterator i = curs_.find(id);
+ if (i == curs_.constEnd()) {
+ return false;
+ }
+ //(*id)->AddView(view);
+ return true;
+}
+
+
--- /dev/null
+#ifndef CONTROL_H_INC
+#define CONTROL_H_INC
+
+#include <QVector>
+#include <QMap>
+
+class Document;
+class Cursor;
+class View;
+
+class Control
+{
+rotected:
+ Document *doc_;
+ typedef QMap<int, Cursor*> CursorMap;
+ CursorMap curs_;
+
+public:
+ Control(Document *doc);
+ ~Control();
+
+ bool AddCursor(int id, Cursor *cur);
+ bool AddView(int id, View *view);
+
+};
+
+
+#endif
--- /dev/null
+
+#include "cursor.h"
+#include "document.h"
+
+Cursor::Cursor(Document *doc)
+ : doc_(doc)
+{
+}
+
+Cursor::~Cursor()
+{
+}
+
--- /dev/null
+#ifndef CURSOR_H_INC
+#define CURSOR_H_INC
+
+class Document;
+
+class Cursor
+{
+protected:
+ Document *doc_;
+
+public:
+ Cursor(Document *doc);
+ virtual ~Cursor();
+
+};
+
+
+
+#endif
--- /dev/null
+
+#include "document.h"
+
+Document::Document()
+{
+}
+
+Document::~Document()
+{
+}
+
+
--- /dev/null
+#ifndef DOCUMENT_H_INC
+#define DOCUMENT_H_INC
+
+
+class Document
+{
+public;
+ Document();
+ virtual ~Document();
+
+};
+
+
+#endif
+
--- /dev/null
+
+#include <QtGui>
+#include "view.h"
+#include "document.h"
+
+View::View(QWidget *parent, Document *doc)
+ : QWidget(parent)
+ , doc_(doc)
+{
+}
+
--- /dev/null
+#ifndef VIEW_H_INC
+#define VIEW_H_INC
+
+#include <QWidget>
+
+class Document;
+
+class View : public QWidget
+{
+ Q_OBJECT
+
+protected:
+ Document *doc_;
+
+public:
+ View(QWidget *parent = 0, Document *doc);
+
+
+};
+
+
+#endif
--- /dev/null
+######################################################################
+# Automatically generated by qmake (2.01a) ? 9 ? 29 06:10:32 2008
+######################################################################
+
+TEMPLATE = app
+HEADERS = control/view.h
+SOURCES = control/control.cpp control/document.cpp control/cursor.cpp \
+ control/view.cpp \
+ main.cpp
+
+# Directories
--- /dev/null
+#include <QApplication>
+#include "mywidgets.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+ Mywidgets wid;
+ wid.show();
+ return app.exec();
+}
+