// SPDX-FileCopyrightText: 2022 Bruce Cowan <bruce@bcowan.me.uk>
//
// SPDX-License-Identifier: GPL-3.0-or-later

using Gtk 4.0;
using Adw 1;

template RugbyAppWindow : Adw.ApplicationWindow {
  title: "Rugby";
  default-height: 600;
  default-width: 400;

  Box {
    orientation: vertical;

    Adw.HeaderBar {
      SpinButton scorespin {
        adjustment: Adjustment {
          step-increment: 1;
          upper: 200;
        };
        focusable: true;
        tooltip-text: "Score";
      }

      [end]
      MenuButton menu_button {
        direction: none;
        menu-model: app_menu;
        tooltip-text: "Main Menu";
      }
    }

    Adw.Clamp {
      maximum-size: 600;

      Stack stack {
        StackPage {
          child: Adw.StatusPage empty_page {
            title: "No possibilities";
          };
        }

        StackPage {
          child: ScrolledWindow list_page {
            vexpand: true;

            ListView listview {
              styles ["rich-list"]

              model: NoSelection {
                model: .RugbyListStore {
                  score: bind scorespin.value;

                  items-changed => list_store_items_changed_cb();
                };
              };
              factory: BuilderListItemFactory {
                resource: "/uk/me/bcowan/Rugby/gtk/score-item.ui";
              };
            }
          };
        }
      }
    }
  }
}

menu app_menu {
  section {
    item ("_Preferences", "app.prefs")
    item ("_Keyboard Shortcuts", "win.show-help-overlay")
    item ("_About Rugby", "app.about")
  }
}