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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
/**************************************************
*
*
**************************************************
* This code was created by Peter Harvey @ CodeByDesign.
* Released under GPL 18.FEB.99
*
* Contributions from...
* -----------------------------------------------
* Peter Harvey - pharvey@codebydesign.com
**************************************************/
#include "classDriver.h"
#include "driver.xpm"
classDriver::classDriver( QListView *pParent, classCanvas *pCanvas, char *pszDriverName, SQLHENV hEnv )
: classNode( pParent, pCanvas )
{
Init( pszDriverName, hEnv );
}
classDriver::classDriver( QListViewItem *pParent, classCanvas *pCanvas, char *pszDriverName, SQLHENV hEnv )
: classNode( pParent, pCanvas )
{
Init( pszDriverName, hEnv );
}
classDriver::classDriver( QListViewItem *pParent, QListViewItem *pAfter, classCanvas *pCanvas, char *pszDriverName, SQLHENV hEnv )
: classNode( pParent, pAfter, pCanvas )
{
Init( pszDriverName, hEnv );
}
classDriver::~classDriver()
{
}
/*******************************************************
* Init
*******************************************************
* Call the odbcinst to get Driver description.
*
* NOTE: This should be done via the Driver Manager by
* calling SQLDrivers() but the iODBC Driver Manager
* does not, at this time, adequately support this call.
*******************************************************/
void classDriver::Init( char *pszDriverName, SQLHENV hEnv )
{
char szResults[1024];
char szPropertyValue[INI_MAX_PROPERTY_VALUE+1];
qsDriverName = "";
if ( pszDriverName != 0 )
qsDriverName = pszDriverName;
this->pCanvas = pCanvas;
this->hEnv = hEnv;
setPixmap( 0, QPixmap( driver_xpm ) );
szResults[0] = '\0';
szPropertyValue[0] = '\0';
if ( SQLGetPrivateProfileString((char*) qsDriverName.data(), "Description", "", szResults, sizeof(szResults), "odbcinst" ) > 0 )
iniElement( szResults, '\0', '\0', 0, szPropertyValue, INI_MAX_PROPERTY_VALUE );
else
{
//SQLInstallerError( 1, &nError, szError, FILENAME_MAX, 0 );
//if ( cVerbose == 0 ) printf( "[odbcinst] SQLGetPrivateProfileString failed with %s.\n", szError );
//return;
}
setText( 0, qsDriverName );
setText( 1, "" );
setText( 2, szPropertyValue );
}
void classDriver::setOpen( bool o )
{
if ( o && !childCount() )
{
setExpandable( FALSE );
}
QListViewItem::setOpen( o );
}
void classDriver::setup()
{
setExpandable( TRUE );
QListViewItem::setup();
}
void classDriver::selectionChanged( QListViewItem *p )
{
if ( p == this )
{
}
}
|