let's push through another big beautiful commit

This commit is contained in:
Michael Becker 2025-07-05 23:35:22 -04:00
parent f1d153a78c
commit 47d874d77a
17 changed files with 265 additions and 28 deletions

View File

@ -0,0 +1,19 @@
# Copyright (C) 2025 Michael Becker <alcexhim@gmail.com>
#
# This file is part of Mocha.NET.
#
# Mocha.NET is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Mocha.NET 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
- entityDefinitions:
- IDL_FamilyOne: '{42cb3dab-4586-4cf3-b43c-37baa51d08bd}'

View File

@ -0,0 +1,25 @@
# Copyright (C) 2025 Michael Becker <alcexhim@gmail.com>
#
# This file is part of Mocha.NET.
#
# Mocha.NET is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Mocha.NET 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
- entityDefinitions:
- IDC_FamilyEvent: '{60f5f9c6-7251-4df3-a806-8c9dd75bb073}'
- library: '&IDL_FamilyOne;'
instances:
- class: '&IDC_FamilyEvent;'
name: Family Event
index: 40001

View File

@ -0,0 +1,31 @@
# Copyright (C) 2025 Michael Becker <alcexhim@gmail.com>
#
# This file is part of Mocha.NET.
#
# Mocha.NET is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Mocha.NET 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
- entityDefinitions:
- IDI_Report_ViewEventAttendance: '{b60ffc25-d48c-49c9-9c9b-f3f5a597ebc6}'
- library: '&IDL_FamilyOne;'
instances:
- report: '&IDI_Report_ViewEventAttendance;'
name: View Event Attendance
index: 40001
dataSourceId: '&IDI_ReportDataSource_FamilyEvents;'
- report: '&IDI_Report_ViewEventResponses;'
name: View Event Responses
index: 40002
dataSourceId: '&IDI_ReportDataSource_FamilyEvents;'

View File

@ -70,6 +70,7 @@
- IDA_MultipleValidClasses: '{52c67121-6ba1-4d3d-a718-7fcb5d3ae291}' - IDA_MultipleValidClasses: '{52c67121-6ba1-4d3d-a718-7fcb5d3ae291}'
- IDA_Shared: '{4f4f2b73-6b16-4cbb-a254-a9e557040bca}' - IDA_Shared: '{4f4f2b73-6b16-4cbb-a254-a9e557040bca}'
- IDA_UserIsLoggedIn: '{8e93d9f3-a897-4c97-935c-b3427f90633b}' - IDA_UserIsLoggedIn: '{8e93d9f3-a897-4c97-935c-b3427f90633b}'
- IDA_Derived: '{66991ca1-ef08-4f30-846c-4984c2a3139d}'
- IDA_IncludeMIs: '{c97c2410-30d8-41eb-9b71-2aecc63abf46}' - IDA_IncludeMIs: '{c97c2410-30d8-41eb-9b71-2aecc63abf46}'
- IDA_IncludeSuperclassMethods: '{3828a3f7-57ff-409b-b814-338d5ff51e19}' - IDA_IncludeSuperclassMethods: '{3828a3f7-57ff-409b-b814-338d5ff51e19}'

View File

@ -108,6 +108,9 @@
- instance: '&IDA_Disabled;' - instance: '&IDA_Disabled;'
index: 42 index: 42
name: 'Disabled' name: 'Disabled'
- instance: '&IDA_Derived;'
index: 45
name: 'Derived'
- instance: '&IDA_EvaluateWorkSet;' - instance: '&IDA_EvaluateWorkSet;'
index: 49 index: 49
name: 'Evaluate Work Set' name: 'Evaluate Work Set'

View File

@ -13,3 +13,24 @@
values: values:
- languageInstanceId: '&IDI_Language_English;' - languageInstanceId: '&IDI_Language_English;'
value: 'PU - Process Updates Method' value: 'PU - Process Updates Method'
attributes:
- instance: '&IDA_Verb;'
customTagName: 'verb'
- instance: '&IDA_Name;'
customTagName: 'name'
- instance: '&IDA_Static;'
customTagName: 'static'
- instance: '&IDA_Final;'
customTagName: 'final'
relationships:
- instance: '&IDR_Method__for__Class;'
customTagName: 'forClassId'
- instance: '&IDR_Metadata_With_Access_Modifier__has__Access_Modifier;'
customTagName: 'accessModifierId'
- instance: '&IDR_Instance__for__Module;'
customTagName: 'moduleId'
- instance: '&IDR_Method__implements__Method;'
customTagName: 'implementsMethodId'
- instance: '&IDR_Process_Updates_Method__has__PUM_Process;'
customTagName: 'hasPUMProcess'
customTagNameCreatesInstanceOf: '&IDC_PUMProcess;'

View File

@ -15,6 +15,7 @@
relationships: relationships:
- instance: '&IDR_Process_Related_Updates_Method__uses__Executable_for_PUMB;' - instance: '&IDR_Process_Related_Updates_Method__uses__Executable_for_PUMB;'
customTagName: 'usesExecutableForPUMB' customTagName: 'usesExecutableForPUMB'
customTagNameCreatesInstanceOf: '&IDC_ProcessUpdatesMethodBinding;'
- instance: '&IDR_Process_Related_Updates_Method__processes_for__Class;' - instance: '&IDR_Process_Related_Updates_Method__processes_for__Class;'
customTagName: 'processesForClass' customTagName: 'processesForClass'
translations: translations:

View File

@ -1,6 +1,8 @@
--- ---
- entityDefinitions: - entityDefinitions:
- IDC_SystemUpdateRoutine: '{0dad3e78-084f-4894-a4a3-006aab2035df}' - IDC_SystemUpdateRoutine: '{0dad3e78-084f-4894-a4a3-006aab2035df}'
- IDI_SystemUpdateRoutine_CreateInstance: '{256327f3-6f21-403d-8c58-0eabdbf10a6a}'
- library: '&IDL_MochaBaseSystem;' - library: '&IDL_MochaBaseSystem;'
instances: instances:
@ -11,3 +13,7 @@
attributes: attributes:
- instance: '&IDA_Name;' - instance: '&IDA_Name;'
customTagName: 'name' customTagName: 'name'
- systemUpdateRoutine: '&IDI_SystemUpdateRoutine_CreateInstance;'
name: 'create instance'

View File

@ -23,6 +23,7 @@
relationships: # FIXME: remove this when we can properly inherit definitions in zq-python relationships: # FIXME: remove this when we can properly inherit definitions in zq-python
- instance: '&IDR_Method_Binding__executes__Method;' - instance: '&IDR_Method_Binding__executes__Method;'
customTagName: 'executesMethod' customTagName: 'executesMethod'
customTagNameCreatesInstanceOf: '&IDC_ProcessUpdatesMethod;'
- instance: '&IDR_Method_Binding__has__Parameter_Assignment;' - instance: '&IDR_Method_Binding__has__Parameter_Assignment;'
customTagName: 'parameterAssignments' customTagName: 'parameterAssignments'
customTagNameCreatesInstanceOf: '&IDC_ParameterAssignment;' customTagNameCreatesInstanceOf: '&IDC_ParameterAssignment;'

View File

@ -4,4 +4,13 @@
- class: '&IDC_ExecuteUpdateMethodBinding;' - class: '&IDC_ExecuteUpdateMethodBinding;'
index: 83 index: 83
name: Execute Update Method Binding name: Execute Update Method Binding
inherits: '&IDC_MethodBinding;' inherits: '&IDC_MethodBinding;'
superclasses:
- instance: '&IDC_MethodBinding;'
# - instance: '&IDC_ExecutableReturningAttribute;'
relationships: # FIXME: remove this when we can properly inherit definitions in zq-python
- instance: '&IDR_Method_Binding__executes__Method;'
customTagName: 'executesMethod'
- instance: '&IDR_Method_Binding__has__Parameter_Assignment;'
customTagName: 'parameterAssignments'
customTagNameCreatesInstanceOf: '&IDC_ParameterAssignment;'

View File

@ -7,7 +7,7 @@
customTagName: pumProcess customTagName: pumProcess
relationships: relationships:
- instance: '&IDR_PUM_Process__invokes__Execute_Update_Method_Binding;' - instance: '&IDR_PUM_Process__invokes__Execute_Update_Method_Binding;'
customTagName: invokesExecutesUpdateMethodBindings customTagName: invokesExecuteUpdateMethodBindings
- relationship: '&IDR_PUM_Process__invokes__Execute_Update_Method_Binding;' - relationship: '&IDR_PUM_Process__invokes__Execute_Update_Method_Binding;'
index: 859 index: 859

View File

@ -0,0 +1,43 @@
# Copyright (C) 2025 Michael Becker <alcexhim@gmail.com>
#
# This file is part of Mocha.NET.
#
# Mocha.NET is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Mocha.NET 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Mocha.NET. If not, see <https://www.gnu.org/licenses/>.
- entityDefinitions:
- IDM_Class_Edit_Metadata_PRU: '{cadcfbec-d45c-4c77-a2f6-b64d2354e9dd}'
- IDE_Class_Definition: '{59a97e34-4470-4abb-a34b-299c4f37afd5}'
- library: '&IDL_MochaBaseSystem;'
instances:
- element: '&IDE_Class_Definition;'
name: 'class definition'
# processedByCTMethod: '&IDM_ClassCreateStart;'
elementContents:
- globalIdentifier: '{2b6f4123-3e87-414e-ac44-10105c0d49f3}'
defaultDataType: '&IDC_Class;'
displayOptions:
- instance: '&IDI_DisplayOption_DoNotShow;'
- globalIdentifier: '{3808fb14-89fc-4f81-aca3-0b897cf24559}'
defaultDataType: '&IDE_Class_Create_Subedit;'
layout:
- type: '&IDC_GroupLayout;'
globalIdentifier: '{27eeb0b5-4f76-4869-865d-9d63405c671b}'
options:
- instance: '&IDI_GroupLayoutOption_FieldSet;'
displayOptions:
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_InitializeForEntry;'

View File

@ -3,36 +3,61 @@
- IDE_Class_Create: '{71c8536a-8150-4b63-985f-63e42315100d}' - IDE_Class_Create: '{71c8536a-8150-4b63-985f-63e42315100d}'
- IDE_Class_Create_Start: '{708483ff-151c-4b0a-8d78-c30fcebdd99d}' - IDE_Class_Create_Start: '{708483ff-151c-4b0a-8d78-c30fcebdd99d}'
- IDE_Class_Create_Subedit: '{aaa045ca-2c73-4894-8e73-d94bdc0adf7d}' - IDE_Class_Create_Subedit: '{aaa045ca-2c73-4894-8e73-d94bdc0adf7d}'
# fixme: actually implement `create class` by calling a
# GSS/get instance set by system routine `create instance` and using that instance
- library: '&IDL_MochaBaseSystem;' - library: '&IDL_MochaBaseSystem;'
instances: instances:
- element: '&IDE_Class_Create_Start;'
name: 'class definition'
# processedByCTMethod: '&IDM_ClassCreateStart;'
elementContents:
- globalIdentifier: '{c9fb7b84-a6d5-4211-a632-64cfe2cfcf6f}'
defaultDataType: '&IDE_Class_Definition;'
- sequenceTask: '&IDI_Task_Class_Create;' - sequenceTask: '&IDI_Task_Class_Create;'
name: 'Create Class' name: 'Create Class'
# the element displayed when the task is directly executed with no additional parameters
# (usually, allows selecting the related instance for the task, or the parms for a report display)
# upon related task execution,
# - this element is automatically "filled in"
# - execution passes to the element's "processed by CT" method
#
initiatingElement: '&IDE_Class_Create_Start;' initiatingElement: '&IDE_Class_Create_Start;'
taskCategory: '&IDI_TaskCategory_Class;' taskCategory: '&IDI_TaskCategory_Class;'
- element: '&IDE_Class_Create_Start;' - processRelatedUpdatesMethod: '&IDM_Class_Edit_Metadata_PRU;'
name: 'class create start' usesExecutableForPUMB:
# processedByCTMethod: '&IDM_ClassCreateStart;' - globalIdentifier: '{26f2bf55-fc68-4fe5-adaa-a679f6ae4bc1}'
elementContents: executesMethod:
- globalIdentifier: '{2b6f4123-3e87-414e-ac44-10105c0d49f3}' - globalIdentifier: '{0cd3577e-453b-4a55-811f-a1392d5d67df}'
defaultDataType: '&IDC_Class;' name: 'PU for class edit metadata'
displayOptions: forClassId: '&IDC_Class;'
- instance: '&IDI_DisplayOption_DoNotShow;' hasPUMProcess:
- globalIdentifier: '{3808fb14-89fc-4f81-aca3-0b897cf24559}' - globalIdentifier: '{e40fb1fc-c329-4563-8d00-fe8f3e34e876}'
defaultDataType: '&IDE_Class_Create_Subedit;' invokesExecuteUpdateMethodBindings:
layout: - type: '&IDC_ExecuteUpdateMethodBinding;'
- type: '&IDC_GroupLayout;' globalIdentifier: '{373f5824-5480-45a1-94c0-a8cc6a2c2298}'
globalIdentifier: '{27eeb0b5-4f76-4869-865d-9d63405c671b}' executesMethod:
options: - type: '&IDC_UpdateBySystemRoutineMethod;'
- instance: '&IDI_GroupLayoutOption_FieldSet;' globalIdentifier: '{9c4b4c29-ae89-4f99-8093-6b84e27795a8}'
displayOptions: forClassId: '&IDC_Class;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;' name: 'Create Instance'
- instance: '&IDI_DisplayOption_Singular;' systemUpdateRoutineId: '&IDI_SystemUpdateRoutine_CreateInstance;'
- instance: '&IDI_DisplayOption_InitializeForEntry;' parameterAssignments:
# !!! FIXME !!!
- globalIdentifier: '{8ee2e866-1f97-4a2d-862c-fb2d97f60c16}'
assignsToParameter: '&IDC_Class;'
assignsFromWorkData: '&IDC_Class;'
- type: '&IDC_AssignAttributeMethod;'
globalIdentifier: '{d3c868d3-53ba-4a20-98bb-0980bf711ee9}'
- element: '&IDE_Class_Create_Subedit;' - element: '&IDE_Class_Create_Subedit;'
name: 'class create subedits' name: 'class create subedits'
# these should be processed by the same PRU that updates the Edit task
processedByPRUMethod: '&IDM_Class_Edit_Metadata_PRU;'
elementContents: elementContents:
- globalIdentifier: '{ad59104a-08aa-44e7-80c8-4ba4069eac40}' - globalIdentifier: '{ad59104a-08aa-44e7-80c8-4ba4069eac40}'
defaultDataType: '&IDC_Class;' defaultDataType: '&IDC_Class;'

View File

@ -11,6 +11,11 @@
- element: '&IDE_ElementContent_Select;' - element: '&IDE_ElementContent_Select;'
name: 'element content select subedit' name: 'element content select subedit'
layout:
- type: '&IDC_GroupLayout;'
globalIdentifier: '{f1589e05-0048-4b1f-af5c-d9ba3ee41cc8}'
options:
- instance: '&IDI_GroupLayoutOption_FieldSet;'
elementContents: elementContents:
- globalIdentifier: '{8171ea52-22a3-4c75-b8a5-d418bc05fdeb}' - globalIdentifier: '{8171ea52-22a3-4c75-b8a5-d418bc05fdeb}'
defaultDataType: '&IDC_ElementContent;' defaultDataType: '&IDC_ElementContent;'

View File

@ -12,7 +12,37 @@
- sequenceTask: '&IDI_Task_ViewWorkSet;' - sequenceTask: '&IDI_Task_ViewWorkSet;'
name: 'View Work Set' name: 'View Work Set'
initiatingElement: '&IDE_WorkData_View;' initiatingElement:
- globalIdentifier: '{ef23b852-e26c-4922-b62c-4b8db5336b98}'
name: 'View Work Set Start'
processedByCTMethod:
- globalIdentifier: '{5f2b0341-823a-481f-8576-d6b5618588c3}'
forClassId: '&IDC_WorkSet;'
verb: ''
name: 'Work Set View Start'
buildsResponseWithBRMB:
- globalIdentifier: '{9fdff0d6-ffa9-4a12-991b-c1e8c98419c1}'
executesMethod:
- globalIdentifier: '{05674ced-bf1f-43b1-9931-4448395a016c}'
usesExecutableReturningElement: '&IDE_WorkData_View;'
elementContents:
- globalIdentifier: '{7e347085-aa54-4b15-9628-b5c3dabc9fa5}'
defaultDataType:
- type: '&IDC_Element;'
globalIdentifier: '{bc2594e0-ca36-45ad-9d85-bfc4d0876fd6}'
name: 'Work Set Selection subedit'
layout:
- type: '&IDC_GroupLayout;'
globalIdentifier: '{16cacbc9-2923-4d89-9264-5543fe7b011a}'
options:
- instance: '&IDI_GroupLayoutOption_FieldSet;'
elementContents:
- globalIdentifier: '{9d0f57ea-b3e7-41f1-a171-2f1cd01b64ef}'
defaultDataType: '&IDC_WorkSet;'
label: 'Work Set'
displayOptions:
- instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
taskCategory: '&IDI_TaskCategory_WorkSet;' taskCategory: '&IDI_TaskCategory_WorkSet;'
- sequenceTask: '&IDI_Task_EditWorkSet;' - sequenceTask: '&IDI_Task_EditWorkSet;'
@ -63,6 +93,11 @@
- element: '&IDE_WorkData_Subedits;' - element: '&IDE_WorkData_Subedits;'
name: 'work data subedits' name: 'work data subedits'
layout:
- type: '&IDC_GroupLayout;'
globalIdentifier: '{4491bbb2-1386-4c7b-b288-8982c21b22e7}'
options:
- instance: '&IDI_GroupLayoutOption_FieldSet;'
elementContents: elementContents:
- globalIdentifier: '{1ae369fe-7f0a-472f-b04c-e429207b5436}' - globalIdentifier: '{1ae369fe-7f0a-472f-b04c-e429207b5436}'
defaultDataType: '&IDC_WorkSet;' defaultDataType: '&IDC_WorkSet;'

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<task forClassId="@IDC_WorkSet;">
<selection>
<!-- for Select mode (initiating from /task/... ) -->
<layout>
<instance globalIdentifier="@IDC_WorkSet;" />
</layout>
</selection>
<processing>
<!-- for View and Edit modes (initiating from /inst/.../rel-task/... ) -->
<layout>
<instance globalIdentifier="@IDC_WorkSet;" />
<instance globalIdentifier="@IDA_Name;" />
<instance globalIdentifier="@IDA_Singular;" />
</layout>
</processing>
</task>

View File

@ -58,17 +58,12 @@
displayOptions: displayOptions:
- instance: '&IDI_DisplayOption_Singular;' - instance: '&IDI_DisplayOption_Singular;'
- instance: '&IDI_DisplayOption_ShowSubelementsVertically;' - instance: '&IDI_DisplayOption_ShowSubelementsVertically;'
layout:
- type: '&IDC_GroupLayout;'
globalIdentifier: '{4491bbb2-1386-4c7b-b288-8982c21b22e7}'
options:
- instance: '&IDI_GroupLayoutOption_FieldSet;'
- element: '&IDE_Product_Select;' - element: '&IDE_Product_Select;'
name: 'Product Selection subedit' name: 'Product Selection subedit'
layout: layout:
- type: '&IDC_GroupLayout;' - type: '&IDC_GroupLayout;'
globalIdentifier: '{4491bbb2-1386-4c7b-b288-8982c21b22e7}' globalIdentifier: '{7b5ce26e-1701-4f82-af6c-188860181420}'
options: options:
- instance: '&IDI_GroupLayoutOption_FieldSet;' - instance: '&IDI_GroupLayoutOption_FieldSet;'
elementContents: elementContents: