VCOM:VectorWorks:Extension:IDBSupport

From Vectorworks Developer
Jump to navigation Jump to search

.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference

Description

namespace VectorWorks::Extension

..put some descriptoin in here...

Interface

// ---------------------------------------------------------------------------------------------------
// {266A0751-422E-48aa-9BF4-AED001C8A149}
static const VWIID IID_DBSupport	= { 0x266a0751, 0x422e, 0x48aa, { 0x9b, 0xf4, 0xae, 0xd0, 0x1, 0xc8, 0xa1, 0x49 } };

class DYNAMIC_ATTRIBUTE IDBSupport : public IVWSingletonUnknown
{
public:
	virtual VCOMError	VCOM_CALLTYPE HasDatabaseConnections(MCObjectHandle hDocument) = 0;
	virtual VCOMError	VCOM_CALLTYPE HasDatabaseObjectConnections(MCObjectHandle hDocument) = 0;

	// Database UI support
	virtual VCOMError	VCOM_CALLTYPE ShowManageDatabases(MCObjectHandle hDocument) = 0;
	virtual VCOMError	VCOM_CALLTYPE ShowTable(MCObjectHandle hDocument, const TXString& databaseName, const TXString& tableName) = 0;
	virtual VCOMError	VCOM_CALLTYPE ShowObjectConnectionDialogs() = 0;
		// Vectorworks 2012
	virtual VCOMError	VCOM_CALLTYPE ShowEditConectionDialog() = 0;

	// Database connection support
	virtual VCOMError	VCOM_CALLTYPE AddDatabaseConnection(MCObjectHandle hDocument, const TXString& databaseName, const TXString& userName, const TXString& password) = 0;
	virtual VCOMError	VCOM_CALLTYPE RemoveDatabaseConnection(MCObjectHandle hDocument, const TXString& databaseName) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetDatabaseConnection(MCObjectHandle hDocument, const TXString& databaseName, TXString& outUserName, TXString& outPassword) = 0;
	virtual VCOMError	VCOM_CALLTYPE SetDatabaseConnectionKeyColumn(MCObjectHandle hDocument, const TXString& databaseName, const TXString& tableName, const TXString& colName, bool isKey) = 0;

	// Database enumerate support
	virtual VCOMError	VCOM_CALLTYPE GetAvailableDatabases(MCObjectHandle hDocument, TXStringArray& outArrDatabaseNames) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetAvailableTables(MCObjectHandle hDocument, const TXString& databaseName, TXStringArray& outArrTableNames) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetAvailableTableColumns(MCObjectHandle hDocument, const TXString& databaseName, const TXString& tableName, TVWArray_DBTableColumn& outArrColumns) = 0;

	// Format support
	virtual VCOMError	VCOM_CALLTYPE GetFormatConnection(MCObjectHandle hFormat, TXString& outDatabaseName, TXString& outTableName) = 0;
	virtual VCOMError	VCOM_CALLTYPE SetFormatConnection(MCObjectHandle hFormat, const TXString& databaseName, const TXString& tableName) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetFormatFieldConnection(MCObjectHandle hFormat, TXString& inoutfieldName, TXString& inoutColumnName, EDBSupportLinkType& outLinkType) = 0;
	virtual VCOMError	VCOM_CALLTYPE SetFormatFieldConnection(MCObjectHandle hFormat, const TXString& fieldName, const TXString& columnName, EDBSupportLinkType linkType) = 0;
	virtual VCOMError	VCOM_CALLTYPE IsColumnUsedInFormatConnection(MCObjectHandle hDocument, const TXString& dbName, const TXString& table, const TXString& column, bool& outIsUsed, TXString& outFormatName, TXString& outFieldName) = 0;

	// Object support
	virtual VCOMError	VCOM_CALLTYPE GetWritingSQLSentence(MCObjectHandle hObject, TXString& outSqlSentence) = 0;
	virtual VCOMError	VCOM_CALLTYPE SetWritingSQLSentence(MCObjectHandle hObject, const TXString& sqlSentence) = 0;
	virtual VCOMError	VCOM_CALLTYPE GetReadingSQLSentence(MCObjectHandle hObject, TXString& outSqlSentence) = 0;
	virtual VCOMError	VCOM_CALLTYPE SetReadingSQLSentence(MCObjectHandle hObject, const TXString& sqlSentence) = 0;
	virtual VCOMError	VCOM_CALLTYPE ClearSQLSentences(MCObjectHandle hObject, const TXString& fieldName, const TXString& columnName) = 0;
		// Vectorworks 2012
	virtual VCOMError	VCOM_CALLTYPE RemoveObjectConnections(MCObjectHandle hDocument, bool fromSelecedObjecstOnly) = 0;

	// Database/Document update support
	virtual VCOMError	VCOM_CALLTYPE GetUpdateSettings(MCObjectHandle hDocument, SDBSupportUpdateSettings& outSettings) = 0;
	virtual VCOMError	VCOM_CALLTYPE SetUpdateSettings(MCObjectHandle hDocument, const SDBSupportUpdateSettings& settings) = 0;
	virtual VCOMError	VCOM_CALLTYPE UpdateDatabase(MCObjectHandle hDocument, bool selectionOnly, bool showProgress, bool optimizeProgress) = 0;
	virtual VCOMError	VCOM_CALLTYPE UpdateDocument(MCObjectHandle hDocument, bool selectionOnly, bool showProgress, bool optimizeProgress) = 0;

	// Sync support
	virtual VCOMError	VCOM_CALLTYPE SyncAskForOptions(Uint32& inOutOptions /*EDBSupportProblems*/) = 0;
	virtual VCOMError	VCOM_CALLTYPE SyncFixDocument(MCObjectHandle hDocument, EDBSupportProblems option, const TXStringArray& arrItems) = 0;
};

// ---------------------------------------------------------------------------------------------------
typedef VCOMPtr<IDBSupport>		IDBSupportPtr;

Members

HasDatabaseConnections
HasDatabaseObjectConnections
ShowManageDatabases
ShowTable
ShowObjectConnectionDialogs
AddDatabaseConnection
RemoveDatabaseConnection
GetDatabaseConnection
SetDatabaseConnectionKeyColumn
GetAvailableDatabases
GetAvailableTables
GetAvailableTableColumns
GetFormatConnection
SetFormatConnection
GetFormatFieldConnection
SetFormatFieldConnection
IsColumnUsedInFormatConnection
GetWritingSQLSentence
SetWritingSQLSentence
GetReadingSQLSentence
SetReadingSQLSentence
ClearSQLSentences
GetUpdateSettings
SetUpdateSettings
UpdateDatabase
UpdateDocument
SyncAskForOptions
SyncFixDocument
ShowEditConectionDialog
RemoveObjectConnections

Remarks

There is predefined type for smart VCOM pointer VCOMPtr to IDBSupport interface:

typedef VCOMPtr<IDBSupport>  IDBSupportPtr;

Version

Available from: Vectorworks 2010

See Also

VCOM:VCOMPtr

[[VCOM:VCOMPtr]]