/////////////////////////////////////////////////////////////////////////////
// Name:        schema.h
// Purpose:     Data Designer Schema
// Author:      Daniel Horak
// Modified by:
// RCS-ID:      $Id: schema.h,v 1.3 2003/12/28 18:51:43 horakdan Exp $
// Copyright:   (c) Daniel Horak
// Licence:     GPL
/////////////////////////////////////////////////////////////////////////////

#ifndef __SCHEMA_H
#define __SCHEMA_H

#include <wx/ogl/ogl.h>

class DataDesignerProject;
class DBObject;
class DBModel;

class DataDesignerSchema : public wxShapeCanvas
{
public:
	DataDesignerSchema(wxWindow *parent, DataDesignerProject *project);

	virtual void AddObjects(void);
	virtual void AddObject(DBObject *object);
	virtual void OnDraw(wxDC& dc);
	void OnPaint(wxPaintEvent& event);
	void SetScale(double scale) { m_scale = scale; }
	
	virtual void PrepareDC(wxDC& dc);

private:
	double			m_scale;
	DECLARE_EVENT_TABLE()

protected:
	DataDesignerProject	*m_project;
};

class DataDesignerGlobalSchema : public DataDesignerSchema
{
public:
	DataDesignerGlobalSchema(wxWindow *parent, DataDesignerProject *project);

	virtual void AddObjects(void);
//	virtual void AddObject(DBObject *object);
	virtual void OnDraw(wxDC& dc);
};

class DataDesignerModelSchema : public DataDesignerSchema
{
public:
	DataDesignerModelSchema(wxWindow *parent, DataDesignerProject *project, DBModel *model);

	virtual void AddObjects(void);
//	virtual void AddObject(DBObject *object);
	virtual void OnDraw(wxDC& dc);
	
	DBModel	*m_model;
};

#endif // __SCHEMA_H


syntax highlighted by Code2HTML, v. 0.9.1