give imgui code access to notes
This commit is contained in:
@@ -35,6 +35,7 @@ SOLANA_PLUGIN_EXPORT uint32_t solana_plugin_start(struct SolanaAPI* solana_api)
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
auto* crdtn = PLUG_RESOLVE_INSTANCE(CRDTNotes);
|
||||||
auto* crdtns = PLUG_RESOLVE_INSTANCE(CRDTNotesSync);
|
auto* crdtns = PLUG_RESOLVE_INSTANCE(CRDTNotesSync);
|
||||||
auto* cs = PLUG_RESOLVE_INSTANCE(ContactStore4I);
|
auto* cs = PLUG_RESOLVE_INSTANCE(ContactStore4I);
|
||||||
auto* imguic = PLUG_RESOLVE_INSTANCE_VERSIONED(ImGuiContext, ImGui::GetVersion());
|
auto* imguic = PLUG_RESOLVE_INSTANCE_VERSIONED(ImGuiContext, ImGui::GetVersion());
|
||||||
@@ -48,7 +49,7 @@ SOLANA_PLUGIN_EXPORT uint32_t solana_plugin_start(struct SolanaAPI* solana_api)
|
|||||||
|
|
||||||
// static store, could be anywhere tho
|
// static store, could be anywhere tho
|
||||||
// construct with fetched dependencies
|
// construct with fetched dependencies
|
||||||
g_crdtn_imgui = std::make_unique<CRDTNotesImGui>(*crdtns, *cs);
|
g_crdtn_imgui = std::make_unique<CRDTNotesImGui>(*crdtn, *crdtns, *cs);
|
||||||
|
|
||||||
// register types
|
// register types
|
||||||
PLUG_PROVIDE_INSTANCE(CRDTNotesImGui, plugin_name, g_crdtn_imgui.get());
|
PLUG_PROVIDE_INSTANCE(CRDTNotesImGui, plugin_name, g_crdtn_imgui.get());
|
||||||
|
@@ -62,6 +62,11 @@ namespace Events {
|
|||||||
std::vector<CRDTNotes::Doc::Op> ops;
|
std::vector<CRDTNotes::Doc::Op> ops;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// TODO: curser
|
||||||
|
// - DocID
|
||||||
|
// - AgentID
|
||||||
|
// - CRDTNotes::Doc::ListType::ListID parent_left
|
||||||
|
|
||||||
} // Events
|
} // Events
|
||||||
|
|
||||||
// this is different than other "i might not handle this" event interfaces
|
// this is different than other "i might not handle this" event interfaces
|
||||||
|
@@ -48,7 +48,7 @@ namespace detail {
|
|||||||
} // detail
|
} // detail
|
||||||
|
|
||||||
|
|
||||||
CRDTNotesImGui::CRDTNotesImGui(CRDTNotesSync& notes_sync, ContactStore4I& cs) : _notes_sync(notes_sync), _cs(cs) {
|
CRDTNotesImGui::CRDTNotesImGui(CRDTNotes& notes, CRDTNotesSync& notes_sync, ContactStore4I& cs) : _notes(notes), _notes_sync(notes_sync), _cs(cs) {
|
||||||
}
|
}
|
||||||
|
|
||||||
float CRDTNotesImGui::render(void) {
|
float CRDTNotesImGui::render(void) {
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
#include <set>
|
#include <set>
|
||||||
|
|
||||||
class CRDTNotesImGui {
|
class CRDTNotesImGui {
|
||||||
|
CRDTNotes& _notes;
|
||||||
CRDTNotesSync& _notes_sync;
|
CRDTNotesSync& _notes_sync;
|
||||||
ContactStore4I& _cs;
|
ContactStore4I& _cs;
|
||||||
|
|
||||||
@@ -14,7 +15,7 @@ class CRDTNotesImGui {
|
|||||||
std::set<CRDTNotes::DocID> _open_docs;
|
std::set<CRDTNotes::DocID> _open_docs;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
CRDTNotesImGui(CRDTNotesSync& notes_sync, ContactStore4I& cs);
|
CRDTNotesImGui(CRDTNotes& notes, CRDTNotesSync& notes_sync, ContactStore4I& cs);
|
||||||
|
|
||||||
float render(void);
|
float render(void);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user