Browse Source

LibGUI: Save some more state from AbstractButton

The more stuff we save in save_to() overrides, the more interesting it
becomes inspecting GUI programs. :^)
Andreas Kling 5 years ago
parent
commit
0cafbbf09c
2 changed files with 12 additions and 0 deletions
  1. 10 0
      Libraries/LibGUI/AbstractButton.cpp
  2. 2 0
      Libraries/LibGUI/AbstractButton.h

+ 10 - 0
Libraries/LibGUI/AbstractButton.cpp

@@ -24,6 +24,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
  */
 
 
+#include <AK/JsonObject.h>
 #include <LibCore/Timer.h>
 #include <LibCore/Timer.h>
 #include <LibGUI/AbstractButton.h>
 #include <LibGUI/AbstractButton.h>
 #include <LibGUI/Painter.h>
 #include <LibGUI/Painter.h>
@@ -196,4 +197,13 @@ void AbstractButton::change_event(Event& event)
     Widget::change_event(event);
     Widget::change_event(event);
 }
 }
 
 
+void AbstractButton::save_to(JsonObject& json)
+{
+    json.set("text", m_text);
+    json.set("checked", m_checked);
+    json.set("checkable", m_checkable);
+    json.set("exclusive", m_exclusive);
+    Widget::save_to(json);
+}
+
 }
 }

+ 2 - 0
Libraries/LibGUI/AbstractButton.h

@@ -70,6 +70,8 @@ protected:
     virtual void leave_event(Core::Event&) override;
     virtual void leave_event(Core::Event&) override;
     virtual void change_event(Event&) override;
     virtual void change_event(Event&) override;
 
 
+    virtual void save_to(JsonObject&) override;
+
     void paint_text(Painter&, const Gfx::Rect&, const Gfx::Font&, Gfx::TextAlignment);
     void paint_text(Painter&, const Gfx::Rect&, const Gfx::Font&, Gfx::TextAlignment);
 
 
 private:
 private: