1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
//////////////////////////////////////////////////////////////////////////
//
// pgAdmin III - PostgreSQL Tools
//
// Copyright (C) 2002 - 2014, The pgAdmin Development Team
// This software is released under the PostgreSQL Licence
//
// hdAbstractFigure.h - Base class for all figures with attributes (line size, fonts and others)
//
//////////////////////////////////////////////////////////////////////////
#ifndef DDXMLSTORAGE_H
#define DDXMLSTORAGE_H
#include "hotdraw/figures/xml/hdStorage.h"
#include "dd/ddmodel/ddDatabaseDesign.h"
#include <ctl/ctlAuiNotebook.h>
class ddXmlStorage : public hdStorage
{
public:
ddXmlStorage();
//Generic part
static bool Read(xmlTextReaderPtr reader);
static bool Write(xmlTextWriterPtr writer, hdIFigure *figure);
static void setModel(ddDatabaseDesign *sourceDesign);
static void setNotebook(ctlAuiNotebook *notebook);
static wxString getModelDTD();
//Write xml info Database Designer Related
static void WriteLocal( xmlTextWriterPtr writer, ddColumnOptionIcon *figure);
static void WriteLocal( xmlTextWriterPtr writer, ddColumnKindIcon *figure);
static void WriteLocal( xmlTextWriterPtr writer, ddTextTableItemFigure *figure);
static void WriteLocal( xmlTextWriterPtr writer, ddColumnFigure *figure);
static void WriteLocal( xmlTextWriterPtr writer, ddTableFigure *figure);
static void WriteLocal( xmlTextWriterPtr writer, ddRelationshipFigure *figure);
static void WriteLocal( xmlTextWriterPtr writer, ddRelationshipItem *item);
static void WriteLocal( xmlTextWriterPtr writer, hdDrawing *diagram);
static void StarDiagrams( xmlTextWriterPtr writer);
static void EndDiagrams( xmlTextWriterPtr writer);
static void StartModel( xmlTextWriterPtr writer, ddDatabaseDesign *design);
static void EndModel( xmlTextWriterPtr writer);
static bool processResult(int value);
//Generic node processing functions
static wxString getNodeName(xmlTextReaderPtr reader);
static int getNodeType(xmlTextReaderPtr reader);
static wxString getNodeValue(xmlTextReaderPtr reader);
//Read xml info Database Designer Related
static void selectReader(xmlTextReaderPtr reader);
static void checkVersion(xmlTextReaderPtr reader);
static ddTableFigure *getTable(xmlTextReaderPtr reader);
static ddColumnFigure *getColumn(xmlTextReaderPtr reader, ddTableFigure *colOwner);
static ddRelationshipFigure *getRelationship(xmlTextReaderPtr reader);
static ddRelationshipItem *getRelationshipItem(xmlTextReaderPtr reader, ddRelationshipFigure *itemOwner, ddTableFigure *source, ddTableFigure *destination);
static void initDiagrams(xmlTextReaderPtr reader);
static void initialModelParse(xmlTextReaderPtr reader);
private:
static ddDatabaseDesign *design;
static ctlAuiNotebook *tabs;
};
#endif
|