Create an "Editor-only" section in the online class reference
This helps to find such classes without digging
through the rest of the class reference.
Editor-only classes can still be found under
your normal "Node" and "Resource" types.
This also fixes a typo and a missed case from the recent platform docs PR.
(cherry picked from commit 3ae282b452
)
This commit is contained in:
parent
112677c39e
commit
289d551fbb
|
@ -33,6 +33,7 @@ BASE_STRINGS = [
|
||||||
"Globals",
|
"Globals",
|
||||||
"Nodes",
|
"Nodes",
|
||||||
"Resources",
|
"Resources",
|
||||||
|
"Editor-only",
|
||||||
"Other objects",
|
"Other objects",
|
||||||
"Variant types",
|
"Variant types",
|
||||||
"Description",
|
"Description",
|
||||||
|
@ -74,13 +75,23 @@ CLASS_GROUPS: Dict[str, str] = {
|
||||||
"node": "Nodes",
|
"node": "Nodes",
|
||||||
"resource": "Resources",
|
"resource": "Resources",
|
||||||
"object": "Other objects",
|
"object": "Other objects",
|
||||||
|
"editor": "Editor-only",
|
||||||
"variant": "Variant types",
|
"variant": "Variant types",
|
||||||
}
|
}
|
||||||
CLASS_GROUPS_BASE: Dict[str, str] = {
|
CLASS_GROUPS_BASE: Dict[str, str] = {
|
||||||
"node": "Node",
|
"node": "Node",
|
||||||
"resource": "Resource",
|
"resource": "Resource",
|
||||||
"object": "Object",
|
"object": "Object",
|
||||||
|
"variant": "Variant",
|
||||||
}
|
}
|
||||||
|
# Sync with editor\register_editor_types.cpp
|
||||||
|
EDITOR_CLASSES: List[str] = [
|
||||||
|
"AnimationTrackEditPlugin",
|
||||||
|
"FileSystemDock",
|
||||||
|
"ScriptCreateDialog",
|
||||||
|
"ScriptEditor",
|
||||||
|
"ScriptEditorBase",
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class State:
|
class State:
|
||||||
|
@ -635,6 +646,11 @@ def main() -> None:
|
||||||
grouped_classes[group_name] = []
|
grouped_classes[group_name] = []
|
||||||
grouped_classes[group_name].append(class_name)
|
grouped_classes[group_name].append(class_name)
|
||||||
|
|
||||||
|
if is_editor_class(class_def):
|
||||||
|
if "editor" not in grouped_classes:
|
||||||
|
grouped_classes["editor"] = []
|
||||||
|
grouped_classes["editor"].append(class_name)
|
||||||
|
|
||||||
print("")
|
print("")
|
||||||
print("Generating the index file...")
|
print("Generating the index file...")
|
||||||
|
|
||||||
|
@ -724,6 +740,17 @@ def get_class_group(class_def: ClassDef, state: State) -> str:
|
||||||
return group_name
|
return group_name
|
||||||
|
|
||||||
|
|
||||||
|
def is_editor_class(class_def: ClassDef) -> bool:
|
||||||
|
class_name = class_def.name
|
||||||
|
|
||||||
|
if class_name.startswith("Editor"):
|
||||||
|
return True
|
||||||
|
if class_name in EDITOR_CLASSES:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
# Generator methods.
|
# Generator methods.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1472,6 +1499,9 @@ def make_rst_index(grouped_classes: Dict[str, List[str]], dry_run: bool, output_
|
||||||
f.write(f" class_{CLASS_GROUPS_BASE[group_name].lower()}\n")
|
f.write(f" class_{CLASS_GROUPS_BASE[group_name].lower()}\n")
|
||||||
|
|
||||||
for class_name in grouped_classes[group_name]:
|
for class_name in grouped_classes[group_name]:
|
||||||
|
if group_name in CLASS_GROUPS_BASE and CLASS_GROUPS_BASE[group_name].lower() == class_name.lower():
|
||||||
|
continue
|
||||||
|
|
||||||
f.write(f" class_{class_name.lower()}\n")
|
f.write(f" class_{class_name.lower()}\n")
|
||||||
|
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
|
|
Loading…
Reference in New Issue