home *** CD-ROM | disk | FTP | other *** search
/ The Houseplan Collection / HRCD2005.ISO / data1.cab / Zusatz / 3DS / DATA2.Z / ArConEventSink.cpp < prev    next >
C/C++ Source or Header  |  1999-08-17  |  11KB  |  158 lines

  1. // ArConEventSink.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "ArConEventSink.h"
  6.  
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // ArConEventSink
  15.  
  16. IMPLEMENT_DYNCREATE(ArConEventSink, CCmdTarget)
  17.  
  18. ArConEventSink::ArConEventSink()
  19. {
  20.     EnableAutomation();
  21. }
  22.  
  23. ArConEventSink::~ArConEventSink()
  24. {
  25. }
  26.  
  27.  
  28. void ArConEventSink::OnFinalRelease()
  29. {
  30.     // When the last reference for an automation object is released
  31.     // OnFinalRelease is called.  The base class will automatically
  32.     // deletes the object.  Add additional cleanup required for your
  33.     // object before calling the base class.
  34.  
  35.     CCmdTarget::OnFinalRelease();
  36. }
  37.  
  38.  
  39. BEGIN_MESSAGE_MAP(ArConEventSink, CCmdTarget)
  40.     //{{AFX_MSG_MAP(ArConEventSink)
  41.         // NOTE - the ClassWizard will add and remove mapping macros here.
  42.     //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44.  
  45. BEGIN_DISPATCH_MAP(ArConEventSink, CCmdTarget)
  46.     //{{AFX_DISPATCH_MAP(ArConEventSink)
  47.     DISP_FUNCTION_ID(ArConEventSink, "ProgramExit", 1, ProgramExit, VT_EMPTY, VTS_NONE)
  48.     DISP_FUNCTION_ID(ArConEventSink, "LoadDialog", 2, LoadDialog, VT_EMPTY, VTS_I4 VTS_I4 VTS_DISPATCH)
  49.     DISP_FUNCTION_ID(ArConEventSink, "EndDialog", 3, EndDialog, VT_EMPTY, VTS_I4 VTS_BOOL)
  50.     DISP_FUNCTION_ID(ArConEventSink, "ExecuteMenuItem", 4, ExecuteMenuItem, VT_EMPTY, VTS_I4)
  51.     DISP_FUNCTION_ID(ArConEventSink, "GotOneClick", 5, GotOneClick, VT_EMPTY, VTS_BOOL VTS_R4 VTS_R4 VTS_I4)
  52.     DISP_FUNCTION_ID(ArConEventSink, "ButtonChange", 6, ButtonChange, VT_EMPTY, VTS_I4 VTS_I4 VTS_I4 VTS_BOOL VTS_BOOL VTS_BOOL)
  53.     DISP_FUNCTION_ID(ArConEventSink, "HowMove", 7, HowMove, VT_EMPTY, VTS_I4 VTS_R4 VTS_R4 VTS_I4)
  54.   DISP_FUNCTION_ID(ArConEventSink, "HowInput", 8, HowInput, VT_EMPTY, VTS_I4 VTS_R4 VTS_R4 VTS_R4 VTS_R4 VTS_I4 VTS_PDISPATCH)
  55.     DISP_FUNCTION_ID(ArConEventSink, "SaveDialogDefaults", 9, SaveDialogDefaults, VT_EMPTY, VTS_I4 VTS_I4)
  56.     DISP_FUNCTION_ID(ArConEventSink, "DialogActivation", 10, DialogActivation, VT_EMPTY, VTS_I4 VTS_I4 VTS_I4 VTS_BOOL)
  57.     DISP_FUNCTION_ID(ArConEventSink, "LoadComplete", 11, LoadComplete, VT_EMPTY, VTS_BOOL)
  58.     DISP_FUNCTION_ID(ArConEventSink, "LoadBuilding", 12, LoadBuilding, VT_EMPTY, VTS_PDISPATCH VTS_I4)
  59.     DISP_FUNCTION_ID(ArConEventSink, "LoadStart", 13, LoadStart, VT_EMPTY, VTS_NONE)
  60.     DISP_FUNCTION_ID(ArConEventSink, "SaveStart", 14, SaveStart, VT_EMPTY, VTS_BSTR VTS_I4 VTS_BOOL VTS_PI4)
  61.     DISP_FUNCTION_ID(ArConEventSink, "SaveBuilding", 15, SaveBuilding, VT_EMPTY, VTS_I4 VTS_PDISPATCH)
  62.     DISP_FUNCTION_ID(ArConEventSink, "HowSnap", 16, HowSnap, VT_EMPTY, VTS_I4 VTS_R4 VTS_R4 VTS_I4 VTS_R4)
  63.     DISP_FUNCTION_ID(ArConEventSink, "HowStatusLineRedraw", 17, HowStatusLineRedraw, VT_EMPTY, VTS_I4 VTS_R4 VTS_R4 VTS_I4)
  64.     DISP_FUNCTION_ID(ArConEventSink, "ProjectClosed", 18, ProjectClosed, VT_EMPTY, VTS_NONE)
  65.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DDoubleClick", 19, Graphics2DDoubleClick, VT_EMPTY, VTS_PDISPATCH)
  66.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DSelectionChanged", 20, Graphics2DSelectionChanged, VT_EMPTY, VTS_PDISPATCH VTS_R4 VTS_R4 VTS_BOOL VTS_BOOL VTS_BOOL VTS_R4 VTS_I4)
  67.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DDeleted", 21, Graphics2DDeleted, VT_EMPTY, VTS_PDISPATCH VTS_PBOOL)
  68.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DMove", 22, Graphics2DMove, VT_EMPTY, VTS_PDISPATCH VTS_R4 VTS_R4 VTS_I4)
  69.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DEndMoving", 23, Graphics2DEndMoving, VT_EMPTY, VTS_PDISPATCH VTS_BOOL VTS_BOOL VTS_BOOL)
  70.     DISP_FUNCTION_ID(ArConEventSink, "NewCurrentProject", 24, NewCurrentProject, VT_EMPTY, VTS_NONE)
  71.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DStartMoving", 25, Graphics2DStartMoving, VT_EMPTY, VTS_PDISPATCH VTS_R4 VTS_R4 VTS_R4 VTS_BOOL VTS_I4 VTS_PBOOL)
  72.     DISP_FUNCTION_ID(ArConEventSink, "InputModeChanged", 26, InputModeChanged, VT_EMPTY, VTS_I4)
  73.     DISP_FUNCTION_ID(ArConEventSink, "ProjectChange", 27, ProjectChange, VT_EMPTY, VTS_NONE)
  74.     DISP_FUNCTION_ID(ArConEventSink, "ChangeNotify", 28, ChangeNotify, VT_EMPTY, VTS_PDISPATCH VTS_I4)
  75.     DISP_FUNCTION_ID(ArConEventSink, "Object3DDoubleClicked", 29, Object3DDoubleClicked, VT_EMPTY, VTS_PDISPATCH VTS_PDISPATCH VTS_PBOOL VTS_PBOOL)
  76.     DISP_FUNCTION_ID(ArConEventSink, "TextureDropped", 30, TextureDropped, VT_EMPTY, VTS_PDISPATCH VTS_PDISPATCH VTS_I4 VTS_PDISPATCH VTS_BSTR VTS_R4 VTS_R4 VTS_R4 VTS_PBOOL VTS_PBOOL VTS_PBOOL)
  77.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DStoryHeightsChanged", 31, Graphics2DStoryHeightsChanged, VT_EMPTY, VTS_PDISPATCH)
  78.     DISP_FUNCTION_ID(ArConEventSink, "Graphics2DObjectTransform", 32, Graphics2DObjectTransform, VT_EMPTY, VTS_DISPATCH VTS_PVARIANT)
  79.     DISP_FUNCTION_ID(ArConEventSink, "RoofDoubleClicked", 33, RoofDoubleClicked, VT_EMPTY, VTS_PBOOL)
  80.   DISP_FUNCTION_ID(ArConEventSink, "UserPanelAdjustSize", 34, UserPanelAdjustSize, VT_EMPTY, VTS_I4 VTS_PI4 VTS_PI4 VTS_PBOOL)
  81.   DISP_FUNCTION_ID(ArConEventSink, "UserPanelPosChanged", 35, UserPanelPosChanged, VT_EMPTY, VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4)
  82.   DISP_FUNCTION_ID(ArConEventSink, "UserPanelRightClicked", 36, UserPanelRightClicked, VT_EMPTY, VTS_I4)
  83.   DISP_FUNCTION_ID(ArConEventSink, "ExternalViewsVisibilityChanged", 37, ExternalViewsVisibilityChanged, VT_EMPTY, VTS_I4)
  84.   DISP_FUNCTION_ID(ArConEventSink, "Object3DInserted", 38, Object3DInserted, VT_EMPTY, VTS_DISPATCH VTS_DISPATCH VTS_DISPATCH VTS_PVARIANT VTS_PBOOL)
  85.   DISP_FUNCTION_ID(ArConEventSink, "WorldObject3DDoubleClicked", 39, WorldObject3DDoubleClicked, VT_EMPTY, VTS_DISPATCH VTS_DISPATCH VTS_I4 VTS_PBOOL)
  86.   DISP_FUNCTION_ID(ArConEventSink, "WorldObject3DMoved", 40, WorldObject3DMoved, VT_EMPTY, VTS_DISPATCH VTS_DISPATCH VTS_DISPATCH VTS_PVARIANT)
  87.   DISP_FUNCTION_ID(ArConEventSink, "WorldObject3DTextureDropped", 41, WorldObject3DTextureDropped, VT_EMPTY, VTS_DISPATCH VTS_I4 VTS_R4 VTS_R4 VTS_R4 VTS_DISPATCH VTS_I4 VTS_BSTR VTS_BSTR VTS_PBOOL)
  88.   DISP_FUNCTION_ID(ArConEventSink, "WorldObject3DMaterialDropped", 42, WorldObject3DMaterialDropped, VT_EMPTY, VTS_DISPATCH VTS_I4 VTS_R4 VTS_R4 VTS_R4 VTS_DISPATCH VTS_I4 VTS_DISPATCH VTS_DISPATCH VTS_PBOOL)
  89.     //}}AFX_DISPATCH_MAP
  90. END_DISPATCH_MAP()
  91.  
  92. BEGIN_INTERFACE_MAP(ArConEventSink, CCmdTarget)
  93.     INTERFACE_PART(ArConEventSink, DIID__ArConEvents, Dispatch)
  94. END_INTERFACE_MAP()
  95.  
  96. /////////////////////////////////////////////////////////////////////////////
  97. // ArConEventSink message handlers
  98.  
  99. void ArConEventSink::ProgramExit() 
  100. {
  101.   PostQuitMessage(0);
  102. }
  103.  
  104. void ArConEventSink::GotOneClick(BOOL /*valid*/, float /*x*/, float /*y*/, long /*id*/) {}
  105. void ArConEventSink::LoadDialog(long /* dialogID */, long /* ArConDlgToken */, LPDISPATCH /* dialogObject */) { }
  106. void ArConEventSink::EndDialog(long /*dialogID*/, BOOL /*ok*/) { }
  107. void ArConEventSink::ExecuteMenuItem(long /* menuId */) {}
  108. void ArConEventSink::ButtonChange(long /*btnId*/, long /*evnt*/, long /*selectedIndex*/, BOOL /*pressed*/, BOOL /*visible*/, BOOL /*enabled*/) { }
  109. void ArConEventSink::HowMove(long /*btnId*/, float /*x*/, float /*y*/, long /*viewHandle*/) { }
  110. void ArConEventSink::HowInput(long /*btnId*/, float /*x*/, float /*y*/, float /*dirX*/, float /*dirY*/, long /*state*/, LPDISPATCH /*CutView*/) { }
  111. void ArConEventSink::SaveDialogDefaults(long /*dlgId*/, long /*token*/) { }
  112. void ArConEventSink::DialogActivation(long /*dlgId*/, long /*ArConDlgToken*/, long /*subObjectCount*/, BOOL /*activated*/) { }
  113. void ArConEventSink::LoadComplete(BOOL /*successfull*/) { }
  114. void ArConEventSink::LoadBuilding(LPDISPATCH /*aBuilding*/, long /*SaveNo*/) { }
  115. void ArConEventSink::LoadStart() { }
  116. void ArConEventSink::SaveStart(LPCTSTR /*FileName*/, long /*NumBuildings*/, BOOL /*isAutoSave*/, long* /*numChunksToSave*/) { }
  117. void ArConEventSink::SaveBuilding(long /*BuildingNo*/, LPDISPATCH /*aBuilding*/) { }
  118. void ArConEventSink::HowSnap(long /*btnId*/, float /*x*/, float /*y*/, long /*viewHandle*/, float /*snapDistance*/) { }
  119. void ArConEventSink::HowStatusLineRedraw(long /*btnId*/, float /*x*/, float /*y*/, long /*viewHandle*/) { }
  120.  
  121. void ArConEventSink::ProjectClosed()
  122. {
  123.   PostQuitMessage(0);
  124. }
  125.  
  126. void ArConEventSink::Graphics2DDoubleClick(LPDISPATCH /*ob*/) { }
  127. void ArConEventSink::Graphics2DSelectionChanged(LPDISPATCH /*obj*/, float /*x*/, float /*y*/, BOOL /*selected*/, BOOL /*extended*/, BOOL /*hasAlreadyBeenSelected*/, float /*pixelScale*/, long /*snapRadius*/) { }
  128. void ArConEventSink::Graphics2DDeleted(LPDISPATCH /*obj*/, BOOL * /*allowDelete*/) { }
  129. void ArConEventSink::Graphics2DMove(LPDISPATCH /*obj*/, float /*x*/, float /*y*/, long /*viewHandle*/) { }
  130. void ArConEventSink::Graphics2DEndMoving(LPDISPATCH /*obj*/, BOOL /*aborted*/, BOOL /*extended*/, BOOL /*copied*/) { }
  131.  
  132. void ArConEventSink::NewCurrentProject()
  133. }
  134.  
  135. void ArConEventSink::Graphics2DStartMoving(LPDISPATCH /* obj */, float /* x */, float /* y */, float /* pixelFactor */, BOOL /* extended */, long /* markerIndex */, BOOL * /* allowMove */) { }
  136.  
  137. void ArConEventSink::InputModeChanged(long /* newMode */) 
  138. }
  139.  
  140. void ArConEventSink::ProjectChange() { }
  141. void ArConEventSink::ChangeNotify(LPDISPATCH /* obj */, long /* events */) { }
  142. void ArConEventSink::Object3DDoubleClicked(LPDISPATCH /*obj3D*/, LPDISPATCH /*obj2D*/, BOOL * /*redrawObject*/, BOOL * /*redrawAll*/) { }
  143. void ArConEventSink::TextureDropped(LPDISPATCH /*obj2D*/, LPDISPATCH /*obj3D*/, long /*matIndex*/, LPDISPATCH /*objTexture*/, LPCTSTR /*droppedTextureName*/, float /*x*/, float /*y*/, float /*z*/, BOOL * /*redraw*/, BOOL * /*redrawWholeScene*/, BOOL * /*autoExchangeTexture*/) { }
  144. void ArConEventSink::Graphics2DStoryHeightsChanged(LPDISPATCH /*obj2D*/) { }
  145. void ArConEventSink::Graphics2DObjectTransform(LPDISPATCH /*obj2D*/, VARIANT* /*matrix*/) { }
  146. void ArConEventSink::RoofDoubleClicked(BOOL * /*showDialog*/) { }
  147. void ArConEventSink::UserPanelAdjustSize(long /*ButtonInfo*/, long * /*width*/, long * /*height*/, BOOL * /*ok*/) { }
  148. void ArConEventSink::UserPanelPosChanged(long /*ButtonInfo*/, long /*left*/, long /*top*/, long /*right*/, long /*bottom*/) { }
  149. void ArConEventSink::UserPanelRightClicked(long /*ButtonInfo*/) { }
  150. void ArConEventSink::ExternalViewsVisibilityChanged(long /*newVisFlags*/) { }
  151. void ArConEventSink::Object3DInserted(IObject3D * /* Obj */, IWallSegment * /* SnapWallSeg */, IObject3D * /* SnapObj */, VARIANT * /* Position */, VARIANT_BOOL * /* PositionChanged */)  { }
  152. void ArConEventSink::WorldObject3DDoubleClicked(IObject3D * /* selObj */, IObject3D * /* clickedObj */, long /* objectPartID */, VARIANT_BOOL * /*Modified*/) { }
  153. void ArConEventSink::WorldObject3DMoved(IObject3D * /* obj */, IWallSegment * /* snappingWallSeg */, IObject3D * /* snappingObject */, VARIANT * /* MC_WC */) { }
  154. void ArConEventSink::WorldObject3DTextureDropped(IObject3D * /* obj */, long /* event */, float /* hitX */, float /* hitY */, float /* hitZ */, IMaterial * /* pickedMat */, long /* objectPartID */, LPCTSTR /* oldTexName */, LPCTSTR /* newTexName */, VARIANT_BOOL * /* mayDrop */) { }
  155. void ArConEventSink::WorldObject3DMaterialDropped(IObject3D * /* obj */, long /* event */, float /* hitX */, float /* hitY */, float /* hitZ */, IMaterial * /* pickedMat */, long /* objectPartID */, IMaterial * /*oldMat*/, IMaterial * /*newMat*/, VARIANT_BOOL * /* mayDrop */) { }
  156.