File: ddXmlStorage.h

package info (click to toggle)
pgadmin3 1.20.0~beta2-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 73,704 kB
  • ctags: 18,591
  • sloc: cpp: 193,786; ansic: 18,736; sh: 5,154; pascal: 1,120; yacc: 927; makefile: 516; lex: 421; xml: 126; perl: 40
file content (66 lines) | stat: -rw-r--r-- 2,749 bytes parent folder | download
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