--- nono/wx/wxplanemonitor.h 2026/04/29 17:05:19 1.1.1.3 +++ nono/wx/wxplanemonitor.h 2026/04/29 17:05:44 1.1.1.6 @@ -25,8 +25,8 @@ class WXPlaneVRAMBitmapPanel : public WX using inherited = WXBitmapPanel; public: - WXPlaneVRAMBitmapPanel(wxWindow *parent); - virtual ~WXPlaneVRAMBitmapPanel() override; + explicit WXPlaneVRAMBitmapPanel(wxWindow *parent); + ~WXPlaneVRAMBitmapPanel() override; void EnablePlane(int plane, bool value); void EnablePalette(bool value); @@ -72,14 +72,15 @@ class WXPlaneVRAMPanel : public WXTextPa { using inherited = WXTextPanel; public: - WXPlaneVRAMPanel(wxWindow *parent); - virtual ~WXPlaneVRAMPanel() override; + explicit WXPlaneVRAMPanel(wxWindow *parent); + ~WXPlaneVRAMPanel() override; + void Fit() override; bool Layout() override; // スクロールバーの FontChanged() を呼ぶため(だけ)に // これ自身も wxTextPanel を継承している。 - void FontChanged(); + void FontChanged() override; void EnablePlane(int plane, bool value); void EnablePalette(bool value); @@ -88,17 +89,12 @@ class WXPlaneVRAMPanel : public WXTextPa const wxPoint& GetCursor() const { return viewctl->GetCursor(); } private: - void OnSize(wxSizeEvent& event); - - void DoSize(wxSize); + void SetScroll(); WXPlaneVRAMBitmapPanel *viewctl {}; WXScrollBar *vscroll {}; WXScrollBar *hscroll {}; WXBitmapPanel *corner {}; // 右下の空き地 - - // イベントテーブル - wxDECLARE_EVENT_TABLE(); }; // プレーン VRAM ウィンドウ @@ -111,14 +107,17 @@ class WXPlaneVRAMWindow : public WXSubWi public: WXPlaneVRAMWindow(wxWindow *parent, const wxString& name); - virtual ~WXPlaneVRAMWindow() override; + ~WXPlaneVRAMWindow() override; - void FontChanged() override; + void Fit() override; + bool Layout() override; // ステータスパネル WXTextScreen *statuspanel {}; private: + void DoSizeHints(); + void OnPlane(wxCommandEvent& event); void DoPlane(int plane, bool value); void OnApplyPalette(wxCommandEvent& event); @@ -134,6 +133,9 @@ class WXPlaneVRAMWindow : public WXSubWi wxCheckBox *applysw {}; wxChoice *scalesw {}; + // ステータスパネル右の空き地用 + WXBitmapPanel *spacer {}; + // グラフィックパネル WXPlaneVRAMPanel *viewpanel {}; @@ -142,6 +144,10 @@ class WXPlaneVRAMWindow : public WXSubWi PlaneVRAMDevice *planevram {}; + // 謎のリサイズ対策 + int min_height {}; + wxSize correct_clientsize {}; + // イベントテーブル wxDECLARE_EVENT_TABLE();