diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-05-13 02:02:48 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-05-13 02:02:48 +0000 |
commit | 72c37d566ca2c873b7c179491a7c65a8fe25176d (patch) | |
tree | 7ca198759d5756c61e2100e1b0061284d2cef230 /testsuite | |
parent | 01c0d5e04b14bc3935833b43d05e6c49a1853c4a (diff) | |
parent | 57dd88ee53ec5bcb708997b07d555003b8b6666f (diff) | |
download | gtk+-72c37d566ca2c873b7c179491a7c65a8fe25176d.tar.gz |
Merge branch 'matthiasc/for-main' into 'main'
css: Fix transition of font features
See merge request GNOME/gtk!5957
Diffstat (limited to 'testsuite')
99 files changed, 12562 insertions, 37 deletions
diff --git a/testsuite/css/parser/font-family.css b/testsuite/css/parser/font-family.css index 8b9b6c3b96..fbbc82b7c6 100644 --- a/testsuite/css/parser/font-family.css +++ b/testsuite/css/parser/font-family.css @@ -21,3 +21,7 @@ e { f { font-family: Macaroni, Spaghetti, Sans; } + +g { + font-family: Macaroni al dente, Tomato sauce; +} diff --git a/testsuite/css/parser/font-family.ref.css b/testsuite/css/parser/font-family.ref.css index 8ae4644460..92f559c67d 100644 --- a/testsuite/css/parser/font-family.ref.css +++ b/testsuite/css/parser/font-family.ref.css @@ -21,3 +21,7 @@ e { f { font-family: "Macaroni", "Spaghetti", "Sans"; } + +g { + font-family: "Macaroni al dente", "Tomato sauce"; +} diff --git a/testsuite/css/parser/font-features-invalid1.css b/testsuite/css/parser/font-features-invalid1.css new file mode 100644 index 0000000000..0d4e5d1f14 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid1.css @@ -0,0 +1,3 @@ +* { + font-feature-settings: ""; +} diff --git a/testsuite/css/parser/font-features-invalid1.errors b/testsuite/css/parser/font-features-invalid1.errors new file mode 100644 index 0000000000..e4964c17e8 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid1.errors @@ -0,0 +1 @@ +font-features-invalid1.css:2:26-28: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE diff --git a/testsuite/css/parser/font-features-invalid1.ref.css b/testsuite/css/parser/font-features-invalid1.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid1.ref.css diff --git a/testsuite/css/parser/font-features-invalid2.css b/testsuite/css/parser/font-features-invalid2.css new file mode 100644 index 0000000000..6c30e64022 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid2.css @@ -0,0 +1,3 @@ +* { + font-feature-settings: "abc\A" 1; +} diff --git a/testsuite/css/parser/font-features-invalid2.errors b/testsuite/css/parser/font-features-invalid2.errors new file mode 100644 index 0000000000..a9fb5b957b --- /dev/null +++ b/testsuite/css/parser/font-features-invalid2.errors @@ -0,0 +1 @@ +font-features-invalid2.css:2:26-33: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE diff --git a/testsuite/css/parser/font-features-invalid2.ref.css b/testsuite/css/parser/font-features-invalid2.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid2.ref.css diff --git a/testsuite/css/parser/font-features-invalid3.css b/testsuite/css/parser/font-features-invalid3.css new file mode 100644 index 0000000000..c351521a67 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid3.css @@ -0,0 +1,3 @@ +* { + font-feature-settings: dlig; +} diff --git a/testsuite/css/parser/font-features-invalid3.errors b/testsuite/css/parser/font-features-invalid3.errors new file mode 100644 index 0000000000..9cbdb7a50c --- /dev/null +++ b/testsuite/css/parser/font-features-invalid3.errors @@ -0,0 +1 @@ +font-features-invalid3.css:2:26-30: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/font-features-invalid3.ref.css b/testsuite/css/parser/font-features-invalid3.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/font-features-invalid3.ref.css diff --git a/testsuite/css/parser/font-features.css b/testsuite/css/parser/font-features.css new file mode 100644 index 0000000000..6391153ba2 --- /dev/null +++ b/testsuite/css/parser/font-features.css @@ -0,0 +1,19 @@ +a { + font-feature-settings: initial; +} + +b { + font-feature-settings: inherit; +} + +c { + font-feature-settings: unset; +} + +e { + font-feature-settings: normal; +} + +f { + font-feature-settings: "dlig", "c2sc" off, "swsh" 2; +} diff --git a/testsuite/css/parser/font-features.ref.css b/testsuite/css/parser/font-features.ref.css new file mode 100644 index 0000000000..dc08453f2c --- /dev/null +++ b/testsuite/css/parser/font-features.ref.css @@ -0,0 +1,19 @@ +a { + font-feature-settings: initial; +} + +b { + font-feature-settings: inherit; +} + +c { + font-feature-settings: unset; +} + +e { + font-feature-settings: normal; +} + +f { + font-feature-settings: "dlig" 1, "c2sc" 0, "swsh" 2; +} diff --git a/testsuite/css/parser/font-variant.css b/testsuite/css/parser/font-variant.css index d37946b8a0..6cf3ad5bdd 100644 --- a/testsuite/css/parser/font-variant.css +++ b/testsuite/css/parser/font-variant.css @@ -17,3 +17,9 @@ d { e { font-variant: small-caps; } + +f { + font-variant-ligatures: common-ligatures discretionary-ligatures; + font-variant-numeric: lining-nums tabular-nums diagonal-fractions; + font-variant-east-asian: simplified; +} diff --git a/testsuite/css/parser/font-variant.ref.css b/testsuite/css/parser/font-variant.ref.css index de54b3a446..fa99911a68 100644 --- a/testsuite/css/parser/font-variant.ref.css +++ b/testsuite/css/parser/font-variant.ref.css @@ -42,3 +42,9 @@ e { font-variant-numeric: initial; font-variant-position: initial; } + +f { + font-variant-east-asian: simplified; + font-variant-ligatures: common-ligatures discretionary-ligatures; + font-variant-numeric: lining-nums tabular-nums diagonal-fractions; +} diff --git a/testsuite/css/parser/font-weight-invalid.css b/testsuite/css/parser/font-weight-invalid.css new file mode 100644 index 0000000000..3196fc1c3d --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid.css @@ -0,0 +1,3 @@ +a { + font-weight: 0; +} diff --git a/testsuite/css/parser/font-weight-invalid.errors b/testsuite/css/parser/font-weight-invalid.errors new file mode 100644 index 0000000000..890ceeb398 --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid.errors @@ -0,0 +1 @@ +font-weight-invalid.css:2:16-17: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE diff --git a/testsuite/css/parser/font-weight-invalid.ref.css b/testsuite/css/parser/font-weight-invalid.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid.ref.css diff --git a/testsuite/css/parser/font-weight-invalid1.css b/testsuite/css/parser/font-weight-invalid1.css new file mode 100644 index 0000000000..3196fc1c3d --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid1.css @@ -0,0 +1,3 @@ +a { + font-weight: 0; +} diff --git a/testsuite/css/parser/font-weight-invalid2.css b/testsuite/css/parser/font-weight-invalid2.css new file mode 100644 index 0000000000..bead07afcd --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid2.css @@ -0,0 +1,3 @@ +a { + font-weight: 1001; +} diff --git a/testsuite/css/parser/font-weight-invalid2.errors b/testsuite/css/parser/font-weight-invalid2.errors new file mode 100644 index 0000000000..b352ddd358 --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid2.errors @@ -0,0 +1 @@ +font-weight-invalid2.css:2:16-20: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE diff --git a/testsuite/css/parser/font-weight-invalid2.ref.css b/testsuite/css/parser/font-weight-invalid2.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/font-weight-invalid2.ref.css diff --git a/testsuite/css/parser/meson.build b/testsuite/css/parser/meson.build index b419c29865..dab82dc00e 100644 --- a/testsuite/css/parser/meson.build +++ b/testsuite/css/parser/meson.build @@ -342,6 +342,17 @@ test_data = [ 'filter-invalid9.ref.css', 'font-family.css', 'font-family.ref.css', + 'font-features.css', + 'font-features.ref.css', + 'font-features-invalid1.css', + 'font-features-invalid1.errors', + 'font-features-invalid1.ref.css', + 'font-features-invalid2.css', + 'font-features-invalid2.errors', + 'font-features-invalid2.ref.css', + 'font-features-invalid3.css', + 'font-features-invalid3.errors', + 'font-features-invalid3.ref.css', 'font-size.css', 'font-size.ref.css', 'font-stretch.css', @@ -352,6 +363,12 @@ test_data = [ 'font-variant.ref.css', 'font-weight.css', 'font-weight.ref.css', + 'font-weight-invalid.css', + 'font-weight-invalid.errors', + 'font-weight-invalid.ref.css', + 'font-weight-invalid2.css', + 'font-weight-invalid2.errors', + 'font-weight-invalid2.ref.css', 'freed-string-in-error-messages.css', 'freed-string-in-error-messages.errors', 'freed-string-in-error-messages.ref.css', @@ -482,6 +499,65 @@ test_data = [ 'text-shadow-invalid-but-worked-in-3.12.errors', 'text-shadow-invalid-but-worked-in-3.12.ref.css', 'text-shadow.ref.css', + 'transform.css', + 'transform.ref.css', + 'transform-invalid1.css', + 'transform-invalid1.errors', + 'transform-invalid1.ref.css', + 'transform-invalid2.css', + 'transform-invalid2.errors', + 'transform-invalid2.ref.css', + 'transform-invalid3.css', + 'transform-invalid3.errors', + 'transform-invalid3.ref.css', + 'transform-invalid4.css', + 'transform-invalid4.errors', + 'transform-invalid4.ref.css', + 'transform-invalid5.css', + 'transform-invalid5.errors', + 'transform-invalid5.ref.css', + 'transform-invalid6.css', + 'transform-invalid6.errors', + 'transform-invalid6.ref.css', + 'transform-invalid7.css', + 'transform-invalid7.errors', + 'transform-invalid7.ref.css', + 'transform-invalid8.css', + 'transform-invalid8.errors', + 'transform-invalid8.ref.css', + 'transform-invalid9.css', + 'transform-invalid9.errors', + 'transform-invalid9.ref.css', + 'transform-invalid10.css', + 'transform-invalid10.errors', + 'transform-invalid10.ref.css', + 'transform-invalid11.css', + 'transform-invalid11.errors', + 'transform-invalid11.ref.css', + 'transform-invalid12.css', + 'transform-invalid12.errors', + 'transform-invalid12.ref.css', + 'transform-invalid13.css', + 'transform-invalid13.errors', + 'transform-invalid13.ref.css', + 'transform-invalid14.css', + 'transform-invalid14.errors', + 'transform-invalid14.ref.css', + 'transform-invalid15.css', + 'transform-invalid15.errors', + 'transform-invalid15.ref.css', + 'transform-invalid16.css', + 'transform-invalid16.errors', + 'transform-invalid16.ref.css', + 'transform-invalid17.css', + 'transform-invalid17.errors', + 'transform-invalid17.ref.css', + 'transform-invalid18.css', + 'transform-invalid18.errors', + 'transform-invalid18.ref.css', + 'transform-invalid19.css', + 'transform-invalid19.errors', + 'transform-invalid19.ref.css', 'transition.css', 'transition-delay.css', 'transition-delay.ref.css', diff --git a/testsuite/css/parser/transform-invalid1.css b/testsuite/css/parser/transform-invalid1.css new file mode 100644 index 0000000000..b6932716dd --- /dev/null +++ b/testsuite/css/parser/transform-invalid1.css @@ -0,0 +1,3 @@ +* { + transform: matrix(1,2,3,4,5); +} diff --git a/testsuite/css/parser/transform-invalid1.errors b/testsuite/css/parser/transform-invalid1.errors new file mode 100644 index 0000000000..526c38e26c --- /dev/null +++ b/testsuite/css/parser/transform-invalid1.errors @@ -0,0 +1 @@ +transform-invalid1.css:2:30-31: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid1.ref.css b/testsuite/css/parser/transform-invalid1.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid1.ref.css diff --git a/testsuite/css/parser/transform-invalid10.css b/testsuite/css/parser/transform-invalid10.css new file mode 100644 index 0000000000..fb83d2e4ca --- /dev/null +++ b/testsuite/css/parser/transform-invalid10.css @@ -0,0 +1,3 @@ +* { + transform: scaleY(45deg); +} diff --git a/testsuite/css/parser/transform-invalid10.errors b/testsuite/css/parser/transform-invalid10.errors new file mode 100644 index 0000000000..d25c8b23ad --- /dev/null +++ b/testsuite/css/parser/transform-invalid10.errors @@ -0,0 +1 @@ +transform-invalid10.css:2:21-26: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid10.ref.css b/testsuite/css/parser/transform-invalid10.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid10.ref.css diff --git a/testsuite/css/parser/transform-invalid11.css b/testsuite/css/parser/transform-invalid11.css new file mode 100644 index 0000000000..a7d2b1d175 --- /dev/null +++ b/testsuite/css/parser/transform-invalid11.css @@ -0,0 +1,3 @@ +* { + transform: scaleZ(45deg); +} diff --git a/testsuite/css/parser/transform-invalid11.errors b/testsuite/css/parser/transform-invalid11.errors new file mode 100644 index 0000000000..28e7ade271 --- /dev/null +++ b/testsuite/css/parser/transform-invalid11.errors @@ -0,0 +1 @@ +transform-invalid11.css:2:21-26: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid11.ref.css b/testsuite/css/parser/transform-invalid11.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid11.ref.css diff --git a/testsuite/css/parser/transform-invalid12.css b/testsuite/css/parser/transform-invalid12.css new file mode 100644 index 0000000000..5b9ed332b0 --- /dev/null +++ b/testsuite/css/parser/transform-invalid12.css @@ -0,0 +1,3 @@ +* { + transform: skew(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid12.errors b/testsuite/css/parser/transform-invalid12.errors new file mode 100644 index 0000000000..b31b6ae990 --- /dev/null +++ b/testsuite/css/parser/transform-invalid12.errors @@ -0,0 +1 @@ +transform-invalid12.css:2:19-20: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid12.ref.css b/testsuite/css/parser/transform-invalid12.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid12.ref.css diff --git a/testsuite/css/parser/transform-invalid13.css b/testsuite/css/parser/transform-invalid13.css new file mode 100644 index 0000000000..17bffd9bfc --- /dev/null +++ b/testsuite/css/parser/transform-invalid13.css @@ -0,0 +1,3 @@ +* { + transform: skewX(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid13.errors b/testsuite/css/parser/transform-invalid13.errors new file mode 100644 index 0000000000..1a20ea7e3d --- /dev/null +++ b/testsuite/css/parser/transform-invalid13.errors @@ -0,0 +1 @@ +transform-invalid13.css:2:20-21: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid13.ref.css b/testsuite/css/parser/transform-invalid13.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid13.ref.css diff --git a/testsuite/css/parser/transform-invalid14.css b/testsuite/css/parser/transform-invalid14.css new file mode 100644 index 0000000000..8b81554cfa --- /dev/null +++ b/testsuite/css/parser/transform-invalid14.css @@ -0,0 +1,3 @@ +* { + transform: skewY(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid14.errors b/testsuite/css/parser/transform-invalid14.errors new file mode 100644 index 0000000000..5bb087184e --- /dev/null +++ b/testsuite/css/parser/transform-invalid14.errors @@ -0,0 +1 @@ +transform-invalid14.css:2:20-21: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid14.ref.css b/testsuite/css/parser/transform-invalid14.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid14.ref.css diff --git a/testsuite/css/parser/transform-invalid15.css b/testsuite/css/parser/transform-invalid15.css new file mode 100644 index 0000000000..ed24f436e9 --- /dev/null +++ b/testsuite/css/parser/transform-invalid15.css @@ -0,0 +1,3 @@ +* { + transform: translate(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid15.errors b/testsuite/css/parser/transform-invalid15.errors new file mode 100644 index 0000000000..7e35db1915 --- /dev/null +++ b/testsuite/css/parser/transform-invalid15.errors @@ -0,0 +1 @@ +transform-invalid15.css:2:24-25: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid15.ref.css b/testsuite/css/parser/transform-invalid15.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid15.ref.css diff --git a/testsuite/css/parser/transform-invalid16.css b/testsuite/css/parser/transform-invalid16.css new file mode 100644 index 0000000000..cb34a969b0 --- /dev/null +++ b/testsuite/css/parser/transform-invalid16.css @@ -0,0 +1,3 @@ +* { + transform: translate3d(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid16.errors b/testsuite/css/parser/transform-invalid16.errors new file mode 100644 index 0000000000..c0a8c4d6a7 --- /dev/null +++ b/testsuite/css/parser/transform-invalid16.errors @@ -0,0 +1 @@ +transform-invalid16.css:2:26-27: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid16.ref.css b/testsuite/css/parser/transform-invalid16.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid16.ref.css diff --git a/testsuite/css/parser/transform-invalid17.css b/testsuite/css/parser/transform-invalid17.css new file mode 100644 index 0000000000..1b1197ebe5 --- /dev/null +++ b/testsuite/css/parser/transform-invalid17.css @@ -0,0 +1,3 @@ +* { + transform: translateX(1); +} diff --git a/testsuite/css/parser/transform-invalid17.errors b/testsuite/css/parser/transform-invalid17.errors new file mode 100644 index 0000000000..2d1199aae4 --- /dev/null +++ b/testsuite/css/parser/transform-invalid17.errors @@ -0,0 +1 @@ +transform-invalid17.css:2:25-26: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid17.ref.css b/testsuite/css/parser/transform-invalid17.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid17.ref.css diff --git a/testsuite/css/parser/transform-invalid18.css b/testsuite/css/parser/transform-invalid18.css new file mode 100644 index 0000000000..e1e544d1c4 --- /dev/null +++ b/testsuite/css/parser/transform-invalid18.css @@ -0,0 +1,3 @@ +* { + transform: translateY(1); +} diff --git a/testsuite/css/parser/transform-invalid18.errors b/testsuite/css/parser/transform-invalid18.errors new file mode 100644 index 0000000000..47ef1a8bff --- /dev/null +++ b/testsuite/css/parser/transform-invalid18.errors @@ -0,0 +1 @@ +transform-invalid18.css:2:25-26: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid18.ref.css b/testsuite/css/parser/transform-invalid18.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid18.ref.css diff --git a/testsuite/css/parser/transform-invalid19.css b/testsuite/css/parser/transform-invalid19.css new file mode 100644 index 0000000000..7fc50bd761 --- /dev/null +++ b/testsuite/css/parser/transform-invalid19.css @@ -0,0 +1,3 @@ +* { + transform: translateZ(1); +} diff --git a/testsuite/css/parser/transform-invalid19.errors b/testsuite/css/parser/transform-invalid19.errors new file mode 100644 index 0000000000..7bb3af8c29 --- /dev/null +++ b/testsuite/css/parser/transform-invalid19.errors @@ -0,0 +1 @@ +transform-invalid19.css:2:25-26: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid19.ref.css b/testsuite/css/parser/transform-invalid19.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid19.ref.css diff --git a/testsuite/css/parser/transform-invalid2.css b/testsuite/css/parser/transform-invalid2.css new file mode 100644 index 0000000000..ebd1b3fc4a --- /dev/null +++ b/testsuite/css/parser/transform-invalid2.css @@ -0,0 +1,3 @@ +* { + transform: matrix3d(1,2,3,4,5,6,7,8,9); +} diff --git a/testsuite/css/parser/transform-invalid2.errors b/testsuite/css/parser/transform-invalid2.errors new file mode 100644 index 0000000000..862c5a8f12 --- /dev/null +++ b/testsuite/css/parser/transform-invalid2.errors @@ -0,0 +1 @@ +transform-invalid2.css:2:40-41: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid2.ref.css b/testsuite/css/parser/transform-invalid2.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid2.ref.css diff --git a/testsuite/css/parser/transform-invalid3.css b/testsuite/css/parser/transform-invalid3.css new file mode 100644 index 0000000000..2634ea05a6 --- /dev/null +++ b/testsuite/css/parser/transform-invalid3.css @@ -0,0 +1,3 @@ +* { + transform: perspective(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid3.errors b/testsuite/css/parser/transform-invalid3.errors new file mode 100644 index 0000000000..3fa087220b --- /dev/null +++ b/testsuite/css/parser/transform-invalid3.errors @@ -0,0 +1 @@ +transform-invalid3.css:2:26-27: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid3.ref.css b/testsuite/css/parser/transform-invalid3.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid3.ref.css diff --git a/testsuite/css/parser/transform-invalid4.css b/testsuite/css/parser/transform-invalid4.css new file mode 100644 index 0000000000..83fdb752f0 --- /dev/null +++ b/testsuite/css/parser/transform-invalid4.css @@ -0,0 +1,3 @@ +* { + transform: rotateZ(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid4.errors b/testsuite/css/parser/transform-invalid4.errors new file mode 100644 index 0000000000..7405f1d5f5 --- /dev/null +++ b/testsuite/css/parser/transform-invalid4.errors @@ -0,0 +1 @@ +transform-invalid4.css:2:22-23: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid4.ref.css b/testsuite/css/parser/transform-invalid4.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid4.ref.css diff --git a/testsuite/css/parser/transform-invalid5.css b/testsuite/css/parser/transform-invalid5.css new file mode 100644 index 0000000000..9b1fd7a938 --- /dev/null +++ b/testsuite/css/parser/transform-invalid5.css @@ -0,0 +1,3 @@ +* { + transform: rotateX(2); +} diff --git a/testsuite/css/parser/transform-invalid5.errors b/testsuite/css/parser/transform-invalid5.errors new file mode 100644 index 0000000000..ba141cba4b --- /dev/null +++ b/testsuite/css/parser/transform-invalid5.errors @@ -0,0 +1 @@ +transform-invalid5.css:2:22-23: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid5.ref.css b/testsuite/css/parser/transform-invalid5.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid5.ref.css diff --git a/testsuite/css/parser/transform-invalid6.css b/testsuite/css/parser/transform-invalid6.css new file mode 100644 index 0000000000..843df4441f --- /dev/null +++ b/testsuite/css/parser/transform-invalid6.css @@ -0,0 +1,3 @@ +* { + transform: rotateY(2); +} diff --git a/testsuite/css/parser/transform-invalid6.errors b/testsuite/css/parser/transform-invalid6.errors new file mode 100644 index 0000000000..bd27ab1885 --- /dev/null +++ b/testsuite/css/parser/transform-invalid6.errors @@ -0,0 +1 @@ +transform-invalid6.css:2:22-23: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid6.ref.css b/testsuite/css/parser/transform-invalid6.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid6.ref.css diff --git a/testsuite/css/parser/transform-invalid7.css b/testsuite/css/parser/transform-invalid7.css new file mode 100644 index 0000000000..fd9a5199e1 --- /dev/null +++ b/testsuite/css/parser/transform-invalid7.css @@ -0,0 +1,3 @@ +* { + transform: scale(1,2,3); +} diff --git a/testsuite/css/parser/transform-invalid7.errors b/testsuite/css/parser/transform-invalid7.errors new file mode 100644 index 0000000000..456f23592a --- /dev/null +++ b/testsuite/css/parser/transform-invalid7.errors @@ -0,0 +1 @@ +transform-invalid7.css:2:23-24: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid7.ref.css b/testsuite/css/parser/transform-invalid7.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid7.ref.css diff --git a/testsuite/css/parser/transform-invalid8.css b/testsuite/css/parser/transform-invalid8.css new file mode 100644 index 0000000000..02bba2c490 --- /dev/null +++ b/testsuite/css/parser/transform-invalid8.css @@ -0,0 +1,3 @@ +* { + transform: scale3d(1,2,3,4,5,6); +} diff --git a/testsuite/css/parser/transform-invalid8.errors b/testsuite/css/parser/transform-invalid8.errors new file mode 100644 index 0000000000..457030ac5d --- /dev/null +++ b/testsuite/css/parser/transform-invalid8.errors @@ -0,0 +1 @@ +transform-invalid8.css:2:27-28: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid8.ref.css b/testsuite/css/parser/transform-invalid8.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid8.ref.css diff --git a/testsuite/css/parser/transform-invalid9.css b/testsuite/css/parser/transform-invalid9.css new file mode 100644 index 0000000000..dde4ad01c5 --- /dev/null +++ b/testsuite/css/parser/transform-invalid9.css @@ -0,0 +1,3 @@ +* { + transform: scaleX(45deg); +} diff --git a/testsuite/css/parser/transform-invalid9.errors b/testsuite/css/parser/transform-invalid9.errors new file mode 100644 index 0000000000..dd8e0ccf17 --- /dev/null +++ b/testsuite/css/parser/transform-invalid9.errors @@ -0,0 +1 @@ +transform-invalid9.css:2:21-26: error: GTK_CSS_PARSER_ERROR_SYNTAX diff --git a/testsuite/css/parser/transform-invalid9.ref.css b/testsuite/css/parser/transform-invalid9.ref.css new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/testsuite/css/parser/transform-invalid9.ref.css diff --git a/testsuite/css/parser/transform.css b/testsuite/css/parser/transform.css new file mode 100644 index 0000000000..8d3c3fef50 --- /dev/null +++ b/testsuite/css/parser/transform.css @@ -0,0 +1,3 @@ +* { + transform: rotateX(45deg) rotateY(50deg) scale(3,4) translate(1px,2px); +} diff --git a/testsuite/css/parser/transform.ref.css b/testsuite/css/parser/transform.ref.css new file mode 100644 index 0000000000..d71323d5e3 --- /dev/null +++ b/testsuite/css/parser/transform.ref.css @@ -0,0 +1,3 @@ +* { + transform: rotate3d(1, 0, 0, 45deg) rotate3d(0, 1, 0, 50deg) scale(3, 4) translate3d(1px, 2px, 0); +} diff --git a/testsuite/css/transition.c b/testsuite/css/transition.c index 991e1581a6..7f9249e537 100644 --- a/testsuite/css/transition.c +++ b/testsuite/css/transition.c @@ -26,20 +26,16 @@ #include "gtk/gtkcssnumbervalueprivate.h" #include "gtk/gtkcssstylepropertyprivate.h" #include "gtk/gtkcssstaticstyleprivate.h" +#include "gtk/gtkcsspalettevalueprivate.h" static gboolean color_is_near (const GdkRGBA *color1, const GdkRGBA *color2) { - if (fabs (color1->red - color2->red) > FLT_EPSILON) - return FALSE; - if (fabs (color1->green - color2->green) > FLT_EPSILON) - return FALSE; - if (fabs (color1->blue- color2->blue) > FLT_EPSILON) - return FALSE; - if (fabs (color1->alpha- color2->alpha) > FLT_EPSILON) - return FALSE; - return TRUE; + return (fabs (color1->red - color2->red) <= FLT_EPSILON && + fabs (color1->green - color2->green) <= FLT_EPSILON && + fabs (color1->blue - color2->blue) <= FLT_EPSILON && + fabs (color1->alpha - color2->alpha) <= FLT_EPSILON); } static gboolean @@ -53,28 +49,22 @@ value_is_near (int prop, switch (prop) { case GTK_CSS_PROPERTY_COLOR: - { - const GdkRGBA *c1, *c2; - gboolean res; - - c1 = gtk_css_color_value_get_rgba (value1); - c2 = gtk_css_color_value_get_rgba (value2); - - res = color_is_near (c1, c2); + return color_is_near (gtk_css_color_value_get_rgba (value1), + gtk_css_color_value_get_rgba (value2)); + break; - return res; - } + case GTK_CSS_PROPERTY_ICON_PALETTE: + return color_is_near (gtk_css_palette_value_get_color (value1, "error"), + gtk_css_palette_value_get_color (value2, "error")) && + color_is_near (gtk_css_palette_value_get_color (value1, "warning"), + gtk_css_palette_value_get_color (value2, "warning")) && + color_is_near (gtk_css_palette_value_get_color (value1, "test"), + gtk_css_palette_value_get_color (value2, "test")); break; case GTK_CSS_PROPERTY_FONT_SIZE: - { - double n1, n2; - - n1 = _gtk_css_number_value_get (value1, 100); - n2 = _gtk_css_number_value_get (value2, 100); - - return fabs (n1 - n2) < FLT_EPSILON; - } + return fabs (_gtk_css_number_value_get (value1, 100) - + _gtk_css_number_value_get (value2, 100)) < FLT_EPSILON; break; default: @@ -97,7 +87,7 @@ assert_css_value (int prop, { char *r = result ? _gtk_css_value_to_string (result) : g_strdup ("(nil)"); char *e = expected ? _gtk_css_value_to_string (expected) : g_strdup ("(nil)"); - g_print ("Expected %s got %s\n", e, r); + g_print ("Expected %s\nGot %s\n", e, r); g_free (r); g_free (e); @@ -126,13 +116,71 @@ static ValueTransitionTest tests[] = { { GTK_CSS_PROPERTY_FONT_FAMILY, "cantarell", "sans", 1, "sans" }, { GTK_CSS_PROPERTY_FONT_FAMILY, "cantarell", "sans", 0.5, NULL }, { GTK_CSS_PROPERTY_BACKGROUND_POSITION, "20px 10px", "40px", 0.5, "30px calc(5px + 25%)" }, + { GTK_CSS_PROPERTY_BACKGROUND_POSITION, "left, right, 50% 80%", + "right, right, 100%", + 0.5, + "50%, 100%, 75% 65%" }, //TODO We don't currently transition border-image-width //{ GTK_CSS_PROPERTY_BORDER_IMAGE_WIDTH, "10px 20px", "0px", 0.5, "5px 10px 0.5px 0.5px" }, { GTK_CSS_PROPERTY_FILTER, "none", "blur(6px)", 0.5, "blur(3px)" }, { GTK_CSS_PROPERTY_FILTER, "none", "blur(6px),contrast(0.6)", 0.5, "blur(3px),contrast(0.3)" }, { GTK_CSS_PROPERTY_FILTER, "contrast(0.6)", "blur(6px)", 0.5, NULL}, + { GTK_CSS_PROPERTY_FILTER, "blur(3px) brightness(60) contrast(0.6) grayscale(60) hue-rotate(calc(5deg + 5deg)) invert(10) opacity(60) saturate(60) sepia(10) drop-shadow(3em 10px 10px red)", + "blur(5px) brightness(80) contrast(0.8) grayscale(80) hue-rotate(30deg) invert(30) opacity(80) saturate(80) sepia(30) drop-shadow(5em 30px 30px red)", + 0.5, + "blur(4px) brightness(70) contrast(0.7) grayscale(70) hue-rotate(20deg) invert(20) opacity(70) saturate(70) sepia(20) drop-shadow(4em 20px 20px red)" }, + { GTK_CSS_PROPERTY_FILTER, "brightness(100)", + "brightness(100) contrast(0.5) grayscale(20) hue-rotate(100deg) invert(100) opacity(0.5) saturate(0.5) sepia(0.5) blur(10px) drop-shadow(2px 2px 2px red)", + 0.5, + "brightness(100) contrast(0.75) grayscale(10) hue-rotate(50deg) invert(50) opacity(0.75) saturate(0.75) sepia(0.25) blur(5px) drop-shadow(1px 1px 1px red)" }, + { GTK_CSS_PROPERTY_FONT_FEATURE_SETTINGS, "\"dlig\" 0, \"clig\" off, \"c2sc\" 1", + "\"dlig\" 1, \"clig\" 0", + 0.3, + "\"dlig\" 0, \"clig\" 0, \"c2sc\" 1" }, + { GTK_CSS_PROPERTY_FONT_FEATURE_SETTINGS, "\"dlig\" 0, \"clig\" off, \"c2sc\" 1", + "\"dlig\" 1, \"clig\" 0", + 0.6, + "\"dlig\" 1, \"clig\" 0, \"c2sc\" 1" }, + { GTK_CSS_PROPERTY_FONT_VARIATION_SETTINGS, "\"wght\" 100, \"wdth\" 75", + "\"wght\" 400, \"slnt\" 10", + 0.5, + "\"wght\" 250, \"wdth\" 75, \"slnt\" 10" }, + { GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS, "0", "10px", 0.5, "5px" }, + { GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS, "2px", "10px", 0.5, "6px" }, + { GTK_CSS_PROPERTY_BORDER_TOP_LEFT_RADIUS, "2px 10px", "10px", 0.5, "6px 10px" }, + { GTK_CSS_PROPERTY_TRANSFORM, "translate(1px,2px) rotate(10deg) scale(1,1) skew(10deg,10deg) skewX(10deg) skewY(10deg)", + "translate(3px,4px) rotate(50deg) scale(5,7) skew(20deg,30deg) skewX(20deg) skewY(30deg)", + 0.5, + "translate(2px,3px) rotate(30deg) scale(3,4) skew(15deg,20deg) skewX(15deg) skewY(20deg)" }, + { GTK_CSS_PROPERTY_TRANSFORM, "translate(1px,2px)", + "translate(3px,4px) rotate(50deg) scale(5,7) skew(20deg,30deg) skewX(20deg) skewY(30deg)", + 0.5, + "translate(2px,3px) rotate(25deg) scale(3,4) skew(10deg,15deg) skewX(10deg) skewY(15deg)" }, + { GTK_CSS_PROPERTY_TRANSFORM, "translate(2px,3px)", "none", 0.5, "translate(1px,1.5px)" }, + { GTK_CSS_PROPERTY_LINE_HEIGHT, "1.0", "2.0", 0.5, "1.5" }, + { GTK_CSS_PROPERTY_LINE_HEIGHT, "10px", "20px", 0.5, "15px" }, + { GTK_CSS_PROPERTY_LINE_HEIGHT, "100%", "200%", 0.5, "150%" }, + { GTK_CSS_PROPERTY_BACKGROUND_SIZE, "25% 100px", "75% 200px", 0.5, "50% 150px" }, + { GTK_CSS_PROPERTY_BACKGROUND_SIZE, "cover", "cover", 0.3, "cover" }, + { GTK_CSS_PROPERTY_BACKGROUND_SIZE, "contain", "contain", 0.6, "contain" }, + { GTK_CSS_PROPERTY_BACKGROUND_SIZE, "cover", "contain", 0, "cover" }, + { GTK_CSS_PROPERTY_BACKGROUND_SIZE, "cover", "contain", 1, "contain" }, + { GTK_CSS_PROPERTY_ICON_PALETTE, "error rgb(200,0,0), warning rgb(100,100,0), test rgb(20,30,40)", + "warning rgb(200,0,0), error rgb(100,100,0), test rgb(30,40,50)", + 0.5, + "error rgb(150,50,0), test rgb(25,35,45), warning rgb(150,50,0)" }, }; +static void +error_cb (GtkCssParser *parser, + const GtkCssLocation *start, + const GtkCssLocation *end, + const GError *error, + gpointer user_data) +{ + *(GError **)user_data = g_error_copy (error); +} + static GtkCssValue * value_from_string (GtkStyleProperty *prop, const char *str) @@ -140,10 +188,12 @@ value_from_string (GtkStyleProperty *prop, GBytes *bytes; GtkCssParser *parser; GtkCssValue *value; + GError *error = NULL; bytes = g_bytes_new_static (str, strlen (str)); - parser = gtk_css_parser_new_for_bytes (bytes, NULL, NULL, NULL, NULL); + parser = gtk_css_parser_new_for_bytes (bytes, NULL, error_cb, &error, NULL); value = _gtk_style_property_parse_value (prop, parser); + g_assert_no_error (error); gtk_css_parser_unref (parser); g_bytes_unref (bytes); @@ -175,7 +225,7 @@ test_transition (gconstpointer data) computed1 = _gtk_css_value_compute (value1, test->prop, provider, style, NULL); value2 = value_from_string (prop, test->value2); - g_assert_nonnull (value1); + g_assert_nonnull (value2); computed2 = _gtk_css_value_compute (value2, test->prop, provider, style, NULL); if (test->value3) diff --git a/testsuite/gdk/encoding.c b/testsuite/gdk/encoding.c index 90edba19fd..6d830e0efc 100644 --- a/testsuite/gdk/encoding.c +++ b/testsuite/gdk/encoding.c @@ -31,7 +31,9 @@ test_to_text_list (void) gdk_x11_free_text_list (list); } + else #endif + g_test_skip ("No X11 display"); } int diff --git a/testsuite/gdk/glcontext.c b/testsuite/gdk/glcontext.c index a17113d288..2f825ac121 100644 --- a/testsuite/gdk/glcontext.c +++ b/testsuite/gdk/glcontext.c @@ -21,8 +21,7 @@ test_allowed_backends (gconstpointer data) display = gdk_display_get_default (); if (!gdk_display_prepare_gl (display, &error)) { - g_test_message ("no GL support: %s", error->message); - g_test_skip ("no GL support"); + g_test_skip_printf ("no GL support: %s", error->message); g_clear_error (&error); return; } diff --git a/testsuite/gtk/colorutils.c b/testsuite/gtk/colorutils.c new file mode 100644 index 0000000000..b4d42e2bb2 --- /dev/null +++ b/testsuite/gtk/colorutils.c @@ -0,0 +1,62 @@ +/* Copyright (C) 2023 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + */ +#include <gtk/gtk.h> +#include <gtk/gtkcolorutils.h> + +struct { + float r, g, b; + float h, s, v; +} tests[] = { + { 0, 0, 0, 0, 0, 0 }, + { 1, 1, 1, 0, 0, 1 }, + { 1, 0, 0, 0, 1, 1 }, + { 1, 1, 0, 1.0 / 6.0, 1, 1 }, + { 0, 1, 0, 2.0 / 6.0, 1, 1 }, + { 0, 1, 1, 3.0 / 6.0, 1, 1 }, + { 0, 0, 1, 4.0 / 6.0, 1, 1 }, + { 1, 0, 1, 5.0 / 6.0, 1, 1 }, +}; + +static void +test_roundtrips (void) +{ + for (unsigned int i = 0; i < G_N_ELEMENTS (tests); i++) + { + float r, g, b; + float h, s, v; + + g_print ("color %u\n", i); + gtk_hsv_to_rgb (tests[i].h, tests[i].s, tests[i].v, &r, &g, &b); + g_assert_cmpfloat_with_epsilon (r, tests[i].r, FLT_EPSILON); + g_assert_cmpfloat_with_epsilon (g, tests[i].g, FLT_EPSILON); + g_assert_cmpfloat_with_epsilon (b, tests[i].b, FLT_EPSILON); + gtk_rgb_to_hsv (tests[i].r, tests[i].g, tests[i].b, &h, &s, &v); + g_assert_cmpfloat_with_epsilon (h, tests[i].h, FLT_EPSILON); + g_assert_cmpfloat_with_epsilon (s, tests[i].s, FLT_EPSILON); + g_assert_cmpfloat_with_epsilon (v, tests[i].v, FLT_EPSILON); + } +} + +int +main (int argc, + char *argv[]) +{ + gtk_test_init (&argc, &argv); + + g_test_add_func ("/color/roundtrips", test_roundtrips); + + return g_test_run(); +} diff --git a/testsuite/gtk/meson.build b/testsuite/gtk/meson.build index 7f28f213ec..0ee1403828 100644 --- a/testsuite/gtk/meson.build +++ b/testsuite/gtk/meson.build @@ -127,6 +127,7 @@ internal_tests = [ { 'name': 'fnmatch' }, { 'name': 'a11y' }, { 'name': 'listitemmanager' }, + { 'name': 'colorutils' }, ] is_debug = get_option('buildtype').startswith('debug') diff --git a/testsuite/gtk/multiselection.c b/testsuite/gtk/multiselection.c index 270cddd63e..f6fffcb814 100644 --- a/testsuite/gtk/multiselection.c +++ b/testsuite/gtk/multiselection.c @@ -296,7 +296,8 @@ test_create (void) { GtkSelectionModel *selection; GListStore *store; - + guint start, end; + store = new_store (1, 5, 2); selection = new_model (store); @@ -311,6 +312,12 @@ test_create (void) assert_selection (selection, ""); assert_selection_changes (selection, ""); + g_assert_true (g_list_model_get_item_type (G_LIST_MODEL (selection)) == G_TYPE_OBJECT); + g_assert_true (gtk_multi_selection_get_model (GTK_MULTI_SELECTION (selection)) == G_LIST_MODEL (store)); + gtk_section_model_get_section (GTK_SECTION_MODEL (selection), 0, &start, &end); + g_assert_cmpint (start, ==, 0); + g_assert_cmpint (end, ==, G_MAXUINT); + g_object_unref (selection); } @@ -634,6 +641,9 @@ test_selection_filter (void) assert_model (filter, "2 3 4"); assert_changes (filter, ""); + g_assert_true (g_list_model_get_item_type (G_LIST_MODEL (filter)) == G_TYPE_OBJECT); + g_assert_true (gtk_selection_filter_model_get_model (filter) == selection); + g_object_unref (store); g_object_unref (selection); g_object_unref (filter); diff --git a/testsuite/gtk/singleselection.c b/testsuite/gtk/singleselection.c index 4465879d82..faad2d681d 100644 --- a/testsuite/gtk/singleselection.c +++ b/testsuite/gtk/singleselection.c @@ -287,7 +287,8 @@ test_create (void) { GtkSelectionModel *selection; GListStore *store; - + guint start, end; + if (glib_check_version (2, 59, 0) != NULL) { g_test_skip ("g_list_store_get_item() has overflow issues before GLIB 2.59.0"); @@ -310,6 +311,12 @@ test_create (void) assert_selection (selection, ""); assert_selection_changes (selection, ""); + g_assert_true (g_list_model_get_item_type (G_LIST_MODEL (selection)) == G_TYPE_OBJECT); + g_assert_true (gtk_single_selection_get_model (GTK_SINGLE_SELECTION (selection)) == G_LIST_MODEL (store)); + gtk_section_model_get_section (GTK_SECTION_MODEL (selection), 0, &start, &end); + g_assert_cmpint (start, ==, 0); + g_assert_cmpint (end, ==, G_MAXUINT); + g_object_unref (selection); } @@ -701,7 +708,7 @@ test_set_model (void) assert_selection (selection, ""); assert_selection_changes (selection, ""); - gtk_single_selection_set_selected (GTK_SINGLE_SELECTION (selection), 4); + g_object_set (selection, "selected", 4, NULL); assert_selection (selection, "5"); assert_selection_changes (selection, "4:1"); diff --git a/testsuite/gtk/slicelistmodel.c b/testsuite/gtk/slicelistmodel.c index 0c4cd7e78d..e86abd69e7 100644 --- a/testsuite/gtk/slicelistmodel.c +++ b/testsuite/gtk/slicelistmodel.c @@ -238,6 +238,8 @@ test_create (void) assert_model (slice, "1 3 5"); assert_changes (slice, ""); + g_assert_true (g_list_model_get_item_type (G_LIST_MODEL (slice)) == G_TYPE_OBJECT); + g_object_unref (slice); } @@ -287,6 +289,8 @@ test_set_slice (void) assert_model (slice, "3 5 7"); assert_changes (slice, "+2*"); + g_assert_cmpuint (gtk_slice_list_model_get_offset (slice), ==, 1); + g_object_unref (store); g_object_unref (slice); } diff --git a/testsuite/tools/enumerate b/testsuite/tools/enumerate new file mode 100755 index 0000000000..8abd9d67f1 --- /dev/null +++ b/testsuite/tools/enumerate @@ -0,0 +1,37 @@ +#! /bin/bash + +GTK_BUILDER_TOOL=${GTK_BUILDER_TOOL:-gtk4-builder-tool} +TEST_DATA_DIR=${G_TEST_SRCDIR:-.}/enumerate-data +TEST_RESULT_DIR=${TEST_RESULT_DIR:-/tmp}/enumerate + +mkdir -p "$TEST_RESULT_DIR" + +shopt -s nullglob +TESTS=( "$TEST_DATA_DIR"/*.ui ) + +echo "1..${#TESTS[*]}" + +I=1 +for t in ${TESTS[*]}; do + name=$(basename $t .ui) + expected="$TEST_DATA_DIR/$name.expected" + result="$TEST_RESULT_DIR/$name.out" + diff="$TEST_RESULT_DIR/$name.diff" + ref="$TEST_RESULT_DIR/$name.ref" + + cd $TEST_DATA_DIR + + $GTK_BUILDER_TOOL enumerate --callbacks $(basename $t) >$result + + cd $OLDPWD + + if diff -u "$expected" "$result" > "$diff"; then + echo "ok $I $name" + rm "$diff" + else + echo "not ok $I $name" + cp "$expected" "$ref" + fi + + I=$((I+1)) +done diff --git a/testsuite/tools/enumerate-data/widget-factory.expected b/testsuite/tools/enumerate-data/widget-factory.expected new file mode 100644 index 0000000000..afe2ca16e4 --- /dev/null +++ b/testsuite/tools/enumerate-data/widget-factory.expected @@ -0,0 +1,255 @@ +Objects: +info_dialog (GtkMessageDialog) +separator4 (GtkSeparator) +action_dialog_button (GtkButton) +separator5 (GtkSeparator) +label10 (GtkLabel) +label11 (GtkLabel) +label12 (GtkLabel) +open_popover_button (GtkButton) +label13 (GtkLabel) +select_selection_dialog (GtkButton) +label14 (GtkLabel) +charlemodel (GtkTreeStore) +cancel_info_dialog (GtkButton) +label15 (GtkLabel) +button224 (GtkButton) +grid1 (GtkGrid) +label16 (GtkLabel) +closable_page_1 (GtkBox) +headerbar1 (GtkHeaderBar) +label17 (GtkLabel) +closable_page_2 (GtkBox) +label18 (GtkLabel) +toolbar (GtkBox) +notebook_info_popover2 (GtkPopover) +iconview1 (GtkIconView) +label19 (GtkLabel) +lockbox (GtkBox) +toolbutton1 (GtkButton) +text3 (GtkTextView) +notebook_info_popover3 (GtkPopover) +levelbar1 (GtkLevelBar) +toolbutton2 (GtkButton) +record_button (GtkToggleButton) +levelbar2 (GtkLevelBar) +lockbutton (GtkLockButton) +toolbutton3 (GtkButton) +page2revealer (GtkRevealer) +toolbutton4 (GtkButton) +statusbar (GtkStatusbar) +open_popover_textview (GtkTextView) +progressbar1 (GtkProgressBar) +extra_info_entry (GtkEntry) +progressbar2 (GtkProgressBar) +panedframe1 (GtkFrame) +page2box (GtkBox) +progressbar3 (GtkProgressBar) +panedframe2 (GtkFrame) +totem_like_osd (GtkBox) +range_from_spin (GtkSpinButton) +checkbutton1 (GtkCheckButton) +progressbar5 (GtkProgressBar) +checkbutton2 (GtkCheckButton) +progressbar6 (GtkProgressBar) +checkbutton3 (GtkCheckButton) +cancel_action_dialog (GtkButton) +osd_frame (GtkFrame) +checkbutton4 (GtkCheckButton) +cancel_selection_dialog (GtkButton) +new_style_menu_model (GMenu) +checkbutton5 (GtkCheckButton) +checkbutton6 (GtkCheckButton) +treeview1 (GtkTreeView) +doit_info_dialog (GtkButton) +increase_button (GtkButton) +scale1 (GtkScale) +box10 (GtkBox) +page2note (GtkLabel) +scale2 (GtkScale) +box11 (GtkBox) +action_dialog (GtkDialog) +linkbutton1 (GtkLinkButton) +scale3 (GtkScale) +mode_switch (GtkSwitch) +box12 (GtkBox) +page1 (GtkBox) +textview1 (GtkTextView) +decrease_button (GtkButton) +scale4 (GtkScale) +box13 (GtkBox) +page2 (GtkOverlay) +scale5 (GtkScale) +notebook1 (GtkNotebook) +box14 (GtkBox) +selection_dialog (GtkDialog) +notebook2 (GtkNotebook) +box15 (GtkBox) +selection_dialog_button (GtkButton) +notebook3 (GtkNotebook) +mic-button (GtkScaleButton) +box16 (GtkBox) +details_entry (GtkEntry) +notebook4 (GtkNotebook) +box17 (GtkBox) +range_to_spin (GtkSpinButton) +box18 (GtkBox) +label1 (GtkLabel) +tags (GtkTextTagTable) +fontbutton1 (GtkFontButton) +grid_button (GtkToggleButton) +spinner1 (GtkSpinner) +open_popover (GtkPopover) +box19 (GtkBox) +label2 (GtkLabel) +swo (GtkScrolledWindow) +spinner2 (GtkSpinner) +label3 (GtkLabel) +spinner3 (GtkSpinner) +label4 (GtkLabel) +spinner4 (GtkSpinner) +label5 (GtkLabel) +radiobutton1 (GtkCheckButton) +comboboxtext1 (GtkComboBoxText) +label6 (GtkLabel) +listboxrow1switch (GtkSwitch) +radiobutton2 (GtkCheckButton) +comboboxtext2 (GtkComboBoxText) +label7 (GtkLabel) +list_button (GtkToggleButton) +radiobutton3 (GtkCheckButton) +infobar (GtkInfoBar) +listboxrow5button (GtkButton) +label8 (GtkLabel) +radiobutton4 (GtkCheckButton) +more_details_entry (GtkEntry) +label9 (GtkLabel) +page2dismiss (GtkButton) +pg_adjustment2 (GtkAdjustment) +comboboxtext-entry2 (GtkEntry) +radiobutton5 (GtkCheckButton) +switcher (GtkStackSwitcher) +radiobutton6 (GtkCheckButton) +listboxrow1 (GtkListBoxRow) +cut_copy_paste_filler (GtkLabel) +listboxrow2 (GtkListBoxRow) +reset_button (GtkButton) +preference_dialog (GtkDialog) +listboxrow3 (GtkListBoxRow) +listboxrow4 (GtkListBoxRow) +entry1 (GtkEntry) +dinner_menu (GMenu) +liststore1 (GtkListStore) +listboxrow5 (GtkListBoxRow) +entry2 (GtkEntry) +selection_flowbox (GtkFlowBox) +act_action_dialog (GtkButton) +listboxrow6 (GtkListBoxRow) +box_for_context (GtkBox) +pastebutton (GtkButton) +circular_button (GtkButton) +textbuffer1 (GtkTextBuffer) +textbuffer2 (GtkTextBuffer) +level_scale (GtkScale) +verticalspin1 (GtkSpinButton) +treeviewcolumn1 (GtkTreeViewColumn) +verticalspin2 (GtkSpinButton) +treeviewcolumn2 (GtkTreeViewColumn) +deletebutton (GtkButton) +basement-indicators (GtkSizeGroup) +cellrenderertext1 (GtkCellRendererText) +cellrenderertext2 (GtkCellRendererText) +treeviewcolumn3 (GtkTreeViewColumn) +pg_adjustment (GtkAdjustment) +lrmodel (GtkListStore) +charletree (GtkTreeView) +title_label (GtkLabel) +cellrenderertext3 (GtkCellRendererText) +munsell (GtkListBox) +treeviewcolumn4 (GtkTreeViewColumn) +notebook_info_popover (GtkPopover) +cellrenderertext4 (GtkCellRendererText) +stack (GtkStack) +box20 (GtkBox) +frame1 (GtkFrame) +toplevel_stack (GtkStack) +scrolledwindow1 (GtkScrolledWindow) +filler2 (GtkBox) +frame2 (GtkFrame) +scrolledwindow2 (GtkScrolledWindow) +box21 (GtkBox) +frame3 (GtkFrame) +scrolledwindow3 (GtkScrolledWindow) +box23 (GtkBox) +description_label (GtkLabel) +frame4 (GtkFrame) +box24 (GtkBox) +imageo (GtkImage) +tooltextview (GtkTextView) +box25 (GtkBox) +listboxrow3image (GtkImage) +box26 (GtkBox) +box27 (GtkBox) +switch1 (GtkSwitch) +cutbutton (GtkButton) +box28 (GtkBox) +stack_switcher (GtkStackSwitcher) +switch2 (GtkSwitch) +sidebar_stack (GtkStack) +comboboxtext-entry (GtkEntry) +new_style_context_menu_model (GMenu) +combobox1 (GtkComboBox) +treeview-selection (GtkTreeSelection) +cellrendererpixbuf1 (GtkCellRendererPixbuf) +searchbar (GtkSearchBar) +adjustment1 (GtkAdjustment) +combobox2 (GtkComboBox) +new_style_menu (GtkPopover) +tvo (GtkTextView) +expander1 (GtkExpander) +adjustment2 (GtkAdjustment) +adjustment3 (GtkAdjustment) +cellrenderertoggle1 (GtkCellRendererToggle) +box1 (GtkBox) +gear_menu_button (GtkMenuButton) +iconviewcell (GtkCellRendererPixbuf) +box2 (GtkBox) +info_dialog_button (GtkButton) +box3 (GtkBox) +entry24 (GtkEntry) +box4 (GtkBox) +box5 (GtkBox) +listbox (GtkListBox) +page2frame1 (GtkFrame) +box6 (GtkBox) +page2frame2 (GtkFrame) +box7 (GtkBox) +iconsmodel (GtkListStore) +colorbutton1 (GtkColorButton) +box8 (GtkBox) +box9 (GtkBox) +window (GtkApplicationWindow) +togglebutton1 (GtkToggleButton) +gear_menu (GMenu) +cchooser (GtkColorChooserWidget) +page2frame (GtkFrame) +togglebutton2 (GtkToggleButton) +menu_bar_model (GMenu) +main-indicators (GtkSizeGroup) +togglebutton3 (GtkToggleButton) +spinbutton1 (GtkSpinButton) +togglebutton4 (GtkToggleButton) +spinbutton2 (GtkSpinButton) +page2reset (GtkButton) +copybutton (GtkButton) +open_popover_entry (GtkEntry) +preference_dialog_button (GtkButton) +print_button (GtkButton) +separator1 (GtkSeparator) +page_combo (GtkComboBoxText) +open_menubutton (GtkMenuButton) +separator2 (GtkSeparator) +box223 (GtkBox) +separator3 (GtkSeparator) +name_completion (GtkEntryCompletion) +actionbar1 (GtkActionBar) diff --git a/testsuite/tools/enumerate-data/widget-factory.ui b/testsuite/tools/enumerate-data/widget-factory.ui new file mode 100644 index 0000000000..cfa86b68fe --- /dev/null +++ b/testsuite/tools/enumerate-data/widget-factory.ui @@ -0,0 +1,3782 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- this is a copy of widget-factory.ui with all custom widget classes + and callbacks removed, so it can be loaded by GtkBuilder + --> +<interface> + <menu id="gear_menu"> + <section> + <item> + <attribute name="label" translatable="yes">Get Busy</attribute> + <attribute name="action">win.busy</attribute> + </item> + <submenu> + <attribute name="label" translatable="yes">Style</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Current</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">current</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Adwaita</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">adwaita</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Adwaita dark</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">adwaita-dark</attribute> + </item> + <item> + <attribute name="label" translatable="yes">High contrast</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">highcontrast</attribute> + </item> + <item> + <attribute name="label" translatable="yes">High contrast inverse</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">highcontrast-inverse</attribute> + </item> + </section> + </submenu> + <item> + <attribute name="label" translatable="yes">Slide Pages</attribute> + <attribute name="action">win.transition</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Inspector</attribute> + <attribute name="action">app.inspector</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> + <attribute name="action">win.show-help-overlay</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_About Widget Factory</attribute> + <attribute name="action">app.about</attribute> + </item> + </section> + </menu> + <menu id="dinner_menu"> + <section> + <item> + <attribute name="label" translatable="yes">_Steak</attribute> + <attribute name="action">app.main</attribute> + <attribute name="target">steak</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Pizza</attribute> + <attribute name="action">app.main</attribute> + <attribute name="target">pizza</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Wine</attribute> + <attribute name="action">app.wine</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Beer</attribute> + <attribute name="action">app.beer</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Water</attribute> + <attribute name="action">app.water</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Dessert</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Brownies</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">brownies</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Banana Sundae</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">sundae</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Lemon Bars</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">bars</attribute> + </item> + </section> + </submenu> + <section> + <attribute name="display-hint">horizontal-buttons</attribute> + <item> + <attribute name="label" translatable="yes">Cash</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">cash</attribute> + <attribute name="verb-icon">document-save-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Credit Card</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">card</attribute> + <attribute name="verb-icon">document-send-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Cheque</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">cheque</attribute> + <attribute name="verb-icon">document-save-as-symbolic</attribute> + </item> + </section> + </section> + </menu> + <object class="GtkAdjustment" id="adjustment1"> + <property name="upper">100</property> + <property name="lower">1</property> + <property name="value">50</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">1000</property> + <property name="lower">1</property> + <property name="value">50</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">4</property> + <property name="value">2</property> + <property name="step-increment">1</property> + <property name="page-increment">1</property> + </object> + <object class="GtkAdjustment" id="pg_adjustment"> + <property name="upper">99</property> + <property name="lower">1</property> + <property name="value">2</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="pg_adjustment2"> + <property name="upper">99</property> + <property name="lower">1</property> + <property name="value">4</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkListStore" id="liststore1"> + <columns> + <column type="gboolean"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gboolean"/> + </columns> + <data> + <row> + <col id="0">True</col> + <col id="1">emblem-default-symbolic</col> + <col id="2" translatable="yes">Andrea</col> + <col id="3" translatable="yes">Cimi</col> + <col id="4">False</col> + </row> + <row> + <col id="0">False</col> + <col id="1">emblem-important-symbolic</col> + <col id="2" translatable="yes">Otto</col> + <col id="3" translatable="yes">chaotic</col> + <col id="4">False</col> + </row> + <row> + <col id="0">True</col> + <col id="1">weather-clear-night-symbolic</col> + <col id="2" translatable="yes">Orville</col> + <col id="3" translatable="yes">Redenbacher</col> + <col id="4">False</col> + </row> + <row> + <col id="0">True</col> + <col id="1">face-monkey-symbolic</col> + <col id="2" translatable="yes">Benjamin</col> + <col id="3" translatable="yes">Company</col> + <col id="4">True</col> + </row> + </data> + </object> + <object class="GtkEntryCompletion" id="name_completion"> + <property name="model">liststore1</property> + <property name="text-column">2</property> + <property name="inline-completion">1</property> + <property name="popup-single-match">0</property> + <property name="inline-selection">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + <object class="GtkListStore" id="lrmodel"> + <columns> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">Left</col> + </row> + <row> + <col id="0">Middle</col> + </row> + <row> + <col id="0">Right</col> + </row> + </data> + </object> + <object class="GtkTextTagTable" id="tags"> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">bold</property> + <property name="weight">800</property> + </object> + </child> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">italic</property> + <property name="style">italic</property> + </object> + </child> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">underline</property> + <property name="underline">single</property> + </object> + </child> + </object> + <object class="GtkTextBuffer" id="textbuffer1"> + <property name="tag-table">tags</property> + <property name="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Nullam fringilla, est ut feugiat ultrices, elit lacus ultricies nibh, id commodo tortor nisi id elit. +Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. +Morbi vel elit erat. Maecenas dignissim, dui et pharetra rutrum, tellus lectus rutrum mi, a convallis libero nisi quis tellus. +Nulla facilisi. Nullam eleifend lobortis nisl, in porttitor tellus malesuada vitae. +Aenean lacus tellus, pellentesque quis molestie quis, fringilla in arcu. +Duis elementum, tellus sed tristique semper, metus metus accumsan augue, et porttitor augue orci a libero. +Ut sed justo ac felis placerat laoreet sed id sem. Proin mattis tincidunt odio vitae tristique. +Morbi massa libero, congue vitae scelerisque vel, ultricies vel nisl. +Vestibulum in tortor diam, quis aliquet quam. Praesent ut justo neque, tempus rutrum est. +Duis eu lectus quam. Vivamus eget metus a mauris molestie venenatis pulvinar eleifend nisi. +Nulla facilisi. Pellentesque at dolor sit amet purus dapibus pulvinar molestie quis neque. +Suspendisse feugiat quam quis dolor accumsan cursus.</property> + </object> + <object class="GtkTextBuffer" id="textbuffer2"> + <property name="text">* Translation updates: + Aragonese + Assamese + Basque + Brazilian Portuguese + Dutch + German + Hebrew + Hungarian + Polish + Portuguese + Serbian + Slovenian + Spanish + Uyghur</property> + </object> + <object class="GtkListStore" id="iconsmodel"> + <columns> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">audio-headphones-symbolic</col> + </row> + <row> + <col id="0">audio-speakers-symbolic</col> + </row> + <row> + <col id="0">audio-input-microphone-symbolic</col> + </row> + <row> + <col id="0">bookmark-new-symbolic</col> + </row> + <row> + <col id="0">call-start-symbolic</col> + </row> + <row> + <col id="0">call-stop-symbolic</col> + </row> + <row> + <col id="0">camera-photo-symbolic</col> + </row> + <row> + <col id="0">camera-video-symbolic</col> + </row> + <row> + <col id="0">camera-web-symbolic</col> + </row> + <row> + <col id="0">document-new-symbolic</col> + </row> + <row> + <col id="0">document-open-recent-symbolic</col> + </row> + <row> + <col id="0">document-open-symbolic</col> + </row> + <row> + <col id="0">drive-harddisk-symbolic</col> + </row> + <row> + <col id="0">drive-multidisk-symbolic</col> + </row> + <row> + <col id="0">drive-optical-symbolic</col> + </row> + <row> + <col id="0">edit-clear-all-symbolic</col> + </row> + <row> + <col id="0">edit-copy-symbolic</col> + </row> + <row> + <col id="0">edit-cut-symbolic</col> + </row> + <row> + <col id="0">edit-delete-symbolic</col> + </row> + <row> + <col id="0">find-location-symbolic</col> + </row> + <row> + <col id="0">format-indent-less-symbolic</col> + </row> + <row> + <col id="0">format-indent-more-symbolic</col> + </row> + <row> + <col id="0">format-justify-left-symbolic</col> + </row> + <row> + <col id="0">format-justify-center-symbolic</col> + </row> + <row> + <col id="0">format-justify-right-symbolic</col> + </row> + <row> + <col id="0">network-wired-symbolic</col> + </row> + <row> + <col id="0">network-wireless-symbolic</col> + </row> + <row> + <col id="0">phone-symbolic</col> + </row> + <row> + <col id="0">insert-image-symbolic</col> + </row> + <row> + <col id="0">insert-link-symbolic</col> + </row> + <row> + <col id="0">insert-object-symbolic</col> + </row> + <row> + <col id="0">view-continuous-symbolic</col> + </row> + <row> + <col id="0">view-dual-symbolic</col> + </row> + <row> + <col id="0">view-fullscreen-symbolic</col> + </row> + <row> + <col id="0">view-grid-symbolic</col> + </row> + <row> + <col id="0">view-list-symbolic</col> + </row> + <row> + <col id="0">view-paged-symbolic</col> + </row> + <row> + <col id="0">weather-clear-night-symbolic</col> + </row> + <row> + <col id="0">weather-few-clouds-night-symbolic</col> + </row> + <row> + <col id="0">weather-fog-symbolic</col> + </row> + <row> + <col id="0">weather-overcast-symbolic</col> + </row> + <row> + <col id="0">weather-severe-alert-symbolic</col> + </row> + <row> + <col id="0">weather-showers-symbolic</col> + </row> + <row> + <col id="0">weather-snow-symbolic</col> + </row> + </data> + </object> + <object class="GtkTreeStore" id="charlemodel"> + <columns> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gboolean"/> + </columns> + </object> + <object class="GtkApplicationWindow" id="window"> + <property name="title">GTK Widget Factory</property> + <child type="titlebar"> + <object class="GtkHeaderBar" id="headerbar1"> + <child type="title"> + <object class="GtkStackSwitcher" id="stack_switcher"> + <property name="stack">toplevel_stack</property> + </object> + </child> + <child type="end"> + <object class="GtkMenuButton" id="gear_menu_button"> + <property name="valign">center</property> + <property name="menu-model">gear_menu</property> + <property name="icon-name">open-menu-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box1"> + <property name="orientation">vertical</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <child> + <object class="GtkStack" id="toplevel_stack"> + <property name="transition-duration">1000</property> + <child> + <object class="GtkStackPage"> + <property name="name">page1</property> + <property name="title" translatable="yes">Page 1</property> + <property name="child"> + <object class="GtkBox" id="page1"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox" id="box2"> + <property name="spacing">10</property> + <child> + <object class="GtkBox" id="box3"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkComboBoxText" id="comboboxtext1"> + <property name="has-entry">1</property> + <child internal-child="entry"> + <object class="GtkEntry" id="comboboxtext-entry"> + <property name="text" translatable="yes">comboboxentry</property> + </object> + </child> + <items> + <item>Donald Duck</item> + <item>Mickey Mouse</item> + <item>Jet McQuack</item> + </items> + </object> + </child> + <child> + <object class="GtkComboBoxText" id="comboboxtext2"> + <property name="sensitive">0</property> + <property name="has-entry">1</property> + <child internal-child="entry"> + <object class="GtkEntry" id="comboboxtext-entry2"> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">comboboxentry</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkEntry" id="entry1"> + <property name="enable-emoji-completion">1</property> + <property name="invisible_char">•</property> + <property name="placeholder-text" translatable="yes">Click icon to change mode</property> + <property name="secondary-icon-name">view-refresh-symbolic</property> + <property name="secondary-icon-tooltip-text">Change mode</property> + </object> + </child> + <child> + <object class="GtkEntry" id="entry2"> + <property name="sensitive">0</property> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">entry</property> + </object> + </child> + <child> + <object class="GtkBox" id="box223"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry" id="entry24"> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">entry</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="button224"> + <property name="icon-name">window-close-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="hexpand">0</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">0</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">1</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">2</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box18"> + <property name="spacing">20</property> + <child> + <object class="GtkLabel" id="label3"> + <property name="label" translatable="yes">label</property> + </object> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="sensitive">0</property> + <property name="label" translatable="yes">label</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton1"> + <property name="width-chars">2</property> + <property name="max-width-chars">2</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton2"> + <property name="sensitive">0</property> + <property name="width-chars">2</property> + <property name="max-width-chars">2</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="row-homogeneous">1</property> + <property name="column-spacing">18</property> + <property name="row-spacing">6</property> + <child> + <object class="GtkCheckButton" id="checkbutton1"> + <property name="label" translatable="yes">checkbutton</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton2"> + <property name="label" translatable="yes">checkbutton</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton3"> + <property name="label" translatable="yes">checkbutton</property> + <property name="inconsistent">1</property> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton4"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <property name="active">1</property> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton5"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <layout> + <property name="column">0</property> + <property name="row">4</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton6"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <property name="inconsistent">1</property> + <layout> + <property name="column">0</property> + <property name="row">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton1"> + <property name="label" translatable="yes">radiobutton</property> + <property name="active">1</property> + <layout> + <property name="column">0</property> + <property name="column">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton2"> + <property name="label" translatable="yes">radiobutton</property> + <property name="group">radiobutton1</property> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton3"> + <property name="label" translatable="yes">radiobutton</property> + <property name="inconsistent">1</property> + <property name="group">radiobutton1</property> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton4"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton5"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <property name="group">radiobutton3</property> + <layout> + <property name="column">1</property> + <property name="row">4</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton6"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <property name="inconsistent">1</property> + <property name="group">radiobutton3</property> + <layout> + <property name="column">1</property> + <property name="row">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner1"> + <property name="spinning">1</property> + <layout> + <property name="column">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner2"> + <layout> + <property name="column">2</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner3"> + <property name="spinning">1</property> + <property name="sensitive">0</property> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner4"> + <property name="sensitive">0</property> + <layout> + <property name="column">2</property> + <property name="row">4</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator1"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box19"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkToggleButton" id="togglebutton1"> + <property name="label" translatable="yes">togglebutton</property> + <property name="receives-default">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton2"> + <property name="label" translatable="yes">togglebutton</property> + <property name="sensitive">0</property> + <property name="receives-default">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton3"> + <property name="label" translatable="yes">togglebutton</property> + <property name="receives-default">1</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton4"> + <property name="label" translatable="yes">togglebutton</property> + <property name="sensitive">0</property> + <property name="receives-default">1</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkComboBox" id="combobox1"> + <property name="model">liststore1</property> + <property name="active">0</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext1"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox" id="combobox2"> + <property name="sensitive">0</property> + <property name="model">liststore1</property> + <property name="active">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext2"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkFontButton" id="fontbutton1"> + <property name="receives-default">1</property> + <property name="level">family|size|features|variations</property> + </object> + </child> + <child> + <object class="GtkColorButton" id="colorbutton1"> + <property name="receives-default">1</property> + <property name="rgba">#31316867a09f</property> + <property name="use-alpha">1</property> + </object> + </child> + <child> + <object class="GtkLinkButton" id="linkbutton1"> + <property name="label" translatable="yes">link button</property> + <property name="receives-default">1</property> + <property name="has-tooltip">1</property> + <property name="has-frame">0</property> + <property name="uri">http://www.gtk.org</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="switch1"> + <property name="halign">center</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="switch2"> + <property name="sensitive">0</property> + <property name="halign">center</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator2"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box20"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkBox" id="box21"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkProgressBar" id="progressbar1"> + <property name="fraction">0.5</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar2"> + <property name="fraction">0.5</property> + <property name="inverted">1</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar3"> + <property name="fraction">0.5</property> + <property name="show-text">1</property> + </object> + </child> + <child> + <object class="GtkLevelBar" id="levelbar1"> + <property name="value">0.6</property> + </object> + </child> + <child> + <object class="GtkLevelBar" id="levelbar2"> + <property name="max-value">5</property> + <property name="value">2</property> + <property name="mode">1</property> + <offsets> + <offset name="low" value="1"/> + <offset name="high" value="4"/> + <offset name="full" value="5"/> + </offsets> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box27"> + <child> + <object class="GtkBox" id="box24"> + <property name="hexpand">1</property> + <property name="orientation">vertical</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkScale" id="scale1"> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="draw-value">0</property> + </object> + </child> + <child> + <object class="GtkScale" id="scale2"> + <property name="sensitive">0</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="draw-value">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScale" id="scale5"> + <property name="draw-value">0</property> + <property name="has-origin">0</property> + <property name="round-digits">0</property> + <property name="adjustment">adjustment3</property> + <property name="restrict-to-fill-level">0</property> + <marks> + <mark value="0" position="bottom"></mark> + <mark value="1" position="bottom"></mark> + <mark value="2" position="bottom"></mark> + <mark value="3" position="bottom"></mark> + <mark value="4" position="bottom"></mark> + </marks> + </object> + </child> + <child> + <object class="GtkBox" id="box25"> + <property name="homogeneous">1</property> + <child> + <object class="GtkBox" id="box28"> + <property name="vexpand">1</property> + <property name="spacing">6</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkProgressBar" id="progressbar5"> + <property name="orientation">vertical</property> + <property name="fraction">0.5</property> + <property name="halign">end</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar6"> + <property name="orientation">vertical</property> + <property name="fraction">0.5</property> + <property name="inverted">1</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box23"> + <property name="vexpand">1</property> + <property name="spacing">6</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkScale" id="scale3"> + <property name="height-request">100</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="digits">1</property> + <property name="draw-value">1</property> + <property name="halign">end</property> + </object> + </child> + <child> + <object class="GtkScale" id="scale4"> + <property name="height-request">100</property> + <property name="sensitive">0</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="digits">1</property> + <property name="draw-value">1</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator3"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box26"> + <property name="orientation">vertical</property> + <property name="homogeneous">1</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkFrame" id="frame1"> + <style> + <class name="border-inset"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="label" translatable="yes"><b>Inset</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame2"> + <style> + <class name="border-outset"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label2"> + <property name="label" translatable="yes"><b>Outset</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame3"> + <style> + <class name="border-groove"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label17"> + <property name="label" translatable="yes"><b>Groove, Groove, Groove</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame4"> + <style> + <class name="border-ridge"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label18"> + <property name="label" translatable="yes"><b>Ridge</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator4"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box4"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="width-request">150</property> + <property name="vscrollbar-policy">always</property> + <property name="has-frame">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkTreeView" id="treeview1"> + <property name="model">liststore1</property> + <property name="headers-clickable">0</property> + <property name="search-column">0</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection"/> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn3"> + <property name="title" translatable="yes">Cool</property> + <child> + <object class="GtkCellRendererToggle" id="cellrenderertoggle1"/> + <attributes> + <attribute name="active">0</attribute> + <attribute name="radio">4</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn4"> + <property name="title" translatable="yes">Icon</property> + <property name="reorderable">1</property> + <child> + <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/> + <attributes> + <attribute name="icon_name">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn1"> + <property name="title" translatable="yes">Name</property> + <property name="resizable">1</property> + <property name="reorderable">1</property> + <property name="sort-indicator">1</property> + <property name="sort-column-id">2</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"> + <property name="ellipsize">end</property> + </object> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn2"> + <property name="title" translatable="yes">Nick</property> + <property name="resizable">1</property> + <property name="reorderable">1</property> + <property name="sort-indicator">1</property> + <property name="sort-column-id">3</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"> + <property name="ellipsize">end</property> + </object> + <attributes> + <attribute name="text">3</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="has-frame">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkTextView" id="textview1"> + <property name="buffer">textbuffer1</property> + <property name="wrap-mode">2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator5"/> + </child> + <child> + <object class="GtkBox" id="box5"> + <property name="spacing">10</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkNotebook" id="notebook1"> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box6"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label5"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box7"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label6"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box8"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label7"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook2"> + <property name="tab-pos">right</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box9"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label8"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box10"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label9"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box11"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label10"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook3"> + <property name="tab-pos">bottom</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box12"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label11"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box13"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label12"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box14"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label13"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook4"> + <property name="tab-pos">left</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box15"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label14"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box16"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label15"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box17"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label16"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page2</property> + <property name="title" translatable="yes">Page 2</property> + <property name="child"> + <object class="GtkOverlay" id="page2"> + <child type="overlay"> + <object class="GtkRevealer" id="page2revealer"> + <property name="transition-type">swing-down</property> + <property name="halign">center</property> + <property name="valign">start</property> + <child> + <object class="GtkFrame" id="page2frame"> + <style> + <class name="app-notification"/> + </style> + <child> + <object class="GtkBox" id="page2box"> + <property name="spacing">20</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <child> + <object class="GtkLabel" id="page2note"> + <property name="hexpand">1</property> + <property name="halign">start</property> + <property name="label">NEWS!</property> + </object> + </child> + <child> + <object class="GtkButton" id="page2reset"> + <property name="valign">center</property> + <property name="label" translatable="yes">Reset</property> + </object> + </child> + <child> + <object class="GtkButton" id="page2dismiss"> + <property name="focus-on-click">0</property> + <property name="has-frame">0</property> + <property name="icon-name">window-close-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkSpinButton" id="verticalspin1"> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="verticalspin2"> + <property name="sensitive">0</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkGrid"> + <property name="row-spacing">6</property> + <property name="column-spacing">6</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkVolumeButton"> + <property name="orientation">vertical</property> + <property name="valign">center</property> + <property name="value">.5</property> + <property name="halign">center</property> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkScaleButton" id="mic-button"> + <property name="has-tooltip">1</property> + <property name="icons">microphone-sensitivity-muted-symbolic +microphone-sensitivity-high-symbolic +microphone-sensitivity-low-symbolic +microphone-sensitivity-medium-symbolic</property> + <property name="valign">center</property> + <property name="value">.5</property> + <property name="halign">center</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkFrame" id="page2frame1"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkStack" id="stack"> + <property name="transition-type">crossfade</property> + <property name="transition-duration">1000</property> + <child> + <object class="GtkStackPage"> + <property name="name">page1</property> + <property name="icon-name">preferences-desktop-locale-symbolic</property> + <property name="title">News</property> + <property name="child"> + <object class="GtkScrolledWindow" id="swo"> + <property name="hscrollbar-policy">never</property> + <child> + <object class="GtkTextView" id="tvo"> + <property name="buffer">textbuffer2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page2</property> + <property name="icon-name">folder-pictures-symbolic</property> + <property name="title">Logo</property> + <property name="child"> + <object class="GtkImage" id="imageo"> + <property name="icon-name">org.gtk.WidgetFactory4</property> + <property name="pixel-size">256</property> + <style> + <class name="icon-dropshadow"/> + </style> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkActionBar" id="actionbar1"> + <child type="center"> + <object class="GtkStackSwitcher" id="switcher"> + <property name="stack">stack</property> + <property name="halign">center</property> + </object> + </child> + <child type="end"> + <object class="GtkMenuButton"> + <property name="menu-model">dinner_menu</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">emblem-system-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="has-frame">1</property> + <property name="hscrollbar-policy">never</property> + <property name="min-content-height">200</property> + <property name="hexpand">0</property> + <child> + <object class="GtkListBox" id="listbox"> + <property name="selection-mode">none</property> + <property name="show-separators">1</property> + <child type="placeholder"> + <object class="GtkLabel"> + <property name="label">No rows found</property> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow1"> + <property name="activatable">0</property> + <property name="selectable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 1</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="listboxrow1switch"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow2"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 2</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkScale"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="draw-value">0</property> + <property name="width-request">150</property> + <property name="adjustment">adjustment1</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow3"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkImage" id="listboxrow3image"> + <property name="icon-name">object-select-symbolic</property> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="opacity">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow4"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 4</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkSpinButton"> + <property name="adjustment">adjustment1</property> + <property name="hexpand">1</property> + <property name="halign">end</property> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow5"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 5</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="listboxrow5button"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="icon-name">appointment-soon-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow6"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 6</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkCheckButton"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkFrame" id="page2frame2"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkPopoverMenuBar"> + <property name="menu-model">menu_bar_model</property> + </object> + </child> + <child> + <object class="GtkBox" id="toolbar"> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">New</property> + <property name="icon-name">document-new</property> + <property name="tooltip-text" translatable="yes">Create a new document</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">Save</property> + <property name="icon-name">document-save</property> + <property name="tooltip-text" translatable="yes">Save the current document</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">Search</property> + <property name="icon-name">edit-find</property> + <property name="action-name">win.search</property> + <property name="tooltip-text" translatable="yes">Search for it</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="sensitive">0</property> + <property name="label" translatable="yes">Insert</property> + <property name="icon-name">insert-image</property> + <property name="tooltip-text" translatable="yes">Insert something</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSearchBar" id="searchbar"> + <child> + <object class="GtkSearchEntry"/> + </child> + </object> + </child> + <child> + <object class="GtkInfoBar" id="infobar"> + <property name="visible">0</property> + <property name="show-close-button">1</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label">You wanted to delete something.</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="vexpand">1</property> + <child> + <object class="GtkTextView" id="text3"> + <property name="visible">True</property> + <property name="buffer">textbuffer1</property> + <property name="wrap-mode">2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkStatusbar" id="statusbar"/> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <child> + <object class="GtkBox"> + <property name="spacing">10</property> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkFrame" id="panedframe1"> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkPaned"> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkLabel"> + <property name="label">Left</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Right</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="panedframe2"> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkPaned"> + <property name="orientation">vertical</property> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkLabel"> + <property name="label">Top</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Bottom</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="filler2"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkCalendar"> + <property name="halign">center</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkExpander" id="expander1"> + <property name="expanded">1</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow3"> + <property name="has-frame">1</property> + <property name="margin-top">6</property> + <property name="height-request">226</property> + <child> + <object class="GtkIconView" id="iconview1"> + <property name="selection-mode">multiple</property> + <property name="model">iconsmodel</property> + <child> + <object class="GtkCellRendererPixbuf" id="iconviewcell"/> + <attributes> + <attribute name="icon-name">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton" id="decrease_button"> + <property name="icon-name">zoom-out-symbolic</property> + <property name="tooltip-text">Normal icons</property> + </object> + </child> + <child> + <object class="GtkButton" id="increase_button"> + <property name="icon-name">zoom-in-symbolic</property> + <property name="tooltip-text">Large icons</property> + </object> + </child> + <child> + <object class="GtkButton" id="reset_button"> + <property name="icon-name">zoom-original-symbolic</property> + <property name="tooltip-text">Inherited icon size</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label19"> + <property name="label" translatable="yes">Expander</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="info_dialog_button"> + <property name="label" translatable="yes">_Inform</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="action_dialog_button"> + <property name="label" translatable="yes">_Act</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="preference_dialog_button"> + <property name="label" translatable="yes">_Configure</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="selection_dialog_button"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">1</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page3</property> + <property name="title" translatable="yes">Page 3</property> + <property name="child"> + <object class="GtkBox"> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">4</property> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vscrollbar-policy">always</property> + <property name="height-request">300</property> + <property name="has-frame">1</property> + <child> + <object class="GtkTreeView" id="charletree"> + <property name="enable-grid-lines">vertical</property> + <property name="enable-tree-lines">1</property> + <property name="rubber-banding">1</property> + <property name="model">charlemodel</property> + <child internal-child="selection"> + <object class="GtkTreeSelection"> + <property name="mode">multiple</property> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Name</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Birth</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Death</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="selectable">1</property> + <property name="halign">start</property> + <property name="use-markup">1</property> + <property name="label" translatable="yes"><small>Data source: <a href="http://en.wikipedia.org/wiki/Charlemagne#Ancestry">Wikipedia</a></small></property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vexpand">1</property> + <property name="has-frame">1</property> + <child> + <object class="GtkListBox" id="munsell"> + <property name="selection-mode">multiple</property> + <property name="activate-on-single-click">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="lockbox"> + <property name="hexpand">1</property> + <property name="spacing">6</property> + <child> + <object class="GtkMenuButton" id="open_menubutton"> + <property name="halign">center</property> + <property name="popover">open_popover</property> + <property name="label">Open</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="record_button"> + <property name="halign">center</property> + <style> + <class name="text-button"/> + <class name="image-button"/> + <class name="destructive-action"/> + </style> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkImage"> + <property name="valign">baseline</property> + <property name="icon-name">media-record-symbolic</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="valign">baseline</property> + <property name="label">Record</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkToggleButton" id="grid_button"> + <property name="active">1</property> + <property name="icon-name">view-grid-symbolic</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="list_button"> + <property name="active">1</property> + <property name="group">grid_button</property> + <property name="icon-name">view-list-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="circular_button"> + <property name="icon-name">emblem-system-symbolic</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLockButton" id="lockbutton"/> + </child> + <child> + <object class="GtkMenuButton"> + <property name="icon-name">view-more-symbolic</property> + <property name="popover">new_style_menu</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkFrame"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkStackSidebar"> + <property name="stack">sidebar_stack</property> + </object> + </child> + <child> + <object class="GtkStack" id="sidebar_stack"> + <child> + <object class="GtkStackPage"> + <property name="name">id</property> + <property name="title">Identity</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="spacing">10</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">First Name</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Last Name</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">bd</property> + <property name="title">Birthdate</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="spacing">10</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkBox"> + <property name="spacing">2</property> + <child> + <object class="GtkComboBoxText"> + <property name="active">9</property> + <items> + <item>1</item> + <item>2</item> + <item>3</item> + <item>4</item> + <item>5</item> + <item>6</item> + <item>7</item> + <item>8</item> + <item>9</item> + <item>10</item> + <item>11</item> + <item>12</item> + <item>13</item> + <item>14</item> + <item>15</item> + <item>16</item> + <item>17</item> + <item>18</item> + <item>19</item> + <item>20</item> + <item>21</item> + <item>22</item> + <item>23</item> + <item>24</item> + <item>25</item> + <item>26</item> + <item>27</item> + <item>28</item> + <item>29</item> + <item>30</item> + <item>31</item> + </items> + </object> + </child> + <child> + <object class="GtkComboBoxText"> + <property name="active">9</property> + <items> + <item>January</item> + <item>February</item> + <item>March</item> + <item>April</item> + <item>May</item> + <item>June</item> + <item>July</item> + <item>August</item> + <item>September</item> + <item>October</item> + <item>November</item> + <item>December</item> + </items> + </object> + </child> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Year</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">ad</property> + <property name="title">Address</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="halign">center</property> + <property name="valign">center</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Street</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">City</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Province</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">pg</property> + <property name="title">Pages</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="halign">center</property> + <property name="valign">center</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkComboBoxText" id="page_combo"> + <property name="active">0</property> + <items> + <item>Range</item> + <item>All</item> + <item>Current</item> + <item>-</item> + <item>None</item> + </items> + </object> + </child> + <child> + <object class="GtkSpinButton" id="range_from_spin"> + <property name="adjustment">pg_adjustment</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="range_to_spin"> + <property name="adjustment">pg_adjustment2</property> + </object> + </child> + <child> + <object class="GtkButton" id="print_button"> + <property name="label">Print</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkButton" id="toolbutton1"> + <property name="icon-name">document-open-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton2"> + <property name="icon-name">send-to-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton3"> + <property name="icon-name">view-fullscreen-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton4"> + <property name="icon-name">star-new-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hexpand">1</property> + <child> + <object class="GtkTextView" id="tooltextview"/> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton" id="cutbutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-cut-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="copybutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-copy-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="pastebutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-paste-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="deletebutton"> + <property name="sensitive">0</property> + <property name="valign">end</property> + <property name="icon-name">edit-delete-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkOverlay"> + <child type="overlay"> + <object class="GtkBox" id="totem_like_osd"> + <property name="visible">0</property> + <property name="opacity">0.9</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="valign">end</property> + <style> + <class name="osd"/> + </style> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton"> + <property name="icon-name">pan-start-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="icon-name">pan-end-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScale"> + <property name="hexpand">1</property> + <property name="draw-value">0</property> + <property name="adjustment">adjustment1</property> + </object> + </child> + <child> + <object class="GtkVolumeButton"> + <property name="orientation">vertical</property> + <property name="value">.5</property> + <style> + <class name="image-button"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="osd_frame"> + <child> + <object class="GtkPaned"> + <property name="wide-handle">1</property> + <child> + <object class="GtkNotebook"> + <property name="show-border">0</property> + <child type="action-end"> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover2</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="closable_page_1"> + <property name="height-request">120</property> + </object> + </property> + <property name="tab"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 1</property> + <property name="halign">center</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="has-frame">0</property> + <property name="focus-on-click">0</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="small-button"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="closable_page_2"> + <property name="vexpand">1</property> + </object> + </property> + <property name="tab"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 2</property> + <property name="halign">center</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="has-frame">0</property> + <property name="focus-on-click">0</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="small-button"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook"> + <property name="show-border">0</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox"> + <property name="vexpand">1</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkGestureClick"> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="halign">center</property> + <child> + <object class="GtkEntry"> + <property name="placeholder-text" translatable="yes">Name…</property> + <property name="completion">name_completion</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="show-emoji-icon">1</property> + <property name="placeholder-text" translatable="yes">Age…</property> + </object> + </child> + <style> + <class name="linked"/> + </style> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkNotebook"> + <property name="scrollable">1</property> + <child type="action-end"> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="box_for_context"> + <property name="height-request">120</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"> + <property name="height-request">40</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 3</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 4</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 5</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkColorChooserWidget" id="cchooser"> + <property name="show-editor">1</property> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <object class="GtkMessageDialog" id="info_dialog"> + <property name="transient-for">window</property> + <property name="resizable">0</property> + <property name="modal">1</property> + <property name="text" translatable="yes">Do something?</property> + <property name="secondary-text" translatable="yes">If you do something, +bad things might happen.</property> + <property name="hide-on-close">1</property> + <child type="action"> + <object class="GtkButton" id="cancel_info_dialog"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="doit_info_dialog"> + <property name="label" translatable="yes">_Do It</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_info_dialog</action-widget> + <action-widget response="ok">doit_info_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="action_dialog"> + <property name="transient-for">window</property> + <property name="resizable">0</property> + <property name="modal">1</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Zelda</property> + <property name="hide-on-close">1</property> + <property name="default-widget">act_action_dialog</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="label" translatable="yes">To free the princess, you have to slay the dragon.</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_action_dialog"> + <property name="label" translatable="yes">_Run</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="act_action_dialog"> + <property name="label" translatable="yes">_Act</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_action_dialog</action-widget> + <action-widget response="ok" default="true">act_action_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="preference_dialog"> + <property name="transient-for">window</property> + <property name="modal">1</property> + <property name="resizable">0</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Settings</property> + <property name="hide-on-close">1</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkGrid"> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Details</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">details_entry</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="details_entry"> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">More D_etails</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">more_details_entry</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="more_details_entry"> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Level</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">level_scale</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkScale" id="level_scale"> + <property name="valign">baseline</property> + <property name="draw-value">0</property> + <property name="adjustment">adjustment1</property> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Mode</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">mode_switch</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkSwitch" id="mode_switch"> + <property name="halign">start</property> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <object class="GtkDialog" id="selection_dialog"> + <property name="transient-for">window</property> + <property name="modal">1</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Choose one</property> + <property name="hide-on-close">1</property> + <property name="default-widget">select_selection_dialog</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkFlowBox" id="selection_flowbox"> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="min-children-per-line">3</property> + <property name="max-children-per-line">9</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_selection_dialog"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="select_selection_dialog"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_selection_dialog</action-widget> + <action-widget response="ok" default="true">select_selection_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkPopover" id="open_popover"> + <child> + <object class="GtkGrid"> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <child> + <object class="GtkLabel" id="title_label"> + <property name="label">Title:</property> + <property name="xalign">1</property> + </object> + </child> + <child> + <object class="GtkLabel" id="description_label"> + <property name="valign">start</property> + <property name="label">Description:</property> + <property name="xalign">1</property> + <layout> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="valign">start</property> + <property name="has-frame">1</property> + <property name="min-content-height">70</property> + <property name="max-content-height">120</property> + <property name="min-content-width">100</property> + <property name="max-content-width">100</property> + <child> + <object class="GtkTextView" id="open_popover_textview"> + </object> + </child> + <layout> + <property name="column">1</property> + <property name="row">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="open_popover_entry"> + <property name="activates-default">1</property> + <layout> + <property name="column">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkExpander"> + <child type="label"> + <object class="GtkLabel"> + <property name="label">Extra Info</property> + </object> + </child> + <child> + <object class="GtkEntry" id="extra_info_entry"> + <property name="placeholder-text">Tell me anything…</property> + <property name="progress-fraction">0.2</property> + </object> + </child> + <layout> + <property name="column">1</property> + <property name="row">2</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="halign">end</property> + <property name="icon-name">emblem-system-symbolic</property> + <property name="menu-model">gear_menu</property> + <property name="tooltip-text">This is a menu button</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkButton" id="open_popover_button"> + <property name="label">_Open</property> + <property name="use-underline">1</property> + <property name="sensitive">0</property> + <style> + <class name="suggested-action"/> + </style> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + <object class="GtkSizeGroup"> + <property name="mode">vertical</property> + <widgets> + <widget name="listboxrow1"/> + <widget name="listboxrow2"/> + <widget name="listboxrow3"/> + <widget name="listboxrow4"/> + <widget name="listboxrow5"/> + <widget name="listboxrow6"/> + </widgets> + </object> + <object class="GtkSizeGroup"> + <property name="mode">both</property> + <widgets> + <widget name="panedframe1"/> + <widget name="panedframe2"/> + </widgets> + </object> + <object class="GtkPopover" id="notebook_info_popover"> + <property name="autohide">0</property> + <child> + <object class="GtkLabel"> + <property name="label">No updates at this time</property> + </object> + </child> + </object> + <object class="GtkPopover" id="notebook_info_popover3"> + <property name="autohide">0</property> + <child> + <object class="GtkLabel"> + <property name="label">You're in too deep!</property> + </object> + </child> + </object> + <object class="GtkPopover" id="notebook_info_popover2"> + <property name="autohide">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label">Hidden gems:</property> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover3</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + </object> + <object class="GtkPopover" id="new_style_menu"> + <child> + <object class="GtkStack"> + <child> + <object class="GtkStackPage"> + <property name="name">main</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkBox"> + <style> + <class name="circular-buttons"/> + </style> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">printer-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + <property name="action-name">app.print</property> + <property name="hexpand">1</property> + <property name="halign">center</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">emblem-shared-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + <property name="action-name">app.share</property> + <property name="hexpand">1</property> + <property name="halign">center</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Open in New Window</property> + <property name="action-name">app.open-in</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="inline-buttons"/> + </style> + <child> + <object class="GtkLabel" id="cut_copy_paste_filler"/> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Edit</property> + <property name="xalign">0</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-cut-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-copy-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-paste-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Pin</property> + <property name="action-name">app.pin</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Select Labels…</property> + <property name="action-name">app.labels</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Share…</property> + <property name="action-name">app.share</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Basement</property> + <property name="menu-name">basement</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Large</property> + <property name="action-name">app.size</property> + <property name="action-target">'large'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Medium</property> + <property name="action-name">app.size</property> + <property name="action-target">'medium'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Small</property> + <property name="action-name">app.size</property> + <property name="action-target">'small'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Move to Trash</property> + <property name="action-name">win.delete</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">basement</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkModelButton"> + <property name="text">Basement</property> + <property name="role">title</property> + <property name="menu-name">main</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Berk</property> + <property name="action-name">app.berk</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Broni</property> + <property name="action-name">app.broni</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Drutt</property> + <property name="action-name">app.drutt</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">The Thing Upstairs</property> + <property name="action-name">app.upstairs</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + <object class="GtkSizeGroup" id="main-indicators"> + <widgets> + <widget name="cut_copy_paste_filler"/> + </widgets> + </object> + <object class="GtkSizeGroup" id="basement-indicators"/> + <menu id="new_style_menu_model"> + <section> + <attribute name="display-hint">circular-buttons</attribute> + <item> + <attribute name="verb-icon">printer-symbolic</attribute> + <attribute name="action">app.print</attribute> + </item> + <item> + <attribute name="verb-icon">emblem-shared-symbolic</attribute> + <attribute name="action">app.share</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open in New Window</attribute> + <attribute name="action">app.open-in</attribute> + </item> + </section> + <section> + <attribute name="display-hint">inline-buttons</attribute> + <attribute name="label" translatable="yes">Edit</attribute> + <item> + <attribute name="verb-icon">edit-cut-symbolic</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="verb-icon">edit-copy-symbolic</attribute> + <attribute name="action">app.copy</attribute> + </item> + <item> + <attribute name="verb-icon">edit-paste-symbolic</attribute> + <attribute name="action">app.paste</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Pin</attribute> + <attribute name="action">app.pin</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select Labels…</attribute> + <attribute name="action">app.labels</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Share…</attribute> + <attribute name="action">app.share</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Basement</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Berk</attribute> + <attribute name="action">app.berk</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Broni</attribute> + <attribute name="action">app.broni</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Drutt</attribute> + <attribute name="action">app.drutt</attribute> + </item> + <item> + <attribute name="label" translatable="yes">The Thing Upstairs</attribute> + <attribute name="action">app.upstairs</attribute> + </item> + </section> + </submenu> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Large</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">large</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Medium</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">medium</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Small</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">small</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move to Trash</attribute> + <attribute name="action">win.delete</attribute> + </item> + </section> + </menu> + <menu id="new_style_context_menu_model"> + <section> + <item> + <attribute name="label" translatable="yes">Open</attribute> + <attribute name="action">win.open</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open in New Tab</attribute> + <attribute name="action">app.open-tab</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in New Window</attribute> + <attribute name="action">app.open-window</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Cut</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Copy</attribute> + <attribute name="action">app.copy</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Options</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Option A</attribute> + <attribute name="action">app.option-a</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option B</attribute> + <attribute name="action">app.option-b</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option C</attribute> + <attribute name="action">app.option-c</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option D</attribute> + <attribute name="action">app.option-d</attribute> + </item> + </section> + </submenu> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move to Trash</attribute> + <attribute name="action">win.delete</attribute> + </item> + </section> + </menu> + <menu id="menu_bar_model"> + <submenu> + <attribute name="label" translatable="yes">_File</attribute> + <section> + <item> + <attribute name="label" translatable="yes">_New</attribute> + <attribute name="action">app.new</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Open</attribute> + <attribute name="action">app.open</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Save</attribute> + <attribute name="action">app.save</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Save _As</attribute> + <attribute name="action">app.save-as</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Quit</attribute> + <attribute name="action">app.quit</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Edit</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Cu_t</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Copy</attribute> + <attribute name="action">app.copy</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Paste</attribute> + <attribute name="action">app.paste</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Delete</attribute> + <attribute name="action">win.delete</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Search</attribute> + <attribute name="action">win.search</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">C_hecks</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-on</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-off</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-on-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-off-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-no-action</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Radios</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x</attribute> + <attribute name="target">x</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x</attribute> + <attribute name="target">y</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x-disabled</attribute> + <attribute name="target">x</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x-disabled</attribute> + <attribute name="target">y</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-no-action</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </submenu> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_View</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Dark Theme</attribute> + <attribute name="action">win.dark</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Toolbar</attribute> + <attribute name="action">win.toolbar</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Statusbar</attribute> + <attribute name="action">win.statusbar</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select Background</attribute> + <attribute name="action">win.background</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Help</attribute> + <item> + <attribute name="label" translatable="yes">About</attribute> + <attribute name="action">app.about</attribute> + </item> + </submenu> + </menu> +</interface> diff --git a/testsuite/tools/enumerate-data/widget-factory2.expected b/testsuite/tools/enumerate-data/widget-factory2.expected new file mode 100644 index 0000000000..afe2ca16e4 --- /dev/null +++ b/testsuite/tools/enumerate-data/widget-factory2.expected @@ -0,0 +1,255 @@ +Objects: +info_dialog (GtkMessageDialog) +separator4 (GtkSeparator) +action_dialog_button (GtkButton) +separator5 (GtkSeparator) +label10 (GtkLabel) +label11 (GtkLabel) +label12 (GtkLabel) +open_popover_button (GtkButton) +label13 (GtkLabel) +select_selection_dialog (GtkButton) +label14 (GtkLabel) +charlemodel (GtkTreeStore) +cancel_info_dialog (GtkButton) +label15 (GtkLabel) +button224 (GtkButton) +grid1 (GtkGrid) +label16 (GtkLabel) +closable_page_1 (GtkBox) +headerbar1 (GtkHeaderBar) +label17 (GtkLabel) +closable_page_2 (GtkBox) +label18 (GtkLabel) +toolbar (GtkBox) +notebook_info_popover2 (GtkPopover) +iconview1 (GtkIconView) +label19 (GtkLabel) +lockbox (GtkBox) +toolbutton1 (GtkButton) +text3 (GtkTextView) +notebook_info_popover3 (GtkPopover) +levelbar1 (GtkLevelBar) +toolbutton2 (GtkButton) +record_button (GtkToggleButton) +levelbar2 (GtkLevelBar) +lockbutton (GtkLockButton) +toolbutton3 (GtkButton) +page2revealer (GtkRevealer) +toolbutton4 (GtkButton) +statusbar (GtkStatusbar) +open_popover_textview (GtkTextView) +progressbar1 (GtkProgressBar) +extra_info_entry (GtkEntry) +progressbar2 (GtkProgressBar) +panedframe1 (GtkFrame) +page2box (GtkBox) +progressbar3 (GtkProgressBar) +panedframe2 (GtkFrame) +totem_like_osd (GtkBox) +range_from_spin (GtkSpinButton) +checkbutton1 (GtkCheckButton) +progressbar5 (GtkProgressBar) +checkbutton2 (GtkCheckButton) +progressbar6 (GtkProgressBar) +checkbutton3 (GtkCheckButton) +cancel_action_dialog (GtkButton) +osd_frame (GtkFrame) +checkbutton4 (GtkCheckButton) +cancel_selection_dialog (GtkButton) +new_style_menu_model (GMenu) +checkbutton5 (GtkCheckButton) +checkbutton6 (GtkCheckButton) +treeview1 (GtkTreeView) +doit_info_dialog (GtkButton) +increase_button (GtkButton) +scale1 (GtkScale) +box10 (GtkBox) +page2note (GtkLabel) +scale2 (GtkScale) +box11 (GtkBox) +action_dialog (GtkDialog) +linkbutton1 (GtkLinkButton) +scale3 (GtkScale) +mode_switch (GtkSwitch) +box12 (GtkBox) +page1 (GtkBox) +textview1 (GtkTextView) +decrease_button (GtkButton) +scale4 (GtkScale) +box13 (GtkBox) +page2 (GtkOverlay) +scale5 (GtkScale) +notebook1 (GtkNotebook) +box14 (GtkBox) +selection_dialog (GtkDialog) +notebook2 (GtkNotebook) +box15 (GtkBox) +selection_dialog_button (GtkButton) +notebook3 (GtkNotebook) +mic-button (GtkScaleButton) +box16 (GtkBox) +details_entry (GtkEntry) +notebook4 (GtkNotebook) +box17 (GtkBox) +range_to_spin (GtkSpinButton) +box18 (GtkBox) +label1 (GtkLabel) +tags (GtkTextTagTable) +fontbutton1 (GtkFontButton) +grid_button (GtkToggleButton) +spinner1 (GtkSpinner) +open_popover (GtkPopover) +box19 (GtkBox) +label2 (GtkLabel) +swo (GtkScrolledWindow) +spinner2 (GtkSpinner) +label3 (GtkLabel) +spinner3 (GtkSpinner) +label4 (GtkLabel) +spinner4 (GtkSpinner) +label5 (GtkLabel) +radiobutton1 (GtkCheckButton) +comboboxtext1 (GtkComboBoxText) +label6 (GtkLabel) +listboxrow1switch (GtkSwitch) +radiobutton2 (GtkCheckButton) +comboboxtext2 (GtkComboBoxText) +label7 (GtkLabel) +list_button (GtkToggleButton) +radiobutton3 (GtkCheckButton) +infobar (GtkInfoBar) +listboxrow5button (GtkButton) +label8 (GtkLabel) +radiobutton4 (GtkCheckButton) +more_details_entry (GtkEntry) +label9 (GtkLabel) +page2dismiss (GtkButton) +pg_adjustment2 (GtkAdjustment) +comboboxtext-entry2 (GtkEntry) +radiobutton5 (GtkCheckButton) +switcher (GtkStackSwitcher) +radiobutton6 (GtkCheckButton) +listboxrow1 (GtkListBoxRow) +cut_copy_paste_filler (GtkLabel) +listboxrow2 (GtkListBoxRow) +reset_button (GtkButton) +preference_dialog (GtkDialog) +listboxrow3 (GtkListBoxRow) +listboxrow4 (GtkListBoxRow) +entry1 (GtkEntry) +dinner_menu (GMenu) +liststore1 (GtkListStore) +listboxrow5 (GtkListBoxRow) +entry2 (GtkEntry) +selection_flowbox (GtkFlowBox) +act_action_dialog (GtkButton) +listboxrow6 (GtkListBoxRow) +box_for_context (GtkBox) +pastebutton (GtkButton) +circular_button (GtkButton) +textbuffer1 (GtkTextBuffer) +textbuffer2 (GtkTextBuffer) +level_scale (GtkScale) +verticalspin1 (GtkSpinButton) +treeviewcolumn1 (GtkTreeViewColumn) +verticalspin2 (GtkSpinButton) +treeviewcolumn2 (GtkTreeViewColumn) +deletebutton (GtkButton) +basement-indicators (GtkSizeGroup) +cellrenderertext1 (GtkCellRendererText) +cellrenderertext2 (GtkCellRendererText) +treeviewcolumn3 (GtkTreeViewColumn) +pg_adjustment (GtkAdjustment) +lrmodel (GtkListStore) +charletree (GtkTreeView) +title_label (GtkLabel) +cellrenderertext3 (GtkCellRendererText) +munsell (GtkListBox) +treeviewcolumn4 (GtkTreeViewColumn) +notebook_info_popover (GtkPopover) +cellrenderertext4 (GtkCellRendererText) +stack (GtkStack) +box20 (GtkBox) +frame1 (GtkFrame) +toplevel_stack (GtkStack) +scrolledwindow1 (GtkScrolledWindow) +filler2 (GtkBox) +frame2 (GtkFrame) +scrolledwindow2 (GtkScrolledWindow) +box21 (GtkBox) +frame3 (GtkFrame) +scrolledwindow3 (GtkScrolledWindow) +box23 (GtkBox) +description_label (GtkLabel) +frame4 (GtkFrame) +box24 (GtkBox) +imageo (GtkImage) +tooltextview (GtkTextView) +box25 (GtkBox) +listboxrow3image (GtkImage) +box26 (GtkBox) +box27 (GtkBox) +switch1 (GtkSwitch) +cutbutton (GtkButton) +box28 (GtkBox) +stack_switcher (GtkStackSwitcher) +switch2 (GtkSwitch) +sidebar_stack (GtkStack) +comboboxtext-entry (GtkEntry) +new_style_context_menu_model (GMenu) +combobox1 (GtkComboBox) +treeview-selection (GtkTreeSelection) +cellrendererpixbuf1 (GtkCellRendererPixbuf) +searchbar (GtkSearchBar) +adjustment1 (GtkAdjustment) +combobox2 (GtkComboBox) +new_style_menu (GtkPopover) +tvo (GtkTextView) +expander1 (GtkExpander) +adjustment2 (GtkAdjustment) +adjustment3 (GtkAdjustment) +cellrenderertoggle1 (GtkCellRendererToggle) +box1 (GtkBox) +gear_menu_button (GtkMenuButton) +iconviewcell (GtkCellRendererPixbuf) +box2 (GtkBox) +info_dialog_button (GtkButton) +box3 (GtkBox) +entry24 (GtkEntry) +box4 (GtkBox) +box5 (GtkBox) +listbox (GtkListBox) +page2frame1 (GtkFrame) +box6 (GtkBox) +page2frame2 (GtkFrame) +box7 (GtkBox) +iconsmodel (GtkListStore) +colorbutton1 (GtkColorButton) +box8 (GtkBox) +box9 (GtkBox) +window (GtkApplicationWindow) +togglebutton1 (GtkToggleButton) +gear_menu (GMenu) +cchooser (GtkColorChooserWidget) +page2frame (GtkFrame) +togglebutton2 (GtkToggleButton) +menu_bar_model (GMenu) +main-indicators (GtkSizeGroup) +togglebutton3 (GtkToggleButton) +spinbutton1 (GtkSpinButton) +togglebutton4 (GtkToggleButton) +spinbutton2 (GtkSpinButton) +page2reset (GtkButton) +copybutton (GtkButton) +open_popover_entry (GtkEntry) +preference_dialog_button (GtkButton) +print_button (GtkButton) +separator1 (GtkSeparator) +page_combo (GtkComboBoxText) +open_menubutton (GtkMenuButton) +separator2 (GtkSeparator) +box223 (GtkBox) +separator3 (GtkSeparator) +name_completion (GtkEntryCompletion) +actionbar1 (GtkActionBar) diff --git a/testsuite/tools/enumerate-data/widget-factory2.ui b/testsuite/tools/enumerate-data/widget-factory2.ui new file mode 100644 index 0000000000..748c98ffde --- /dev/null +++ b/testsuite/tools/enumerate-data/widget-factory2.ui @@ -0,0 +1,3783 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- this is a copy of widget-factory.ui with all custom widget classes + and callbacks removed, so it can be loaded by GtkBuilder + --> +<interface> + <menu id="gear_menu"> + <section> + <item> + <attribute name="label" translatable="yes">Get Busy</attribute> + <attribute name="action">win.busy</attribute> + </item> + <submenu> + <attribute name="label" translatable="yes">Style</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Current</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">current</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Adwaita</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">adwaita</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Adwaita dark</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">adwaita-dark</attribute> + </item> + <item> + <attribute name="label" translatable="yes">High contrast</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">highcontrast</attribute> + </item> + <item> + <attribute name="label" translatable="yes">High contrast inverse</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">highcontrast-inverse</attribute> + </item> + </section> + </submenu> + <item> + <attribute name="label" translatable="yes">Slide Pages</attribute> + <attribute name="action">win.transition</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Inspector</attribute> + <attribute name="action">app.inspector</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> + <attribute name="action">win.show-help-overlay</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_About Widget Factory</attribute> + <attribute name="action">app.about</attribute> + </item> + </section> + </menu> + <menu id="dinner_menu"> + <section> + <item> + <attribute name="label" translatable="yes">_Steak</attribute> + <attribute name="action">app.main</attribute> + <attribute name="target">steak</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Pizza</attribute> + <attribute name="action">app.main</attribute> + <attribute name="target">pizza</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Wine</attribute> + <attribute name="action">app.wine</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Beer</attribute> + <attribute name="action">app.beer</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Water</attribute> + <attribute name="action">app.water</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Dessert</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Brownies</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">brownies</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Banana Sundae</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">sundae</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Lemon Bars</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">bars</attribute> + </item> + </section> + </submenu> + <section> + <attribute name="display-hint">horizontal-buttons</attribute> + <item> + <attribute name="label" translatable="yes">Cash</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">cash</attribute> + <attribute name="verb-icon">document-save-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Credit Card</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">card</attribute> + <attribute name="verb-icon">document-send-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Cheque</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">cheque</attribute> + <attribute name="verb-icon">document-save-as-symbolic</attribute> + </item> + </section> + </section> + </menu> + <object class="GtkAdjustment" id="adjustment1"> + <property name="upper">100</property> + <property name="lower">1</property> + <property name="value">50</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">1000</property> + <property name="lower">1</property> + <property name="value">50</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">4</property> + <property name="value">2</property> + <property name="step-increment">1</property> + <property name="page-increment">1</property> + </object> + <object class="GtkAdjustment" id="pg_adjustment"> + <property name="upper">99</property> + <property name="lower">1</property> + <property name="value">2</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="pg_adjustment2"> + <property name="upper">99</property> + <property name="lower">1</property> + <property name="value">4</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkListStore" id="liststore1"> + <columns> + <column type="gboolean"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gboolean"/> + </columns> + <data> + <row> + <col id="0">True</col> + <col id="1">emblem-default-symbolic</col> + <col id="2" translatable="yes">Andrea</col> + <col id="3" translatable="yes">Cimi</col> + <col id="4">False</col> + </row> + <row> + <col id="0">False</col> + <col id="1">emblem-important-symbolic</col> + <col id="2" translatable="yes">Otto</col> + <col id="3" translatable="yes">chaotic</col> + <col id="4">False</col> + </row> + <row> + <col id="0">True</col> + <col id="1">weather-clear-night-symbolic</col> + <col id="2" translatable="yes">Orville</col> + <col id="3" translatable="yes">Redenbacher</col> + <col id="4">False</col> + </row> + <row> + <col id="0">True</col> + <col id="1">face-monkey-symbolic</col> + <col id="2" translatable="yes">Benjamin</col> + <col id="3" translatable="yes">Company</col> + <col id="4">True</col> + </row> + </data> + </object> + <object class="GtkEntryCompletion" id="name_completion"> + <property name="model">liststore1</property> + <property name="text-column">2</property> + <property name="inline-completion">1</property> + <property name="popup-single-match">0</property> + <property name="inline-selection">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + <object class="GtkListStore" id="lrmodel"> + <columns> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">Left</col> + </row> + <row> + <col id="0">Middle</col> + </row> + <row> + <col id="0">Right</col> + </row> + </data> + </object> + <object class="GtkTextTagTable" id="tags"> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">bold</property> + <property name="weight">800</property> + </object> + </child> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">italic</property> + <property name="style">italic</property> + </object> + </child> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">underline</property> + <property name="underline">single</property> + </object> + </child> + </object> + <object class="GtkTextBuffer" id="textbuffer1"> + <property name="tag-table">tags</property> + <property name="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Nullam fringilla, est ut feugiat ultrices, elit lacus ultricies nibh, id commodo tortor nisi id elit. +Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. +Morbi vel elit erat. Maecenas dignissim, dui et pharetra rutrum, tellus lectus rutrum mi, a convallis libero nisi quis tellus. +Nulla facilisi. Nullam eleifend lobortis nisl, in porttitor tellus malesuada vitae. +Aenean lacus tellus, pellentesque quis molestie quis, fringilla in arcu. +Duis elementum, tellus sed tristique semper, metus metus accumsan augue, et porttitor augue orci a libero. +Ut sed justo ac felis placerat laoreet sed id sem. Proin mattis tincidunt odio vitae tristique. +Morbi massa libero, congue vitae scelerisque vel, ultricies vel nisl. +Vestibulum in tortor diam, quis aliquet quam. Praesent ut justo neque, tempus rutrum est. +Duis eu lectus quam. Vivamus eget metus a mauris molestie venenatis pulvinar eleifend nisi. +Nulla facilisi. Pellentesque at dolor sit amet purus dapibus pulvinar molestie quis neque. +Suspendisse feugiat quam quis dolor accumsan cursus.</property> + </object> + <object class="GtkTextBuffer" id="textbuffer2"> + <property name="text">* Translation updates: + Aragonese + Assamese + Basque + Brazilian Portuguese + Dutch + German + Hebrew + Hungarian + Polish + Portuguese + Serbian + Slovenian + Spanish + Uyghur</property> + </object> + <object class="GtkListStore" id="iconsmodel"> + <columns> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">audio-headphones-symbolic</col> + </row> + <row> + <col id="0">audio-speakers-symbolic</col> + </row> + <row> + <col id="0">audio-input-microphone-symbolic</col> + </row> + <row> + <col id="0">bookmark-new-symbolic</col> + </row> + <row> + <col id="0">call-start-symbolic</col> + </row> + <row> + <col id="0">call-stop-symbolic</col> + </row> + <row> + <col id="0">camera-photo-symbolic</col> + </row> + <row> + <col id="0">camera-video-symbolic</col> + </row> + <row> + <col id="0">camera-web-symbolic</col> + </row> + <row> + <col id="0">document-new-symbolic</col> + </row> + <row> + <col id="0">document-open-recent-symbolic</col> + </row> + <row> + <col id="0">document-open-symbolic</col> + </row> + <row> + <col id="0">drive-harddisk-symbolic</col> + </row> + <row> + <col id="0">drive-multidisk-symbolic</col> + </row> + <row> + <col id="0">drive-optical-symbolic</col> + </row> + <row> + <col id="0">edit-clear-all-symbolic</col> + </row> + <row> + <col id="0">edit-copy-symbolic</col> + </row> + <row> + <col id="0">edit-cut-symbolic</col> + </row> + <row> + <col id="0">edit-delete-symbolic</col> + </row> + <row> + <col id="0">find-location-symbolic</col> + </row> + <row> + <col id="0">format-indent-less-symbolic</col> + </row> + <row> + <col id="0">format-indent-more-symbolic</col> + </row> + <row> + <col id="0">format-justify-left-symbolic</col> + </row> + <row> + <col id="0">format-justify-center-symbolic</col> + </row> + <row> + <col id="0">format-justify-right-symbolic</col> + </row> + <row> + <col id="0">network-wired-symbolic</col> + </row> + <row> + <col id="0">network-wireless-symbolic</col> + </row> + <row> + <col id="0">phone-symbolic</col> + </row> + <row> + <col id="0">insert-image-symbolic</col> + </row> + <row> + <col id="0">insert-link-symbolic</col> + </row> + <row> + <col id="0">insert-object-symbolic</col> + </row> + <row> + <col id="0">view-continuous-symbolic</col> + </row> + <row> + <col id="0">view-dual-symbolic</col> + </row> + <row> + <col id="0">view-fullscreen-symbolic</col> + </row> + <row> + <col id="0">view-grid-symbolic</col> + </row> + <row> + <col id="0">view-list-symbolic</col> + </row> + <row> + <col id="0">view-paged-symbolic</col> + </row> + <row> + <col id="0">weather-clear-night-symbolic</col> + </row> + <row> + <col id="0">weather-few-clouds-night-symbolic</col> + </row> + <row> + <col id="0">weather-fog-symbolic</col> + </row> + <row> + <col id="0">weather-overcast-symbolic</col> + </row> + <row> + <col id="0">weather-severe-alert-symbolic</col> + </row> + <row> + <col id="0">weather-showers-symbolic</col> + </row> + <row> + <col id="0">weather-snow-symbolic</col> + </row> + </data> + </object> + <object class="GtkTreeStore" id="charlemodel"> + <columns> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gboolean"/> + </columns> + </object> + <object class="GtkApplicationWindow" id="window"> + <property name="title">GTK Widget Factory</property> + <child type="titlebar"> + <object class="GtkHeaderBar" id="headerbar1"> + <child type="title"> + <object class="GtkStackSwitcher" id="stack_switcher"> + <property name="stack">toplevel_stack</property> + </object> + </child> + <child type="end"> + <object class="GtkMenuButton" id="gear_menu_button"> + <property name="valign">center</property> + <property name="menu-model">gear_menu</property> + <property name="icon-name">open-menu-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box1"> + <property name="orientation">vertical</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <child> + <object class="GtkStack" id="toplevel_stack"> + <property name="transition-duration">1000</property> + <property name="visible-child">page2</property> + <child> + <object class="GtkStackPage"> + <property name="name">page1</property> + <property name="title" translatable="yes">Page 1</property> + <property name="child"> + <object class="GtkBox" id="page1"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox" id="box2"> + <property name="spacing">10</property> + <child> + <object class="GtkBox" id="box3"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkComboBoxText" id="comboboxtext1"> + <property name="has-entry">1</property> + <child internal-child="entry"> + <object class="GtkEntry" id="comboboxtext-entry"> + <property name="text" translatable="yes">comboboxentry</property> + </object> + </child> + <items> + <item>Donald Duck</item> + <item>Mickey Mouse</item> + <item>Jet McQuack</item> + </items> + </object> + </child> + <child> + <object class="GtkComboBoxText" id="comboboxtext2"> + <property name="sensitive">0</property> + <property name="has-entry">1</property> + <child internal-child="entry"> + <object class="GtkEntry" id="comboboxtext-entry2"> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">comboboxentry</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkEntry" id="entry1"> + <property name="enable-emoji-completion">1</property> + <property name="invisible_char">•</property> + <property name="placeholder-text" translatable="yes">Click icon to change mode</property> + <property name="secondary-icon-name">view-refresh-symbolic</property> + <property name="secondary-icon-tooltip-text">Change mode</property> + </object> + </child> + <child> + <object class="GtkEntry" id="entry2"> + <property name="sensitive">0</property> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">entry</property> + </object> + </child> + <child> + <object class="GtkBox" id="box223"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry" id="entry24"> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">entry</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="button224"> + <property name="icon-name">window-close-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="hexpand">0</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">0</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">1</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">2</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box18"> + <property name="spacing">20</property> + <child> + <object class="GtkLabel" id="label3"> + <property name="label" translatable="yes">label</property> + </object> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="sensitive">0</property> + <property name="label" translatable="yes">label</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton1"> + <property name="width-chars">2</property> + <property name="max-width-chars">2</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton2"> + <property name="sensitive">0</property> + <property name="width-chars">2</property> + <property name="max-width-chars">2</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="row-homogeneous">1</property> + <property name="column-spacing">18</property> + <property name="row-spacing">6</property> + <child> + <object class="GtkCheckButton" id="checkbutton1"> + <property name="label" translatable="yes">checkbutton</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton2"> + <property name="label" translatable="yes">checkbutton</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton3"> + <property name="label" translatable="yes">checkbutton</property> + <property name="inconsistent">1</property> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton4"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <property name="active">1</property> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton5"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <layout> + <property name="column">0</property> + <property name="row">4</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton6"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <property name="inconsistent">1</property> + <layout> + <property name="column">0</property> + <property name="row">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton1"> + <property name="label" translatable="yes">radiobutton</property> + <property name="active">1</property> + <layout> + <property name="column">0</property> + <property name="column">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton2"> + <property name="label" translatable="yes">radiobutton</property> + <property name="group">radiobutton1</property> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton3"> + <property name="label" translatable="yes">radiobutton</property> + <property name="inconsistent">1</property> + <property name="group">radiobutton1</property> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton4"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton5"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <property name="group">radiobutton3</property> + <layout> + <property name="column">1</property> + <property name="row">4</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton6"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <property name="inconsistent">1</property> + <property name="group">radiobutton3</property> + <layout> + <property name="column">1</property> + <property name="row">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner1"> + <property name="spinning">1</property> + <layout> + <property name="column">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner2"> + <layout> + <property name="column">2</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner3"> + <property name="spinning">1</property> + <property name="sensitive">0</property> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner4"> + <property name="sensitive">0</property> + <layout> + <property name="column">2</property> + <property name="row">4</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator1"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box19"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkToggleButton" id="togglebutton1"> + <property name="label" translatable="yes">togglebutton</property> + <property name="receives-default">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton2"> + <property name="label" translatable="yes">togglebutton</property> + <property name="sensitive">0</property> + <property name="receives-default">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton3"> + <property name="label" translatable="yes">togglebutton</property> + <property name="receives-default">1</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton4"> + <property name="label" translatable="yes">togglebutton</property> + <property name="sensitive">0</property> + <property name="receives-default">1</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkComboBox" id="combobox1"> + <property name="model">liststore1</property> + <property name="active">0</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext1"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox" id="combobox2"> + <property name="sensitive">0</property> + <property name="model">liststore1</property> + <property name="active">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext2"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkFontButton" id="fontbutton1"> + <property name="receives-default">1</property> + <property name="level">family|style|size|features|variations</property> + </object> + </child> + <child> + <object class="GtkColorButton" id="colorbutton1"> + <property name="receives-default">1</property> + <property name="rgba">#31316867a09f</property> + <property name="use-alpha">1</property> + </object> + </child> + <child> + <object class="GtkLinkButton" id="linkbutton1"> + <property name="label" translatable="yes">link button</property> + <property name="receives-default">1</property> + <property name="has-tooltip">1</property> + <property name="has-frame">0</property> + <property name="uri">http://www.gtk.org</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="switch1"> + <property name="halign">center</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="switch2"> + <property name="sensitive">0</property> + <property name="halign">center</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator2"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box20"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkBox" id="box21"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkProgressBar" id="progressbar1"> + <property name="fraction">0.5</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar2"> + <property name="fraction">0.5</property> + <property name="inverted">1</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar3"> + <property name="fraction">0.5</property> + <property name="show-text">1</property> + </object> + </child> + <child> + <object class="GtkLevelBar" id="levelbar1"> + <property name="value">0.6</property> + </object> + </child> + <child> + <object class="GtkLevelBar" id="levelbar2"> + <property name="max-value">5</property> + <property name="value">2</property> + <property name="mode">1</property> + <offsets> + <offset name="low" value="1"/> + <offset name="high" value="4"/> + <offset name="full" value="5"/> + </offsets> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box27"> + <child> + <object class="GtkBox" id="box24"> + <property name="hexpand">1</property> + <property name="orientation">vertical</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkScale" id="scale1"> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="draw-value">0</property> + </object> + </child> + <child> + <object class="GtkScale" id="scale2"> + <property name="sensitive">0</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="draw-value">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScale" id="scale5"> + <property name="draw-value">0</property> + <property name="has-origin">0</property> + <property name="round-digits">0</property> + <property name="adjustment">adjustment3</property> + <property name="restrict-to-fill-level">0</property> + <marks> + <mark value="0" position="bottom"></mark> + <mark value="1" position="bottom"></mark> + <mark value="2" position="bottom"></mark> + <mark value="3" position="bottom"></mark> + <mark value="4" position="bottom"></mark> + </marks> + </object> + </child> + <child> + <object class="GtkBox" id="box25"> + <property name="homogeneous">1</property> + <child> + <object class="GtkBox" id="box28"> + <property name="vexpand">1</property> + <property name="spacing">6</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkProgressBar" id="progressbar5"> + <property name="orientation">vertical</property> + <property name="fraction">0.5</property> + <property name="halign">end</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar6"> + <property name="orientation">vertical</property> + <property name="fraction">0.5</property> + <property name="inverted">1</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box23"> + <property name="vexpand">1</property> + <property name="spacing">6</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkScale" id="scale3"> + <property name="height-request">100</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="digits">1</property> + <property name="draw-value">1</property> + <property name="halign">end</property> + </object> + </child> + <child> + <object class="GtkScale" id="scale4"> + <property name="height-request">100</property> + <property name="sensitive">0</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="digits">1</property> + <property name="draw-value">1</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator3"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box26"> + <property name="orientation">vertical</property> + <property name="homogeneous">1</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkFrame" id="frame1"> + <style> + <class name="border-inset"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="label" translatable="yes"><b>Inset</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame2"> + <style> + <class name="border-outset"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label2"> + <property name="label" translatable="yes"><b>Outset</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame3"> + <style> + <class name="border-groove"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label17"> + <property name="label" translatable="yes"><b>Groove</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame4"> + <style> + <class name="border-ridge"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label18"> + <property name="label" translatable="yes"><b>Ridge</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator4"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box4"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="width-request">150</property> + <property name="vscrollbar-policy">always</property> + <property name="has-frame">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkTreeView" id="treeview1"> + <property name="model">liststore1</property> + <property name="headers-clickable">0</property> + <property name="search-column">0</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection"/> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn3"> + <property name="title" translatable="yes">Cool</property> + <child> + <object class="GtkCellRendererToggle" id="cellrenderertoggle1"/> + <attributes> + <attribute name="active">0</attribute> + <attribute name="radio">4</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn4"> + <property name="title" translatable="yes">Icon</property> + <property name="reorderable">1</property> + <child> + <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/> + <attributes> + <attribute name="icon_name">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn1"> + <property name="title" translatable="yes">Name</property> + <property name="resizable">1</property> + <property name="reorderable">1</property> + <property name="sort-indicator">1</property> + <property name="sort-column-id">2</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"> + <property name="ellipsize">end</property> + </object> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn2"> + <property name="title" translatable="yes">Nick</property> + <property name="resizable">1</property> + <property name="reorderable">1</property> + <property name="sort-indicator">1</property> + <property name="sort-column-id">3</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"> + <property name="ellipsize">end</property> + </object> + <attributes> + <attribute name="text">3</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="has-frame">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkTextView" id="textview1"> + <property name="buffer">textbuffer1</property> + <property name="wrap-mode">2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator5"/> + </child> + <child> + <object class="GtkBox" id="box5"> + <property name="spacing">10</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkNotebook" id="notebook1"> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box6"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label5"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box7"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label6"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box8"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label7"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook2"> + <property name="tab-pos">right</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box9"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label8"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box10"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label9"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box11"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label10"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook3"> + <property name="tab-pos">bottom</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box12"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label11"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box13"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label12"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box14"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label13"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook4"> + <property name="tab-pos">left</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box15"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label14"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box16"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label15"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box17"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label16"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page2</property> + <property name="title" translatable="yes">Page 2</property> + <property name="child"> + <object class="GtkOverlay" id="page2"> + <child type="overlay"> + <object class="GtkRevealer" id="page2revealer"> + <property name="transition-type">swing-down</property> + <property name="halign">center</property> + <property name="valign">start</property> + <child> + <object class="GtkFrame" id="page2frame"> + <style> + <class name="app-notification"/> + </style> + <child> + <object class="GtkBox" id="page2box"> + <property name="spacing">20</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <child> + <object class="GtkLabel" id="page2note"> + <property name="hexpand">1</property> + <property name="halign">start</property> + <property name="label">NEWS!</property> + </object> + </child> + <child> + <object class="GtkButton" id="page2reset"> + <property name="valign">center</property> + <property name="label" translatable="yes">Reset</property> + </object> + </child> + <child> + <object class="GtkButton" id="page2dismiss"> + <property name="focus-on-click">0</property> + <property name="has-frame">0</property> + <property name="icon-name">window-close-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkSpinButton" id="verticalspin1"> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="verticalspin2"> + <property name="sensitive">0</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkGrid"> + <property name="row-spacing">6</property> + <property name="column-spacing">6</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkVolumeButton"> + <property name="orientation">vertical</property> + <property name="valign">center</property> + <property name="value">.5</property> + <property name="halign">center</property> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkScaleButton" id="mic-button"> + <property name="has-tooltip">1</property> + <property name="icons">microphone-sensitivity-muted-symbolic +microphone-sensitivity-high-symbolic +microphone-sensitivity-low-symbolic +microphone-sensitivity-medium-symbolic</property> + <property name="valign">center</property> + <property name="value">.5</property> + <property name="halign">center</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkFrame" id="page2frame1"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkStack" id="stack"> + <property name="transition-type">crossfade</property> + <property name="transition-duration">1000</property> + <child> + <object class="GtkStackPage"> + <property name="name">page1</property> + <property name="icon-name">preferences-desktop-locale-symbolic</property> + <property name="title">News</property> + <property name="child"> + <object class="GtkScrolledWindow" id="swo"> + <property name="hscrollbar-policy">never</property> + <child> + <object class="GtkTextView" id="tvo"> + <property name="buffer">textbuffer2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page2</property> + <property name="icon-name">folder-pictures-symbolic</property> + <property name="title">Logo</property> + <property name="child"> + <object class="GtkImage" id="imageo"> + <property name="icon-name">org.gtk.WidgetFactory4</property> + <property name="pixel-size">256</property> + <style> + <class name="icon-dropshadow"/> + </style> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkActionBar" id="actionbar1"> + <child type="center"> + <object class="GtkStackSwitcher" id="switcher"> + <property name="stack">stack</property> + <property name="halign">center</property> + </object> + </child> + <child type="end"> + <object class="GtkMenuButton"> + <property name="menu-model">dinner_menu</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">emblem-system-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="has-frame">1</property> + <property name="hscrollbar-policy">never</property> + <property name="min-content-height">200</property> + <property name="hexpand">0</property> + <child> + <object class="GtkListBox" id="listbox"> + <property name="selection-mode">none</property> + <property name="show-separators">1</property> + <child type="placeholder"> + <object class="GtkLabel"> + <property name="label">No rows found</property> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow1"> + <property name="activatable">0</property> + <property name="selectable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 1</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="listboxrow1switch"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow2"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 2</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkScale"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="draw-value">0</property> + <property name="width-request">150</property> + <property name="adjustment">adjustment1</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow3"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkImage" id="listboxrow3image"> + <property name="icon-name">object-select-symbolic</property> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="opacity">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow4"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 4</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkSpinButton"> + <property name="adjustment">adjustment1</property> + <property name="hexpand">1</property> + <property name="halign">end</property> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow5"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 5</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="listboxrow5button"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="icon-name">appointment-soon-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow6"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 6</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkCheckButton"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkFrame" id="page2frame2"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkPopoverMenuBar"> + <property name="menu-model">menu_bar_model</property> + </object> + </child> + <child> + <object class="GtkBox" id="toolbar"> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">New</property> + <property name="icon-name">document-new</property> + <property name="tooltip-text" translatable="yes">Create a new document</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">Save</property> + <property name="icon-name">document-save</property> + <property name="tooltip-text" translatable="yes">Save the current document</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">Search</property> + <property name="icon-name">edit-find</property> + <property name="action-name">win.search</property> + <property name="tooltip-text" translatable="yes">Search for it</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="sensitive">0</property> + <property name="label" translatable="yes">Insert</property> + <property name="icon-name">insert-image</property> + <property name="tooltip-text" translatable="yes">Insert something</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSearchBar" id="searchbar"> + <child> + <object class="GtkSearchEntry"/> + </child> + </object> + </child> + <child> + <object class="GtkInfoBar" id="infobar"> + <property name="visible">0</property> + <property name="show-close-button">1</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label">You wanted to delete something.</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="vexpand">1</property> + <child> + <object class="GtkTextView" id="text3"> + <property name="visible">True</property> + <property name="buffer">textbuffer1</property> + <property name="wrap-mode">2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkStatusbar" id="statusbar"/> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <child> + <object class="GtkBox"> + <property name="spacing">10</property> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkFrame" id="panedframe1"> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkPaned"> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkLabel"> + <property name="label">Left</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Right</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="panedframe2"> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkPaned"> + <property name="orientation">vertical</property> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkLabel"> + <property name="label">Top</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Bottom</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="filler2"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkCalendar"> + <property name="halign">center</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkExpander" id="expander1"> + <property name="expanded">1</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow3"> + <property name="has-frame">1</property> + <property name="margin-top">6</property> + <property name="height-request">226</property> + <child> + <object class="GtkIconView" id="iconview1"> + <property name="selection-mode">multiple</property> + <property name="model">iconsmodel</property> + <child> + <object class="GtkCellRendererPixbuf" id="iconviewcell"/> + <attributes> + <attribute name="icon-name">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton" id="decrease_button"> + <property name="icon-name">zoom-out-symbolic</property> + <property name="tooltip-text">Normal icons</property> + </object> + </child> + <child> + <object class="GtkButton" id="increase_button"> + <property name="icon-name">zoom-in-symbolic</property> + <property name="tooltip-text">Large icons</property> + </object> + </child> + <child> + <object class="GtkButton" id="reset_button"> + <property name="icon-name">zoom-original-symbolic</property> + <property name="tooltip-text">Inherited icon size</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label19"> + <property name="label" translatable="yes">Expander</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="info_dialog_button"> + <property name="label" translatable="yes">_Inform</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="action_dialog_button"> + <property name="label" translatable="yes">_Act</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="preference_dialog_button"> + <property name="label" translatable="yes">_Configure</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="selection_dialog_button"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">1</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page3</property> + <property name="title" translatable="yes">Page 3</property> + <property name="child"> + <object class="GtkBox"> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">4</property> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vscrollbar-policy">always</property> + <property name="height-request">300</property> + <property name="has-frame">1</property> + <child> + <object class="GtkTreeView" id="charletree"> + <property name="enable-grid-lines">vertical</property> + <property name="enable-tree-lines">1</property> + <property name="rubber-banding">1</property> + <property name="model">charlemodel</property> + <child internal-child="selection"> + <object class="GtkTreeSelection"> + <property name="mode">multiple</property> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Name</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Birth</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Death</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="selectable">1</property> + <property name="halign">start</property> + <property name="use-markup">1</property> + <property name="label" translatable="yes"><small>Data source: <a href="http://en.wikipedia.org/wiki/Charlemagne#Ancestry">Wikipedia</a></small></property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vexpand">1</property> + <property name="has-frame">1</property> + <child> + <object class="GtkListBox" id="munsell"> + <property name="selection-mode">multiple</property> + <property name="activate-on-single-click">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="lockbox"> + <property name="hexpand">1</property> + <property name="spacing">6</property> + <child> + <object class="GtkMenuButton" id="open_menubutton"> + <property name="halign">center</property> + <property name="popover">open_popover</property> + <property name="label">Open</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="record_button"> + <property name="halign">center</property> + <style> + <class name="text-button"/> + <class name="image-button"/> + <class name="destructive-action"/> + </style> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkImage"> + <property name="valign">baseline</property> + <property name="icon-name">media-record-symbolic</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="valign">baseline</property> + <property name="label">Record</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkToggleButton" id="grid_button"> + <property name="active">1</property> + <property name="icon-name">view-grid-symbolic</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="list_button"> + <property name="active">1</property> + <property name="group">grid_button</property> + <property name="icon-name">view-list-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="circular_button"> + <property name="icon-name">emblem-system-symbolic</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLockButton" id="lockbutton"/> + </child> + <child> + <object class="GtkMenuButton"> + <property name="icon-name">view-more-symbolic</property> + <property name="popover">new_style_menu</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkFrame"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkStackSidebar"> + <property name="stack">sidebar_stack</property> + </object> + </child> + <child> + <object class="GtkStack" id="sidebar_stack"> + <child> + <object class="GtkStackPage"> + <property name="name">id</property> + <property name="title">Identity</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="spacing">10</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">First Name</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Last Name</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">bd</property> + <property name="title">Birthdate</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="spacing">10</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkBox"> + <property name="spacing">2</property> + <child> + <object class="GtkComboBoxText"> + <property name="active">9</property> + <items> + <item>1</item> + <item>2</item> + <item>3</item> + <item>4</item> + <item>5</item> + <item>6</item> + <item>7</item> + <item>8</item> + <item>9</item> + <item>10</item> + <item>11</item> + <item>12</item> + <item>13</item> + <item>14</item> + <item>15</item> + <item>16</item> + <item>17</item> + <item>18</item> + <item>19</item> + <item>20</item> + <item>21</item> + <item>22</item> + <item>23</item> + <item>24</item> + <item>25</item> + <item>26</item> + <item>27</item> + <item>28</item> + <item>29</item> + <item>30</item> + <item>31</item> + </items> + </object> + </child> + <child> + <object class="GtkComboBoxText"> + <property name="active">9</property> + <items> + <item>January</item> + <item>February</item> + <item>March</item> + <item>April</item> + <item>May</item> + <item>June</item> + <item>July</item> + <item>August</item> + <item>September</item> + <item>October</item> + <item>November</item> + <item>December</item> + </items> + </object> + </child> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Year</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">ad</property> + <property name="title">Address</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="halign">center</property> + <property name="valign">center</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Street</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">City</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Province</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">pg</property> + <property name="title">Pages</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="halign">center</property> + <property name="valign">center</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkComboBoxText" id="page_combo"> + <property name="active">0</property> + <items> + <item>Range</item> + <item>All</item> + <item>Current</item> + <item>-</item> + <item>None</item> + </items> + </object> + </child> + <child> + <object class="GtkSpinButton" id="range_from_spin"> + <property name="adjustment">pg_adjustment</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="range_to_spin"> + <property name="adjustment">pg_adjustment2</property> + </object> + </child> + <child> + <object class="GtkButton" id="print_button"> + <property name="label">Print</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkButton" id="toolbutton1"> + <property name="icon-name">document-open-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton2"> + <property name="icon-name">send-to-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton3"> + <property name="icon-name">view-fullscreen-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton4"> + <property name="icon-name">star-new-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hexpand">1</property> + <child> + <object class="GtkTextView" id="tooltextview"/> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton" id="cutbutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-cut-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="copybutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-copy-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="pastebutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-paste-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="deletebutton"> + <property name="sensitive">0</property> + <property name="valign">end</property> + <property name="icon-name">edit-delete-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkOverlay"> + <child type="overlay"> + <object class="GtkBox" id="totem_like_osd"> + <property name="visible">0</property> + <property name="opacity">0.9</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="valign">end</property> + <style> + <class name="osd"/> + </style> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton"> + <property name="icon-name">pan-start-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="icon-name">pan-end-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScale"> + <property name="hexpand">1</property> + <property name="draw-value">0</property> + <property name="adjustment">adjustment1</property> + </object> + </child> + <child> + <object class="GtkVolumeButton"> + <property name="orientation">vertical</property> + <property name="value">.5</property> + <style> + <class name="image-button"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="osd_frame"> + <child> + <object class="GtkPaned"> + <property name="wide-handle">1</property> + <child> + <object class="GtkNotebook"> + <property name="show-border">0</property> + <child type="action-end"> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover2</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="closable_page_1"> + <property name="height-request">120</property> + </object> + </property> + <property name="tab"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 1</property> + <property name="halign">center</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="has-frame">0</property> + <property name="focus-on-click">0</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="small-button"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="closable_page_2"> + <property name="vexpand">1</property> + </object> + </property> + <property name="tab"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 2</property> + <property name="halign">center</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="has-frame">0</property> + <property name="focus-on-click">0</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="small-button"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook"> + <property name="show-border">0</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox"> + <property name="vexpand">1</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkGestureClick"> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="halign">center</property> + <child> + <object class="GtkEntry"> + <property name="placeholder-text" translatable="yes">Name…</property> + <property name="completion">name_completion</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="show-emoji-icon">1</property> + <property name="placeholder-text" translatable="yes">Age…</property> + </object> + </child> + <style> + <class name="linked"/> + </style> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkNotebook"> + <property name="scrollable">1</property> + <child type="action-end"> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="box_for_context"> + <property name="height-request">120</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"> + <property name="height-request">40</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 3</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 4</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 5</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkColorChooserWidget" id="cchooser"> + <property name="show-editor">1</property> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <object class="GtkMessageDialog" id="info_dialog"> + <property name="transient-for">window</property> + <property name="resizable">0</property> + <property name="modal">1</property> + <property name="text" translatable="yes">Do something?</property> + <property name="secondary-text" translatable="yes">If you do something, +bad things might happen.</property> + <property name="hide-on-close">1</property> + <child type="action"> + <object class="GtkButton" id="cancel_info_dialog"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="doit_info_dialog"> + <property name="label" translatable="yes">_Do It</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_info_dialog</action-widget> + <action-widget response="ok">doit_info_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="action_dialog"> + <property name="transient-for">window</property> + <property name="resizable">0</property> + <property name="modal">1</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Zelda</property> + <property name="hide-on-close">1</property> + <property name="default-widget">act_action_dialog</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="label" translatable="yes">To free the princess, you have to slay the dragon.</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_action_dialog"> + <property name="label" translatable="yes">_Run</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="act_action_dialog"> + <property name="label" translatable="yes">_Act</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_action_dialog</action-widget> + <action-widget response="ok" default="true">act_action_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="preference_dialog"> + <property name="transient-for">window</property> + <property name="modal">1</property> + <property name="resizable">0</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Settings</property> + <property name="hide-on-close">1</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkGrid"> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Details</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">details_entry</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="details_entry"> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">More D_etails</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">more_details_entry</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="more_details_entry"> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Level</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">level_scale</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkScale" id="level_scale"> + <property name="valign">baseline</property> + <property name="draw-value">0</property> + <property name="adjustment">adjustment1</property> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Mode</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">mode_switch</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkSwitch" id="mode_switch"> + <property name="halign">start</property> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <object class="GtkDialog" id="selection_dialog"> + <property name="transient-for">window</property> + <property name="modal">1</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Choose one</property> + <property name="hide-on-close">1</property> + <property name="default-widget">select_selection_dialog</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkFlowBox" id="selection_flowbox"> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="min-children-per-line">3</property> + <property name="max-children-per-line">9</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_selection_dialog"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="select_selection_dialog"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_selection_dialog</action-widget> + <action-widget response="ok" default="true">select_selection_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkPopover" id="open_popover"> + <child> + <object class="GtkGrid"> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <child> + <object class="GtkLabel" id="title_label"> + <property name="label">Title:</property> + <property name="xalign">1</property> + </object> + </child> + <child> + <object class="GtkLabel" id="description_label"> + <property name="valign">start</property> + <property name="label">Description:</property> + <property name="xalign">1</property> + <layout> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="valign">start</property> + <property name="has-frame">1</property> + <property name="min-content-height">70</property> + <property name="max-content-height">120</property> + <property name="min-content-width">100</property> + <property name="max-content-width">100</property> + <child> + <object class="GtkTextView" id="open_popover_textview"> + </object> + </child> + <layout> + <property name="column">1</property> + <property name="row">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="open_popover_entry"> + <property name="activates-default">1</property> + <layout> + <property name="column">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkExpander"> + <child type="label"> + <object class="GtkLabel"> + <property name="label">Extra Info</property> + </object> + </child> + <child> + <object class="GtkEntry" id="extra_info_entry"> + <property name="placeholder-text">Tell me anything…</property> + <property name="progress-fraction">0.2</property> + </object> + </child> + <layout> + <property name="column">1</property> + <property name="row">2</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="halign">end</property> + <property name="icon-name">emblem-system-symbolic</property> + <property name="menu-model">gear_menu</property> + <property name="tooltip-text">This is a menu button</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkButton" id="open_popover_button"> + <property name="label">_Open</property> + <property name="use-underline">1</property> + <property name="sensitive">0</property> + <style> + <class name="suggested-action"/> + </style> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + <object class="GtkSizeGroup"> + <property name="mode">vertical</property> + <widgets> + <widget name="listboxrow1"/> + <widget name="listboxrow2"/> + <widget name="listboxrow3"/> + <widget name="listboxrow4"/> + <widget name="listboxrow5"/> + <widget name="listboxrow6"/> + </widgets> + </object> + <object class="GtkSizeGroup"> + <property name="mode">both</property> + <widgets> + <widget name="panedframe1"/> + <widget name="panedframe2"/> + </widgets> + </object> + <object class="GtkPopover" id="notebook_info_popover"> + <property name="autohide">0</property> + <child> + <object class="GtkLabel"> + <property name="label">No updates at this time</property> + </object> + </child> + </object> + <object class="GtkPopover" id="notebook_info_popover3"> + <property name="autohide">0</property> + <child> + <object class="GtkLabel"> + <property name="label">You're in too deep!</property> + </object> + </child> + </object> + <object class="GtkPopover" id="notebook_info_popover2"> + <property name="autohide">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label">Hidden gems:</property> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover3</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + </object> + <object class="GtkPopover" id="new_style_menu"> + <child> + <object class="GtkStack"> + <child> + <object class="GtkStackPage"> + <property name="name">main</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkBox"> + <style> + <class name="circular-buttons"/> + </style> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">printer-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + <property name="action-name">app.print</property> + <property name="hexpand">1</property> + <property name="halign">center</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">emblem-shared-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + <property name="action-name">app.share</property> + <property name="hexpand">1</property> + <property name="halign">center</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Open in New Window</property> + <property name="action-name">app.open-in</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="inline-buttons"/> + </style> + <child> + <object class="GtkLabel" id="cut_copy_paste_filler"/> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Edit</property> + <property name="xalign">0</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-cut-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-copy-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-paste-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Pin</property> + <property name="action-name">app.pin</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Select Labels…</property> + <property name="action-name">app.labels</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Share…</property> + <property name="action-name">app.share</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Basement</property> + <property name="menu-name">basement</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Large</property> + <property name="action-name">app.size</property> + <property name="action-target">'large'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Medium</property> + <property name="action-name">app.size</property> + <property name="action-target">'medium'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Small</property> + <property name="action-name">app.size</property> + <property name="action-target">'small'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Move to Trash</property> + <property name="action-name">win.delete</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">basement</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkModelButton"> + <property name="text">Basement</property> + <property name="role">title</property> + <property name="menu-name">main</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Berk</property> + <property name="action-name">app.berk</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Broni</property> + <property name="action-name">app.broni</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Drutt</property> + <property name="action-name">app.drutt</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">The Thing Upstairs</property> + <property name="action-name">app.upstairs</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + <object class="GtkSizeGroup" id="main-indicators"> + <widgets> + <widget name="cut_copy_paste_filler"/> + </widgets> + </object> + <object class="GtkSizeGroup" id="basement-indicators"/> + <menu id="new_style_menu_model"> + <section> + <attribute name="display-hint">circular-buttons</attribute> + <item> + <attribute name="verb-icon">printer-symbolic</attribute> + <attribute name="action">app.print</attribute> + </item> + <item> + <attribute name="verb-icon">emblem-shared-symbolic</attribute> + <attribute name="action">app.share</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open in New Window</attribute> + <attribute name="action">app.open-in</attribute> + </item> + </section> + <section> + <attribute name="display-hint">inline-buttons</attribute> + <attribute name="label" translatable="yes">Edit</attribute> + <item> + <attribute name="verb-icon">edit-cut-symbolic</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="verb-icon">edit-copy-symbolic</attribute> + <attribute name="action">app.copy</attribute> + </item> + <item> + <attribute name="verb-icon">edit-paste-symbolic</attribute> + <attribute name="action">app.paste</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Pin</attribute> + <attribute name="action">app.pin</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select Labels…</attribute> + <attribute name="action">app.labels</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Share…</attribute> + <attribute name="action">app.share</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Basement</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Berk</attribute> + <attribute name="action">app.berk</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Broni</attribute> + <attribute name="action">app.broni</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Drutt</attribute> + <attribute name="action">app.drutt</attribute> + </item> + <item> + <attribute name="label" translatable="yes">The Thing Upstairs</attribute> + <attribute name="action">app.upstairs</attribute> + </item> + </section> + </submenu> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Large</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">large</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Medium</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">medium</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Small</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">small</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move to Trash</attribute> + <attribute name="action">win.delete</attribute> + </item> + </section> + </menu> + <menu id="new_style_context_menu_model"> + <section> + <item> + <attribute name="label" translatable="yes">Open</attribute> + <attribute name="action">win.open</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open in New Tab</attribute> + <attribute name="action">app.open-tab</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in New Window</attribute> + <attribute name="action">app.open-window</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Cut</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Copy</attribute> + <attribute name="action">app.copy</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Options</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Option A</attribute> + <attribute name="action">app.option-a</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option B</attribute> + <attribute name="action">app.option-b</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option C</attribute> + <attribute name="action">app.option-c</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option D</attribute> + <attribute name="action">app.option-d</attribute> + </item> + </section> + </submenu> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move to Trash</attribute> + <attribute name="action">win.delete</attribute> + </item> + </section> + </menu> + <menu id="menu_bar_model"> + <submenu> + <attribute name="label" translatable="yes">_File</attribute> + <section> + <item> + <attribute name="label" translatable="yes">_New</attribute> + <attribute name="action">app.new</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Open</attribute> + <attribute name="action">app.open</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Save</attribute> + <attribute name="action">app.save</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Save _As</attribute> + <attribute name="action">app.save-as</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Quit</attribute> + <attribute name="action">app.quit</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Edit</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Cu_t</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Copy</attribute> + <attribute name="action">app.copy</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Paste</attribute> + <attribute name="action">app.paste</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Delete</attribute> + <attribute name="action">win.delete</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Search</attribute> + <attribute name="action">win.search</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">C_hecks</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-on</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-off</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-on-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-off-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-no-action</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Radios</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x</attribute> + <attribute name="target">x</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x</attribute> + <attribute name="target">y</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x-disabled</attribute> + <attribute name="target">x</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x-disabled</attribute> + <attribute name="target">y</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-no-action</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </submenu> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_View</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Dark Theme</attribute> + <attribute name="action">win.dark</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Toolbar</attribute> + <attribute name="action">win.toolbar</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Statusbar</attribute> + <attribute name="action">win.statusbar</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select Background</attribute> + <attribute name="action">win.background</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Help</attribute> + <item> + <attribute name="label" translatable="yes">About</attribute> + <attribute name="action">app.about</attribute> + </item> + </submenu> + </menu> +</interface> diff --git a/testsuite/tools/enumerate-data/widget-factory3.expected b/testsuite/tools/enumerate-data/widget-factory3.expected new file mode 100644 index 0000000000..4e374aa375 --- /dev/null +++ b/testsuite/tools/enumerate-data/widget-factory3.expected @@ -0,0 +1,256 @@ +Objects: +info_dialog (GtkMessageDialog) +separator4 (GtkSeparator) +action_dialog_button (GtkButton) +separator5 (GtkSeparator) +label10 (GtkLabel) +label11 (GtkLabel) +label12 (GtkLabel) +open_popover_button (GtkButton) +label13 (GtkLabel) +select_selection_dialog (GtkButton) +label14 (GtkLabel) +charlemodel (GtkTreeStore) +cancel_info_dialog (GtkButton) +label15 (GtkLabel) +button224 (GtkButton) +grid1 (GtkGrid) +label16 (GtkLabel) +closable_page_1 (GtkBox) +headerbar1 (GtkHeaderBar) +label17 (GtkLabel) +closable_page_2 (GtkBox) +label18 (GtkLabel) +toolbar (GtkBox) +notebook_info_popover2 (GtkPopover) +iconview1 (GtkIconView) +label19 (GtkLabel) +lockbox (GtkBox) +toolbutton1 (GtkButton) +text3 (GtkTextView) +notebook_info_popover3 (GtkPopover) +levelbar1 (GtkLevelBar) +toolbutton2 (GtkButton) +record_button (GtkToggleButton) +levelbar2 (GtkLevelBar) +lockbutton (GtkLockButton) +toolbutton3 (GtkButton) +page2revealer (GtkRevealer) +toolbutton4 (GtkButton) +statusbar (GtkStatusbar) +open_popover_textview (GtkTextView) +progressbar1 (GtkProgressBar) +extra_info_entry (GtkEntry) +progressbar2 (GtkProgressBar) +panedframe1 (GtkFrame) +page2box (GtkBox) +progressbar3 (GtkProgressBar) +panedframe2 (GtkFrame) +totem_like_osd (GtkBox) +range_from_spin (GtkSpinButton) +checkbutton1 (GtkCheckButton) +progressbar5 (GtkProgressBar) +checkbutton2 (GtkCheckButton) +progressbar6 (GtkProgressBar) +checkbutton3 (GtkCheckButton) +cancel_action_dialog (GtkButton) +osd_frame (GtkFrame) +checkbutton4 (GtkCheckButton) +cancel_selection_dialog (GtkButton) +new_style_menu_model (GMenu) +checkbutton5 (GtkCheckButton) +checkbutton6 (GtkCheckButton) +treeview1 (GtkTreeView) +doit_info_dialog (GtkButton) +increase_button (GtkButton) +scale1 (GtkScale) +box10 (GtkBox) +page2note (GtkLabel) +scale2 (GtkScale) +box11 (GtkBox) +action_dialog (GtkDialog) +linkbutton1 (GtkLinkButton) +scale3 (GtkScale) +mode_switch (GtkSwitch) +box12 (GtkBox) +page1 (GtkBox) +textview1 (GtkTextView) +decrease_button (GtkButton) +scale4 (GtkScale) +box13 (GtkBox) +page2 (GtkOverlay) +scale5 (GtkScale) +notebook1 (GtkNotebook) +box14 (GtkBox) +page3 (GtkBox) +selection_dialog (GtkDialog) +notebook2 (GtkNotebook) +box15 (GtkBox) +selection_dialog_button (GtkButton) +notebook3 (GtkNotebook) +mic-button (GtkScaleButton) +box16 (GtkBox) +details_entry (GtkEntry) +notebook4 (GtkNotebook) +box17 (GtkBox) +range_to_spin (GtkSpinButton) +box18 (GtkBox) +label1 (GtkLabel) +tags (GtkTextTagTable) +fontbutton1 (GtkFontButton) +grid_button (GtkToggleButton) +spinner1 (GtkSpinner) +open_popover (GtkPopover) +box19 (GtkBox) +label2 (GtkLabel) +swo (GtkScrolledWindow) +spinner2 (GtkSpinner) +label3 (GtkLabel) +spinner3 (GtkSpinner) +label4 (GtkLabel) +spinner4 (GtkSpinner) +label5 (GtkLabel) +radiobutton1 (GtkCheckButton) +comboboxtext1 (GtkComboBoxText) +label6 (GtkLabel) +listboxrow1switch (GtkSwitch) +radiobutton2 (GtkCheckButton) +comboboxtext2 (GtkComboBoxText) +label7 (GtkLabel) +list_button (GtkToggleButton) +radiobutton3 (GtkCheckButton) +infobar (GtkInfoBar) +listboxrow5button (GtkButton) +label8 (GtkLabel) +radiobutton4 (GtkCheckButton) +more_details_entry (GtkEntry) +label9 (GtkLabel) +page2dismiss (GtkButton) +pg_adjustment2 (GtkAdjustment) +comboboxtext-entry2 (GtkEntry) +radiobutton5 (GtkCheckButton) +switcher (GtkStackSwitcher) +radiobutton6 (GtkCheckButton) +listboxrow1 (GtkListBoxRow) +cut_copy_paste_filler (GtkLabel) +listboxrow2 (GtkListBoxRow) +reset_button (GtkButton) +preference_dialog (GtkDialog) +listboxrow3 (GtkListBoxRow) +listboxrow4 (GtkListBoxRow) +entry1 (GtkEntry) +dinner_menu (GMenu) +liststore1 (GtkListStore) +listboxrow5 (GtkListBoxRow) +entry2 (GtkEntry) +selection_flowbox (GtkFlowBox) +act_action_dialog (GtkButton) +listboxrow6 (GtkListBoxRow) +box_for_context (GtkBox) +pastebutton (GtkButton) +circular_button (GtkButton) +textbuffer1 (GtkTextBuffer) +textbuffer2 (GtkTextBuffer) +level_scale (GtkScale) +verticalspin1 (GtkSpinButton) +treeviewcolumn1 (GtkTreeViewColumn) +verticalspin2 (GtkSpinButton) +treeviewcolumn2 (GtkTreeViewColumn) +deletebutton (GtkButton) +basement-indicators (GtkSizeGroup) +cellrenderertext1 (GtkCellRendererText) +cellrenderertext2 (GtkCellRendererText) +treeviewcolumn3 (GtkTreeViewColumn) +pg_adjustment (GtkAdjustment) +lrmodel (GtkListStore) +charletree (GtkTreeView) +title_label (GtkLabel) +cellrenderertext3 (GtkCellRendererText) +munsell (GtkListBox) +treeviewcolumn4 (GtkTreeViewColumn) +notebook_info_popover (GtkPopover) +cellrenderertext4 (GtkCellRendererText) +stack (GtkStack) +box20 (GtkBox) +frame1 (GtkFrame) +toplevel_stack (GtkStack) +scrolledwindow1 (GtkScrolledWindow) +filler2 (GtkBox) +frame2 (GtkFrame) +scrolledwindow2 (GtkScrolledWindow) +box21 (GtkBox) +frame3 (GtkFrame) +scrolledwindow3 (GtkScrolledWindow) +box23 (GtkBox) +description_label (GtkLabel) +frame4 (GtkFrame) +box24 (GtkBox) +imageo (GtkImage) +tooltextview (GtkTextView) +box25 (GtkBox) +listboxrow3image (GtkImage) +box26 (GtkBox) +box27 (GtkBox) +switch1 (GtkSwitch) +cutbutton (GtkButton) +box28 (GtkBox) +stack_switcher (GtkStackSwitcher) +switch2 (GtkSwitch) +sidebar_stack (GtkStack) +comboboxtext-entry (GtkEntry) +new_style_context_menu_model (GMenu) +combobox1 (GtkComboBox) +treeview-selection (GtkTreeSelection) +cellrendererpixbuf1 (GtkCellRendererPixbuf) +searchbar (GtkSearchBar) +adjustment1 (GtkAdjustment) +combobox2 (GtkComboBox) +new_style_menu (GtkPopover) +tvo (GtkTextView) +expander1 (GtkExpander) +adjustment2 (GtkAdjustment) +adjustment3 (GtkAdjustment) +cellrenderertoggle1 (GtkCellRendererToggle) +box1 (GtkBox) +gear_menu_button (GtkMenuButton) +iconviewcell (GtkCellRendererPixbuf) +box2 (GtkBox) +info_dialog_button (GtkButton) +box3 (GtkBox) +entry24 (GtkEntry) +box4 (GtkBox) +box5 (GtkBox) +listbox (GtkListBox) +page2frame1 (GtkFrame) +box6 (GtkBox) +page2frame2 (GtkFrame) +box7 (GtkBox) +iconsmodel (GtkListStore) +colorbutton1 (GtkColorButton) +box8 (GtkBox) +box9 (GtkBox) +window (GtkApplicationWindow) +togglebutton1 (GtkToggleButton) +gear_menu (GMenu) +cchooser (GtkColorChooserWidget) +page2frame (GtkFrame) +togglebutton2 (GtkToggleButton) +menu_bar_model (GMenu) +main-indicators (GtkSizeGroup) +togglebutton3 (GtkToggleButton) +spinbutton1 (GtkSpinButton) +togglebutton4 (GtkToggleButton) +spinbutton2 (GtkSpinButton) +page2reset (GtkButton) +copybutton (GtkButton) +open_popover_entry (GtkEntry) +preference_dialog_button (GtkButton) +print_button (GtkButton) +separator1 (GtkSeparator) +page_combo (GtkComboBoxText) +open_menubutton (GtkMenuButton) +separator2 (GtkSeparator) +box223 (GtkBox) +separator3 (GtkSeparator) +name_completion (GtkEntryCompletion) +actionbar1 (GtkActionBar) diff --git a/testsuite/tools/enumerate-data/widget-factory3.ui b/testsuite/tools/enumerate-data/widget-factory3.ui new file mode 100644 index 0000000000..d7a2643843 --- /dev/null +++ b/testsuite/tools/enumerate-data/widget-factory3.ui @@ -0,0 +1,3783 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- this is a copy of widget-factory.ui with all custom widget classes + and callbacks removed, so it can be loaded by GtkBuilder + --> +<interface> + <menu id="gear_menu"> + <section> + <item> + <attribute name="label" translatable="yes">Get Busy</attribute> + <attribute name="action">win.busy</attribute> + </item> + <submenu> + <attribute name="label" translatable="yes">Style</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Current</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">current</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Adwaita</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">adwaita</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Adwaita dark</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">adwaita-dark</attribute> + </item> + <item> + <attribute name="label" translatable="yes">High contrast</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">highcontrast</attribute> + </item> + <item> + <attribute name="label" translatable="yes">High contrast inverse</attribute> + <attribute name="action">win.theme</attribute> + <attribute name="target">highcontrast-inverse</attribute> + </item> + </section> + </submenu> + <item> + <attribute name="label" translatable="yes">Slide Pages</attribute> + <attribute name="action">win.transition</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Inspector</attribute> + <attribute name="action">app.inspector</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute> + <attribute name="action">win.show-help-overlay</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_About Widget Factory</attribute> + <attribute name="action">app.about</attribute> + </item> + </section> + </menu> + <menu id="dinner_menu"> + <section> + <item> + <attribute name="label" translatable="yes">_Steak</attribute> + <attribute name="action">app.main</attribute> + <attribute name="target">steak</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Pizza</attribute> + <attribute name="action">app.main</attribute> + <attribute name="target">pizza</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Wine</attribute> + <attribute name="action">app.wine</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Beer</attribute> + <attribute name="action">app.beer</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Water</attribute> + <attribute name="action">app.water</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Dessert</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Brownies</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">brownies</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Banana Sundae</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">sundae</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Lemon Bars</attribute> + <attribute name="action">app.dessert</attribute> + <attribute name="target">bars</attribute> + </item> + </section> + </submenu> + <section> + <attribute name="display-hint">horizontal-buttons</attribute> + <item> + <attribute name="label" translatable="yes">Cash</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">cash</attribute> + <attribute name="verb-icon">document-save-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Credit Card</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">card</attribute> + <attribute name="verb-icon">document-send-symbolic</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Cheque</attribute> + <attribute name="action">app.pay</attribute> + <attribute name="target">cheque</attribute> + <attribute name="verb-icon">document-save-as-symbolic</attribute> + </item> + </section> + </section> + </menu> + <object class="GtkAdjustment" id="adjustment1"> + <property name="upper">100</property> + <property name="lower">1</property> + <property name="value">50</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment2"> + <property name="upper">1000</property> + <property name="lower">1</property> + <property name="value">50</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="adjustment3"> + <property name="upper">4</property> + <property name="value">2</property> + <property name="step-increment">1</property> + <property name="page-increment">1</property> + </object> + <object class="GtkAdjustment" id="pg_adjustment"> + <property name="upper">99</property> + <property name="lower">1</property> + <property name="value">2</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkAdjustment" id="pg_adjustment2"> + <property name="upper">99</property> + <property name="lower">1</property> + <property name="value">4</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkListStore" id="liststore1"> + <columns> + <column type="gboolean"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gboolean"/> + </columns> + <data> + <row> + <col id="0">True</col> + <col id="1">emblem-default-symbolic</col> + <col id="2" translatable="yes">Andrea</col> + <col id="3" translatable="yes">Cimi</col> + <col id="4">False</col> + </row> + <row> + <col id="0">False</col> + <col id="1">emblem-important-symbolic</col> + <col id="2" translatable="yes">Otto</col> + <col id="3" translatable="yes">chaotic</col> + <col id="4">False</col> + </row> + <row> + <col id="0">True</col> + <col id="1">weather-clear-night-symbolic</col> + <col id="2" translatable="yes">Orville</col> + <col id="3" translatable="yes">Redenbacher</col> + <col id="4">False</col> + </row> + <row> + <col id="0">True</col> + <col id="1">face-monkey-symbolic</col> + <col id="2" translatable="yes">Benjamin</col> + <col id="3" translatable="yes">Company</col> + <col id="4">True</col> + </row> + </data> + </object> + <object class="GtkEntryCompletion" id="name_completion"> + <property name="model">liststore1</property> + <property name="text-column">2</property> + <property name="inline-completion">1</property> + <property name="popup-single-match">0</property> + <property name="inline-selection">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + <object class="GtkListStore" id="lrmodel"> + <columns> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">Left</col> + </row> + <row> + <col id="0">Middle</col> + </row> + <row> + <col id="0">Right</col> + </row> + </data> + </object> + <object class="GtkTextTagTable" id="tags"> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">bold</property> + <property name="weight">800</property> + </object> + </child> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">italic</property> + <property name="style">italic</property> + </object> + </child> + <child type="tag"> + <object class="GtkTextTag"> + <property name="name">underline</property> + <property name="underline">single</property> + </object> + </child> + </object> + <object class="GtkTextBuffer" id="textbuffer1"> + <property name="tag-table">tags</property> + <property name="text">Lorem ipsum dolor sit amet, consectetur adipiscing elit. +Nullam fringilla, est ut feugiat ultrices, elit lacus ultricies nibh, id commodo tortor nisi id elit. +Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. +Morbi vel elit erat. Maecenas dignissim, dui et pharetra rutrum, tellus lectus rutrum mi, a convallis libero nisi quis tellus. +Nulla facilisi. Nullam eleifend lobortis nisl, in porttitor tellus malesuada vitae. +Aenean lacus tellus, pellentesque quis molestie quis, fringilla in arcu. +Duis elementum, tellus sed tristique semper, metus metus accumsan augue, et porttitor augue orci a libero. +Ut sed justo ac felis placerat laoreet sed id sem. Proin mattis tincidunt odio vitae tristique. +Morbi massa libero, congue vitae scelerisque vel, ultricies vel nisl. +Vestibulum in tortor diam, quis aliquet quam. Praesent ut justo neque, tempus rutrum est. +Duis eu lectus quam. Vivamus eget metus a mauris molestie venenatis pulvinar eleifend nisi. +Nulla facilisi. Pellentesque at dolor sit amet purus dapibus pulvinar molestie quis neque. +Suspendisse feugiat quam quis dolor accumsan cursus.</property> + </object> + <object class="GtkTextBuffer" id="textbuffer2"> + <property name="text">* Translation updates: + Aragonese + Assamese + Basque + Brazilian Portuguese + Dutch + German + Hebrew + Hungarian + Polish + Portuguese + Serbian + Slovenian + Spanish + Uyghur</property> + </object> + <object class="GtkListStore" id="iconsmodel"> + <columns> + <column type="gchararray"/> + </columns> + <data> + <row> + <col id="0">audio-headphones-symbolic</col> + </row> + <row> + <col id="0">audio-speakers-symbolic</col> + </row> + <row> + <col id="0">audio-input-microphone-symbolic</col> + </row> + <row> + <col id="0">bookmark-new-symbolic</col> + </row> + <row> + <col id="0">call-start-symbolic</col> + </row> + <row> + <col id="0">call-stop-symbolic</col> + </row> + <row> + <col id="0">camera-photo-symbolic</col> + </row> + <row> + <col id="0">camera-video-symbolic</col> + </row> + <row> + <col id="0">camera-web-symbolic</col> + </row> + <row> + <col id="0">document-new-symbolic</col> + </row> + <row> + <col id="0">document-open-recent-symbolic</col> + </row> + <row> + <col id="0">document-open-symbolic</col> + </row> + <row> + <col id="0">drive-harddisk-symbolic</col> + </row> + <row> + <col id="0">drive-multidisk-symbolic</col> + </row> + <row> + <col id="0">drive-optical-symbolic</col> + </row> + <row> + <col id="0">edit-clear-all-symbolic</col> + </row> + <row> + <col id="0">edit-copy-symbolic</col> + </row> + <row> + <col id="0">edit-cut-symbolic</col> + </row> + <row> + <col id="0">edit-delete-symbolic</col> + </row> + <row> + <col id="0">find-location-symbolic</col> + </row> + <row> + <col id="0">format-indent-less-symbolic</col> + </row> + <row> + <col id="0">format-indent-more-symbolic</col> + </row> + <row> + <col id="0">format-justify-left-symbolic</col> + </row> + <row> + <col id="0">format-justify-center-symbolic</col> + </row> + <row> + <col id="0">format-justify-right-symbolic</col> + </row> + <row> + <col id="0">network-wired-symbolic</col> + </row> + <row> + <col id="0">network-wireless-symbolic</col> + </row> + <row> + <col id="0">phone-symbolic</col> + </row> + <row> + <col id="0">insert-image-symbolic</col> + </row> + <row> + <col id="0">insert-link-symbolic</col> + </row> + <row> + <col id="0">insert-object-symbolic</col> + </row> + <row> + <col id="0">view-continuous-symbolic</col> + </row> + <row> + <col id="0">view-dual-symbolic</col> + </row> + <row> + <col id="0">view-fullscreen-symbolic</col> + </row> + <row> + <col id="0">view-grid-symbolic</col> + </row> + <row> + <col id="0">view-list-symbolic</col> + </row> + <row> + <col id="0">view-paged-symbolic</col> + </row> + <row> + <col id="0">weather-clear-night-symbolic</col> + </row> + <row> + <col id="0">weather-few-clouds-night-symbolic</col> + </row> + <row> + <col id="0">weather-fog-symbolic</col> + </row> + <row> + <col id="0">weather-overcast-symbolic</col> + </row> + <row> + <col id="0">weather-severe-alert-symbolic</col> + </row> + <row> + <col id="0">weather-showers-symbolic</col> + </row> + <row> + <col id="0">weather-snow-symbolic</col> + </row> + </data> + </object> + <object class="GtkTreeStore" id="charlemodel"> + <columns> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gchararray"/> + <column type="gboolean"/> + </columns> + </object> + <object class="GtkApplicationWindow" id="window"> + <property name="title">GTK Widget Factory</property> + <child type="titlebar"> + <object class="GtkHeaderBar" id="headerbar1"> + <child type="title"> + <object class="GtkStackSwitcher" id="stack_switcher"> + <property name="stack">toplevel_stack</property> + </object> + </child> + <child type="end"> + <object class="GtkMenuButton" id="gear_menu_button"> + <property name="valign">center</property> + <property name="menu-model">gear_menu</property> + <property name="icon-name">open-menu-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box1"> + <property name="orientation">vertical</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <child> + <object class="GtkStack" id="toplevel_stack"> + <property name="transition-duration">1000</property> + <property name="visible-child">page3</property> + <child> + <object class="GtkStackPage"> + <property name="name">page1</property> + <property name="title" translatable="yes">Page 1</property> + <property name="child"> + <object class="GtkBox" id="page1"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox" id="box2"> + <property name="spacing">10</property> + <child> + <object class="GtkBox" id="box3"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkComboBoxText" id="comboboxtext1"> + <property name="has-entry">1</property> + <child internal-child="entry"> + <object class="GtkEntry" id="comboboxtext-entry"> + <property name="text" translatable="yes">comboboxentry</property> + </object> + </child> + <items> + <item>Donald Duck</item> + <item>Mickey Mouse</item> + <item>Jet McQuack</item> + </items> + </object> + </child> + <child> + <object class="GtkComboBoxText" id="comboboxtext2"> + <property name="sensitive">0</property> + <property name="has-entry">1</property> + <child internal-child="entry"> + <object class="GtkEntry" id="comboboxtext-entry2"> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">comboboxentry</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkEntry" id="entry1"> + <property name="enable-emoji-completion">1</property> + <property name="invisible_char">•</property> + <property name="placeholder-text" translatable="yes">Click icon to change mode</property> + <property name="secondary-icon-name">view-refresh-symbolic</property> + <property name="secondary-icon-tooltip-text">Change mode</property> + </object> + </child> + <child> + <object class="GtkEntry" id="entry2"> + <property name="sensitive">0</property> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">entry</property> + </object> + </child> + <child> + <object class="GtkBox" id="box223"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry" id="entry24"> + <property name="invisible-char">•</property> + <property name="text" translatable="yes">entry</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="button224"> + <property name="icon-name">window-close-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="hexpand">0</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">0</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">1</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox"> + <property name="model">lrmodel</property> + <property name="active">2</property> + <property name="hexpand">1</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box18"> + <property name="spacing">20</property> + <child> + <object class="GtkLabel" id="label3"> + <property name="label" translatable="yes">label</property> + </object> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="sensitive">0</property> + <property name="label" translatable="yes">label</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton1"> + <property name="width-chars">2</property> + <property name="max-width-chars">2</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="spinbutton2"> + <property name="sensitive">0</property> + <property name="width-chars">2</property> + <property name="max-width-chars">2</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="row-homogeneous">1</property> + <property name="column-spacing">18</property> + <property name="row-spacing">6</property> + <child> + <object class="GtkCheckButton" id="checkbutton1"> + <property name="label" translatable="yes">checkbutton</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton2"> + <property name="label" translatable="yes">checkbutton</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton3"> + <property name="label" translatable="yes">checkbutton</property> + <property name="inconsistent">1</property> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton4"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <property name="active">1</property> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton5"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <layout> + <property name="column">0</property> + <property name="row">4</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="checkbutton6"> + <property name="label" translatable="yes">checkbutton</property> + <property name="sensitive">0</property> + <property name="inconsistent">1</property> + <layout> + <property name="column">0</property> + <property name="row">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton1"> + <property name="label" translatable="yes">radiobutton</property> + <property name="active">1</property> + <layout> + <property name="column">0</property> + <property name="column">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton2"> + <property name="label" translatable="yes">radiobutton</property> + <property name="group">radiobutton1</property> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton3"> + <property name="label" translatable="yes">radiobutton</property> + <property name="inconsistent">1</property> + <property name="group">radiobutton1</property> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton4"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton5"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <property name="group">radiobutton3</property> + <layout> + <property name="column">1</property> + <property name="row">4</property> + </layout> + </object> + </child> + <child> + <object class="GtkCheckButton" id="radiobutton6"> + <property name="label" translatable="yes">radiobutton</property> + <property name="sensitive">0</property> + <property name="inconsistent">1</property> + <property name="group">radiobutton3</property> + <layout> + <property name="column">1</property> + <property name="row">5</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner1"> + <property name="spinning">1</property> + <layout> + <property name="column">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner2"> + <layout> + <property name="column">2</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner3"> + <property name="spinning">1</property> + <property name="sensitive">0</property> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkSpinner" id="spinner4"> + <property name="sensitive">0</property> + <layout> + <property name="column">2</property> + <property name="row">4</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator1"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box19"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkToggleButton" id="togglebutton1"> + <property name="label" translatable="yes">togglebutton</property> + <property name="receives-default">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton2"> + <property name="label" translatable="yes">togglebutton</property> + <property name="sensitive">0</property> + <property name="receives-default">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton3"> + <property name="label" translatable="yes">togglebutton</property> + <property name="receives-default">1</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="togglebutton4"> + <property name="label" translatable="yes">togglebutton</property> + <property name="sensitive">0</property> + <property name="receives-default">1</property> + <property name="active">1</property> + </object> + </child> + <child> + <object class="GtkComboBox" id="combobox1"> + <property name="model">liststore1</property> + <property name="active">0</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext1"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkComboBox" id="combobox2"> + <property name="sensitive">0</property> + <property name="model">liststore1</property> + <property name="active">1</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext2"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkFontButton" id="fontbutton1"> + <property name="receives-default">1</property> + <property name="level">family|style|size|features|variations</property> + </object> + </child> + <child> + <object class="GtkColorButton" id="colorbutton1"> + <property name="receives-default">1</property> + <property name="rgba">#31316867a09f</property> + <property name="use-alpha">1</property> + </object> + </child> + <child> + <object class="GtkLinkButton" id="linkbutton1"> + <property name="label" translatable="yes">link button</property> + <property name="receives-default">1</property> + <property name="has-tooltip">1</property> + <property name="has-frame">0</property> + <property name="uri">http://www.gtk.org</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="switch1"> + <property name="halign">center</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="switch2"> + <property name="sensitive">0</property> + <property name="halign">center</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator2"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box20"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkBox" id="box21"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <child> + <object class="GtkProgressBar" id="progressbar1"> + <property name="fraction">0.5</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar2"> + <property name="fraction">0.5</property> + <property name="inverted">1</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar3"> + <property name="fraction">0.5</property> + <property name="show-text">1</property> + </object> + </child> + <child> + <object class="GtkLevelBar" id="levelbar1"> + <property name="value">0.6</property> + </object> + </child> + <child> + <object class="GtkLevelBar" id="levelbar2"> + <property name="max-value">5</property> + <property name="value">2</property> + <property name="mode">1</property> + <offsets> + <offset name="low" value="1"/> + <offset name="high" value="4"/> + <offset name="full" value="5"/> + </offsets> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box27"> + <child> + <object class="GtkBox" id="box24"> + <property name="hexpand">1</property> + <property name="orientation">vertical</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkScale" id="scale1"> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="draw-value">0</property> + </object> + </child> + <child> + <object class="GtkScale" id="scale2"> + <property name="sensitive">0</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="draw-value">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScale" id="scale5"> + <property name="draw-value">0</property> + <property name="has-origin">0</property> + <property name="round-digits">0</property> + <property name="adjustment">adjustment3</property> + <property name="restrict-to-fill-level">0</property> + <marks> + <mark value="0" position="bottom"></mark> + <mark value="1" position="bottom"></mark> + <mark value="2" position="bottom"></mark> + <mark value="3" position="bottom"></mark> + <mark value="4" position="bottom"></mark> + </marks> + </object> + </child> + <child> + <object class="GtkBox" id="box25"> + <property name="homogeneous">1</property> + <child> + <object class="GtkBox" id="box28"> + <property name="vexpand">1</property> + <property name="spacing">6</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkProgressBar" id="progressbar5"> + <property name="orientation">vertical</property> + <property name="fraction">0.5</property> + <property name="halign">end</property> + </object> + </child> + <child> + <object class="GtkProgressBar" id="progressbar6"> + <property name="orientation">vertical</property> + <property name="fraction">0.5</property> + <property name="inverted">1</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox" id="box23"> + <property name="vexpand">1</property> + <property name="spacing">6</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkScale" id="scale3"> + <property name="height-request">100</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="digits">1</property> + <property name="draw-value">1</property> + <property name="halign">end</property> + </object> + </child> + <child> + <object class="GtkScale" id="scale4"> + <property name="height-request">100</property> + <property name="sensitive">0</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment1</property> + <property name="restrict-to-fill-level">0</property> + <property name="fill-level">75</property> + <property name="digits">1</property> + <property name="draw-value">1</property> + <property name="halign">start</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator3"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box26"> + <property name="orientation">vertical</property> + <property name="homogeneous">1</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkFrame" id="frame1"> + <style> + <class name="border-inset"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label1"> + <property name="label" translatable="yes"><b>Inset</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame2"> + <style> + <class name="border-outset"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label2"> + <property name="label" translatable="yes"><b>Outset</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame3"> + <style> + <class name="border-groove"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label17"> + <property name="label" translatable="yes"><b>Groove</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="frame4"> + <style> + <class name="border-ridge"/> + </style> + <child type="label"> + <object class="GtkLabel" id="label18"> + <property name="label" translatable="yes"><b>Ridge</b></property> + <property name="use-markup">1</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator4"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="box4"> + <property name="orientation">vertical</property> + <property name="spacing">6</property> + <property name="hexpand">1</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow1"> + <property name="width-request">150</property> + <property name="vscrollbar-policy">always</property> + <property name="has-frame">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkTreeView" id="treeview1"> + <property name="model">liststore1</property> + <property name="headers-clickable">0</property> + <property name="search-column">0</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="treeview-selection"/> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn3"> + <property name="title" translatable="yes">Cool</property> + <child> + <object class="GtkCellRendererToggle" id="cellrenderertoggle1"/> + <attributes> + <attribute name="active">0</attribute> + <attribute name="radio">4</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn4"> + <property name="title" translatable="yes">Icon</property> + <property name="reorderable">1</property> + <child> + <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/> + <attributes> + <attribute name="icon_name">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn1"> + <property name="title" translatable="yes">Name</property> + <property name="resizable">1</property> + <property name="reorderable">1</property> + <property name="sort-indicator">1</property> + <property name="sort-column-id">2</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext3"> + <property name="ellipsize">end</property> + </object> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="treeviewcolumn2"> + <property name="title" translatable="yes">Nick</property> + <property name="resizable">1</property> + <property name="reorderable">1</property> + <property name="sort-indicator">1</property> + <property name="sort-column-id">3</property> + <child> + <object class="GtkCellRendererText" id="cellrenderertext4"> + <property name="ellipsize">end</property> + </object> + <attributes> + <attribute name="text">3</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow2"> + <property name="has-frame">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkTextView" id="textview1"> + <property name="buffer">textbuffer1</property> + <property name="wrap-mode">2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator" id="separator5"/> + </child> + <child> + <object class="GtkBox" id="box5"> + <property name="spacing">10</property> + <property name="homogeneous">1</property> + <child> + <object class="GtkNotebook" id="notebook1"> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box6"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label5"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box7"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label6"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box8"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label7"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook2"> + <property name="tab-pos">right</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box9"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label8"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box10"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label9"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box11"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label10"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook3"> + <property name="tab-pos">bottom</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box12"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label11"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box13"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label12"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box14"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label13"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook" id="notebook4"> + <property name="tab-pos">left</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox" id="box15"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label14"> + <property name="label" translatable="yes">page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">1</property> + <property name="child"> + <object class="GtkBox" id="box16"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label15"> + <property name="label" translatable="yes">page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="position">2</property> + <property name="child"> + <object class="GtkBox" id="box17"> + <property name="orientation">vertical</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel" id="label16"> + <property name="label" translatable="yes">page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page2</property> + <property name="title" translatable="yes">Page 2</property> + <property name="child"> + <object class="GtkOverlay" id="page2"> + <child type="overlay"> + <object class="GtkRevealer" id="page2revealer"> + <property name="transition-type">swing-down</property> + <property name="halign">center</property> + <property name="valign">start</property> + <child> + <object class="GtkFrame" id="page2frame"> + <style> + <class name="app-notification"/> + </style> + <child> + <object class="GtkBox" id="page2box"> + <property name="spacing">20</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <child> + <object class="GtkLabel" id="page2note"> + <property name="hexpand">1</property> + <property name="halign">start</property> + <property name="label">NEWS!</property> + </object> + </child> + <child> + <object class="GtkButton" id="page2reset"> + <property name="valign">center</property> + <property name="label" translatable="yes">Reset</property> + </object> + </child> + <child> + <object class="GtkButton" id="page2dismiss"> + <property name="focus-on-click">0</property> + <property name="has-frame">0</property> + <property name="icon-name">window-close-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkSpinButton" id="verticalspin1"> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="verticalspin2"> + <property name="sensitive">0</property> + <property name="orientation">vertical</property> + <property name="adjustment">adjustment2</property> + </object> + </child> + <child> + <object class="GtkGrid"> + <property name="row-spacing">6</property> + <property name="column-spacing">6</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkVolumeButton"> + <property name="orientation">vertical</property> + <property name="valign">center</property> + <property name="value">.5</property> + <property name="halign">center</property> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkScaleButton" id="mic-button"> + <property name="has-tooltip">1</property> + <property name="icons">microphone-sensitivity-muted-symbolic +microphone-sensitivity-high-symbolic +microphone-sensitivity-low-symbolic +microphone-sensitivity-medium-symbolic</property> + <property name="valign">center</property> + <property name="value">.5</property> + <property name="halign">center</property> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkFrame" id="page2frame1"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkStack" id="stack"> + <property name="transition-type">crossfade</property> + <property name="transition-duration">1000</property> + <child> + <object class="GtkStackPage"> + <property name="name">page1</property> + <property name="icon-name">preferences-desktop-locale-symbolic</property> + <property name="title">News</property> + <property name="child"> + <object class="GtkScrolledWindow" id="swo"> + <property name="hscrollbar-policy">never</property> + <child> + <object class="GtkTextView" id="tvo"> + <property name="buffer">textbuffer2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page2</property> + <property name="icon-name">folder-pictures-symbolic</property> + <property name="title">Logo</property> + <property name="child"> + <object class="GtkImage" id="imageo"> + <property name="icon-name">org.gtk.WidgetFactory4</property> + <property name="pixel-size">256</property> + <style> + <class name="icon-dropshadow"/> + </style> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkActionBar" id="actionbar1"> + <child type="center"> + <object class="GtkStackSwitcher" id="switcher"> + <property name="stack">stack</property> + <property name="halign">center</property> + </object> + </child> + <child type="end"> + <object class="GtkMenuButton"> + <property name="menu-model">dinner_menu</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="icon-name">emblem-system-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="has-frame">1</property> + <property name="hscrollbar-policy">never</property> + <property name="min-content-height">200</property> + <property name="hexpand">0</property> + <child> + <object class="GtkListBox" id="listbox"> + <property name="selection-mode">none</property> + <property name="show-separators">1</property> + <child type="placeholder"> + <object class="GtkLabel"> + <property name="label">No rows found</property> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow1"> + <property name="activatable">0</property> + <property name="selectable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 1</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkSwitch" id="listboxrow1switch"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow2"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 2</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkScale"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="draw-value">0</property> + <property name="width-request">150</property> + <property name="adjustment">adjustment1</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow3"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 3</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkImage" id="listboxrow3image"> + <property name="icon-name">object-select-symbolic</property> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="opacity">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow4"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 4</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkSpinButton"> + <property name="adjustment">adjustment1</property> + <property name="hexpand">1</property> + <property name="halign">end</property> + <property name="valign">center</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow5"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 5</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="listboxrow5button"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + <property name="icon-name">appointment-soon-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkListBoxRow" id="listboxrow6"> + <property name="activatable">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Row 6</property> + <property name="halign">start</property> + <property name="valign">center</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkCheckButton"> + <property name="halign">end</property> + <property name="valign">center</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <property name="margin-start">12</property> + <property name="margin-end">12</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkFrame" id="page2frame2"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkPopoverMenuBar"> + <property name="menu-model">menu_bar_model</property> + </object> + </child> + <child> + <object class="GtkBox" id="toolbar"> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">New</property> + <property name="icon-name">document-new</property> + <property name="tooltip-text" translatable="yes">Create a new document</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">Save</property> + <property name="icon-name">document-save</property> + <property name="tooltip-text" translatable="yes">Save the current document</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkButton"> + <property name="label" translatable="yes">Search</property> + <property name="icon-name">edit-find</property> + <property name="action-name">win.search</property> + <property name="tooltip-text" translatable="yes">Search for it</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="sensitive">0</property> + <property name="label" translatable="yes">Insert</property> + <property name="icon-name">insert-image</property> + <property name="tooltip-text" translatable="yes">Insert something</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSearchBar" id="searchbar"> + <child> + <object class="GtkSearchEntry"/> + </child> + </object> + </child> + <child> + <object class="GtkInfoBar" id="infobar"> + <property name="visible">0</property> + <property name="show-close-button">1</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label">You wanted to delete something.</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="vexpand">1</property> + <child> + <object class="GtkTextView" id="text3"> + <property name="visible">True</property> + <property name="buffer">textbuffer1</property> + <property name="wrap-mode">2</property> + <property name="left-margin">10</property> + <property name="right-margin">10</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkStatusbar" id="statusbar"/> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <child> + <object class="GtkBox"> + <property name="spacing">10</property> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkFrame" id="panedframe1"> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkPaned"> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkLabel"> + <property name="label">Left</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Right</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="panedframe2"> + <property name="hexpand">1</property> + <property name="vexpand">1</property> + <child> + <object class="GtkPaned"> + <property name="orientation">vertical</property> + <style> + <class name="view"/> + </style> + <child> + <object class="GtkLabel"> + <property name="label">Top</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Bottom</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox" id="filler2"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkCalendar"> + <property name="halign">center</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkExpander" id="expander1"> + <property name="expanded">1</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkScrolledWindow" id="scrolledwindow3"> + <property name="has-frame">1</property> + <property name="margin-top">6</property> + <property name="height-request">226</property> + <child> + <object class="GtkIconView" id="iconview1"> + <property name="selection-mode">multiple</property> + <property name="model">iconsmodel</property> + <child> + <object class="GtkCellRendererPixbuf" id="iconviewcell"/> + <attributes> + <attribute name="icon-name">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton" id="decrease_button"> + <property name="icon-name">zoom-out-symbolic</property> + <property name="tooltip-text">Normal icons</property> + </object> + </child> + <child> + <object class="GtkButton" id="increase_button"> + <property name="icon-name">zoom-in-symbolic</property> + <property name="tooltip-text">Large icons</property> + </object> + </child> + <child> + <object class="GtkButton" id="reset_button"> + <property name="icon-name">zoom-original-symbolic</property> + <property name="tooltip-text">Inherited icon size</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child type="label"> + <object class="GtkLabel" id="label19"> + <property name="label" translatable="yes">Expander</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="info_dialog_button"> + <property name="label" translatable="yes">_Inform</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="action_dialog_button"> + <property name="label" translatable="yes">_Act</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="preference_dialog_button"> + <property name="label" translatable="yes">_Configure</property> + <property name="use-underline">1</property> + </object> + </child> + <child> + <object class="GtkButton" id="selection_dialog_button"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">1</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">page3</property> + <property name="title" translatable="yes">Page 3</property> + <property name="child"> + <object class="GtkBox" id="page3"> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">4</property> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vscrollbar-policy">always</property> + <property name="height-request">300</property> + <property name="has-frame">1</property> + <child> + <object class="GtkTreeView" id="charletree"> + <property name="enable-grid-lines">vertical</property> + <property name="enable-tree-lines">1</property> + <property name="rubber-banding">1</property> + <property name="model">charlemodel</property> + <child internal-child="selection"> + <object class="GtkTreeSelection"> + <property name="mode">multiple</property> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Name</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Birth</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn"> + <property name="title" translatable="yes">Death</property> + <child> + <object class="GtkCellRendererText"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="selectable">1</property> + <property name="halign">start</property> + <property name="use-markup">1</property> + <property name="label" translatable="yes"><small>Data source: <a href="http://en.wikipedia.org/wiki/Charlemagne#Ancestry">Wikipedia</a></small></property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hscrollbar-policy">never</property> + <property name="vexpand">1</property> + <property name="has-frame">1</property> + <child> + <object class="GtkListBox" id="munsell"> + <property name="selection-mode">multiple</property> + <property name="activate-on-single-click">0</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkBox" id="lockbox"> + <property name="hexpand">1</property> + <property name="spacing">6</property> + <child> + <object class="GtkMenuButton" id="open_menubutton"> + <property name="halign">center</property> + <property name="popover">open_popover</property> + <property name="label">Open</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="record_button"> + <property name="halign">center</property> + <style> + <class name="text-button"/> + <class name="image-button"/> + <class name="destructive-action"/> + </style> + <child> + <object class="GtkBox"> + <property name="spacing">6</property> + <child> + <object class="GtkImage"> + <property name="valign">baseline</property> + <property name="icon-name">media-record-symbolic</property> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="valign">baseline</property> + <property name="label">Record</property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkToggleButton" id="grid_button"> + <property name="active">1</property> + <property name="icon-name">view-grid-symbolic</property> + </object> + </child> + <child> + <object class="GtkToggleButton" id="list_button"> + <property name="active">1</property> + <property name="group">grid_button</property> + <property name="icon-name">view-list-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="circular_button"> + <property name="icon-name">emblem-system-symbolic</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkLockButton" id="lockbutton"/> + </child> + <child> + <object class="GtkMenuButton"> + <property name="icon-name">view-more-symbolic</property> + <property name="popover">new_style_menu</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkFrame"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkStackSidebar"> + <property name="stack">sidebar_stack</property> + </object> + </child> + <child> + <object class="GtkStack" id="sidebar_stack"> + <child> + <object class="GtkStackPage"> + <property name="name">id</property> + <property name="title">Identity</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="spacing">10</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">First Name</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Last Name</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">bd</property> + <property name="title">Birthdate</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="spacing">10</property> + <property name="halign">center</property> + <property name="valign">center</property> + <child> + <object class="GtkBox"> + <property name="spacing">2</property> + <child> + <object class="GtkComboBoxText"> + <property name="active">9</property> + <items> + <item>1</item> + <item>2</item> + <item>3</item> + <item>4</item> + <item>5</item> + <item>6</item> + <item>7</item> + <item>8</item> + <item>9</item> + <item>10</item> + <item>11</item> + <item>12</item> + <item>13</item> + <item>14</item> + <item>15</item> + <item>16</item> + <item>17</item> + <item>18</item> + <item>19</item> + <item>20</item> + <item>21</item> + <item>22</item> + <item>23</item> + <item>24</item> + <item>25</item> + <item>26</item> + <item>27</item> + <item>28</item> + <item>29</item> + <item>30</item> + <item>31</item> + </items> + </object> + </child> + <child> + <object class="GtkComboBoxText"> + <property name="active">9</property> + <items> + <item>January</item> + <item>February</item> + <item>March</item> + <item>April</item> + <item>May</item> + <item>June</item> + <item>July</item> + <item>August</item> + <item>September</item> + <item>October</item> + <item>November</item> + <item>December</item> + </items> + </object> + </child> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Year</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">ad</property> + <property name="title">Address</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="halign">center</property> + <property name="valign">center</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Street</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">City</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="placeholder-text">Province</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">pg</property> + <property name="title">Pages</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="halign">center</property> + <property name="valign">center</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkComboBoxText" id="page_combo"> + <property name="active">0</property> + <items> + <item>Range</item> + <item>All</item> + <item>Current</item> + <item>-</item> + <item>None</item> + </items> + </object> + </child> + <child> + <object class="GtkSpinButton" id="range_from_spin"> + <property name="adjustment">pg_adjustment</property> + </object> + </child> + <child> + <object class="GtkSpinButton" id="range_to_spin"> + <property name="adjustment">pg_adjustment2</property> + </object> + </child> + <child> + <object class="GtkButton" id="print_button"> + <property name="label">Print</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame"> + <child> + <object class="GtkBox"> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkButton" id="toolbutton1"> + <property name="icon-name">document-open-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton2"> + <property name="icon-name">send-to-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton3"> + <property name="icon-name">view-fullscreen-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="toolbutton4"> + <property name="icon-name">star-new-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="hexpand">1</property> + <child> + <object class="GtkTextView" id="tooltextview"/> + </child> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="margin-start">6</property> + <property name="margin-end">6</property> + <property name="margin-top">6</property> + <property name="margin-bottom">6</property> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton" id="cutbutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-cut-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="copybutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-copy-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton" id="pastebutton"> + <property name="sensitive">0</property> + <property name="icon-name">edit-paste-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkButton" id="deletebutton"> + <property name="sensitive">0</property> + <property name="valign">end</property> + <property name="icon-name">edit-delete-symbolic</property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkOverlay"> + <child type="overlay"> + <object class="GtkBox" id="totem_like_osd"> + <property name="visible">0</property> + <property name="opacity">0.9</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="valign">end</property> + <style> + <class name="osd"/> + </style> + <child> + <object class="GtkBox"> + <style> + <class name="linked"/> + </style> + <child> + <object class="GtkButton"> + <property name="icon-name">pan-start-symbolic</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="icon-name">pan-end-symbolic</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkScale"> + <property name="hexpand">1</property> + <property name="draw-value">0</property> + <property name="adjustment">adjustment1</property> + </object> + </child> + <child> + <object class="GtkVolumeButton"> + <property name="orientation">vertical</property> + <property name="value">.5</property> + <style> + <class name="image-button"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkFrame" id="osd_frame"> + <child> + <object class="GtkPaned"> + <property name="wide-handle">1</property> + <child> + <object class="GtkNotebook"> + <property name="show-border">0</property> + <child type="action-end"> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover2</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="closable_page_1"> + <property name="height-request">120</property> + </object> + </property> + <property name="tab"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 1</property> + <property name="halign">center</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="has-frame">0</property> + <property name="focus-on-click">0</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="small-button"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="closable_page_2"> + <property name="vexpand">1</property> + </object> + </property> + <property name="tab"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 2</property> + <property name="halign">center</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkButton"> + <property name="has-frame">0</property> + <property name="focus-on-click">0</property> + <property name="icon-name">window-close-symbolic</property> + <style> + <class name="small-button"/> + </style> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkNotebook"> + <property name="show-border">0</property> + <child> + <object class="GtkNotebookPage"> + <property name="child"> + <object class="GtkBox"> + <property name="vexpand">1</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 3</property> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkGestureClick"> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"> + <property name="orientation">vertical</property> + </object> + </child> + <child> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkBox"> + <property name="halign">center</property> + <child> + <object class="GtkEntry"> + <property name="placeholder-text" translatable="yes">Name…</property> + <property name="completion">name_completion</property> + </object> + </child> + <child> + <object class="GtkEntry"> + <property name="show-emoji-icon">1</property> + <property name="placeholder-text" translatable="yes">Age…</property> + </object> + </child> + <style> + <class name="linked"/> + </style> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkNotebook"> + <property name="scrollable">1</property> + <child type="action-end"> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox" id="box_for_context"> + <property name="height-request">120</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 1</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"> + <property name="height-request">40</property> + </object> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 2</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 3</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 4</property> + </object> + </property> + </object> + </child> + <child> + <object class="GtkNotebookPage"> + <property name="tab-expand">1</property> + <property name="child"> + <object class="GtkBox"/> + </property> + <property name="tab"> + <object class="GtkLabel"> + <property name="label" translatable="yes">Page 5</property> + </object> + </property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkColorChooserWidget" id="cchooser"> + <property name="show-editor">1</property> + </object> + </child> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <object class="GtkMessageDialog" id="info_dialog"> + <property name="transient-for">window</property> + <property name="resizable">0</property> + <property name="modal">1</property> + <property name="text" translatable="yes">Do something?</property> + <property name="secondary-text" translatable="yes">If you do something, +bad things might happen.</property> + <property name="hide-on-close">1</property> + <child type="action"> + <object class="GtkButton" id="cancel_info_dialog"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="doit_info_dialog"> + <property name="label" translatable="yes">_Do It</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_info_dialog</action-widget> + <action-widget response="ok">doit_info_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="action_dialog"> + <property name="transient-for">window</property> + <property name="resizable">0</property> + <property name="modal">1</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Zelda</property> + <property name="hide-on-close">1</property> + <property name="default-widget">act_action_dialog</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <property name="label" translatable="yes">To free the princess, you have to slay the dragon.</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_action_dialog"> + <property name="label" translatable="yes">_Run</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="act_action_dialog"> + <property name="label" translatable="yes">_Act</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_action_dialog</action-widget> + <action-widget response="ok" default="true">act_action_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkDialog" id="preference_dialog"> + <property name="transient-for">window</property> + <property name="modal">1</property> + <property name="resizable">0</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Settings</property> + <property name="hide-on-close">1</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkGrid"> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <property name="margin-start">20</property> + <property name="margin-end">20</property> + <property name="margin-top">20</property> + <property name="margin-bottom">20</property> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Details</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">details_entry</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="details_entry"> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">0</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">More D_etails</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">more_details_entry</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="more_details_entry"> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Level</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">level_scale</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkScale" id="level_scale"> + <property name="valign">baseline</property> + <property name="draw-value">0</property> + <property name="adjustment">adjustment1</property> + <layout> + <property name="column">1</property> + <property name="row">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkLabel"> + <property name="halign">end</property> + <property name="valign">baseline</property> + <property name="label">_Mode</property> + <property name="use-underline">1</property> + <property name="mnemonic-widget">mode_switch</property> + <style> + <class name="dim-label"/> + </style> + <layout> + <property name="column">0</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkSwitch" id="mode_switch"> + <property name="halign">start</property> + <property name="valign">baseline</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + </child> + </object> + <object class="GtkDialog" id="selection_dialog"> + <property name="transient-for">window</property> + <property name="modal">1</property> + <property name="use-header-bar">1</property> + <property name="title" translatable="yes">Choose one</property> + <property name="hide-on-close">1</property> + <property name="default-widget">select_selection_dialog</property> + <child internal-child="content_area"> + <object class="GtkBox"> + <child> + <object class="GtkFlowBox" id="selection_flowbox"> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="min-children-per-line">3</property> + <property name="max-children-per-line">9</property> + </object> + </child> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="cancel_selection_dialog"> + <property name="label" translatable="yes">_Cancel</property> + <property name="use-underline">1</property> + </object> + </child> + <child type="action"> + <object class="GtkButton" id="select_selection_dialog"> + <property name="label" translatable="yes">_Select</property> + <property name="use-underline">1</property> + </object> + </child> + <action-widgets> + <action-widget response="cancel">cancel_selection_dialog</action-widget> + <action-widget response="ok" default="true">select_selection_dialog</action-widget> + </action-widgets> + </object> + <object class="GtkPopover" id="open_popover"> + <child> + <object class="GtkGrid"> + <property name="margin-start">10</property> + <property name="margin-end">10</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="row-spacing">10</property> + <property name="column-spacing">10</property> + <child> + <object class="GtkLabel" id="title_label"> + <property name="label">Title:</property> + <property name="xalign">1</property> + </object> + </child> + <child> + <object class="GtkLabel" id="description_label"> + <property name="valign">start</property> + <property name="label">Description:</property> + <property name="xalign">1</property> + <layout> + <property name="row">1</property> + </layout> + </object> + </child> + <child> + <object class="GtkScrolledWindow"> + <property name="valign">start</property> + <property name="has-frame">1</property> + <property name="min-content-height">70</property> + <property name="max-content-height">120</property> + <property name="min-content-width">100</property> + <property name="max-content-width">100</property> + <child> + <object class="GtkTextView" id="open_popover_textview"> + </object> + </child> + <layout> + <property name="column">1</property> + <property name="row">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkEntry" id="open_popover_entry"> + <property name="activates-default">1</property> + <layout> + <property name="column">1</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkExpander"> + <child type="label"> + <object class="GtkLabel"> + <property name="label">Extra Info</property> + </object> + </child> + <child> + <object class="GtkEntry" id="extra_info_entry"> + <property name="placeholder-text">Tell me anything…</property> + <property name="progress-fraction">0.2</property> + </object> + </child> + <layout> + <property name="column">1</property> + <property name="row">2</property> + <property name="column-span">2</property> + </layout> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="halign">end</property> + <property name="icon-name">emblem-system-symbolic</property> + <property name="menu-model">gear_menu</property> + <property name="tooltip-text">This is a menu button</property> + <layout> + <property name="column">1</property> + <property name="row">3</property> + </layout> + </object> + </child> + <child> + <object class="GtkButton" id="open_popover_button"> + <property name="label">_Open</property> + <property name="use-underline">1</property> + <property name="sensitive">0</property> + <style> + <class name="suggested-action"/> + </style> + <layout> + <property name="column">2</property> + <property name="row">3</property> + </layout> + </object> + </child> + </object> + </child> + </object> + <object class="GtkSizeGroup"> + <property name="mode">vertical</property> + <widgets> + <widget name="listboxrow1"/> + <widget name="listboxrow2"/> + <widget name="listboxrow3"/> + <widget name="listboxrow4"/> + <widget name="listboxrow5"/> + <widget name="listboxrow6"/> + </widgets> + </object> + <object class="GtkSizeGroup"> + <property name="mode">both</property> + <widgets> + <widget name="panedframe1"/> + <widget name="panedframe2"/> + </widgets> + </object> + <object class="GtkPopover" id="notebook_info_popover"> + <property name="autohide">0</property> + <child> + <object class="GtkLabel"> + <property name="label">No updates at this time</property> + </object> + </child> + </object> + <object class="GtkPopover" id="notebook_info_popover3"> + <property name="autohide">0</property> + <child> + <object class="GtkLabel"> + <property name="label">You're in too deep!</property> + </object> + </child> + </object> + <object class="GtkPopover" id="notebook_info_popover2"> + <property name="autohide">0</property> + <child> + <object class="GtkBox"> + <child> + <object class="GtkLabel"> + <property name="label">Hidden gems:</property> + </object> + </child> + <child> + <object class="GtkMenuButton"> + <property name="valign">center</property> + <property name="popover">notebook_info_popover3</property> + <property name="icon-name">emblem-important-symbolic</property> + <property name="has-frame">0</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + </object> + <object class="GtkPopover" id="new_style_menu"> + <child> + <object class="GtkStack"> + <child> + <object class="GtkStackPage"> + <property name="name">main</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkBox"> + <style> + <class name="circular-buttons"/> + </style> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">printer-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + <property name="action-name">app.print</property> + <property name="hexpand">1</property> + <property name="halign">center</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">emblem-shared-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + <property name="action-name">app.share</property> + <property name="hexpand">1</property> + <property name="halign">center</property> + <style> + <class name="circular"/> + </style> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Open in New Window</property> + <property name="action-name">app.open-in</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkBox"> + <style> + <class name="inline-buttons"/> + </style> + <child> + <object class="GtkLabel" id="cut_copy_paste_filler"/> + </child> + <child> + <object class="GtkLabel"> + <property name="label">Edit</property> + <property name="xalign">0</property> + <property name="hexpand">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-cut-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-copy-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="icon"> + <object class="GThemedIcon"> + <property name="name">edit-paste-symbolic</property> + </object> + </property> + <property name="iconic">1</property> + </object> + </child> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Pin</property> + <property name="action-name">app.pin</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Select Labels…</property> + <property name="action-name">app.labels</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Share…</property> + <property name="action-name">app.share</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Basement</property> + <property name="menu-name">basement</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Large</property> + <property name="action-name">app.size</property> + <property name="action-target">'large'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Medium</property> + <property name="action-name">app.size</property> + <property name="action-target">'medium'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Small</property> + <property name="action-name">app.size</property> + <property name="action-target">'small'</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Move to Trash</property> + <property name="action-name">win.delete</property> + <property name="indicator-size-group">main-indicators</property> + </object> + </child> + </object> + </property> + </object> + </child> + <child> + <object class="GtkStackPage"> + <property name="name">basement</property> + <property name="child"> + <object class="GtkBox"> + <property name="orientation">vertical</property> + <child> + <object class="GtkModelButton"> + <property name="text">Basement</property> + <property name="role">title</property> + <property name="menu-name">main</property> + </object> + </child> + <child> + <object class="GtkSeparator"/> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Berk</property> + <property name="action-name">app.berk</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Broni</property> + <property name="action-name">app.broni</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">Drutt</property> + <property name="action-name">app.drutt</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + <child> + <object class="GtkModelButton"> + <property name="text">The Thing Upstairs</property> + <property name="action-name">app.upstairs</property> + <property name="indicator-size-group">basement-indicators</property> + </object> + </child> + </object> + </property> + </object> + </child> + </object> + </child> + </object> + <object class="GtkSizeGroup" id="main-indicators"> + <widgets> + <widget name="cut_copy_paste_filler"/> + </widgets> + </object> + <object class="GtkSizeGroup" id="basement-indicators"/> + <menu id="new_style_menu_model"> + <section> + <attribute name="display-hint">circular-buttons</attribute> + <item> + <attribute name="verb-icon">printer-symbolic</attribute> + <attribute name="action">app.print</attribute> + </item> + <item> + <attribute name="verb-icon">emblem-shared-symbolic</attribute> + <attribute name="action">app.share</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open in New Window</attribute> + <attribute name="action">app.open-in</attribute> + </item> + </section> + <section> + <attribute name="display-hint">inline-buttons</attribute> + <attribute name="label" translatable="yes">Edit</attribute> + <item> + <attribute name="verb-icon">edit-cut-symbolic</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="verb-icon">edit-copy-symbolic</attribute> + <attribute name="action">app.copy</attribute> + </item> + <item> + <attribute name="verb-icon">edit-paste-symbolic</attribute> + <attribute name="action">app.paste</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Pin</attribute> + <attribute name="action">app.pin</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select Labels…</attribute> + <attribute name="action">app.labels</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Share…</attribute> + <attribute name="action">app.share</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Basement</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Berk</attribute> + <attribute name="action">app.berk</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Broni</attribute> + <attribute name="action">app.broni</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Drutt</attribute> + <attribute name="action">app.drutt</attribute> + </item> + <item> + <attribute name="label" translatable="yes">The Thing Upstairs</attribute> + <attribute name="action">app.upstairs</attribute> + </item> + </section> + </submenu> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Large</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">large</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Medium</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">medium</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Small</attribute> + <attribute name="action">app.size</attribute> + <attribute name="target">small</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move to Trash</attribute> + <attribute name="action">win.delete</attribute> + </item> + </section> + </menu> + <menu id="new_style_context_menu_model"> + <section> + <item> + <attribute name="label" translatable="yes">Open</attribute> + <attribute name="action">win.open</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Open in New Tab</attribute> + <attribute name="action">app.open-tab</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Open in New Window</attribute> + <attribute name="action">app.open-window</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Cut</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Copy</attribute> + <attribute name="action">app.copy</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">Options</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Option A</attribute> + <attribute name="action">app.option-a</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option B</attribute> + <attribute name="action">app.option-b</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option C</attribute> + <attribute name="action">app.option-c</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Option D</attribute> + <attribute name="action">app.option-d</attribute> + </item> + </section> + </submenu> + </section> + <section> + <item> + <attribute name="label" translatable="yes">Move to Trash</attribute> + <attribute name="action">win.delete</attribute> + </item> + </section> + </menu> + <menu id="menu_bar_model"> + <submenu> + <attribute name="label" translatable="yes">_File</attribute> + <section> + <item> + <attribute name="label" translatable="yes">_New</attribute> + <attribute name="action">app.new</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Open</attribute> + <attribute name="action">app.open</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Save</attribute> + <attribute name="action">app.save</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Save _As</attribute> + <attribute name="action">app.save-as</attribute> + </item> + </section> + <section> + <item> + <attribute name="label" translatable="yes">_Quit</attribute> + <attribute name="action">app.quit</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Edit</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Cu_t</attribute> + <attribute name="action">app.cut</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Copy</attribute> + <attribute name="action">app.copy</attribute> + </item> + <item> + <attribute name="label" translatable="yes">_Paste</attribute> + <attribute name="action">app.paste</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Delete</attribute> + <attribute name="action">win.delete</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Search</attribute> + <attribute name="action">win.search</attribute> + </item> + </section> + <section> + <submenu> + <attribute name="label" translatable="yes">C_hecks</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-on</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-off</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-on-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-off-disabled</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Check</attribute> + <attribute name="action">app.check-no-action</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Radios</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x</attribute> + <attribute name="target">x</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x</attribute> + <attribute name="target">y</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x-disabled</attribute> + <attribute name="target">x</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-x-disabled</attribute> + <attribute name="target">y</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Radio</attribute> + <attribute name="action">app.radio-no-action</attribute> + <attribute name="hidden-when">action-missing</attribute> + </item> + </section> + </submenu> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_View</attribute> + <section> + <item> + <attribute name="label" translatable="yes">Dark Theme</attribute> + <attribute name="action">win.dark</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Toolbar</attribute> + <attribute name="action">win.toolbar</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Statusbar</attribute> + <attribute name="action">win.statusbar</attribute> + </item> + <item> + <attribute name="label" translatable="yes">Select Background</attribute> + <attribute name="action">win.background</attribute> + </item> + </section> + </submenu> + <submenu> + <attribute name="label" translatable="yes">_Help</attribute> + <item> + <attribute name="label" translatable="yes">About</attribute> + <attribute name="action">app.about</attribute> + </item> + </submenu> + </menu> +</interface> diff --git a/testsuite/tools/meson.build b/testsuite/tools/meson.build index 96ac7fda06..239e1b0e04 100644 --- a/testsuite/tools/meson.build +++ b/testsuite/tools/meson.build @@ -2,7 +2,7 @@ bash = find_program('bash', required : false) if bash.found() test_env = environment() - foreach t : ['simplify', 'simplify-3to4', 'validate', 'settings'] + foreach t : ['simplify', 'simplify-3to4', 'validate', 'enumerate', 'settings'] test(t, find_program(t, dirs: meson.current_source_dir()), workdir: meson.current_build_dir(), diff --git a/testsuite/tools/validate b/testsuite/tools/validate index 42048ef7b4..414a5053b3 100755 --- a/testsuite/tools/validate +++ b/testsuite/tools/validate @@ -21,7 +21,7 @@ for t in ${TESTS[*]}; do cd $TEST_DATA_DIR - $GTK_BUILDER_TOOL validate $(basename $t) 2>$result + $GTK_BUILDER_TOOL validate --deprecations $(basename $t) 2>$result cd $OLDPWD |