--- nono/wx/wxdumpmonitor.h 2026/04/29 17:04:28 1.1.1.1 +++ nono/wx/wxdumpmonitor.h 2026/04/29 17:04:39 1.1.1.3 @@ -1,6 +1,7 @@ // // nono -// Copyright (C) 2019 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once @@ -10,14 +11,20 @@ // // メモリダンプウィンドウ // -class WXMemdumpWindow : public WXSubWindow +class WXMemdumpWindow : public WXVResizeSubWindow, public IMonitor { - typedef WXSubWindow inherited; + using inherited = WXVResizeSubWindow; public: WXMemdumpWindow(wxWindow *parent, wxWindowID id); - ~WXMemdumpWindow(); + virtual ~WXMemdumpWindow() override; + + nnSize GetMonitorSize() override; + void MonitorUpdate(TextScreen& ts) override; private: + // ウィンドウサイズ再計算 + void DoSize() override; + // テキスト入力イベント void OnTextEnter(wxCommandEvent& event); @@ -25,19 +32,6 @@ class WXMemdumpWindow : public WXSubWind void OnPrev(wxCommandEvent& event); void OnNext(wxCommandEvent& event); - // タイマーイベント - void OnTimer(wxTimerEvent& event); - - // フォントサイズ変更 - virtual void SetFontSize(fontsize_t fontsize); - - // 更新 - void Update(); - - // テキストスクリーンの桁数、行数 - int col = 0; - int row = 0; - // アドレス wxTextCtrl *addrctrl = NULL; // 入力された開始アドレス @@ -48,17 +42,12 @@ class WXMemdumpWindow : public WXSubWind wxButton *prev_btn = NULL; wxButton *next_btn = NULL; + // コントロールパネルを格納する sizer + wxBoxSizer *ctrlbox {}; + // 論理アドレス表示か bool is_logical = false; - // テキストスクリーン - TextScreen monitor; - // テキストスクリーンコントロール - WXTextScreen *screen = NULL; - - // タイマー - wxTimer timer; - // イベントテーブル wxDECLARE_EVENT_TABLE(); };