--- nono/wx/wxmpumonitor.cpp 2026/04/29 17:04:37 1.1.1.1 +++ nono/wx/wxmpumonitor.cpp 2026/04/29 17:04:39 1.1.1.2 @@ -19,9 +19,8 @@ wxBEGIN_EVENT_TABLE(WXCacheTextScreen, i wxEND_EVENT_TABLE() // コンストラクタ -WXCacheTextScreen::WXCacheTextScreen(wxWindow *parent, int col_, int row_, - const uint16 *textbuf_) - : inherited(parent, col_, row_, textbuf_) +WXCacheTextScreen::WXCacheTextScreen(wxWindow *parent, IMonitor& monitor_) + : inherited(parent, monitor_) { parentwindow = dynamic_cast(parent); } @@ -35,7 +34,7 @@ WXCacheTextScreen::~WXCacheTextScreen() void WXCacheTextScreen::OnLeftDown(wxMouseEvent& event) { - wxPoint pos = event.GetPosition(); + const wxPoint& pos = event.GetPosition(); // テキストの桁数、行数 int tx = pos.x / font_width; @@ -52,11 +51,6 @@ WXCacheTextScreen::OnLeftDown(wxMouseEve // CMMU キャッシュウィンドウ // -// イベントテーブル -wxBEGIN_EVENT_TABLE(WXCacheWindow, inherited) - EVT_TIMER(wxID_ANY, WXCacheWindow::OnTimer) -wxEND_EVENT_TABLE() - // コンストラクタ WXCacheWindow::WXCacheWindow(wxWindow *parent, wxWindowID id, const wxString& name, m88200 *cmmu_) @@ -66,21 +60,14 @@ WXCacheWindow::WXCacheWindow(wxWindow *p wxBoxSizer *topsizer = new wxBoxSizer(wxVERTICAL); - col = 82; - row = 23; - monitor.Init(col, row); - screen = new WXCacheTextScreen(this, col, row, monitor.GetBuf()); - topsizer->Add(screen, BorderFlags); + screen = new WXCacheTextScreen(this, *this); + topsizer->Add(screen, 0, wxEXPAND | wxALL, DefaultPadding); SetSizer(topsizer); // 大きさを固定 Layout(); Fit(); - - // 更新タイマーは適当 - timer.SetOwner(this); - timer.Start(33); } // デストラクタ @@ -88,27 +75,21 @@ WXCacheWindow::~WXCacheWindow() { } -// タイマーイベント +// モニターサイズ取得 +nnSize +WXCacheWindow::GetMonitorSize() +{ + return nnSize(82, 23); +} + +// モニターテキストを更新 void -WXCacheWindow::OnTimer(wxTimerEvent& event) +WXCacheWindow::MonitorUpdate(TextScreen& monitor) { // 上半分(セット詳細) cmmu->MonitorCacheSet(monitor, 0, setidx); // 下半分(概要) cmmu->MonitorCacheOverview(monitor, 6, setidx, true); - - // 再描画 - screen->Refresh(); -} - -// フォントサイズ変更 -void -WXCacheWindow::SetFontSize(fontsize_t fontsize) -{ - screen->SetFontSize(fontsize); - // 大きさを変更 - Layout(); - Fit(); } // 右クリック処理 (WXCacheTextScreen::OnLeftDown から呼ばれる)