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).
This commit is contained in:
James Westman 2022-10-14 21:16:18 -05:00
parent f1c3413dc1
commit 447785ec8c
12 changed files with 11 additions and 28 deletions

View file

@ -22,11 +22,6 @@ from .values import TypeValue, IdentValue, TranslatedStringValue, FlagsValue, Qu
from .common import *
OBJECT_HOOKS.children = [
menu,
Object,
]
OBJECT_CONTENT_HOOKS.children = [
Signal,
Property,

View file

@ -30,6 +30,5 @@ from ..parse_tree import *
from ..xml_emitter import XmlEmitter
OBJECT_HOOKS = AnyOf()
OBJECT_CONTENT_HOOKS = AnyOf()
VALUE_HOOKS = AnyOf()

View file

@ -53,7 +53,7 @@ class Property(AstNode):
UseIdent("name"),
":",
AnyOf(
OBJECT_HOOKS,
Object,
VALUE_HOOKS,
).expected("a value"),
),

View file

@ -17,10 +17,10 @@
#
# SPDX-License-Identifier: LGPL-3.0-or-later
import typing as T
from .attributes import BaseAttribute
from .gobject_object import Object, ObjectContent
from .ui import UI
from .common import *
@ -128,7 +128,7 @@ menu_contents.children = [
), "}"),
]
menu = Group(
menu: Group = Group(
Menu,
[
"menu",
@ -138,6 +138,7 @@ menu = Group(
],
)
from .ui import UI
@completer(
applies_in=[UI],

View file

@ -21,6 +21,8 @@
from .. import gir
from .imports import GtkDirective, Import
from .gtkbuilder_template import Template
from .gobject_object import Object
from .gtk_menu import menu
from .common import *
@ -32,7 +34,8 @@ class UI(AstNode):
ZeroOrMore(Import),
Until(AnyOf(
Template,
OBJECT_HOOKS,
menu,
Object,
), Eof()),
]