start working on generating documentation from a model
git-svn-id: svn://ttmath.org/publicrep/morm/trunk@1124 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -61,6 +61,14 @@ public:
|
||||
|
||||
virtual void generate_from_model(PT::TextStream & stream, Model & model);
|
||||
|
||||
virtual PT::TextStream * get_current_stream();
|
||||
|
||||
|
||||
// give me a better name
|
||||
virtual void put_field_doc(Model & model, const void * field_pointer, bool insertable, bool updatable, bool is_primary_key);
|
||||
|
||||
|
||||
|
||||
template<typename FieldValue>
|
||||
void field(const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false, bool add_column_prefix = true)
|
||||
{
|
||||
@@ -89,6 +97,27 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
template<typename FieldValue>
|
||||
void field_doc(Model & model, const wchar_t * field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false, bool add_column_prefix = true)
|
||||
{
|
||||
if( out_stream )
|
||||
{
|
||||
field_before();
|
||||
|
||||
put_field_name(field_name, add_column_prefix);
|
||||
put_name_value_separator();
|
||||
|
||||
put_field_doc(model, reinterpret_cast<const void*>(&field_value), insertable, updatable, is_primary_key);
|
||||
put_name_value_separator();
|
||||
|
||||
put_type(field_value, *out_stream);
|
||||
|
||||
field_after();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
template<typename FieldValue>
|
||||
void field(const PT::TextStream & field_name, const FieldValue & field_value, bool insertable = true, bool updatable = true, bool is_primary_key = false, bool add_column_prefix = true)
|
||||
{
|
||||
@@ -97,6 +126,7 @@ public:
|
||||
|
||||
return field(field_name_str.c_str(), field_value, insertable, updatable, is_primary_key, add_column_prefix);
|
||||
}
|
||||
*/
|
||||
|
||||
template<typename FieldValue>
|
||||
void field_in(PT::TextStream & stream, const wchar_t * field_name, const std::set<FieldValue> & container)
|
||||
@@ -239,7 +269,7 @@ protected:
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// what about lists with a pod types? e.g. list<int>
|
||||
template<typename ModelContainer>
|
||||
void put_field_value_list(ModelContainer & field_value, ModelConnector * model_connector, int model_connector_mode)
|
||||
{
|
||||
@@ -342,6 +372,37 @@ protected:
|
||||
virtual void put_name_value_separator();
|
||||
|
||||
|
||||
virtual void put_type(char val, PT::TextStream & stream);
|
||||
virtual void put_type(unsigned char val, PT::TextStream & stream);
|
||||
|
||||
virtual void put_type(const std::wstring & val, PT::TextStream & stream);
|
||||
virtual void put_type(const wchar_t * val, PT::TextStream & stream);
|
||||
|
||||
virtual void put_type(const std::string & val, PT::TextStream & stream);
|
||||
virtual void put_type(const char * val, PT::TextStream & stream);
|
||||
|
||||
virtual void put_type(bool val, PT::TextStream & stream);
|
||||
virtual void put_type(short val, PT::TextStream & stream);
|
||||
virtual void put_type(unsigned short val, PT::TextStream & stream);
|
||||
virtual void put_type(int val, PT::TextStream & stream);
|
||||
virtual void put_type(unsigned int val, PT::TextStream & stream);
|
||||
virtual void put_type(long val, PT::TextStream & stream);
|
||||
virtual void put_type(unsigned long val, PT::TextStream & stream);
|
||||
virtual void put_type(long long val, PT::TextStream & stream);
|
||||
virtual void put_type(unsigned long long val, PT::TextStream & stream);
|
||||
virtual void put_type(float val, PT::TextStream & stream);
|
||||
virtual void put_type(double val, PT::TextStream & stream);
|
||||
virtual void put_type(long double val, PT::TextStream & stream);
|
||||
//virtual void put_type(void* val, PT::TextStream & stream);
|
||||
|
||||
virtual void put_type(const PT::Date & date, PT::TextStream & stream);
|
||||
virtual void put_type(const Model & model, PT::TextStream & stream);
|
||||
|
||||
template<typename ListType>
|
||||
void put_type(const std::list<ListType> & model, PT::TextStream & stream)
|
||||
{
|
||||
stream << "table";
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user