/////////////////////////////////////////////////////////////////////////////
// Name:        dbdomain.h
// Purpose:     Database Objects
// Author:      Daniel Horak
// Modified by:
// RCS-ID:      $Id: dbdomain.h,v 1.2 2004/01/01 13:56:19 horakdan Exp $
// Copyright:   (c) Daniel Horak
// Licence:     GPL
/////////////////////////////////////////////////////////////////////////////

#ifndef __DBDOMAIN_H
#define __DBDOMAIN_H

class DBDomain : public DBObject
{
public:
	DBDomain(DataDesignerProject *project, DataDesignerContainer *container);
	virtual ~DBDomain() { }
	
	virtual wxDialog *Editor(bool edit);

	virtual void LoadXmlNode(wxXmlNode *node);
	virtual wxXmlNode *GetXmlNode();
		
	wxString	m_basetype;
	wxString	m_length;
	wxString	m_decimals;
	wxString	m_default;
	wxString	m_check;
	bool		m_nullable;
};

class DBDomainEditor : public DBObjectEditor
{
public:
	DBDomainEditor(DBObject *object, bool edit);
	virtual ~DBDomainEditor();
	virtual bool TransferDataFromWindow();
	virtual bool TransferDataToWindow();

private:
	wxComboBox	*c1;		// basetype
	wxTextCtrl	*t2;		// length
	wxTextCtrl	*t3;		// decimals
	wxCheckBox	*c4;		// nullable
	wxTextCtrl	*t5;		// default
	wxTextCtrl	*t6;		// check
};

class DBDomainContainer : public DataDesignerContainer
{
public:
	DBDomainContainer(DataDesignerProject *project, const wxTreeItemId& id);
	
	virtual ~DBDomainContainer() { }
	
	virtual DBObject *CreateObject();
	virtual void	ShowList();
};

class DBDomainListCtrl : public DBObjectListCtrl
{
public:
	DBDomainListCtrl(wxWindow *parent, DataDesignerContainer *container);
	
	virtual ~DBDomainListCtrl();
	
	virtual void SetObject(long item, DBObject *object);
};

#endif // __DBDOMAIN_H


syntax highlighted by Code2HTML, v. 0.9.1