|
|
1.1 root 1: //
2: // nono
1.1.1.2 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
1.1.1.9 root 7: //
8: // サブウィンドウ
9: //
10:
1.1 root 11: #pragma once
12:
1.1.1.7 root 13: #include "wxnono.h"
1.1.1.6 root 14:
1.1.1.9 root 15: class WXTextScreen;
1.1.1.2 root 16:
1.1 root 17: // サブウィンドウ
18: //
19: // メインウィンドウのメニューから表示されて、表示されてる間チェック状態を
20: // 維持するタイプのウィンドウ。クローズ処理が共通に必要なだけで、中身に
21: // ついては関与していない。
1.1.1.7 root 22: class WXSubWindow : public wxFrame
1.1 root 23: {
1.1.1.7 root 24: using inherited = wxFrame;
1.1 root 25: public:
26: static const int DEFAULT_STYLE =
27: (wxDEFAULT_FRAME_STYLE | wxFRAME_FLOAT_ON_PARENT)
28: & ~wxMAXIMIZE_BOX
29: & ~wxRESIZE_BORDER;
30:
31: public:
32: WXSubWindow(wxWindow *parent, wxWindowID id, const wxString& name,
33: int style);
1.1.1.7 root 34: WXSubWindow(wxWindow *parent, wxWindowID id, const wxString& name)
35: : WXSubWindow(parent, id, name, DEFAULT_STYLE) { }
1.1.1.12! root 36: ~WXSubWindow() override;
1.1 root 37:
1.1.1.9 root 38: // フォントサイズ変更
39: virtual void FontChanged();
40:
1.1.1.11 root 41: void Fit() override;
1.1.1.12! root 42: bool Layout() override;
! 43:
! 44: protected:
! 45: // 自前レイアウト方式を使うことを宣言する。
! 46: void SetMyLayout();
! 47:
! 48: // 自前レイアウト方式のサイズに関する情報を取得する。
! 49: virtual bool GetMySizeHints(wxSize *newsz, wxSize *minsz, wxSize *maxsz,
! 50: wxSize *incsz);
! 51:
! 52: // 自前レイアウト。
! 53: // false を返したら子コントロールを配置してよい。
! 54: bool MyLayout();
! 55:
! 56: // Sizer のためにオリジナルのほうのレイアウトを呼ぶ場合に使う。
! 57: bool BaseLayout() { return inherited::Layout(); }
1.1.1.10 root 58:
1.1 root 59: private:
60: void OnClose(wxCloseEvent& event);
61:
1.1.1.12! root 62: wxSize DoMySizeHints();
! 63:
! 64: // 自前レイアウト方式用。
! 65: bool my_layout {}; // 自前方式を使う場合は true
! 66: bool my_layout_pass2 {}; // 1パス目/2パス目の区別用。
! 67: wxSize prev_border {}; // 前回のウィンドウマネージャ装飾サイズ
! 68:
1.1 root 69: wxDECLARE_EVENT_TABLE();
70: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.