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

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

unix.superglobalmegacorp.com

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