model.cpp

changeset 0
c51cce84a9ac
child 7
098e3c4949c6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/model.cpp	Fri Mar 15 20:11:18 2013 +0200
@@ -0,0 +1,38 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "common.h"
+#include "io.h"
+#include "gui.h"
+#include "draw.h"
+
+// Clear everything from the model
+void closeModel () {
+	// Remove all loaded files and the objects they contain
+	for (ushort i = 0; i < g_LoadedFiles.size(); i++) {
+		OpenFile* f = g_LoadedFiles[i];
+		
+		for (ushort j = 0; j < f->objects.size(); ++j)
+			delete f->objects[j];
+		
+		delete f;
+	}
+	
+	// Clear the array
+	g_LoadedFiles.clear();
+	g_CurrentFile = NULL;
+	
+	g_qWindow->R->hardRefresh();
+}
+
+void newModel () {
+	// Create a new anonymous file and set it to our current
+	if (g_LoadedFiles.size())
+		closeModel (); // Close any open file first, though
+	
+	OpenFile* f = new OpenFile;
+	f->filename = "";
+	g_LoadedFiles.push_back (f);
+	g_CurrentFile = f;
+	
+	g_qWindow->R->hardRefresh();
+}
\ No newline at end of file

mercurial