feat: Finish up work on new pl section system

This commit is contained in:
WerWolv
2022-11-08 21:43:22 +01:00
parent 23ce2ec271
commit 4c5d2f6ebb
22 changed files with 250 additions and 215 deletions

View File

@@ -75,6 +75,11 @@ namespace hex {
return s_tooltipFunctions;
}
static std::optional<ProviderRegion> s_currentSelection;
void setCurrentSelection(std::optional<ProviderRegion> region) {
s_currentSelection = region;
}
}
u32 addBackgroundHighlight(const Region &region, color_t color) {
@@ -181,19 +186,20 @@ namespace hex {
return getSelection().has_value();
}
std::optional<Region> getSelection() {
std::optional<Region> selection;
EventManager::post<QuerySelection>(selection);
return selection;
std::optional<ProviderRegion> getSelection() {
return impl::s_currentSelection;
}
void setSelection(const Region &region) {
void setSelection(const Region &region, prv::Provider *provider) {
setSelection(ProviderRegion { region, provider == nullptr ? Provider::get() : provider });
}
void setSelection(const ProviderRegion &region) {
EventManager::post<RequestSelectionChange>(region);
}
void setSelection(u64 address, size_t size) {
setSelection({ address, size });
void setSelection(u64 address, size_t size, prv::Provider *provider) {
setSelection({ { address, size }, provider == nullptr ? Provider::get() : provider });
}
}