43 std::optional<uint16_t>
addr;
55 void save(ImGuiTextBuffer& buf)
override;
63 [[nodiscard]] std::vector<GuiItem>&
getBps() {
return guiBps; }
68 template<
typename Item>
void paintTab(
MSXCPUInterface& cpuInterface,
Debugger& debugger, std::optional<uint16_t> addr = {});
69 template<
typename Item>
void syncFromOpenMsx(std::vector<GuiItem>& items, MSXCPUInterface& cpuInterface);
70 void checkSort(std::vector<GuiItem>& items)
const;
71 std::optional<uint16_t> parseAddress(
const TclObject& o);
72 template<
typename Item>
void syncToOpenMsx(
73 MSXCPUInterface& cpuInterface, Debugger& debugger,
74 Interpreter& interp, GuiItem& item)
const;
75 template<
typename Item>
void drawRow(MSXCPUInterface& cpuInterface, Debugger& debugger,
int row, GuiItem& item);
76 bool editRange(std::string&
begin, std::string&
end);
77 bool editCondition(ParsedSlotCond& slot);
79 [[nodiscard]]
auto& getItems(BreakPoint*) {
return guiBps; }
80 [[nodiscard]]
auto& getItems(WatchPoint*) {
return guiWps; }
81 [[nodiscard]]
auto& getItems(DebugCondition*) {
return guiConditions; }
83 void clear(BreakPoint*, MSXCPUInterface& cpuInterface);
84 void clear(WatchPoint*, MSXCPUInterface& cpuInterface);
85 void clear(DebugCondition*, MSXCPUInterface& cpuInterface);
87 template<
typename Item>
void refresh(std::vector<GuiItem>& items);
95 static inline int idCounter = 0;
96 std::vector<GuiItem> guiBps;
97 std::vector<GuiItem> guiWps;
98 std::vector<GuiItem> guiConditions;
101 static constexpr auto persistentElements = std::tuple{