Annotation of nono/wx/wxsubwindow.h, revision 1.1.1.12

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: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.