diff --git a/SpeckleConnector/Connector.xcodeproj/project.pbxproj b/SpeckleConnector/Connector.xcodeproj/project.pbxproj index f1b7813..f66fa1a 100644 --- a/SpeckleConnector/Connector.xcodeproj/project.pbxproj +++ b/SpeckleConnector/Connector.xcodeproj/project.pbxproj @@ -42,6 +42,7 @@ 21B67CEB2C78D27200FD64FC /* DocumentInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 21B67CE82C78D27200FD64FC /* DocumentInfo.cpp */; }; 21B67CF12C78D38000FD64FC /* GoAway.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 21B67CF02C78D38000FD64FC /* GoAway.cpp */; }; 21B67CF72C78D4DE00FD64FC /* GetComplexType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 21B67CF52C78D4DD00FD64FC /* GetComplexType.cpp */; }; + 21D0BD602C89BFEA0077E104 /* SendBridge.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 21D0BD5B2C89BFEA0077E104 /* SendBridge.cpp */; }; 21D1E9AD2BF14AF200957EAA /* BIMData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21D1E9152BF14AEC00957EAA /* BIMData.framework */; }; 21D1E9AE2BF14AF200957EAA /* TeamworkPortalServerClient.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21D1E9162BF14AEC00957EAA /* TeamworkPortalServerClient.framework */; }; 21D1E9AF2BF14AF200957EAA /* GDL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21D1E9172BF14AEC00957EAA /* GDL.framework */; }; @@ -304,6 +305,8 @@ 21B67CF02C78D38000FD64FC /* GoAway.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GoAway.cpp; sourceTree = ""; }; 21B67CF52C78D4DD00FD64FC /* GetComplexType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GetComplexType.cpp; sourceTree = ""; }; 21B67CF62C78D4DE00FD64FC /* GetComplexType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GetComplexType.h; sourceTree = ""; }; + 21D0BD5B2C89BFEA0077E104 /* SendBridge.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SendBridge.cpp; sourceTree = ""; }; + 21D0BD5C2C89BFEA0077E104 /* SendBridge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SendBridge.h; sourceTree = ""; }; 21D1E9152BF14AEC00957EAA /* BIMData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BIMData.framework; path = "../Archicad 27/Support/Frameworks/BIMData.framework"; sourceTree = ""; }; 21D1E9162BF14AEC00957EAA /* TeamworkPortalServerClient.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = TeamworkPortalServerClient.framework; path = "../Archicad 27/Support/Frameworks/TeamworkPortalServerClient.framework"; sourceTree = ""; }; 21D1E9172BF14AEC00957EAA /* GDL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GDL.framework; path = "../Archicad 27/Support/Frameworks/GDL.framework"; sourceTree = ""; }; @@ -967,6 +970,15 @@ path = Arg; sourceTree = ""; }; + 21D0BD5D2C89BFEA0077E104 /* Send */ = { + isa = PBXGroup; + children = ( + 21D0BD5B2C89BFEA0077E104 /* SendBridge.cpp */, + 21D0BD5C2C89BFEA0077E104 /* SendBridge.h */, + ); + path = Send; + sourceTree = ""; + }; 21D1EA472BF14B6C00957EAA /* Archicad */ = { isa = PBXGroup; children = ( @@ -1048,6 +1060,7 @@ 21F69F852C70D2C4008B6A06 /* Account */, 21B67CAB2C77329800FD64FC /* Base */, 21F69FB82C762EF0008B6A06 /* Config */, + 21D0BD5D2C89BFEA0077E104 /* Send */, 21B67CD82C78C83800FD64FC /* Test */, ); path = Bridge; @@ -1286,6 +1299,7 @@ 21B67CF72C78D4DE00FD64FC /* GetComplexType.cpp in Sources */, 21B67CAE2C77329800FD64FC /* GetSourceApplicationVersion.cpp in Sources */, 21B67CC32C77649F00FD64FC /* GetDocumentState.cpp in Sources */, + 21D0BD602C89BFEA0077E104 /* SendBridge.cpp in Sources */, 21B67CAC2C77329800FD64FC /* BaseBridge.cpp in Sources */, 210CC8832C80E6A300610F58 /* TriggerEvent.cpp in Sources */, 21B67CEB2C78D27200FD64FC /* DocumentInfo.cpp in Sources */, diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Send/SendBridge.cpp b/SpeckleConnector/Connector/Interface/Browser/Bridge/Send/SendBridge.cpp new file mode 100644 index 0000000..9f898f7 --- /dev/null +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Send/SendBridge.cpp @@ -0,0 +1,10 @@ +#include "Connector/Interface/Browser/Bridge/Send/SendBridge.h" + +using namespace connector::interfac::browser::bridge; + +/*-------------------------------------------------------------------- + Default constructor + --------------------------------------------------------------------*/ +SendBridge::SendBridge() : BrowserBridge{"sendBinding"} { + //Add bridge methods +} //SendBridge::SendBridge diff --git a/SpeckleConnector/Connector/Interface/Browser/Bridge/Send/SendBridge.h b/SpeckleConnector/Connector/Interface/Browser/Bridge/Send/SendBridge.h new file mode 100644 index 0000000..e05f980 --- /dev/null +++ b/SpeckleConnector/Connector/Interface/Browser/Bridge/Send/SendBridge.h @@ -0,0 +1,29 @@ +#ifndef CONNECTOR_INTERFACE_BRIDGE_SEND_BRIDGE +#define CONNECTOR_INTERFACE_BRIDGE_SEND_BRIDGE + +#include "Speckle/Interface/Browser/Bridge/BrowserBridge.h" + +namespace connector::interfac::browser::bridge { + + /*! + A browser bridge to support sending model data to a Speckle server + */ + class SendBridge : public speckle::interfac::browser::bridge::BrowserBridge { + public: + + // MARK: - Types + + using base = speckle::interfac::browser::bridge::BrowserBridge; + + // MARK: - Constructors + + using base::base; + /*! + Default constructor + */ + SendBridge(); + }; + +} + +#endif //CONNECTOR_INTERFACE_BRIDGE_SEND_BRIDGE diff --git a/SpeckleConnector/Connector/Interface/ConnectorPalette.cpp b/SpeckleConnector/Connector/Interface/ConnectorPalette.cpp index e48aada..f5011fb 100644 --- a/SpeckleConnector/Connector/Interface/ConnectorPalette.cpp +++ b/SpeckleConnector/Connector/Interface/ConnectorPalette.cpp @@ -6,6 +6,7 @@ #include "Connector/Interface/Browser/Bridge/Account/AccountBridge.h" #include "Connector/Interface/Browser/Bridge/Base/BaseBridge.h" #include "Connector/Interface/Browser/Bridge/Config/ConfigBridge.h" +#include "Connector/Interface/Browser/Bridge/Send/SendBridge.h" #include "Connector/Interface/Browser/Bridge/Test/TestBridge.h" #include "Speckle/Environment/Addon.h" #include "Speckle/Event/Type/MenuEvent.h" @@ -18,9 +19,9 @@ using namespace active::environment; using namespace active::event; using namespace connector; +using namespace speckle::interfac::browser; using namespace connector::interfac::browser::bridge; using namespace speckle::event; -//using namespace speckle::interfac::browser; //NB: Following is placeholder from GS example code - will be refactored to better suit our purposes @@ -36,7 +37,7 @@ namespace { // --- Class declaration: BrowserPalette ------------------------------------------ - class BrowserPalette final : public DG::Palette, public DG::PanelObserver, public speckle::interfac::browser::JSPortal<> { + class BrowserPalette final : public DG::Palette, public DG::PanelObserver, public JSPortal<> { public: enum SelectionModification { RemoveFromSelection, AddToSelection }; @@ -128,7 +129,7 @@ bool ConnectorPalette::start() { --------------------------------------------------------------------*/ bool ConnectorPalette::receive(const active::event::Event& event) { if (BrowserPalette::HasInstance() && BrowserPalette::GetInstance().IsVisible()) { - BrowserPalette::GetInstance ().Hide (); + BrowserPalette::GetInstance().Hide (); } else { if (!BrowserPalette::HasInstance()) BrowserPalette::CreateInstance(); @@ -165,6 +166,7 @@ BrowserPalette::BrowserPalette() : install(std::make_shared()); install(std::make_shared()); install(std::make_shared()); + install(std::make_shared()); install(std::make_shared()); InitBrowserControl(); }