James Westman
3ebe5c72c1
Fix templates in bind-property
2023-05-16 17:42:53 -05:00
James Westman
b5eca8b0b3
tests: Add another template test
2023-05-16 17:37:52 -05:00
James Westman
e4bad039b0
Fix simple bindings with template soure
2023-05-16 17:14:34 -05:00
James Westman
46e467bbfb
Fix 'template' keyword in list item factories
2023-05-13 20:24:31 -05:00
James Westman
5a782c653b
Add Gtk.Scale mark syntax
2023-05-13 20:19:29 -05:00
James Westman
60f9173421
Add type to BuilderListItemFactory extension
...
Makes it a little clearer how it works.
2023-05-13 16:49:48 -05:00
James Westman
04509e4b2e
Change template syntax
...
Templates now use a TypeName instead of an identifier, which makes it
clearer that it's an extern symbol (or that it's a Gtk.ListItem).
2023-05-13 16:49:48 -05:00
James Westman
8fcd08c835
Add Adw.Breakpoint custom syntax
2023-05-08 10:11:40 -05:00
James Westman
9dcd06de51
Make builder template factories use a subscope
2023-04-28 20:49:22 -05:00
James Westman
dd3c75d2c7
Update menu syntax
...
Sections and submenus can have IDs. Also, change the code to better
reflect the documented grammar.
2023-04-12 21:44:07 -05:00
James Westman
02796fd830
Use <> instead of () for casts & typeof
...
This makes it clearer that they aren't functions, and it eliminates
syntactic ambiguity with closure expressions.
2023-04-10 09:39:34 -05:00
James Westman
88f5b4f1c7
Fix template types
2023-04-08 20:10:16 -05:00
Cameron Dehning
a2fb86bc31
Builder list factory
2023-04-08 01:34:47 +00:00
James Westman
0cf9a8e4fc
Add Adw.MessageDialog responses extension
2023-03-28 12:43:53 -05:00
James Westman
98ba7d467a
Improve expression type checking
2023-03-12 16:12:16 -05:00
James Westman
1df46b5a06
Change the way values work
...
Change the parsing for values to make them more reusable, in particular
for when I implement extensions.
2023-01-12 15:49:19 -06:00
James Westman
122b049ce9
language: Use new extern syntax in signal handlers
2023-01-12 15:49:19 -06:00
James Westman
0b402db4d5
language: Change extern type syntax
...
Use a '$' instead of a '.' to indicate a type provided in application
code.
The reason for the change is to have a consistent "extern" symbol that
isn't widely used elsewhere and isn't ambiguous in expressions.
2023-01-12 15:49:19 -06:00
James Westman
59aa054c4c
language: Add closure expressions
2022-12-25 14:04:41 -06:00
James Westman
5cf9b63547
language: Add cast expressions
2022-12-25 14:04:40 -06:00
James Westman
6c67e1fc5a
xml: Fix flags and enums
...
GtkBuilder XML uses enum nicknames, full names, or integer values, but
we accept GIR names, so passing those through doesn't work if the name
has an underscore (which traditionally turns into a dash in the
nickname). Avoid the problem by always writing the integer value of the
enum member.
2022-12-19 15:15:25 -06:00
James Westman
51d8969ced
Fix menus
...
- Menus require an ID
- The top level menu block can't have attributes
2022-12-19 15:15:25 -06:00
James Westman
8758bac40a
tests: Test XML outputs
...
Load the outputs of the tests in Gtk.Builder and make sure they work.
Some of them don't and need to be fixed. Others will require a bit more
work to set up callbacks, templates, etc.
2022-12-19 13:53:52 -06:00
James Westman
a24f16109f
Separate output into its own module
2022-10-15 19:40:47 -05:00
James Westman
447785ec8c
language: Remove inline menus
...
Inline menus didn't work anyway--menus have to be referenced by ID
(though, curiously, you *can* put the <menu> within the <property> tag
and immediately reference it--but that's a hack, and not what
blueprint-compiler was doing).
2022-10-14 22:12:56 -05:00
James Westman
c0c40b1577
language: Support boxed types and GType
...
- Add support for type checking boxed types
- Remove support for converting string and number literals
- Add the `typeof()` operator for GType literals
2022-10-06 13:03:33 -05:00
James Westman
08da6f79c7
Fix referencing template by ID
2022-07-16 21:16:45 -05:00
James Westman
b9fdc5a5f1
Fix action widgets in templates
...
Fixes #69 .
2022-07-09 14:48:33 -05:00
James Westman
4fefa0bd73
Add lookup expressions
2022-06-24 23:16:15 -05:00
James Westman
4b7fda4f43
action widgets: Fix grammar
2022-06-08 23:55:22 -05:00
James Westman
4e2501c7d7
Fix number parsing
2022-04-18 20:22:29 -05:00
James Westman
417f163a5a
Fix crash in flags value for unchecked classes
2022-04-18 15:42:55 -05:00
James Westman
3d4aae79c4
tests: Test unchecked classes
2022-04-08 14:56:10 -05:00
James Westman
1c1a5e3266
tests: Fix child_type test
...
The test passed, but the XML produced an error when loaded by GtkBuilder.
2022-03-28 14:38:05 -05:00
James Westman
a4ffdd944f
language: a11y: Fix property names
...
Blueprint uses underscores in property/state/relation names, but
GtkBuilder expects dashes because it uses the glib names from the
GtkAccessible* enums.
2022-03-28 14:38:05 -05:00
James Westman
d73c83aa63
decompiler: Allow and ignore <placeholder/>
...
Some existing files contain <placeholder/> tags, which should be
permitted but ignored.
2022-03-28 14:34:27 -05:00
James Westman
bebe784d1d
Fix type check for flags when only one is present
...
When only one flag is specified, it's parsed as an IdentValue rather
than a FlagsValue, so IdentValue needs to be able to type check flags
(aka bitfields) properly.
Fixes #47
2022-03-02 13:57:30 -06:00
James Westman
4b42016837
Fix bug with inline menus
...
Fixes #44
2022-02-21 14:12:56 -06:00
Gleb Smirnov
4103ad3e71
fix: allow adding action widgets to GtkInfoBar
2022-02-19 12:51:34 +03:00
Gleb Smirnov
d9ef1d4df9
tests: add tests for action widget syntax
2022-02-18 19:04:08 +03:00
James Westman
32d4769f65
Change sync-create to no-sync-create
...
Fixes #31
2022-02-09 15:39:02 -06:00
Gleb Smirnov
f8c96abfc5
tests: add test for inverted
binding flag
2022-01-24 20:35:31 +00:00
Gleb Smirnov
cc8a555f97
tests: add tests for internal children
2022-01-22 09:43:14 +03:00
Gleb Smirnov
492b73bc47
tests: add tests for signal's object attribute
2022-01-17 05:37:17 +00:00
James Westman
6b78338d1a
Make template parent optional
...
Not recommended, since you lose some type checking.
2022-01-16 21:08:16 -06:00
James Westman
85150d397b
gir: Fix assignable_to for interface implementations
...
Part of #29
2022-01-11 22:37:24 -06:00
James Westman
34e78de338
decompiler: Support GtkFileFilter tags
2021-12-15 11:32:33 -06:00
James Westman
5ac1c85082
remove accidentally committed file
2021-12-04 22:31:10 -06:00
James Westman
1f677725d8
interactive_port: Ignore "_build" and "build" dirs
...
Fixes #15
2021-12-04 19:14:04 -06:00
James Westman
8e4433a487
Create an interactive porting tool
...
`blueprint-compiler port` interactively ports a project to blueprint.
It will create the subproject wrap file, add it to .gitignore, decompile
your GtkBuilder XML files, emit code to copy and paste into your
meson.build file, and update POTFILES.in.
It can't quite handle all of the features the forward compiler can, so
it will skip those files.
2021-12-01 23:38:28 -06:00