271 lines
6.9 KiB
C++
271 lines
6.9 KiB
C++
//-----------------------------------------------------------------------------
|
|
// Microsoft OLE DB RowsetViewer
|
|
// Copyright (C) 1994 - 1999 By Microsoft Corporation.
|
|
//
|
|
// @doc
|
|
//
|
|
// @module CMAINWINDOW.H
|
|
//
|
|
//-----------------------------------------------------------------------------------
|
|
|
|
#ifndef _CMAINWINDOW_H_
|
|
#define _CMAINWINDOW_H_
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Defines
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
enum IMAGEICONS
|
|
{
|
|
IMAGE_NORMAL = 0,
|
|
IMAGE_CHECKED = 1,
|
|
IMAGE_UNCHECKED = 2,
|
|
IMAGE_LOCK = 3,
|
|
IMAGE_QUESTION = 4,
|
|
IMAGE_ERROR = 5,
|
|
IMAGE_FORM = 6,
|
|
IMAGE_ARROW_UP = 7,
|
|
IMAGE_ARROW_DOWN = 8,
|
|
IMAGE_DELETE = 9,
|
|
IMAGE_CHANGE = 10,
|
|
IMAGE_INSERT = 11,
|
|
IMAGE_CHAPTER = 12,
|
|
IMAGE_MULTIPLE = 13,
|
|
IMAGE_OBJECTS = 14,
|
|
IMAGE_DATASOURCE = 15,
|
|
IMAGE_SESSION = 16,
|
|
IMAGE_COMMAND = 17,
|
|
IMAGE_TABLE = 18,
|
|
IMAGE_SERVICECOMP = 19,
|
|
IMAGE_DATALINKS = 19,
|
|
IMAGE_REMOTING = 20,
|
|
IMAGE_DRAWNPOOL = 21,
|
|
IMAGE_POOLING = 22,
|
|
IMAGE_INTERFACE = 23,
|
|
IMAGE_STREAM = 24,
|
|
IMAGE_CUBE = 25
|
|
};
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Includes
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
#include "Property.h"
|
|
#include "CDialog.h"
|
|
#include "CMDIChild.h"
|
|
#include "CListener.h"
|
|
#include "CTrace.h"
|
|
#include "CObjTree.h"
|
|
#include "CBinder.h"
|
|
#include "CRowset.h"
|
|
#include "COptions.h"
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
// Defines
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
enum STATEICONS
|
|
{
|
|
STATE_NORMAL = 0,
|
|
STATE_CHECKED = 1,
|
|
STATE_UNCHECKED = 2
|
|
};
|
|
|
|
enum COLUMN_DESC
|
|
{
|
|
COLUMN_DBCID,
|
|
COLUMN_TYPENAME,
|
|
COLUMN_DATATYPE,
|
|
COLUMN_SIZE,
|
|
COLUMN_PREC,
|
|
COLUMN_SCALE
|
|
};
|
|
|
|
enum INDEX_COLUMN_DESC
|
|
{
|
|
COLUMN_ID,
|
|
COLUMN_ORDER
|
|
};
|
|
|
|
enum COLUMN_ISCO
|
|
{
|
|
COLUMN_ISCO_SRCURL,
|
|
COLUMN_ISCO_DESTURL
|
|
};
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
// CMainWindow
|
|
//
|
|
/////////////////////////////////////////////////////////////////////
|
|
class CMainWindow : public CMDIFrameLite
|
|
{
|
|
public:
|
|
//constructors
|
|
CMainWindow();
|
|
virtual ~CMainWindow();
|
|
|
|
//Messages
|
|
virtual BOOL OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
virtual BOOL OnDestroy();
|
|
virtual BOOL OnInitialUpdate();
|
|
|
|
virtual BOOL OnSize(WPARAM nType, REFPOINTS pts);
|
|
virtual BOOL OnMenuSelect(UINT uID);
|
|
virtual BOOL OnInitMenuPopup(HMENU hMenu, UINT uPos, BOOL fSysMenu);
|
|
|
|
virtual BOOL OnCommand(UINT iID, HWND hWndCtrl);
|
|
virtual BOOL OnUpdateCommand(HMENU hMenu, UINT nID, DWORD* pdwFlags);
|
|
virtual BOOL OnDropFiles(HDROP hDrop);
|
|
|
|
//IUnknown Menu
|
|
virtual void OnAddRef(CBase* pCBase);
|
|
virtual void OnRelease(CBase* pCBase);
|
|
virtual void OnQueryInterface(CBase* pCBase);
|
|
virtual void OnAutoQI(CBase* pCBase);
|
|
virtual void OnReleaseAll(CBase* pCBase, BOOL fChildren = FALSE);
|
|
virtual void OnSupportErrorInfo(CBase* pCBase);
|
|
|
|
//ConnectionPoints
|
|
virtual void OnFindConnectionPoint(CContainerBase* pCCPointBase, REFIID riid);
|
|
virtual void OnGetConnectionInterface(CConnectionPoint* pCConnectionPoint);
|
|
virtual void OnAdvise(CConnectionPoint* pCConnectionPoint);
|
|
virtual void OnUnadvise(CConnectionPoint* pCConnectionPoint);
|
|
|
|
//Asynchronous
|
|
virtual void OnAbort(CAsynchBase* pCAsynchBase);
|
|
virtual void OnGetStatus(CAsynchBase* pCAsynchBase);
|
|
virtual void OnInitialize(CAsynchBase* pCAsynchBase);
|
|
virtual void OnUninitialize(CAsynchBase* pCAsynchBase);
|
|
|
|
//File Menu
|
|
virtual void OnConnect();
|
|
virtual void OnLoadStringFromStorage(WCHAR* pwszFileName = NULL);
|
|
virtual void OnGetDataSource();
|
|
virtual void OnPromptDataSource(BOOL fAdvanced = FALSE);
|
|
virtual void OnPromptFileName(BOOL fAdvanced = FALSE);
|
|
virtual void OnCreateFileMoniker();
|
|
|
|
virtual void OnRootBinder();
|
|
virtual void OnRootEnumerator();
|
|
virtual void OnServiceComponents();
|
|
virtual void OnDataLinks();
|
|
|
|
virtual void OnLoadRecentConfig(UINT iID);
|
|
virtual void OnLoadRecentFile(UINT iID);
|
|
|
|
//Error Menu
|
|
|
|
//Tools Menu
|
|
virtual void OnOptions();
|
|
virtual void OnTraceWindow();
|
|
virtual void OnObjectsWindow();
|
|
|
|
//Windows Menu
|
|
virtual void OnDisconnect();
|
|
virtual void OnTile(BOOL fHorizontal);
|
|
virtual void OnCascade();
|
|
virtual void OnArrangeIcons();
|
|
virtual void OnCloseAll();
|
|
virtual void OnNextWindow(BOOL fNextWindow);
|
|
|
|
//Help Menu
|
|
virtual void OnAbout();
|
|
|
|
//Helpers
|
|
virtual BOOL UpdateControls();
|
|
virtual BOOL LoadSettings();
|
|
virtual BOOL SaveSettings();
|
|
|
|
//MDI Child Windows
|
|
virtual BOOL RemoveAllChildren();
|
|
virtual INT_PTR DisplayDialog(UINT uID, HWND hWndParent, DLGPROC lpDialogFunc, CBase* pCObject, UINT idSource = 0);
|
|
|
|
virtual CBase* HandleObjectType(CBase* pCSource, IUnknown* pIUnknown, REFIID riid, SOURCE eSource, ULONG cPropSets, DBPROPSET* rgPropSets, DWORD dwFlags);
|
|
|
|
virtual COptionsSheet* GetOptions() { return m_pCOptionsSheet; }
|
|
virtual CBase** GetObjectAddress(SOURCE eSource = eCUnknown);
|
|
virtual CBase* GetObject(SOURCE eSource = eCUnknown, BOOL fAlways = FALSE);
|
|
|
|
//Binder Procs
|
|
static INT_PTR WINAPI BindResourceProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
static INT_PTR WINAPI RegisterProviderProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
//IDataInitialize
|
|
static INT_PTR WINAPI GetDataSourceProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
static INT_PTR WINAPI EnumPropertiesProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
//IDBPromptInitialize
|
|
static INT_PTR WINAPI PromptDataSourceProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
static INT_PTR WINAPI PromptFileNameProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
//Enum Procs
|
|
static INT_PTR WINAPI GetSourcesRowsetProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
//Error Procs
|
|
static INT_PTR WINAPI ErrorRecordsProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
//Stream Procs
|
|
static INT_PTR WINAPI StreamViewerProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
|
|
//Objects
|
|
CFullConnect* m_pCFullConnect;
|
|
COptionsSheet* m_pCOptionsSheet;
|
|
CBinder* m_pCRootBinder;
|
|
CEnumerator* m_pCRootEnumerator;
|
|
CServiceComp* m_pCServiceComp;
|
|
CDataLinks* m_pCDataLinks;
|
|
CListener* m_pCListener;
|
|
|
|
//Controls
|
|
CStatusBarLite m_CStatusBar;
|
|
CToolBarLite m_CToolBar;
|
|
|
|
//MDI Windows
|
|
CMDITrace* m_pCMDITrace;
|
|
CMDIObjects* m_pCMDIObjects;
|
|
|
|
//Other
|
|
HIMAGELIST m_hImageList;
|
|
HIMAGELIST m_hStateList;
|
|
|
|
//Handles
|
|
HCURSOR m_hCurSizeNS;
|
|
HMODULE m_hLibRichEdit20;
|
|
HMODULE m_hLibRichEdit10;
|
|
|
|
//list of MTS interfaces
|
|
CList<ITransaction*, ITransaction*> m_listTransactions;
|
|
|
|
//Source
|
|
CBase* m_pCSource;
|
|
ULONG m_idSource;
|
|
};
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CAboutDlg
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
class CAboutDlg : public CDialogLite
|
|
{
|
|
public:
|
|
CAboutDlg();
|
|
|
|
//Messages
|
|
virtual BOOL OnInitDialog();
|
|
|
|
protected:
|
|
//data
|
|
};
|
|
|
|
|
|
|
|
#endif //_CMAINWINDOW_H_
|