PySimultan 0.5.9.7__tar.gz → 0.6.0.2__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/PKG-INFO +1 -1
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/CHANGELOG.md +7 -0
- pysimultan-0.6.0.2/src/PySimultan2/__about__.py +1 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/data_model.py +3 -3
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/default_types.py +46 -8
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/files.py +1 -1
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/object_mapper.py +2 -0
- pysimultan-0.6.0.2/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ComponentBuilder.xml +93 -15
- pysimultan-0.6.0.2/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- pysimultan-0.6.0.2/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- pysimultan-0.6.0.2/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- pysimultan-0.6.0.2/src/PySimultan2/resources/Python.Runtime.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SIMULTAN.Lang.xml +62 -1
- pysimultan-0.6.0.2/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SIMULTAN.UI.xml +57 -0
- pysimultan-0.6.0.2/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SIMULTAN.xml +73 -3
- pysimultan-0.6.0.2/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/simultan_object.py +6 -1
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/utils.py +9 -4
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_default_component.py +11 -12
- pysimultan-0.5.9.7/src/PySimultan2/__about__.py +0 -1
- pysimultan-0.5.9.7/src/PySimultan2/resources/BruTile.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -11
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -15
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -396
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- pysimultan-0.5.9.7/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/.gitignore +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/LICENSE.txt +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/README.md +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/pyproject.toml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/componentmanager.user +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/src/PySimultan2/type_setter_lookup.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/RoomAcoustics_V02.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/create_component.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/create_referenced_component.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/create_taxonomies.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_example3.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_example4.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_example_extend.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/readme_examples/resources/template_reference_list.yml +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/resources/__init__.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/resources/new_test_file.txt +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/resources/new_test_file2.txt +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_calculate_steady_state_temperature.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_circular_references.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_directory_and_files.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_files.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_files_load.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_new_dll.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_parameter_reference.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_register_class.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_register_decorator.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_set_properties.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/test_ui.py +0 -0
- {pysimultan-0.5.9.7 → pysimultan-0.6.0.2}/tests/ui_minimal_example.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.6.0.2
|
4
4
|
Project-URL: Documentation, https://github.com/Bühler Maximilian/PySimultan2#readme
|
5
5
|
Project-URL: Issues, https://github.com/Bühler Maximilian/PySimultan2/issues
|
6
6
|
Project-URL: Source, https://github.com/Bühler Maximilian/PySimultan2
|
@@ -1,3 +1,10 @@
|
|
1
|
+
Version 0.6.0.2 (16.01.2024)
|
2
|
+
- Added __delitem__ method to default_types.ComponentList
|
3
|
+
|
4
|
+
Version 0.6.0.1 (15.01.2024)
|
5
|
+
- Updated SIMULTAN Version to 0.7.6
|
6
|
+
- Fixed bugs in default_types.ComponentList
|
7
|
+
|
1
8
|
Version 0.5.9.7 (09.01.2024)
|
2
9
|
- Added default component support to Mapper: if a default component is not present in the datamodel, it is automatically added
|
3
10
|
- Fixed content naming bug: Content.name is now used for the name of the TaxonomyEntry in SIMULTAN
|
@@ -0,0 +1 @@
|
|
1
|
+
version = '0.6.0.2'
|
@@ -188,7 +188,7 @@ class DataModel:
|
|
188
188
|
resources = self.project_data_manager.AssetManager.Resources
|
189
189
|
|
190
190
|
for resource in resources:
|
191
|
-
if resource is None:
|
191
|
+
if resource is None or not isinstance(resource, (ResourceFileEntry, ContainedResourceFileEntry)):
|
192
192
|
continue
|
193
193
|
self.resources[resource.Key] = resource
|
194
194
|
|
@@ -307,8 +307,8 @@ class DataModel:
|
|
307
307
|
"""
|
308
308
|
# logger.info(
|
309
309
|
# f'Adding component {component.Id} {component.Name} {type(component)} to project {self.project_path}')
|
310
|
-
if component.Id.LocalId != 0:
|
311
|
-
|
310
|
+
# if component.Id.LocalId != 0:
|
311
|
+
# raise ValueError(f'Component {component.Id} already added to project {self.project_path}')
|
312
312
|
|
313
313
|
if not hasattr(component, '__added_to_data_model__'):
|
314
314
|
component.__added_to_data_model__ = True
|
@@ -37,6 +37,9 @@ class ComponentList(SimultanObject):
|
|
37
37
|
self.component_policy = kwargs.get('component_policy', 'subcomponent') # component add policy of the content/parameter/property, 'reference' or 'subcomponent'
|
38
38
|
self.index = 0
|
39
39
|
|
40
|
+
if args:
|
41
|
+
self.append(args)
|
42
|
+
|
40
43
|
@classmethod
|
41
44
|
def create_from_values(cls,
|
42
45
|
values: Union[List[SimultanObject], Set[SimultanObject], Tuple[SimultanObject]],
|
@@ -123,20 +126,40 @@ class ComponentList(SimultanObject):
|
|
123
126
|
logger.error(f'Could not get data from list {self}:\n{e}')
|
124
127
|
return []
|
125
128
|
|
126
|
-
def discard(self,
|
129
|
+
def discard(self,
|
130
|
+
value: SimultanObject,
|
131
|
+
update_slots: bool = True):
|
127
132
|
|
128
133
|
components = self.components
|
129
134
|
subcomponents = self.ref_components
|
130
135
|
|
131
136
|
if value._wrapped_obj in components:
|
132
137
|
index = components.index(value._wrapped_obj)
|
133
|
-
self.
|
138
|
+
self._data_model.add_component(value._wrapped_obj)
|
139
|
+
self._wrapped_obj.Components.RemoveAt(index)
|
134
140
|
elif value._wrapped_obj in subcomponents:
|
135
141
|
index = subcomponents.index(value._wrapped_obj)
|
136
142
|
self.remove_referenced_component(value._wrapped_obj)
|
137
143
|
else:
|
138
144
|
raise ValueError(f'Component {value} not in list {self}')
|
139
|
-
|
145
|
+
if update_slots:
|
146
|
+
self._update_slot_extensions(index)
|
147
|
+
|
148
|
+
def insert(self, index: int, value: Any):
|
149
|
+
for i, component in enumerate(self.data[index:]):
|
150
|
+
if component._wrapped_obj in self.components:
|
151
|
+
slot, c_entry = next(
|
152
|
+
(x.Slot, x) for x in self._wrapped_obj.Components.Items if x.Component == component._wrapped_obj)
|
153
|
+
elif component._wrapped_obj in self.ref_components:
|
154
|
+
slot, c_entry = next((x.Slot, x) for x in self._wrapped_obj.ReferencedComponents.Items if
|
155
|
+
x.Target == component._wrapped_obj)
|
156
|
+
c_entry.set_Slot(SimSlot(slot.SlotBase, str(i + index + 1)))
|
157
|
+
|
158
|
+
self._set_value(value, index)
|
159
|
+
print(f'Inserted {value} at index {index}')
|
160
|
+
|
161
|
+
if self.data[index] is not value:
|
162
|
+
raise ValueError(f'Could not insert {value} at index {index}')
|
140
163
|
|
141
164
|
def append(self, values: Union[SimultanObject, List]):
|
142
165
|
|
@@ -162,7 +185,7 @@ class ComponentList(SimultanObject):
|
|
162
185
|
if component._wrapped_obj in self.components:
|
163
186
|
slot, c_entry = next((x.Slot, x) for x in self._wrapped_obj.Components.Items if x.Component == component._wrapped_obj)
|
164
187
|
elif component._wrapped_obj in self.ref_components:
|
165
|
-
slot = next(x.Slot for x in self._wrapped_obj.ReferencedComponents.Items if x.Target == component._wrapped_obj)
|
188
|
+
slot, c_entry = next((x.Slot, x) for x in self._wrapped_obj.ReferencedComponents.Items if x.Target == component._wrapped_obj)
|
166
189
|
else:
|
167
190
|
raise ValueError(f'Component {component} not in list {self}')
|
168
191
|
c_entry.set_Slot(SimSlot(slot.SlotBase, str(i)))
|
@@ -176,9 +199,14 @@ class ComponentList(SimultanObject):
|
|
176
199
|
slot = value._wrapped_obj.Slots.Items[0]
|
177
200
|
|
178
201
|
if self.component_policy == 'subcomponent' and value._wrapped_obj.Parent is None:
|
179
|
-
self.
|
180
|
-
|
181
|
-
|
202
|
+
if value in self.components:
|
203
|
+
self.add_referenced_component(value._wrapped_obj,
|
204
|
+
slot_extension=str(i),
|
205
|
+
slot=slot)
|
206
|
+
else:
|
207
|
+
self.add_subcomponent(value._wrapped_obj,
|
208
|
+
slot_extension=str(i),
|
209
|
+
slot=slot)
|
182
210
|
else:
|
183
211
|
self.add_referenced_component(value._wrapped_obj,
|
184
212
|
slot_extension=str(i),
|
@@ -224,7 +252,10 @@ class ComponentList(SimultanObject):
|
|
224
252
|
if self.data[i] is value:
|
225
253
|
return
|
226
254
|
self.discard(self.data[i])
|
227
|
-
self.
|
255
|
+
self.insert(i, value)
|
256
|
+
|
257
|
+
if self.data[i] is not value:
|
258
|
+
raise ValueError(f'Could not insert {value} at index {i}')
|
228
259
|
|
229
260
|
def extend(self, values: List):
|
230
261
|
return self.append(values)
|
@@ -273,6 +304,13 @@ class ComponentList(SimultanObject):
|
|
273
304
|
return self.data[i]
|
274
305
|
return self._object_mapper.create_python_object(self.data[i], data_model=self._data_model)
|
275
306
|
|
307
|
+
def __delitem__(self, i):
|
308
|
+
if isinstance(i, slice):
|
309
|
+
for j in range(i.start, i.stop):
|
310
|
+
self.discard(self.data[j])
|
311
|
+
else:
|
312
|
+
self.discard(self.data[i])
|
313
|
+
|
276
314
|
def __repr__(self):
|
277
315
|
return f'List {self.name}: ' + repr(list(self.data))
|
278
316
|
|
@@ -616,7 +616,7 @@ class DirectoryInfo(object, metaclass=DirectoryInfoMetaMock):
|
|
616
616
|
|
617
617
|
@property
|
618
618
|
def helper_file(self) -> Optional[FileInfo]:
|
619
|
-
if self._helper_file is None:
|
619
|
+
if self._helper_file is None or not isinstance(self._helper_file, FileInfo):
|
620
620
|
self._helper_file = self.add_file('__dir_helper_file__')
|
621
621
|
|
622
622
|
return self._helper_file
|
@@ -432,6 +432,7 @@ class PythonMapper(object):
|
|
432
432
|
new_mapper.taxonomy_maps = self.taxonomy_maps
|
433
433
|
new_mapper.registered_geometry_classes = self.registered_geometry_classes
|
434
434
|
new_mapper.load_undefined = self.load_undefined
|
435
|
+
new_mapper.default_components = self.default_components
|
435
436
|
|
436
437
|
return new_mapper
|
437
438
|
|
@@ -442,6 +443,7 @@ class PythonMapper(object):
|
|
442
443
|
self.registered_classes.update(other.registered_classes)
|
443
444
|
self.taxonomy_maps.update(other.taxonomy_maps)
|
444
445
|
self.registered_geometry_classes.update(other.registered_geometry_classes)
|
446
|
+
self.default_components.extend(other.default_components)
|
445
447
|
return self
|
446
448
|
|
447
449
|
def get_mapped_class_for_python_type(self, python_type: type) -> Optional[Type[SimultanObject]]:
|
Binary file
|
Binary file
|
@@ -962,6 +962,79 @@
|
|
962
962
|
</summary>
|
963
963
|
<param name="settings">The application settings</param>
|
964
964
|
</member>
|
965
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.Initialize(SIMULTAN.Plugins.IPluginData,System.Collections.Generic.IList{System.IO.FileInfo})">
|
966
|
+
<summary>
|
967
|
+
Initializes the PluginManager. Needs to be called by derived classes
|
968
|
+
</summary>
|
969
|
+
<param name="data">The plugin data that is used to initialize the plugins</param>
|
970
|
+
<param name="ignoredPlugins">A list of plugins that get ignored during loading</param>
|
971
|
+
</member>
|
972
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.InitializePlugin(SIMULTAN.Plugins.ISimPlugin,System.Boolean)">
|
973
|
+
<summary>
|
974
|
+
Initializes a plugin
|
975
|
+
</summary>
|
976
|
+
<param name="plugin">The plugin to initialize</param>
|
977
|
+
<param name="initialize">When set to False, only the Localization assemblies are loaded. Otherwise the plugins initialize method is called too</param>
|
978
|
+
</member>
|
979
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.LoadPlugin(System.IO.DirectoryInfo)">
|
980
|
+
<summary>
|
981
|
+
Searches for plugins in a given directory
|
982
|
+
</summary>
|
983
|
+
<param name="directory">The folder to search in</param>
|
984
|
+
<returns>A list of all assemblies and plugins which are found in the folder</returns>
|
985
|
+
</member>
|
986
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.AddPlugin(System.Reflection.Assembly,System.Collections.Generic.List{System.Type},System.Boolean)">
|
987
|
+
<summary>
|
988
|
+
Adds a new plugin to the manager
|
989
|
+
</summary>
|
990
|
+
<param name="assembly">The plugin assembly</param>
|
991
|
+
<param name="pluginTypes">A list of plugin types in this assembly</param>
|
992
|
+
<param name="initLocalization">When set to True, the Localization assembly gets loaded</param>
|
993
|
+
</member>
|
994
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.RemovePlugin(System.Reflection.Assembly)">
|
995
|
+
<summary>
|
996
|
+
Removes a plugin from the manager. Does NOT unload the plugin from the application
|
997
|
+
</summary>
|
998
|
+
<param name="assembly">The plugin assembly to remove</param>
|
999
|
+
</member>
|
1000
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.GetPluginInfo(System.IO.DirectoryInfo)">
|
1001
|
+
<summary>
|
1002
|
+
Gets the plugin info and all plugins it depends on
|
1003
|
+
</summary>
|
1004
|
+
<param name="pluginDirectory">The folder in which the plugin is stored</param>
|
1005
|
+
<returns>The info about the plugin and a list of all plugins it depends on</returns>
|
1006
|
+
</member>
|
1007
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.GetDependencies(System.Collections.Generic.IEnumerable{System.String})">
|
1008
|
+
<summary>
|
1009
|
+
Returns a list of all dependency plugin names together with the minimum required version
|
1010
|
+
</summary>
|
1011
|
+
<param name="installedPlugins">A list of all installed plugins</param>
|
1012
|
+
<returns>A list of all dependency plugin names together with the minimum required version</returns>
|
1013
|
+
</member>
|
1014
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.GetDependingPlugins(System.String,System.Collections.Generic.IEnumerable{System.String})">
|
1015
|
+
<summary>
|
1016
|
+
Returns a list of all plugins that depend on a plugin
|
1017
|
+
</summary>
|
1018
|
+
<param name="dependencyName">The plugin for which the dependents should be searched for</param>
|
1019
|
+
<param name="installedPlugins">A list of all installed plugins</param>
|
1020
|
+
<returns>A list of all depending plugin names together with the minimum required version</returns>
|
1021
|
+
</member>
|
1022
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.FindLibDirectory(System.IO.DirectoryInfo)">
|
1023
|
+
<summary>
|
1024
|
+
Returns the folder in which the dll files are located based on the plugins root folder.
|
1025
|
+
Use <see cref="M:ComponentBuilder.Util.ComponentBuilderPluginManager.FindPluginRootFromAssembly(System.Reflection.Assembly)"/> for the reverse.
|
1026
|
+
</summary>
|
1027
|
+
<param name="pluginRootDirectory">The plugin root directory</param>
|
1028
|
+
<returns>The folder in which the dlls of the plugin are located</returns>
|
1029
|
+
</member>
|
1030
|
+
<member name="M:ComponentBuilder.Util.ComponentBuilderPluginManager.FindPluginRootFromAssembly(System.Reflection.Assembly)">
|
1031
|
+
<summary>
|
1032
|
+
Returns the plugin root folder based on the plugin assembly
|
1033
|
+
Use <see cref="M:ComponentBuilder.Util.ComponentBuilderPluginManager.FindLibDirectory(System.IO.DirectoryInfo)"/> for the reverse.
|
1034
|
+
</summary>
|
1035
|
+
<param name="assembly">The plugin assembly</param>
|
1036
|
+
<returns>The root folder of the plugin</returns>
|
1037
|
+
</member>
|
965
1038
|
<member name="T:ComponentBuilder.Util.MultiValueUtils">
|
966
1039
|
<summary>
|
967
1040
|
Helpers for MultiValues
|
@@ -1041,7 +1114,6 @@
|
|
1041
1114
|
Initializes a new instance of the InstallFromZipTask class
|
1042
1115
|
</summary>
|
1043
1116
|
<param name="zipArchive">The zip file</param>
|
1044
|
-
<param name="target">The directory where the plugin should be installed (should be a direct subfolder of PluginManager.DefaultPluginDirectory)</param>
|
1045
1117
|
</member>
|
1046
1118
|
<member name="M:ComponentBuilder.ViewNEW.AutoUpdate.InstallFromZipTask.Run(System.IProgress{System.ValueTuple{System.Double,System.String,System.Boolean}})">
|
1047
1119
|
<inheritdoc />
|
@@ -1068,12 +1140,12 @@
|
|
1068
1140
|
Updater task for removing a plugin from the application
|
1069
1141
|
</summary>
|
1070
1142
|
</member>
|
1071
|
-
<member name="M:ComponentBuilder.ViewNEW.AutoUpdate.PluginRemoveTask.#ctor(System.IO.DirectoryInfo,System.String,System.Reflection.Assembly)">
|
1143
|
+
<member name="M:ComponentBuilder.ViewNEW.AutoUpdate.PluginRemoveTask.#ctor(System.IO.DirectoryInfo,System.String,System.String,System.Reflection.Assembly)">
|
1072
1144
|
<summary>
|
1073
1145
|
Initializes a new instance of the PluginRemoveTask class
|
1074
1146
|
</summary>
|
1075
1147
|
<param name="pluginDirectory">The directory where the plugin is installed</param>
|
1076
|
-
<param name="
|
1148
|
+
<param name="displayName">The name of the plugin</param>
|
1077
1149
|
<param name="pluginAssembly">The assembly of the plugin</param>
|
1078
1150
|
</member>
|
1079
1151
|
<member name="P:ComponentBuilder.ViewNEW.AutoUpdate.PluginRemoveTask.ContinueOnError">
|
@@ -4898,6 +4970,9 @@
|
|
4898
4970
|
</summary>
|
4899
4971
|
<param name="rule">The rule</param>
|
4900
4972
|
</member>
|
4973
|
+
<member name="M:ComponentBuilder.ViewNEW.Components.ContextDataMappingRuleVM.Dispose(System.Boolean)">
|
4974
|
+
<inheritdoc />
|
4975
|
+
</member>
|
4901
4976
|
<member name="T:ComponentBuilder.ViewNEW.Components.ContextDataMappingToolVM">
|
4902
4977
|
<summary>
|
4903
4978
|
ViewModel for DataMappingTools in the ContextMenu for selecting data mapping rule assignments
|
@@ -4924,12 +4999,7 @@
|
|
4924
4999
|
</summary>
|
4925
5000
|
<param name="tool">The tool to display</param>
|
4926
5001
|
</member>
|
4927
|
-
<member name="
|
4928
|
-
<summary>
|
4929
|
-
Returns True when the object has already been disposed, otherwise False. May only be set from inside the <see cref="M:ComponentBuilder.ViewNEW.Components.ContextDataMappingToolVM.Dispose"/> method
|
4930
|
-
</summary>
|
4931
|
-
</member>
|
4932
|
-
<member name="M:ComponentBuilder.ViewNEW.Components.ContextDataMappingToolVM.Dispose">
|
5002
|
+
<member name="M:ComponentBuilder.ViewNEW.Components.ContextDataMappingToolVM.Dispose(System.Boolean)">
|
4933
5003
|
<inheritdoc />
|
4934
5004
|
</member>
|
4935
5005
|
<member name="T:ComponentBuilder.ViewNEW.Components.ContextUserComponentListVM">
|
@@ -12330,6 +12400,19 @@
|
|
12330
12400
|
<param name="parentVM">The PluginManagerVM</param>
|
12331
12401
|
<param name="serviceProvider">The service provider</param>
|
12332
12402
|
</member>
|
12403
|
+
<member name="T:ComponentBuilder.ViewNEW.PluginManagers.DependencyDialog.InstallDependencyDialog">
|
12404
|
+
<summary>
|
12405
|
+
Interaction logic for InstallDependencyDialog.xaml
|
12406
|
+
</summary>
|
12407
|
+
<summary>
|
12408
|
+
InstallDependencyDialog
|
12409
|
+
</summary>
|
12410
|
+
</member>
|
12411
|
+
<member name="M:ComponentBuilder.ViewNEW.PluginManagers.DependencyDialog.InstallDependencyDialog.InitializeComponent">
|
12412
|
+
<summary>
|
12413
|
+
InitializeComponent
|
12414
|
+
</summary>
|
12415
|
+
</member>
|
12333
12416
|
<member name="T:ComponentBuilder.ViewNEW.PluginManagers.GeometryViewerPluginData">
|
12334
12417
|
<summary>
|
12335
12418
|
Provides data for GeometryViewer plugins
|
@@ -12632,11 +12715,6 @@
|
|
12632
12715
|
Command for showing a dialog to select a file which gets stored in InstallPath
|
12633
12716
|
</summary>
|
12634
12717
|
</member>
|
12635
|
-
<member name="P:ComponentBuilder.ViewNEW.PluginManagers.PluginManagerVM.SelectedItem">
|
12636
|
-
<summary>
|
12637
|
-
The currently selected entry in the Plugins collection
|
12638
|
-
</summary>
|
12639
|
-
</member>
|
12640
12718
|
<member name="M:ComponentBuilder.ViewNEW.PluginManagers.PluginManagerVM.#ctor(SIMULTAN.Utils.IServicesProvider)">
|
12641
12719
|
<summary>
|
12642
12720
|
Initializes a new instance of the PluginManagerVM class
|
@@ -17035,7 +17113,7 @@
|
|
17035
17113
|
</member>
|
17036
17114
|
<member name="T:ComponentBuilder.ViewNEW.Taxonomies.TaxonomyEditorWidgetVM">
|
17037
17115
|
<summary>
|
17038
|
-
|
17116
|
+
ViewModel for the Taxonomies editor widget
|
17039
17117
|
</summary>
|
17040
17118
|
</member>
|
17041
17119
|
<member name="P:ComponentBuilder.ViewNEW.Taxonomies.TaxonomyEditorWidgetVM.Entries">
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -2969,6 +2969,31 @@
|
|
2969
2969
|
Looks up a localized string similar to Volume.
|
2970
2970
|
</summary>
|
2971
2971
|
</member>
|
2972
|
+
<member name="P:SIMULTAN.Lang.CM_INSTALLDEP_HEADEREND">
|
2973
|
+
<summary>
|
2974
|
+
Looks up a localized string similar to " requires the following changes:.
|
2975
|
+
</summary>
|
2976
|
+
</member>
|
2977
|
+
<member name="P:SIMULTAN.Lang.CM_INSTALLDEP_HEADERSTART">
|
2978
|
+
<summary>
|
2979
|
+
Looks up a localized string similar to Installing Plugin ".
|
2980
|
+
</summary>
|
2981
|
+
</member>
|
2982
|
+
<member name="P:SIMULTAN.Lang.CM_INSTALLDEP_TITLE">
|
2983
|
+
<summary>
|
2984
|
+
Looks up a localized string similar to Install/Update Dependencies.
|
2985
|
+
</summary>
|
2986
|
+
</member>
|
2987
|
+
<member name="P:SIMULTAN.Lang.CM_INSTALLDEP_TOINSTALL">
|
2988
|
+
<summary>
|
2989
|
+
Looks up a localized string similar to Plugins to install:.
|
2990
|
+
</summary>
|
2991
|
+
</member>
|
2992
|
+
<member name="P:SIMULTAN.Lang.CM_INSTALLDEP_TOUPDATE">
|
2993
|
+
<summary>
|
2994
|
+
Looks up a localized string similar to Plugins to update:.
|
2995
|
+
</summary>
|
2996
|
+
</member>
|
2972
2997
|
<member name="P:SIMULTAN.Lang.CM_INSTANCE_GEOPLACEMENT_FORMAT">
|
2973
2998
|
<summary>
|
2974
2999
|
Looks up a localized string similar to Geometry Placement {0} (File: {1}).
|
@@ -5096,6 +5121,15 @@
|
|
5096
5121
|
Looks up a localized string similar to Remove Plugin?.
|
5097
5122
|
</summary>
|
5098
5123
|
</member>
|
5124
|
+
<member name="P:SIMULTAN.Lang.CM_PLUGIN_ASK_REMOVESTILLNEEDED">
|
5125
|
+
<summary>
|
5126
|
+
Looks up a localized string similar to The Plugin {0} is a dependency for the following plugins
|
5127
|
+
|
5128
|
+
{1}
|
5129
|
+
|
5130
|
+
Do you really want to remove it?.
|
5131
|
+
</summary>
|
5132
|
+
</member>
|
5099
5133
|
<member name="P:SIMULTAN.Lang.CM_PLUGIN_AUTHOR">
|
5100
5134
|
<summary>
|
5101
5135
|
Looks up a localized string similar to by.
|
@@ -5111,6 +5145,18 @@
|
|
5111
5145
|
Looks up a localized string similar to Enable.
|
5112
5146
|
</summary>
|
5113
5147
|
</member>
|
5148
|
+
<member name="P:SIMULTAN.Lang.CM_PLUGIN_FAILEDTOINIT">
|
5149
|
+
<summary>
|
5150
|
+
Looks up a localized string similar to Failed to initialize Plugin "{0}". The Plugin will be disabled and need to be reenabled after fixing the problem.
|
5151
|
+
|
5152
|
+
Reason: {1}.
|
5153
|
+
</summary>
|
5154
|
+
</member>
|
5155
|
+
<member name="P:SIMULTAN.Lang.CM_PLUGIN_FAILEDTOINIT_TITLE">
|
5156
|
+
<summary>
|
5157
|
+
Looks up a localized string similar to Plugin Error.
|
5158
|
+
</summary>
|
5159
|
+
</member>
|
5114
5160
|
<member name="P:SIMULTAN.Lang.CM_PLUGIN_HOMEPAGE">
|
5115
5161
|
<summary>
|
5116
5162
|
Looks up a localized string similar to Website.
|
@@ -5194,6 +5240,21 @@
|
|
5194
5240
|
Looks up a localized string similar to Failed to install plugin from zip archive {0}.
|
5195
5241
|
</summary>
|
5196
5242
|
</member>
|
5243
|
+
<member name="P:SIMULTAN.Lang.CM_PLUGINGROUP_APPLICATION">
|
5244
|
+
<summary>
|
5245
|
+
Looks up a localized string similar to Application.
|
5246
|
+
</summary>
|
5247
|
+
</member>
|
5248
|
+
<member name="P:SIMULTAN.Lang.CM_PLUGINGROUP_DEPENDENDCIES">
|
5249
|
+
<summary>
|
5250
|
+
Looks up a localized string similar to Dependencies.
|
5251
|
+
</summary>
|
5252
|
+
</member>
|
5253
|
+
<member name="P:SIMULTAN.Lang.CM_PLUGINGROUP_INSTALLEDPLUGIN">
|
5254
|
+
<summary>
|
5255
|
+
Looks up a localized string similar to Plugins.
|
5256
|
+
</summary>
|
5257
|
+
</member>
|
5197
5258
|
<member name="P:SIMULTAN.Lang.CM_PLUGINMANAGER_ADD">
|
5198
5259
|
<summary>
|
5199
5260
|
Looks up a localized string similar to Add.
|
@@ -5206,7 +5267,7 @@
|
|
5206
5267
|
</member>
|
5207
5268
|
<member name="P:SIMULTAN.Lang.CM_PLUGINMANAGER_FROMZIP">
|
5208
5269
|
<summary>
|
5209
|
-
Looks up a localized string similar to From
|
5270
|
+
Looks up a localized string similar to From File.
|
5210
5271
|
</summary>
|
5211
5272
|
</member>
|
5212
5273
|
<member name="P:SIMULTAN.Lang.CM_PLUGINMANAGER_INSTALL">
|
Binary file
|
@@ -1021,6 +1021,24 @@
|
|
1021
1021
|
<member name="M:SIMULTAN.UI.Controls.CalculationTextBlock.CalculationTextBlock.OnApplyTemplate">
|
1022
1022
|
<inheritdoc />
|
1023
1023
|
</member>
|
1024
|
+
<member name="T:SIMULTAN.UI.Controls.CalendarTimePicker">
|
1025
|
+
<summary>
|
1026
|
+
Control to pick the time with up and down buttons for hours and minutes
|
1027
|
+
</summary>
|
1028
|
+
</member>
|
1029
|
+
<member name="P:SIMULTAN.UI.Controls.CalendarTimePicker.Time">
|
1030
|
+
<summary>
|
1031
|
+
The time property
|
1032
|
+
</summary>
|
1033
|
+
</member>
|
1034
|
+
<member name="F:SIMULTAN.UI.Controls.CalendarTimePicker.TimeProperty">
|
1035
|
+
<summary>
|
1036
|
+
Dependency property for the time
|
1037
|
+
</summary>
|
1038
|
+
</member>
|
1039
|
+
<member name="M:SIMULTAN.UI.Controls.CalendarTimePicker.OnApplyTemplate">
|
1040
|
+
<inheritdoc/>
|
1041
|
+
</member>
|
1024
1042
|
<member name="T:SIMULTAN.UI.Controls.ColorButton">
|
1025
1043
|
<summary>
|
1026
1044
|
Provides a button to display (and change) a single DerivedColor instances.
|
@@ -1365,6 +1383,40 @@
|
|
1365
1383
|
<param name="dgci">The DataGridCellInfo</param>
|
1366
1384
|
<returns>The column index of this Cell</returns>
|
1367
1385
|
</member>
|
1386
|
+
<member name="T:SIMULTAN.UI.Controls.DateTimePicker">
|
1387
|
+
<summary>
|
1388
|
+
Control for picking date and Time
|
1389
|
+
</summary>
|
1390
|
+
</member>
|
1391
|
+
<member name="F:SIMULTAN.UI.Controls.DateTimePicker.DefaultTimeText">
|
1392
|
+
<summary>
|
1393
|
+
Default text for empty time
|
1394
|
+
</summary>
|
1395
|
+
</member>
|
1396
|
+
<member name="F:SIMULTAN.UI.Controls.DateTimePicker.DefaultTimeFormat">
|
1397
|
+
<summary>
|
1398
|
+
Default time format
|
1399
|
+
</summary>
|
1400
|
+
</member>
|
1401
|
+
<member name="P:SIMULTAN.UI.Controls.DateTimePicker.Time">
|
1402
|
+
<summary>
|
1403
|
+
The current time property
|
1404
|
+
</summary>
|
1405
|
+
</member>
|
1406
|
+
<member name="F:SIMULTAN.UI.Controls.DateTimePicker.TimeProperty">
|
1407
|
+
<summary>
|
1408
|
+
Dependency property for the time
|
1409
|
+
</summary>
|
1410
|
+
</member>
|
1411
|
+
<member name="M:SIMULTAN.UI.Controls.DateTimePicker.OnApplyTemplate">
|
1412
|
+
<inheritdoc/>
|
1413
|
+
</member>
|
1414
|
+
<member name="M:SIMULTAN.UI.Controls.DateTimePicker.OnSelectedDateChanged(System.Windows.Controls.SelectionChangedEventArgs)">
|
1415
|
+
<summary>
|
1416
|
+
Called when the selected date changes, also updates the time.
|
1417
|
+
</summary>
|
1418
|
+
<param name="e">The event args</param>
|
1419
|
+
</member>
|
1368
1420
|
<member name="T:SIMULTAN.UI.Controls.DebugControl">
|
1369
1421
|
<summary>
|
1370
1422
|
Control for debugging when a control is loaded
|
@@ -14018,6 +14070,11 @@
|
|
14018
14070
|
<param name="viewModel">ViewModel for the widget</param>
|
14019
14071
|
<param name="dataTemplate">DataTemplate for the widget</param>
|
14020
14072
|
</member>
|
14073
|
+
<member name="E:SIMULTAN.UI.Services.IGeometryViewerInstance.Closed">
|
14074
|
+
<summary>
|
14075
|
+
Invoked when the GeometryViewer window got closed
|
14076
|
+
</summary>
|
14077
|
+
</member>
|
14021
14078
|
<member name="T:SIMULTAN.UI.Services.OpenMode">
|
14022
14079
|
<summary>
|
14023
14080
|
Defines how a geometry model is opened
|
Binary file
|