--- nono/wx/wxsubwindow.h 2026/04/29 17:04:28 1.1 +++ nono/wx/wxsubwindow.h 2026/04/29 17:05:12 1.1.1.10 @@ -1,20 +1,27 @@ // // nono -// Copyright (C) 2018 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt +// + +// +// サブウィンドウ // #pragma once -// +#include "wxnono.h" + +class WXTextScreen; + // サブウィンドウ // // メインウィンドウのメニューから表示されて、表示されてる間チェック状態を // 維持するタイプのウィンドウ。クローズ処理が共通に必要なだけで、中身に // ついては関与していない。 - class WXSubWindow : public wxFrame { - typedef wxFrame inherited; + using inherited = wxFrame; public: static const int DEFAULT_STYLE = (wxDEFAULT_FRAME_STYLE | wxFRAME_FLOAT_ON_PARENT) @@ -24,11 +31,19 @@ class WXSubWindow : public wxFrame public: WXSubWindow(wxWindow *parent, wxWindowID id, const wxString& name, int style); - WXSubWindow(wxWindow *parent, wxWindowID id, const wxString& name); - virtual ~WXSubWindow(); - - // フォントサイズ変更 (継承クラスによる) - virtual void SetFontSize(fontsize_t fontsize) { } + WXSubWindow(wxWindow *parent, wxWindowID id, const wxString& name) + : WXSubWindow(parent, id, name, DEFAULT_STYLE) { } + virtual ~WXSubWindow() override; + + // フォントサイズ変更 + virtual void FontChanged(); + + // ウィンドウサイズ再計算 (継承先による) + virtual void DoSize(); + + protected: + // 縦リサイズ可能なテキストパネルの場合のレイアウト + bool LayoutTextVResize(const WXTextScreen *screen, int fixed_height = 0); private: void OnClose(wxCloseEvent& event);