PySimultan 0.5.9.7__py3-none-any.whl → 0.6.0.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. PySimultan2/CHANGELOG.md +7 -0
  2. PySimultan2/__about__.py +1 -1
  3. PySimultan2/data_model.py +3 -3
  4. PySimultan2/default_types.py +46 -8
  5. PySimultan2/files.py +1 -1
  6. PySimultan2/object_mapper.py +2 -0
  7. PySimultan2/resources/BruTile.dll +0 -0
  8. PySimultan2/resources/ComponentBuilder.dll +0 -0
  9. PySimultan2/resources/ComponentBuilder.xml +93 -15
  10. PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  11. PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  12. PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  13. PySimultan2/resources/HelixToolkit.dll +0 -0
  14. PySimultan2/resources/Python.Runtime.dll +0 -0
  15. PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  16. PySimultan2/resources/SIMULTAN.Lang.xml +62 -1
  17. PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  18. PySimultan2/resources/SIMULTAN.UI.xml +57 -0
  19. PySimultan2/resources/SIMULTAN.dll +0 -0
  20. PySimultan2/resources/SIMULTAN.xml +73 -3
  21. PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
  22. PySimultan2/resources/defaultsettings.xml +0 -0
  23. PySimultan2/simultan_object.py +6 -1
  24. PySimultan2/utils.py +9 -4
  25. {pysimultan-0.5.9.7.dist-info → pysimultan-0.6.0.2.dist-info}/METADATA +1 -1
  26. {pysimultan-0.5.9.7.dist-info → pysimultan-0.6.0.2.dist-info}/RECORD +28 -33
  27. PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
  28. PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -11
  29. PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
  30. PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -15
  31. PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  32. PySimultan2/resources/SIMULTAN.Plugins.xml +0 -396
  33. {pysimultan-0.5.9.7.dist-info → pysimultan-0.6.0.2.dist-info}/WHEEL +0 -0
  34. {pysimultan-0.5.9.7.dist-info → pysimultan-0.6.0.2.dist-info}/licenses/LICENSE.txt +0 -0
PySimultan2/CHANGELOG.md CHANGED
@@ -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
PySimultan2/__about__.py CHANGED
@@ -1 +1 @@
1
- version = '0.5.9.7'
1
+ version = '0.6.0.2'
PySimultan2/data_model.py CHANGED
@@ -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
- raise ValueError(f'Component {component.Id} already added to project {self.project_path}')
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, value: SimultanObject):
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.remove_subcomponent(value._wrapped_obj)
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
- self._update_slot_extensions(index)
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.add_subcomponent(value._wrapped_obj,
180
- slot_extension=str(i),
181
- slot=slot)
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._set_value(value, i)
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
 
PySimultan2/files.py CHANGED
@@ -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="pluginName">The name of the plugin</param>
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="P:ComponentBuilder.ViewNEW.Components.ContextDataMappingToolVM.IsDisposed">
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
- Viewmodel for the Taxonomies editor widget
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
@@ -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 &quot; 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 &quot;.
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 &quot;{0}&quot;. 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 Zip Archive.
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