[GME-commit]
GMESRC/GME/Gme sizecbar.h,1.1,1.2 ScrollZoomView.cpp,1.16,1.17
PartBrowser.h,1.3,1.4 PanningWindow.h,1.4,1.5 GMEOLEPanel.h,1.2,1.3
GMEOLEPanel.cpp,1.3,1.4 GMEOLEModel.h,1.3,1.4
GMEOLEModel.cpp,1.6,1.7 GMEOLEApp.h,1.4,1.5 GMEOLEApp.cpp,1.8,1.9
GMEObjectInspector.h,1.6,1.7 GMEDoc.h,1.11,1.12
GMEDoc.cpp,1.25,1.26 GMEConsole.h,1.2,1.3 GMEBrowser.h,1.8,1.9
GMEBrowser.cpp,1.28,1.29 gmeactivebrowser.h,1.2,1.3
gmeactivebrowser.cpp,1.1,1.2
gme-commit at list.isis.vanderbilt.edu
gme-commit at list.isis.vanderbilt.edu
Wed Jan 12 11:53:26 CST 2005
- Previous message: [GME-commit] GMESRC/GME/MgaUtil RegistryTree.cpp,1.4,1.5
- Next message: [GME-commit]
GMESRC/GME/GMEActiveBrowser TreeCtrlEx.cpp,1.3,1.4 MgaMap.h,1.1,1.2
MgaMap.cpp,1.1,1.2 GMEActiveBrowserCtl.h,1.5,1.6
GMEActiveBrowserCtl.cpp,1.11,1.12 GMEActiveBrowser.odl,1.4,1.5
ActiveBrowserPropertyPage.h,1.10,1.11
ActiveBrowserPropertyPage.cpp,1.37,1.38
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /var/lib/gme/GMESRC/GME/Gme
In directory braindrain:/tmp/cvs-serv29407
Modified Files:
sizecbar.h ScrollZoomView.cpp PartBrowser.h PanningWindow.h
GMEOLEPanel.h GMEOLEPanel.cpp GMEOLEModel.h GMEOLEModel.cpp
GMEOLEApp.h GMEOLEApp.cpp GMEObjectInspector.h GMEDoc.h
GMEDoc.cpp GMEConsole.h GMEBrowser.h GMEBrowser.cpp
gmeactivebrowser.h gmeactivebrowser.cpp
Log Message:
Extended interface for scripting
CVS User: bogyom
Index: sizecbar.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/sizecbar.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** sizecbar.h 6 Jul 2000 20:44:00 -0000 1.1
--- sizecbar.h 12 Jan 2005 17:53:15 -0000 1.2
***************
*** 119,122 ****
--- 119,123 ----
const BOOL IsVertDocked() const;
const BOOL IsSideTracking() const;
+ virtual IDispatch * GetInterface() = 0;
// Operations
Index: ScrollZoomView.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/ScrollZoomView.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** ScrollZoomView.cpp 22 Jul 2004 14:05:36 -0000 1.16
--- ScrollZoomView.cpp 12 Jan 2005 17:53:16 -0000 1.17
***************
*** 888,892 ****
// ignore scroll bar msgs from other controls
! if (pScrollBar != GetScrollBarCtrl(SB_HORZ))
return;
--- 888,892 ----
// ignore scroll bar msgs from other controls
! if (pScrollBar != NULL && pScrollBar != GetScrollBarCtrl(SB_HORZ))
return;
***************
*** 900,904 ****
// ignore scroll bar msgs from other controls
! if (pScrollBar != GetScrollBarCtrl(SB_VERT))
return;
--- 900,904 ----
// ignore scroll bar msgs from other controls
! if (pScrollBar != NULL && pScrollBar != GetScrollBarCtrl(SB_VERT))
return;
Index: PartBrowser.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/PartBrowser.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** PartBrowser.h 13 Aug 2001 17:19:00 -0000 1.3
--- PartBrowser.h 12 Jan 2005 17:53:16 -0000 1.4
***************
*** 19,22 ****
--- 19,23 ----
public:
CPartBrowser();
+ IDispatch * GetInterface() {return NULL;};
// Attributes
Index: PanningWindow.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/PanningWindow.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** PanningWindow.h 24 Jul 2004 06:41:53 -0000 1.4
--- PanningWindow.h 12 Jan 2005 17:53:16 -0000 1.5
***************
*** 22,25 ****
--- 22,26 ----
void SetBitmapDC(CWnd *owner, CDC *bdc, CRect &ori, CRect &rect, COLORREF &bkgrnd);
void SetViewRect(CRect vrect);
+ IDispatch * GetInterface() {return NULL;};
// Generated message map functions
Index: GMEOLEPanel.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEOLEPanel.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** GMEOLEPanel.h 22 Jul 2004 14:05:36 -0000 1.2
--- GMEOLEPanel.h 12 Jan 2005 17:53:16 -0000 1.3
***************
*** 8,12 ****
//
!
/////////////////////////////////////////////////////////////////////////////
--- 8,12 ----
//
! #include "sizecbar.h"
/////////////////////////////////////////////////////////////////////////////
***************
*** 24,28 ****
// Operations
public:
! void SetParams(CControlBar *control, CString name) { m_control = control; m_name = name;}
// Overrides
--- 24,28 ----
// Operations
public:
! void SetParams(CSizingControlBar *control, CString name) { m_control = control; m_name = name;}
// Overrides
***************
*** 32,36 ****
// Implementation
protected:
! CControlBar *m_control;
CString m_name;
--- 32,37 ----
// Implementation
protected:
! // CControlBar *m_control;
! CSizingControlBar *m_control;
CString m_name;
***************
*** 48,51 ****
--- 49,54 ----
afx_msg BOOL GetVisible();
afx_msg void SetVisible(BOOL bNewValue);
+ afx_msg IDispatch* GetInterface();
+ afx_msg void SetInterface(IDispatch* intf);
DECLARE_DISPATCH_MAP()
***************
*** 56,59 ****
--- 59,63 ----
STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL isVisible);
STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL* isVisible);
+ STDMETHOD(get_Interface)(THIS_ IDispatch** isVisible);
END_DUAL_INTERFACE_PART(Dual)
Index: GMEOLEPanel.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEOLEPanel.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** GMEOLEPanel.cpp 22 Jul 2004 14:05:36 -0000 1.3
--- GMEOLEPanel.cpp 12 Jan 2005 17:53:16 -0000 1.4
***************
*** 53,56 ****
--- 53,57 ----
DISP_PROPERTY_EX(CGMEOLEPanel, "Name", GetName, SetName, VT_BSTR)
DISP_PROPERTY_EX(CGMEOLEPanel, "Visible", GetVisible, SetVisible, VT_BOOL)
+ DISP_PROPERTY_EX(CGMEOLEPanel, "Interface", GetInterface, SetInterface, VT_DISPATCH)
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
***************
*** 105,111 ****
--- 106,130 ----
CMainFrame::theInstance->ShowControlBar(m_control, bNewValue, FALSE);
+ }
+ IDispatch* CGMEOLEPanel::GetInterface()
+ {
+ CGMEEventLogger::LogGMEEvent("CGMEOLEPanel::GetInterface()\r\n");
+
+ PRECONDITION_VALID_PANEL
+
+ IDispatch* interf = NULL;
+ interf = m_control->GetInterface();
+ return interf;
}
+ void CGMEOLEPanel::SetInterface(IDispatch* intf)
+ {
+ CGMEEventLogger::LogGMEEvent("CGMEOLEPanel::SetInterface()\r\n");
+
+ SetNotSupported();
+ }
+
+
DELEGATE_DUAL_INTERFACE(CGMEOLEPanel, Dual)
***************
*** 150,153 ****
--- 169,186 ----
#pragma warning(disable: 4310) // cast truncates constant value
*isVisible = (pThis->GetVisible() == FALSE) ? VARIANT_FALSE : VARIANT_TRUE;
+ #pragma warning(default: 4310) // cast truncates constant value
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+ STDMETHODIMP CGMEOLEPanel::XDual::get_Interface(IDispatch** interf)
+ {
+ METHOD_PROLOGUE(CGMEOLEPanel, Dual)
+
+ TRY_DUAL(IID_IGMEOLEPanel)
+ {
+ #pragma warning(disable: 4310) // cast truncates constant value
+ *interf = pThis->GetInterface();
#pragma warning(default: 4310) // cast truncates constant value
return NOERROR;
Index: GMEOLEModel.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEOLEModel.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** GMEOLEModel.h 22 Jul 2004 14:05:36 -0000 1.3
--- GMEOLEModel.h 12 Jan 2005 17:53:16 -0000 1.4
***************
*** 63,68 ****
afx_msg void RunComponentDialog();
afx_msg void Close();
! afx_msg void GrayOutFCO(BOOL bGray, BOOL bNeighbours, LPDISPATCH mgaFCO);
! afx_msg void GrayOutAll(BOOL bGray);
DECLARE_DISPATCH_MAP()
--- 63,73 ----
afx_msg void RunComponentDialog();
afx_msg void Close();
! afx_msg void GrayOutFCO(BOOL bGray, BOOL bNeighbours, LPDISPATCH mgaFCOs);
! afx_msg void GrayOutHide();
! afx_msg void ShowSetMembers(LPDISPATCH mgaFCO);
! afx_msg void HideSetMembers();
! afx_msg void Zoom(long percent);
! afx_msg void ZoomTo(LPDISPATCH mgaFCOs);
! afx_msg void Scroll(long bar, long scroll);
DECLARE_DISPATCH_MAP()
***************
*** 84,88 ****
STDMETHOD(Close)(THIS);
STDMETHOD(GrayOutFCO)(THIS_ VARIANT_BOOL bGray, VARIANT_BOOL bNeighbours, IMgaFCOs* mgaFCO);
! STDMETHOD(GrayOutAll)(THIS_ VARIANT_BOOL bGray);
END_DUAL_INTERFACE_PART(Dual)
--- 89,98 ----
STDMETHOD(Close)(THIS);
STDMETHOD(GrayOutFCO)(THIS_ VARIANT_BOOL bGray, VARIANT_BOOL bNeighbours, IMgaFCOs* mgaFCO);
! STDMETHOD(GrayOutHide)(THIS);
! STDMETHOD(ShowSetMembers)(THIS_ IMgaFCO* mgaFCO);
! STDMETHOD(HideSetMembers)(THIS);
! STDMETHOD(Zoom)(THIS_ DWORD percent);
! STDMETHOD(ZoomTo)(THIS_ IMgaFCOs* mgaFCOs);
! STDMETHOD(Scroll)(THIS_ bar_enum bar, scroll_enum scroll);
END_DUAL_INTERFACE_PART(Dual)
Index: GMEOLEModel.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEOLEModel.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** GMEOLEModel.cpp 22 Jul 2004 14:05:36 -0000 1.6
--- GMEOLEModel.cpp 12 Jan 2005 17:53:16 -0000 1.7
***************
*** 81,85 ****
DISP_FUNCTION(CGMEOLEModel, "Close", Close, VT_EMPTY, VTS_NONE)
DISP_FUNCTION(CGMEOLEModel, "GrayOutFCO", GrayOutFCO, VT_EMPTY, VTS_BOOL VTS_BOOL VTS_DISPATCH)
! DISP_FUNCTION(CGMEOLEModel, "GrayOutAll", GrayOutAll, VT_EMPTY, VTS_BOOL)
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
--- 81,90 ----
DISP_FUNCTION(CGMEOLEModel, "Close", Close, VT_EMPTY, VTS_NONE)
DISP_FUNCTION(CGMEOLEModel, "GrayOutFCO", GrayOutFCO, VT_EMPTY, VTS_BOOL VTS_BOOL VTS_DISPATCH)
! DISP_FUNCTION(CGMEOLEModel, "GrayOutHide", GrayOutHide, VT_EMPTY, VTS_NONE)
! DISP_FUNCTION(CGMEOLEModel, "ShowSetMembers", ShowSetMembers, VT_EMPTY, VTS_DISPATCH)
! DISP_FUNCTION(CGMEOLEModel, "HideSetMembers", HideSetMembers, VT_EMPTY, VTS_NONE)
! DISP_FUNCTION(CGMEOLEModel, "Zoom", Zoom, VT_EMPTY, VTS_I4)
! DISP_FUNCTION(CGMEOLEModel, "ZoomTo", ZoomTo, VT_EMPTY, VTS_DISPATCH)
! DISP_FUNCTION(CGMEOLEModel, "Scroll", Scroll, VT_EMPTY, VTS_I2 VTS_I2)
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
***************
*** 268,271 ****
--- 273,279 ----
PRECONDITION_VALID_MODEL;
+ if (CGMEDoc::theInstance)
+ CGMEDoc::theInstance->SetMode(5);
+
CComPtr<IDispatch> alienFCO(mgaFCO);
CComPtr<IMgaFCO> mFCO;
***************
*** 296,307 ****
}
! void CGMEOLEModel::GrayOutAll(BOOL bGray)
{
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::GrayOutAll()\r\n");
PRECONDITION_VALID_MODEL;
! CGuiFco::GrayOutFcos(m_view->children, (bGray == TRUE));
! CGuiFco::GrayOutFcos(m_view->connections, (bGray == TRUE));
m_view->Invalidate();
}
--- 304,477 ----
}
! void CGMEOLEModel::GrayOutHide()
{
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::GrayOutHide()\r\n");
PRECONDITION_VALID_MODEL;
! if (CGMEDoc::theInstance)
! CGMEDoc::theInstance->SetMode(5);
!
! CGuiFco::GrayOutFcos(m_view->children, TRUE);
! CGuiFco::GrayOutFcos(m_view->connections, TRUE);
! m_view->Invalidate();
! }
!
! void CGMEOLEModel::ShowSetMembers(LPDISPATCH mgaFCO)
! {
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::ShowSetMembers()\r\n");
!
! PRECONDITION_VALID_MODEL;
!
! if (CGMEDoc::theInstance)
! CGMEDoc::theInstance->SetMode(3);
!
! CGuiFco::GrayOutFcos(m_view->children, TRUE);
!
! CComPtr<IDispatch> alienFCO(mgaFCO);
! CComPtr<IMgaFCO> mFCO;
! if (!SUCCEEDED(alienFCO.QueryInterface(&mFCO)))
! return;
!
! // mgaFCO is comming from an unknown territory, do not use it as-is. (except for this search)
! CGuiObject *gObj = CGuiObject::FindObject(mFCO, m_view->children);
! if (gObj)
! {
! gObj->GrayOut(false);
!
! // members of the set too
! CComPtr<IMgaSet> mSet;
! if (!SUCCEEDED(mFCO.QueryInterface(&mSet)))
! return;
! m_view->BeginTransaction();
!
! try
! {
! CComPtr<IMgaFCOs> mSetMembers = NULL;
! COMTHROW(mSet->get_Members(&mSetMembers));
!
! long num = 0;
! COMTHROW(mSetMembers->get_Count(&num));
! for (int i=1; i<=num; i++)
! {
! CComPtr<IMgaFCO> memb = NULL;
! COMTHROW(mSetMembers->get_Item(i, &memb));
! CGuiObject *gObj = CGuiObject::FindObject(memb, m_view->children);
! if (gObj)
! gObj->GrayOut(false);
! }
! m_view->CommitTransaction();
! }
! catch(hresult_exception &e)
! {
! m_view->AbortTransaction(e.hr);
! }
! }
!
! m_view->Invalidate();
! }
!
! void CGMEOLEModel::HideSetMembers()
! {
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::HideSetMembers()\r\n");
!
! PRECONDITION_VALID_MODEL;
!
! if (CGMEDoc::theInstance)
! CGMEDoc::theInstance->SetMode(3);
!
! CGuiFco::GrayOutFcos(m_view->children, TRUE);
! m_view->Invalidate();
! }
!
! void CGMEOLEModel::Zoom(long percent)
! {
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::Zoom()\r\n");
!
! PRECONDITION_VALID_MODEL;
!
! m_view->ZoomPercent(percent);
! m_view->Invalidate();
! }
!
! void CGMEOLEModel::ZoomTo(LPDISPATCH mgaFCOs)
! {
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::ZoomTo()\r\n");
!
! PRECONDITION_VALID_MODEL;
!
! if (CGMEDoc::theInstance)
! CGMEDoc::theInstance->SetMode(4);
!
! CComPtr<IDispatch> disp(mgaFCOs);
! CComPtr<IMgaFCOs> fcos;
! if (!SUCCEEDED(disp.QueryInterface(&fcos)))
! return;
!
! // calculate the total size of them
! CRect totalr(0,0,0,0);
! m_view->BeginTransaction();
! try
! {
! long num = 0;
! COMTHROW(fcos->get_Count(&num));
! for (int i=1; i<=num; i++)
! {
! CComPtr<IMgaFCO> memb = NULL;
! COMTHROW(fcos->get_Item(i, &memb));
! // size ??
! CGuiObject *gObj = CGuiObject::FindObject(memb, m_view->children);
! if (gObj)
! {
! CRect rec = gObj->GetLocation();
! totalr.UnionRect(totalr, rec);
! }
! }
! m_view->CommitTransaction();
! }
! catch(hresult_exception &e)
! {
! m_view->AbortTransaction(e.hr);
! }
!
! m_view->ZoomToFCOs(totalr);
! m_view->Invalidate();
!
! }
!
! void CGMEOLEModel::Scroll(long bar, long scroll)
! {
! CGMEEventLogger::LogGMEEvent("CGMEOLEModel::Scroll()\r\n");
!
! PRECONDITION_VALID_MODEL;
!
! UINT code = SB_LINEDOWN;
! switch (scroll)
! {
! case 0:
! code = SB_LINEUP;
! break;
! case 1:
! code = SB_LINEDOWN;
! break;
! case 2:
! code = SB_PAGEUP;
! break;
! case 3:
! code = SB_PAGEDOWN;
! break;
! case 4:
! code = SB_TOP;
! break;
! case 5:
! code = SB_BOTTOM;
! break;
! }
!
! if (bar == 0)
! m_view->OnHScroll(code, 1, NULL);
! else
! m_view->OnVScroll(code, 1, NULL);
!
m_view->Invalidate();
}
***************
*** 486,490 ****
! STDMETHODIMP CGMEOLEModel::XDual::GrayOutAll(VARIANT_BOOL bGray)
{
METHOD_PROLOGUE(CGMEOLEModel, Dual)
--- 656,660 ----
! STDMETHODIMP CGMEOLEModel::XDual::GrayOutHide()
{
METHOD_PROLOGUE(CGMEOLEModel, Dual)
***************
*** 492,496 ****
TRY_DUAL(IID_IGMEOLEModel)
{
! pThis->GrayOutAll(bGray);
return NOERROR;
}
--- 662,666 ----
TRY_DUAL(IID_IGMEOLEModel)
{
! pThis->GrayOutHide();
return NOERROR;
}
***************
*** 498,500 ****
--- 668,733 ----
}
+ STDMETHODIMP CGMEOLEModel::XDual::ShowSetMembers(IMgaFCO* mgaFCO)
+ {
+ METHOD_PROLOGUE(CGMEOLEModel, Dual)
+
+ TRY_DUAL(IID_IGMEOLEModel)
+ {
+ LPDISPATCH lpDisp = NULL;
+ mgaFCO->QueryInterface(IID_IDispatch, (LPVOID*)&lpDisp);
+ pThis->ShowSetMembers(lpDisp);
+ lpDisp->Release();
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+
+ STDMETHODIMP CGMEOLEModel::XDual::HideSetMembers()
+ {
+ METHOD_PROLOGUE(CGMEOLEModel, Dual)
+
+ TRY_DUAL(IID_IGMEOLEModel)
+ {
+ pThis->HideSetMembers();
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+ STDMETHODIMP CGMEOLEModel::XDual::Zoom(DWORD percent)
+ {
+ METHOD_PROLOGUE(CGMEOLEModel, Dual)
+
+ TRY_DUAL(IID_IGMEOLEModel)
+ {
+ pThis->Zoom(percent);
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+ STDMETHODIMP CGMEOLEModel::XDual::ZoomTo(IMgaFCOs* mgaFCOs)
+ {
+ METHOD_PROLOGUE(CGMEOLEModel, Dual)
+
+ TRY_DUAL(IID_IGMEOLEModel)
+ {
+ pThis->ZoomTo(mgaFCOs);
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+ STDMETHODIMP CGMEOLEModel::XDual::Scroll(bar_enum bar, scroll_enum scroll)
+ {
+ METHOD_PROLOGUE(CGMEOLEModel, Dual)
+
+ TRY_DUAL(IID_IGMEOLEModel)
+ {
+ pThis->Scroll(bar, scroll);
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
Index: GMEOLEApp.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEOLEApp.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** GMEOLEApp.h 24 Jul 2004 06:41:53 -0000 1.4
--- GMEOLEApp.h 12 Jan 2005 17:53:16 -0000 1.5
***************
*** 83,90 ****
afx_msg void ShowHelpContents();
afx_msg void ShowAbout();
! afx_msg void ShowFCO(LPDISPATCH mgaFCO);
afx_msg void ConsoleMessage(LPCTSTR msg, long type);
afx_msg void ConsoleClear();
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
--- 83,94 ----
afx_msg void ShowHelpContents();
afx_msg void ShowAbout();
! afx_msg void ShowFCO(LPDISPATCH mgaFCO, BOOL inParent);
afx_msg void ConsoleMessage(LPCTSTR msg, long type);
afx_msg void ConsoleClear();
+ afx_msg void ChangeEditmode(long mode);
+ afx_msg void GridShow(BOOL show);
+ afx_msg void AttributepanelPage(long page);
+
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
***************
*** 126,132 ****
STDMETHOD(ShowHelpContents)(THIS);
STDMETHOD(ShowAbout)(THIS);
! STDMETHOD(ShowFCO)(THIS_ IMgaFCO* mgaFCO);
STDMETHOD(ConsoleMessage)(THIS_ BSTR msg, msgtype_enum type);
STDMETHOD(ConsoleClear)(THIS);
END_DUAL_INTERFACE_PART(Dual)
--- 130,141 ----
STDMETHOD(ShowHelpContents)(THIS);
STDMETHOD(ShowAbout)(THIS);
! STDMETHOD(ShowFCO)(THIS_ IMgaFCO* mgaFCO, VARIANT_BOOL inParent = FALSE);
STDMETHOD(ConsoleMessage)(THIS_ BSTR msg, msgtype_enum type);
STDMETHOD(ConsoleClear)(THIS);
+
+ STDMETHOD(ChangeEditmode)(THIS_ editmode_enum mode);
+ STDMETHOD(GridShow)(THIS_ VARIANT_BOOL show);
+ STDMETHOD(AttributepanelPage)(THIS_ attribpanel_page page);
+
END_DUAL_INTERFACE_PART(Dual)
Index: GMEOLEApp.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEOLEApp.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** GMEOLEApp.cpp 24 Aug 2004 21:27:31 -0000 1.8
--- GMEOLEApp.cpp 12 Jan 2005 17:53:16 -0000 1.9
***************
*** 98,104 ****
DISP_FUNCTION(CGMEOLEApp, "ShowHelpContents", ShowHelpContents, VT_EMPTY, VTS_NONE)
DISP_FUNCTION(CGMEOLEApp, "ShowAbout", ShowAbout, VT_EMPTY, VTS_NONE)
! DISP_FUNCTION(CGMEOLEApp, "ShowFCO", ShowFCO, VT_EMPTY, VTS_DISPATCH)
DISP_FUNCTION(CGMEOLEApp, "ConsoleMessage", ConsoleMessage, VT_EMPTY, VTS_BSTR VTS_I4)
DISP_FUNCTION(CGMEOLEApp, "ConsoleClear", ConsoleClear, VT_EMPTY, VTS_NONE)
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
--- 98,109 ----
DISP_FUNCTION(CGMEOLEApp, "ShowHelpContents", ShowHelpContents, VT_EMPTY, VTS_NONE)
DISP_FUNCTION(CGMEOLEApp, "ShowAbout", ShowAbout, VT_EMPTY, VTS_NONE)
! DISP_FUNCTION(CGMEOLEApp, "ShowFCO", ShowFCO, VT_EMPTY, VTS_DISPATCH VTS_BOOL)
DISP_FUNCTION(CGMEOLEApp, "ConsoleMessage", ConsoleMessage, VT_EMPTY, VTS_BSTR VTS_I4)
DISP_FUNCTION(CGMEOLEApp, "ConsoleClear", ConsoleClear, VT_EMPTY, VTS_NONE)
+
+ DISP_FUNCTION(CGMEOLEApp, "ChangeEditmode", ChangeEditmode, VT_EMPTY, VTS_I4)
+ DISP_FUNCTION(CGMEOLEApp, "GridShow", GridShow, VT_EMPTY, VTS_BOOL)
+ DISP_FUNCTION(CGMEOLEApp, "AttributepanelPage", AttributepanelPage, VT_EMPTY, VTS_I4)
+
//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()
***************
*** 456,460 ****
! void CGMEOLEApp::ShowFCO(LPDISPATCH mgaFCO)
{
CGMEEventLogger::LogGMEEvent("CGMEOLEApp::ShowFCO()\r\n");
--- 461,465 ----
! void CGMEOLEApp::ShowFCO(LPDISPATCH mgaFCO, BOOL inParent)
{
CGMEEventLogger::LogGMEEvent("CGMEOLEApp::ShowFCO()\r\n");
***************
*** 463,467 ****
if (CGMEDoc::theInstance) {
! CGMEDoc::theInstance->ShowObject(mgaFCO);
}
}
--- 468,472 ----
if (CGMEDoc::theInstance) {
! CGMEDoc::theInstance->ShowObject(mgaFCO, inParent);
}
}
***************
*** 497,500 ****
--- 502,531 ----
}
+ void CGMEOLEApp::ChangeEditmode(long mode)
+ {
+ CGMEEventLogger::LogGMEEvent("CGMEOLEApp::ChangeEditmode()\r\n");
+ if (CGMEDoc::theInstance)
+ CGMEDoc::theInstance->SetMode(mode);
+ }
+
+ void CGMEOLEApp::GridShow(BOOL show)
+ {
+ CGMEEventLogger::LogGMEEvent("CGMEOLEApp::GridShow()\r\n");
+ CMDIChildWnd *pChild = CMainFrame::theInstance->MDIGetActive();
+ if (pChild)
+ {
+ CGMEView *view = (CGMEView*)pChild->GetActiveView();
+ if (view)
+ view->ShowGrid(show==TRUE);
+ }
+ }
+
+ void CGMEOLEApp::AttributepanelPage(long page)
+ {
+ CGMEEventLogger::LogGMEEvent("CGMEOLEApp::AttributepanelPage()\r\n");
+ CGMEObjectInspector::theInstance->ShowPanel(page);
+ }
+
+
LPDISPATCH CGMEOLEApp::GetMgaProject()
{
***************
*** 522,541 ****
CGMEOLEPanel* panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_browser), _T("Browser"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_objectInspector), _T("Attribute Panel"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_console), _T("Console"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_partBrowser), _T("Part Browser"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
--- 553,572 ----
CGMEOLEPanel* panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_browser), _T("Browser"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_objectInspector), _T("Attribute Panel"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_console), _T("Console"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_partBrowser), _T("Part Browser"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
***************
*** 543,557 ****
// terge
panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_pannWin), _T("Panning Window"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_wndStatusBar), _T("Status Bar"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams(&(CMainFrame::theInstance->m_wndReBar), _T("Toolbar"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
--- 574,588 ----
// terge
panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_pannWin), _T("Panning Window"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_wndStatusBar), _T("Status Bar"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
panel = new CGMEOLEPanel();
! panel->SetParams((CSizingControlBar*)&(CMainFrame::theInstance->m_wndReBar), _T("Toolbar"));
coll->Add(panel->GetIDispatch(FALSE));
panel->GetIDispatch(FALSE)->Release(); // We do not hold reference, hopefully the collection will hold one
***************
*** 1043,1047 ****
! STDMETHODIMP CGMEOLEApp::XDual::ShowFCO( IMgaFCO* mgaFCO)
{
METHOD_PROLOGUE(CGMEOLEApp, Dual)
--- 1074,1078 ----
! STDMETHODIMP CGMEOLEApp::XDual::ShowFCO( IMgaFCO* mgaFCO, VARIANT_BOOL inParent)
{
METHOD_PROLOGUE(CGMEOLEApp, Dual)
***************
*** 1051,1055 ****
LPDISPATCH lpDisp = NULL;
mgaFCO->QueryInterface(IID_IDispatch, (LPVOID*)&lpDisp);
! pThis->ShowFCO(lpDisp);
lpDisp->Release();
return NOERROR;
--- 1082,1086 ----
LPDISPATCH lpDisp = NULL;
mgaFCO->QueryInterface(IID_IDispatch, (LPVOID*)&lpDisp);
! pThis->ShowFCO(lpDisp, inParent);
lpDisp->Release();
return NOERROR;
***************
*** 1077,1080 ****
--- 1108,1148 ----
{
pThis->ConsoleClear();
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+
+ STDMETHODIMP CGMEOLEApp::XDual::ChangeEditmode(editmode_enum mode)
+ {
+ METHOD_PROLOGUE(CGMEOLEApp, Dual)
+
+ TRY_DUAL(IID_IGMEOLEApp)
+ {
+ pThis->ChangeEditmode((long)mode);
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+ STDMETHODIMP CGMEOLEApp::XDual::GridShow(VARIANT_BOOL show)
+ {
+ METHOD_PROLOGUE(CGMEOLEApp, Dual)
+
+ TRY_DUAL(IID_IGMEOLEApp)
+ {
+ pThis->GridShow(show);
+ return NOERROR;
+ }
+ CATCH_ALL_DUAL
+ }
+
+ STDMETHODIMP CGMEOLEApp::XDual::AttributepanelPage(attribpanel_page page)
+ {
+ METHOD_PROLOGUE(CGMEOLEApp, Dual)
+
+ TRY_DUAL(IID_IGMEOLEApp)
+ {
+ pThis->AttributepanelPage((long)page);
return NOERROR;
}
Index: GMEObjectInspector.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEObjectInspector.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** GMEObjectInspector.h 29 May 2002 18:41:00 -0000 1.6
--- GMEObjectInspector.h 12 Jan 2005 17:53:16 -0000 1.7
***************
*** 20,23 ****
--- 20,24 ----
virtual ~CGMEObjectInspector(){theInstance = 0;};
+ IDispatch * GetInterface() {return NULL;};
// Dialog Data
Index: GMEDoc.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEDoc.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** GMEDoc.h 13 Oct 2004 15:17:55 -0000 1.11
--- GMEDoc.h 12 Jan 2005 17:53:16 -0000 1.12
***************
*** 40,44 ****
CGMEView *FindView(CComPtr<IMgaModel> model);
void SetNextToView(CComPtr<IMgaModel> &model,CString aspName, CComPtr<IMgaFCO> ¢erObj) { nextToView = model; nextAspect = aspName; initialCenterObj = centerObj;}
! void ShowObject(CComPtr<IUnknown> alienObject);
void ShowObject(LPCTSTR objectID);
void ResetNextToView() { nextToView = 0; }
--- 40,44 ----
CGMEView *FindView(CComPtr<IMgaModel> model);
void SetNextToView(CComPtr<IMgaModel> &model,CString aspName, CComPtr<IMgaFCO> ¢erObj) { nextToView = model; nextAspect = aspName; initialCenterObj = centerObj;}
! void ShowObject(CComPtr<IUnknown> alienObject, BOOL inParent = FALSE);
void ShowObject(LPCTSTR objectID);
void ResetNextToView() { nextToView = 0; }
***************
*** 73,77 ****
#endif
! protected:
// Generated message map functions
--- 73,78 ----
#endif
! public:
! void SetMode(long mode);
// Generated message map functions
Index: GMEDoc.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEDoc.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -C2 -d -r1.25 -r1.26
*** GMEDoc.cpp 13 Oct 2004 15:17:55 -0000 1.25
--- GMEDoc.cpp 12 Jan 2005 17:53:16 -0000 1.26
***************
*** 396,404 ****
}
! void CGMEDoc::ShowObject(CComPtr<IUnknown> alienObject)
{
// Be prepared for in-transaction and out-transaction scenarios
// mgaFCO must be transfered to current territory
if(alienObject == NULL) {
return;
--- 396,405 ----
}
! void CGMEDoc::ShowObject(CComPtr<IUnknown> alienObject, BOOL inParent)
{
// Be prepared for in-transaction and out-transaction scenarios
// mgaFCO must be transfered to current territory
+ bool isModel = true;
if(alienObject == NULL) {
return;
***************
*** 413,425 ****
if (!SUCCEEDED(alienObject.QueryInterface(&model))) { // Alien object is not a modell
if (SUCCEEDED(alienObject.QueryInterface(&fco))) {
- long status;
- COMTHROW(theApp.mgaProject->get_ProjectStatus(&status));
- bool inTrans = (status & 0x08L) != 0;
-
- CComPtr<IMgaTerritory> terr;
-
try {
if (!inTrans) {
--- 414,426 ----
+ long status;
+ COMTHROW(theApp.mgaProject->get_ProjectStatus(&status));
+ bool inTrans = (status & 0x08L) != 0;
+ CComPtr<IMgaTerritory> terr;
+
if (!SUCCEEDED(alienObject.QueryInterface(&model))) { // Alien object is not a modell
+ isModel = false;
if (SUCCEEDED(alienObject.QueryInterface(&fco))) {
try {
if (!inTrans) {
***************
*** 455,459 ****
}
}
!
if (model) {
CGMEView *view = NULL;
--- 456,485 ----
}
}
!
! if (model && isModel && inParent)
! {
!
! try
! {
! if (!inTrans) {
! COMTHROW(theApp.mgaProject->CreateTerritory(NULL, &terr));
! COMTHROW(theApp.mgaProject->BeginTransaction(terr));
! }
! CComPtr<IMgaObject> parent;
! COMTHROW(model->GetParent(&parent));
! COMTHROW(model.QueryInterface(&fco));
! model = NULL;
! COMTHROW(parent.QueryInterface(&model));
!
! if (!inTrans)
! theApp.mgaProject->CommitTransaction();
! }
! catch (hresult_exception e)
! {
! model = NULL;
! if (!inTrans)
! theApp.mgaProject->AbortTransaction();
! }
! }
if (model) {
CGMEView *view = NULL;
***************
*** 568,571 ****
--- 594,622 ----
/////////////////////////////////////////////////////////////////////////////
// CGMEDoc commands
+
+ void CGMEDoc::SetMode(long mode)
+ {
+ switch (mode)
+ {
+ case 0: // edit
+ OnModeEdit();
+ break;
+ case 1: // connect
+ OnModeAutoconnect();
+ break;
+ case 2: // disconnect
+ OnModeDisconnect();
+ break;
+ case 3: // set
+ OnModeSet();
+ break;
+ case 4: // zoom
+ OnModeZoom();
+ break;
+ case 5: // visualize
+ OnModeVisualize();
+ break;
+ }
+ }
void CGMEDoc::OnModeAutoconnect()
Index: GMEConsole.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEConsole.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** GMEConsole.h 2 Dec 2004 22:32:22 -0000 1.2
--- GMEConsole.h 12 Jan 2005 17:53:16 -0000 1.3
***************
*** 26,29 ****
--- 26,30 ----
void SetContents(const CString& contents);
void SetGMEApp(IDispatch *idp);
+ IDispatch * GetInterface() {return NULL;};
// Dialog Data
Index: GMEBrowser.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEBrowser.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** GMEBrowser.h 7 Feb 2003 15:11:23 -0000 1.8
--- GMEBrowser.h 12 Jan 2005 17:53:16 -0000 1.9
***************
*** 26,31 ****
--- 26,40 ----
void RefreshAll();
void ShowObject(LPUNKNOWN selected);
+ void FocusItem(BSTR Id);
void ShowAttrPref(bool isAttr, LPUNKNOWN selected);
void SetCurrObject(LPUNKNOWN pMgaObject);
+ IDispatch * GetInterface()
+ {
+ CComPtr<IUnknown> punk;
+ punk.Attach(m_GMEActiveBrowser.GetControlUnknown());
+ IDispatch* disp = NULL;
+ punk.QueryInterface(&disp);
+ return disp;
+ };
// Dialog Data
Index: GMEBrowser.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/GMEBrowser.cpp,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -d -r1.28 -r1.29
*** GMEBrowser.cpp 12 May 2004 19:38:41 -0000 1.28
--- GMEBrowser.cpp 12 Jan 2005 17:53:16 -0000 1.29
***************
*** 75,78 ****
--- 75,83 ----
}
+ void CGMEBrowser::FocusItem(BSTR Id)
+ {
+ m_GMEActiveBrowser.FocusItem(Id);
+ }
+
BEGIN_MESSAGE_MAP(CGMEBrowser, CSizingControlBar)
//{{AFX_MSG_MAP(CGMEBrowser)
***************
*** 236,239 ****
--- 241,245 ----
pUnknown->Release();
ASSERT(ccpSelectedObjects!=NULL);
+ // CComQIPtr<IMgaObjects> ccpSelectedObjects(pMgaObject);
CGMEObjectInspector::theInstance->SetObjects(ccpSelectedObjects);
}
Index: gmeactivebrowser.h
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/gmeactivebrowser.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** gmeactivebrowser.h 13 May 2002 17:28:00 -0000 1.2
--- gmeactivebrowser.h 12 Jan 2005 17:53:16 -0000 1.3
***************
*** 50,53 ****
--- 50,54 ----
void RefreshAll();
LPUNKNOWN GetSelectedMgaObjects();
+ void FocusItem(BSTR Id);
};
Index: gmeactivebrowser.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/GME/Gme/gmeactivebrowser.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** gmeactivebrowser.cpp 2 Mar 2002 00:10:00 -0000 1.1
--- gmeactivebrowser.cpp 12 Jan 2005 17:53:16 -0000 1.2
***************
*** 7,11 ****
#include "stdafx.h"
#include "gmeactivebrowser.h"
!
/////////////////////////////////////////////////////////////////////////////
// CGMEActiveBrowser
--- 7,11 ----
#include "stdafx.h"
#include "gmeactivebrowser.h"
! #include <comdef.h>
/////////////////////////////////////////////////////////////////////////////
// CGMEActiveBrowser
***************
*** 46,48 ****
--- 46,56 ----
InvokeHelper(0x4, DISPATCH_METHOD, VT_UNKNOWN, (void*)&result, NULL);
return result;
+ }
+
+ void CGMEActiveBrowser::FocusItem(BSTR Id)
+ {
+ static BYTE parms[] =
+ VTS_BSTR;
+ _bstr_t bid(Id);
+ InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, parms, (char*)bid);
}
- Previous message: [GME-commit] GMESRC/GME/MgaUtil RegistryTree.cpp,1.4,1.5
- Next message: [GME-commit]
GMESRC/GME/GMEActiveBrowser TreeCtrlEx.cpp,1.3,1.4 MgaMap.h,1.1,1.2
MgaMap.cpp,1.1,1.2 GMEActiveBrowserCtl.h,1.5,1.6
GMEActiveBrowserCtl.cpp,1.11,1.12 GMEActiveBrowser.odl,1.4,1.5
ActiveBrowserPropertyPage.h,1.10,1.11
ActiveBrowserPropertyPage.cpp,1.37,1.38
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the GME-commit
mailing list