Serenity Operating System
at master 45 lines 1.1 kB view raw
1/* 2 * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> 3 * Copyright (c) 2022, the SerenityOS developers. 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#pragma once 9 10#include <LibGUI/Widget.h> 11 12namespace SystemMonitor { 13 14class GraphWidget; 15 16class MemoryStatsWidget final : public GUI::Widget { 17 C_OBJECT(MemoryStatsWidget) 18public: 19 static MemoryStatsWidget* the(); 20 21 virtual ~MemoryStatsWidget() override = default; 22 23 void set_graph_widget(GraphWidget& graph); 24 25 void set_graph_widget_via_name(DeprecatedString name); 26 DeprecatedString graph_widget_name(); 27 28 void refresh(); 29 30private: 31 MemoryStatsWidget(GraphWidget* graph); 32 MemoryStatsWidget(); 33 34 GraphWidget* m_graph; 35 // Is null if we have a valid graph 36 DeprecatedString m_graph_widget_name {}; 37 RefPtr<GUI::Label> m_physical_pages_label; 38 RefPtr<GUI::Label> m_physical_pages_committed_label; 39 RefPtr<GUI::Label> m_kmalloc_space_label; 40 RefPtr<GUI::Label> m_kmalloc_count_label; 41 RefPtr<GUI::Label> m_kfree_count_label; 42 RefPtr<GUI::Label> m_kmalloc_difference_label; 43}; 44 45}