Now passes FILE* to wxExprDatabase instead of ofstream to compy with recent

changes in wxExprDatabase.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
1999-06-30 08:30:45 +00:00
parent 06d7fdef4b
commit 9f0f2064a5

View File

@@ -225,20 +225,20 @@ void wxDiagram::RecentreAll(wxDC& dc)
bool wxDiagram::SaveFile(const wxString& filename) bool wxDiagram::SaveFile(const wxString& filename)
{ {
wxBeginBusyCursor(); wxBeginBusyCursor();
wxExprDatabase *database = new wxExprDatabase; wxExprDatabase *database = new wxExprDatabase;
// First write the diagram type // First write the diagram type
wxExpr *header = new wxExpr("diagram"); wxExpr *header = new wxExpr("diagram");
OnHeaderSave(*database, *header); OnHeaderSave(*database, *header);
database->Append(header); database->Append(header);
wxNode *node = m_shapeList->First(); wxNode *node = m_shapeList->First();
while (node) while (node)
{ {
wxShape *shape = (wxShape *)node->Data(); wxShape *shape = (wxShape *)node->Data();
if (!shape->IsKindOf(CLASSINFO(wxControlPoint))) if (!shape->IsKindOf(CLASSINFO(wxControlPoint)))
{ {
wxExpr *expr = NULL; wxExpr *expr = NULL;
@@ -252,19 +252,19 @@ bool wxDiagram::SaveFile(const wxString& filename)
node = node->Next(); node = node->Next();
} }
OnDatabaseSave(*database); OnDatabaseSave(*database);
char tempFile[400]; char tempFile[400];
wxGetTempFileName("diag", tempFile); wxGetTempFileName("diag", tempFile);
ofstream stream(tempFile); FILE* file = fopen(tempFile, "w");
if (stream.bad()) if (! file)
{ {
wxEndBusyCursor(); wxEndBusyCursor();
delete database; delete database;
return FALSE; return FALSE;
} }
database->Write(stream); database->Write(file);
stream.close(); fclose(file);
delete database; delete database;
/* /*
@@ -301,14 +301,14 @@ bool wxDiagram::SaveFile(const wxString& filename)
bool wxDiagram::LoadFile(const wxString& filename) bool wxDiagram::LoadFile(const wxString& filename)
{ {
wxBeginBusyCursor(); wxBeginBusyCursor();
wxExprDatabase database(wxExprInteger, "id"); wxExprDatabase database(wxExprInteger, "id");
if (!database.Read(filename)) if (!database.Read(filename))
{ {
wxEndBusyCursor(); wxEndBusyCursor();
return FALSE; return FALSE;
} }
DeleteAllShapes(); DeleteAllShapes();
database.BeginFind(); database.BeginFind();
@@ -331,7 +331,7 @@ bool wxDiagram::LoadFile(const wxString& filename)
ReadNodes(database); ReadNodes(database);
ReadContainerGeometry(database); ReadContainerGeometry(database);
ReadLines(database); ReadLines(database);
OnDatabaseLoad(database); OnDatabaseLoad(database);
wxEndBusyCursor(); wxEndBusyCursor();
@@ -356,7 +356,7 @@ void wxDiagram::ReadNodes(wxExprDatabase& database)
{ {
wxShape *shape = (wxShape *)classInfo->CreateObject(); wxShape *shape = (wxShape *)classInfo->CreateObject();
OnShapeLoad(database, *shape, *clause); OnShapeLoad(database, *shape, *clause);
shape->SetCanvas(GetCanvas()); shape->SetCanvas(GetCanvas());
shape->Show(TRUE); shape->Show(TRUE);
@@ -378,7 +378,7 @@ void wxDiagram::ReadNodes(wxExprDatabase& database)
} }
if (type) if (type)
delete[] type; delete[] type;
clause = database.FindClauseByFunctor("shape"); clause = database.FindClauseByFunctor("shape");
} }
return; return;