Annotation of nono/wx/wxdumpmonitor.h, revision 1.1.1.5

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: 
                      7: #pragma once
                      8: 
                      9: #include "wxsubwindow.h"
1.1.1.5 ! root       10: #include "monitor.h"
1.1       root       11: 
                     12: //
                     13: // メモリダンプウィンドウ
                     14: //
1.1.1.5 ! root       15: class WXMemdumpWindow : public WXVResizeSubWindow
1.1       root       16: {
1.1.1.3   root       17:        using inherited = WXVResizeSubWindow;
1.1       root       18:  public:
1.1.1.5 ! root       19:        WXMemdumpWindow(wxWindow *parent, int idx_);
1.1.1.3   root       20:        virtual ~WXMemdumpWindow() override;
                     21: 
1.1.1.5 ! root       22:        // ウィンドウID(モニタID) に対応する sticky address を取得する
        !            23:        static uint32 GetStickyAddr(int id);
        !            24:        // ウィンドウID(モニタID) に対応する sitcky address を設定する
        !            25:        static void SetStickyAddr(int id, uint32 addr);
1.1       root       26: 
                     27:  private:
1.1.1.3   root       28:        // ウィンドウサイズ再計算
                     29:        void DoSize() override;
                     30: 
1.1       root       31:        // テキスト入力イベント
                     32:        void OnTextEnter(wxCommandEvent& event);
                     33: 
                     34:        // ページアップダウンイベント
                     35:        void OnPrev(wxCommandEvent& event);
                     36:        void OnNext(wxCommandEvent& event);
                     37: 
1.1.1.5 ! root       38:        // アドレス欄を更新
        !            39:        void UpdateAddr();
1.1       root       40: 
1.1.1.5 ! root       41:        // コントロール
        !            42:        wxTextCtrl *addrctrl {};
1.1.1.4   root       43:        wxButton *prev_btn {};
                     44:        wxButton *next_btn {};
1.1       root       45: 
1.1.1.3   root       46:        // コントロールパネルを格納する sizer
                     47:        wxBoxSizer *ctrlbox {};
                     48: 
1.1.1.5 ! root       49:        // 識別子、または sticky_addr[] の添字。
        !            50:        // メモリダンプウィンドウは複数枚あるので自分がそのうちの何番目か。
        !            51:        int idx {};
1.1       root       52: 
                     53:        // イベントテーブル
                     54:        wxDECLARE_EVENT_TABLE();
1.1.1.5 ! root       55: 
        !            56:        // 開始番地の二次記憶域。
        !            57:        // サブウィンドウは今のところ開いてる時だけオブジェクトが存在している
        !            58:        // タイプだが、メモリダンプウィンドウを閉じてまた開くとさっきのアドレスが
        !            59:        // 見えていてほしいので、ここでその状況を真似する。
        !            60:        // こっちはあくまで補助用の領域で、現在表示中のアドレスの一次情報は
        !            61:        // screen.userdata のほう。
        !            62:        static std::array<uint32, MAX_MEMDUMP_MONITOR> sticky_addr;
1.1       root       63: };

unix.superglobalmegacorp.com

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