Skip to content
Snippets Groups Projects
window.blp 2.44 KiB
Newer Older
Bruce Cowan's avatar
Bruce Cowan committed
// 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 {
Bruce Cowan's avatar
Bruce Cowan committed
  title: "Rugby";
  default-height: 600;
  default-width: 400;

  Box {
    orientation: vertical;
Bruce Cowan's avatar
Bruce Cowan committed

    Adw.HeaderBar {
      SpinButton scorespin {
        adjustment: Adjustment {
          step-increment: 1;
          upper: 200;
        };
        focusable: true;
        tooltip-text: "Score";
      }
Bruce Cowan's avatar
Bruce Cowan committed

Bruce Cowan's avatar
Bruce Cowan committed
      ToggleButton filter_toggle {
        icon-name: "funnel";
        tooltip-text: "Show Try Filter";

        toggled => filter_toggle_toggled_cb();
      }

        direction: none;
        menu-model: app_menu;
Bruce Cowan's avatar
Bruce Cowan committed
        tooltip-text: "Main Menu";
Bruce Cowan's avatar
Bruce Cowan committed
    }

Bruce Cowan's avatar
Bruce Cowan committed
    Adw.Clamp {
      maximum-size: 600;
Bruce Cowan's avatar
Bruce Cowan committed

Bruce Cowan's avatar
Bruce Cowan committed
      Box {
        orientation: vertical;

        Revealer {
          halign: center;
          margin-top: 6;
          reveal-child: bind filter_toggle.active;
          transition-type: swing_down;

          SpinButton tryspin {
            adjustment: Adjustment {
              step-increment: 1;
              lower: 0;
              upper: 40;
            };
            focusable: true;
            tooltip-text: "Tries";

            value-changed => try_spin_value_changed_cb();
          }
Bruce Cowan's avatar
Bruce Cowan committed
        }
Bruce Cowan's avatar
Bruce Cowan committed

Bruce Cowan's avatar
Bruce Cowan committed
        Stack stack {
          StackPage {
            child: Adw.StatusPage empty_page {
              icon-name: "list";
Bruce Cowan's avatar
Bruce Cowan committed
              title: "No possibilities";
            };
          }
Bruce Cowan's avatar
Bruce Cowan committed

Bruce Cowan's avatar
Bruce Cowan committed
          StackPage {
            child: ScrolledWindow list_page {
              vexpand: true;
Bruce Cowan's avatar
Bruce Cowan committed
              ListView listview {
                styles ["rich-list"]

                factory: BuilderListItemFactory {
                  resource: "/uk/me/bcowan/Rugby/gtk/score-item.ui";
                };
                model: NoSelection {
                  model: FilterListModel {
                    filter: CustomFilter try_filter {};
                    model: .RugbyListStore list_store {
                      score: bind scorespin.value;
                    };
Bruce Cowan's avatar
Bruce Cowan committed
                    items-changed => list_store_items_changed_cb();
                  };
Bruce Cowan's avatar
Bruce Cowan committed
                };
Bruce Cowan's avatar
Bruce Cowan committed
              }
            };
          }
Bruce Cowan's avatar
Bruce Cowan committed
      }
    }
  }
}

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