CODING CONVENTIONS
==================

CLASS NAMES
===========

Class names follow Qt and KDE schema, with KPG or KPoGre prefix:
KPG....Dialog, KPG....View, KPG....Command for longer names.
examples: KPGNoticer

or

KPoGreView.... for short names
examples: KPoGreController

MVC design pattern
==================
All classes in /DbObjects are Model in MVC. Model is decoupled from view and controller,
it's classes know nothing about GUI. 


VARIABLES
=========

(1) prefixes for variable names
p - for pointer
psz - for "char *" and "const char *" (zero-terminated usally)
str - for QString objects
b - for booleans
i - for integers
ui - for unsigned integers
l - for long
ll - for long long
dlg - for dialogs
pDlg - for pointers to dialogs
cmd - for commands
pCmd - for pointers to commands
(m_)pqxx - this prefix I use for libpqxx classes (pqxx::result m_pqxxResult, pqxx::prepare::declaration pqxxPrepDecl, pqxx::transaction<> pqxxXaction ....)

(2) prefixes for member variables
Member variables should use the prefixes defined above but should additionally
be prefixed with "m_" or "s_", if they are static, or g_ if they are global.

Example:
 m_pDlgConfig - the member variable is a pointer to a dialog

(3) prefixes for member functions
sig - for signals
slot - for (normal) slots

I prefer wordy variables naming like: 
KPGQueryResultEvent *pQueryResultEvent ...

Use short variables naming only for local shortly-aged variables like:
for(int i = 0; ....


COMMENTS
========

Comments in header files should stick to the rules for KDoc / Doxygen.
Comments in CPP-files should use only the new C++-style comments // to make
it possible to comment whole functions by using the C-style comments /* ... */.

SOURCE FORMAT
=============

The source should be formatted in ANSI style and should be intended with tabs,
like in the following example (use the "Show tabs" option or something similar
in your editor to see the tabs):

Pleasse place pairs of { } to the same column !!!

I hate this:

if(...) {
	...; 
}

And like this:

if(...)
{
	...;
}



I use "Monospace 11" font in editor. Another setting: Tab width: 4.
