New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

ogl

Package Overview
Dependencies
Maintainers
1
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ogl - pypi Package Compare versions

Comparing version
3.0.0
to
3.1.0
+5
-5
PKG-INFO
Metadata-Version: 2.1
Name: ogl
Version: 3.0.0
Version: 3.1.0
Summary: External Pyut Graphical Shapes

@@ -12,6 +12,6 @@ Author-email: "Humberto A. Sanchez II" <Humbert.A.Sanchez.II@gmail.com>

License-File: LICENSE
Requires-Dist: wxPython~=4.2.1
Requires-Dist: codeallybasic>=1.3.2
Requires-Dist: codeallyadvanced>=1.3.1
Requires-Dist: pyutmodelv2>=2.1.6
Requires-Dist: wxPython~=4.2.2
Requires-Dist: codeallybasic>=1.7.0
Requires-Dist: codeallyadvanced>=1.3.2
Requires-Dist: pyutmodelv2>=2.2.0

@@ -18,0 +18,0 @@ ![](https://github.com/hasii2011/code-ally-basic/blob/master/developer/agpl-license-web-badge-version-2-256x48.png "AGPL")

@@ -16,6 +16,6 @@ [build-system]

dependencies = [
'wxPython~=4.2.1',
'codeallybasic>=1.3.2',
'codeallyadvanced>=1.3.1',
'pyutmodelv2>=2.1.6',
'wxPython~=4.2.2',
'codeallybasic>=1.7.0',
'codeallyadvanced>=1.3.2',
'pyutmodelv2>=2.2.0',
]

@@ -22,0 +22,0 @@

@@ -697,3 +697,3 @@

#
if self._prefs.backgroundGridEnabled is True:
if self._prefs.backGroundGridEnabled is True:
self._drawGrid(memDC=mem, width=w, height=h, startX=x, startY=y)

@@ -700,0 +700,0 @@ self.Redraw(mem)

Metadata-Version: 2.1
Name: ogl
Version: 3.0.0
Version: 3.1.0
Summary: External Pyut Graphical Shapes

@@ -12,6 +12,6 @@ Author-email: "Humberto A. Sanchez II" <Humbert.A.Sanchez.II@gmail.com>

License-File: LICENSE
Requires-Dist: wxPython~=4.2.1
Requires-Dist: codeallybasic>=1.3.2
Requires-Dist: codeallyadvanced>=1.3.1
Requires-Dist: pyutmodelv2>=2.1.6
Requires-Dist: wxPython~=4.2.2
Requires-Dist: codeallybasic>=1.7.0
Requires-Dist: codeallyadvanced>=1.3.2
Requires-Dist: pyutmodelv2>=2.2.0

@@ -18,0 +18,0 @@ ![](https://github.com/hasii2011/code-ally-basic/blob/master/developer/agpl-license-web-badge-version-2-256x48.png "AGPL")

@@ -1,4 +0,4 @@

wxPython~=4.2.1
codeallybasic>=1.3.2
codeallyadvanced>=1.3.1
pyutmodelv2>=2.1.6
wxPython~=4.2.2
codeallybasic>=1.7.0
codeallyadvanced>=1.3.2
pyutmodelv2>=2.2.0

@@ -1,1 +0,1 @@

__version__ = '3.0.0'
__version__ = '3.1.0'

@@ -51,3 +51,3 @@

clsDiamondSize: int = OglPreferences().associationDiamondSize
clsDiamondSize: int = OglPreferences().diamondSize
"""

@@ -54,0 +54,0 @@ Graphical link representation of an association, (simple line, no arrow).

@@ -101,3 +101,3 @@

oglBackgroundColor: MiniOglColorEnum = self._oglPreferences.classBackgroundColor
oglBackgroundColor: MiniOglColorEnum = self._oglPreferences.classBackGroundColor
backgroundColor: Colour = Colour(MiniOglColorEnum.toWxColor(oglBackgroundColor))

@@ -148,4 +148,3 @@

# Draw rectangle shape
OglObject.Draw(self, dc)
super().Draw(dc)
# drawing is restricted in the specified region of the device

@@ -176,2 +175,4 @@ w, h = self._width, self._height

y = methodsY + methodsH
if methodsW > self._width:
self._width = methodsW

@@ -403,3 +404,3 @@ dc.DestroyClippingRegion()

Calculate the class methods position and size and display it if
a draw is True
a showMethods is True

@@ -438,3 +439,8 @@ Args:

self._drawMethod(dc, method, pyutClass, x, y, h)
w = max(w, self.GetTextWidth(dc, str(method)))
pyutMethod: PyutMethod = cast(PyutMethod, method)
if pyutClass.displayParameters == PyutDisplayParameters.WITH_PARAMETERS or self._oglPreferences.showParameters is True:
w = max(w, self.GetTextWidth(dc, str(pyutMethod.methodWithParameters())))
else:
w = max(w, self.GetTextWidth(dc, str(pyutMethod.methodWithoutParameters())))
h += self.GetTextHeight(dc, str(method))

@@ -441,0 +447,0 @@

@@ -14,1 +14,5 @@

TELETYPE = 'Teletype'
@classmethod
def deSerialize(cls, value: str) -> 'OglTextFontFamily':
return OglTextFontFamily(value)
from pathlib import Path
from typing import Dict
from typing import List
from logging import Logger
from logging import getLogger
from configparser import ConfigParser
from codeallybasic.SecureConversions import SecureConversions
from codeallybasic.SingletonV3 import SingletonV3
from codeallybasic.ConfigurationLocator import ConfigurationLocator

@@ -20,520 +14,93 @@ from miniogl.MiniOglColorEnum import MiniOglColorEnum

OGL_PREFS_NAME_VALUES = Dict[str, str]
from codeallybasic.DynamicConfiguration import DynamicConfiguration
from codeallybasic.DynamicConfiguration import KeyName
from codeallybasic.DynamicConfiguration import SectionName
from codeallybasic.DynamicConfiguration import Sections
from codeallybasic.DynamicConfiguration import ValueDescription
from codeallybasic.DynamicConfiguration import ValueDescriptions
MODULE_NAME: str = 'ogl'
PREFERENCES_FILE_NAME: str = f'{MODULE_NAME}.ini'
class OglPreferences(metaclass=SingletonV3):
DEFAULT_CLASS_BACKGROUND_COLOR: str = MiniOglColorEnum.MINT_CREAM.value
DEFAULT_CLASS_TEXT_COLOR: str = MiniOglColorEnum.BLACK.value
DEFAULT_GRID_LINE_COLOR: str = MiniOglColorEnum.LIGHT_GREY.value
DEFAULT_GRID_LINE_STYLE: str = MiniOglPenStyle.DOT.value
MODULE_NAME: str = 'ogl'
PREFERENCES_FILENAME: str = f'{MODULE_NAME}.ini'
SECTION_OGL_PREFERENCES: str = 'Ogl'
SECTION_DIAGRAM: str = 'Diagram'
SECTION_NAMES: str = 'Names'
SECTION_SEQUENCE_DIAGRAM: str = 'SequenceDiagrams'
SECTION_ASSOCIATIONS: str = 'Associations'
SECTION_DEBUG: str = 'Debug'
SECTIONS: List[str] = [SECTION_OGL_PREFERENCES, SECTION_DIAGRAM, SECTION_NAMES, SECTION_SEQUENCE_DIAGRAM, SECTION_ASSOCIATIONS, SECTION_DEBUG]
NOTE_TEXT: str = 'note_text'
NOTE_DIMENSIONS: str = 'note_dimensions'
TEXT_DIMENSIONS: str = 'text_dimensions'
TEXT_BOLD: str = 'text_bold'
TEXT_ITALICIZE: str = 'text_italicize'
TEXT_FONT_FAMILY: str = 'text_font_family'
TEXT_FONT_SIZE: str = 'text_font_size'
TEXT_VALUE: str = 'text_value'
CLASS_DIMENSIONS: str = 'class_dimensions'
CLASS_BACKGROUND_COLOR: str = 'class_background_color'
CLASS_TEXT_COLOR: str = 'class_text_color'
DISPLAY_DUNDER_METHODS: str = 'display_dunder_methods'
DISPLAY_CONSTRUCTOR: str = 'display_constructor'
DEFAULT_CLASS_BACKGROUND_COLOR: str = MiniOglColorEnum.MINT_CREAM.value
DEFAULT_CLASS_TEXT_COLOR: str = MiniOglColorEnum.BLACK.value
# noinspection SpellCheckingInspection
OGL_PREFERENCES: OGL_PREFS_NAME_VALUES = {
NOTE_TEXT: 'This is the note text',
NOTE_DIMENSIONS: OglDimensions(100, 50).__str__(),
TEXT_DIMENSIONS: OglDimensions(125, 50).__str__(),
TEXT_BOLD: 'False',
TEXT_ITALICIZE: 'False',
TEXT_FONT_FAMILY: 'Swiss',
TEXT_FONT_SIZE: '14',
TEXT_VALUE: 'Donec eleifend luctus enim vel mollis',
CLASS_DIMENSIONS: OglDimensions(150, 75).__str__(),
CLASS_BACKGROUND_COLOR: DEFAULT_CLASS_BACKGROUND_COLOR,
CLASS_TEXT_COLOR: DEFAULT_CLASS_TEXT_COLOR,
DISPLAY_CONSTRUCTOR: 'True',
DISPLAY_DUNDER_METHODS: 'True',
oglProperties: ValueDescriptions = ValueDescriptions(
{
KeyName('textValue'): ValueDescription(defaultValue='fac America magna iterum'),
KeyName('noteText'): ValueDescription(defaultValue='This is the note text'),
KeyName('noteDimensions'): ValueDescription(defaultValue=str(OglDimensions(100, 50)), deserializer=OglDimensions.deSerialize),
KeyName('textDimensions'): ValueDescription(defaultValue=str(OglDimensions(125, 50)), deserializer=OglDimensions.deSerialize),
KeyName('textBold'): ValueDescription(defaultValue='False', deserializer=SecureConversions.secureBoolean),
KeyName('textItalicize'): ValueDescription(defaultValue='False', deserializer=SecureConversions.secureBoolean),
KeyName('textFontFamily'): ValueDescription(defaultValue='Swiss', deserializer=OglTextFontFamily.deSerialize),
KeyName('textFontSize'): ValueDescription(defaultValue='14', deserializer=SecureConversions.secureInteger),
KeyName('displayConstructor'): ValueDescription(defaultValue='True', deserializer=SecureConversions.secureBoolean),
KeyName('displayDunderMethods'): ValueDescription(defaultValue='True', deserializer=SecureConversions.secureBoolean),
KeyName('classDimensions'): ValueDescription(defaultValue=str(OglDimensions(150, 75)), deserializer=OglDimensions.deSerialize),
KeyName('classBackGroundColor'): ValueDescription(defaultValue=DEFAULT_CLASS_BACKGROUND_COLOR, enumUseValue=True, deserializer=MiniOglColorEnum),
KeyName('classTextColor'): ValueDescription(defaultValue=DEFAULT_CLASS_TEXT_COLOR, enumUseValue=True, deserializer=MiniOglColorEnum),
}
DEFAULT_GRID_LINE_COLOR: str = MiniOglColorEnum.LIGHT_GREY.value
DEFAULT_GRID_LINE_STYLE: str = MiniOglPenStyle.DOT.value
BACKGROUND_GRID_ENABLED: str = 'background_grid_enabled'
SNAP_TO_GRID: str = 'snap_to_grid'
BACKGROUND_GRID_INTERVAL: str = 'background_grid_interval'
GRID_LINE_COLOR: str = 'grid_line_color'
GRID_LINE_STYLE: str = 'grid_line_style'
CENTER_DIAGRAM: str = 'center_diagram'
SHOW_PARAMETERS: str = 'show_parameters'
DIAGRAM_PREFERENCES: OGL_PREFS_NAME_VALUES = {
CENTER_DIAGRAM: 'False',
BACKGROUND_GRID_ENABLED: 'True',
SNAP_TO_GRID: 'True',
SHOW_PARAMETERS: 'False',
BACKGROUND_GRID_INTERVAL: '25',
GRID_LINE_COLOR: DEFAULT_GRID_LINE_COLOR,
GRID_LINE_STYLE: DEFAULT_GRID_LINE_STYLE
)
diagramProperties: ValueDescriptions = ValueDescriptions(
{
KeyName('centerDiagram'): ValueDescription(defaultValue='False', deserializer=SecureConversions.secureBoolean),
KeyName('backGroundGridEnabled'): ValueDescription(defaultValue='True', deserializer=SecureConversions.secureBoolean),
KeyName('snapToGrid'): ValueDescription(defaultValue='True', deserializer=SecureConversions.secureBoolean),
KeyName('showParameters'): ValueDescription(defaultValue='False', deserializer=SecureConversions.secureBoolean),
KeyName('backgroundGridInterval'): ValueDescription(defaultValue='25', deserializer=SecureConversions.secureInteger),
KeyName('gridLineColor'): ValueDescription(defaultValue=DEFAULT_GRID_LINE_COLOR, enumUseValue=True, deserializer=MiniOglColorEnum),
KeyName('gridLineStyle'): ValueDescription(defaultValue=DEFAULT_GRID_LINE_STYLE, enumUseValue=True, deserializer=MiniOglPenStyle),
}
)
DEFAULT_CLASS_NAME: str = 'default_class_name'
DEFAULT_NAME_INTERFACE: str = 'default_name_interface'
DEFAULT_NAME_USECASE: str = 'default_name_usecase'
DEFAULT_NAME_ACTOR: str = 'default_name_actor'
DEFAULT_NAME_METHOD: str = 'default_name_method'
DEFAULT_NAME_FIELD: str = 'default_name_field'
DEFAULT_NAME_PARAMETER: str = 'default_name_parameter'
NAME_PREFERENCES: OGL_PREFS_NAME_VALUES = {
DEFAULT_CLASS_NAME: 'ClassName',
DEFAULT_NAME_INTERFACE: 'IClassInterface',
DEFAULT_NAME_USECASE: 'UseCaseName',
DEFAULT_NAME_ACTOR: 'ActorName',
DEFAULT_NAME_METHOD: 'MethodName',
DEFAULT_NAME_FIELD: 'FieldName',
DEFAULT_NAME_PARAMETER: 'ParameterName',
namePreferences: ValueDescriptions = ValueDescriptions(
{
KeyName('defaultClassName'): ValueDescription(defaultValue='ClassName'),
KeyName('defaultNameInterface'): ValueDescription(defaultValue='IClassInterface'),
KeyName('defaultNameUsecase'): ValueDescription(defaultValue='UseCaseName'),
KeyName('defaultNameActor'): ValueDescription(defaultValue='ActorName'),
KeyName('defaultNameMethod'): ValueDescription(defaultValue='MethodName'),
KeyName('defaultNameField'): ValueDescription(defaultValue='FieldName'),
KeyName('defaultNameParameter'): ValueDescription(defaultValue='ParameterName'),
}
INSTANCE_Y_POSITION: str = 'instance_y_position'
INSTANCE_DIMENSIONS: str = 'instance_dimensions'
SEQUENCE_DIAGRAM_PREFERENCES: OGL_PREFS_NAME_VALUES = {
INSTANCE_Y_POSITION: '50',
INSTANCE_DIMENSIONS: OglDimensions(100, 400).__str__(),
)
sequenceDiagramPreferences: ValueDescriptions = ValueDescriptions(
{
KeyName('instanceYPosition'): ValueDescription(defaultValue='50', deserializer=SecureConversions.secureInteger),
KeyName('instanceDimensions'): ValueDescription(defaultValue=str(OglDimensions(100, 400)), deserializer=OglDimensions.deSerialize)
}
)
associationsPreferences: ValueDescriptions = ValueDescriptions(
{
KeyName('associationTextFontSize'): ValueDescription(defaultValue='12', deserializer=SecureConversions.secureInteger),
KeyName('diamondSize'): ValueDescription(defaultValue='7', deserializer=SecureConversions.secureInteger),
}
)
debugPreferences: ValueDescriptions = ValueDescriptions(
{
KeyName('debugDiagramFrame'): ValueDescription(defaultValue='False', deserializer=SecureConversions.secureBoolean),
KeyName('debugBasicShape'): ValueDescription(defaultValue='False', deserializer=SecureConversions.secureBoolean),
}
)
DIAMOND_SIZE: str = 'diamond_size'
ASSOCIATION_PREFERENCES: OGL_PREFS_NAME_VALUES = {
TEXT_FONT_SIZE: '12',
DIAMOND_SIZE: '7',
sections: Sections = Sections(
{
SectionName('Ogl'): oglProperties,
SectionName('Diagram'): diagramProperties,
SectionName('Names'): namePreferences,
SectionName('SequenceDiagrams'): sequenceDiagramPreferences,
SectionName('Associations'): associationsPreferences,
SectionName('Debug'): debugPreferences,
}
)
DEBUG_DIAGRAM_FRAME: str = 'debug_diagram_frame'
DEBUG_BASIC_SHAPE: str = 'debug_basic_shape' # If `True` turn on debug display code in basic Shape.py
DEBUG_PREFERENCES: OGL_PREFS_NAME_VALUES = {
DEBUG_DIAGRAM_FRAME: 'False',
DEBUG_BASIC_SHAPE: 'False',
}
class OglPreferences(DynamicConfiguration, metaclass=SingletonV3):
def __init__(self):
self._logger: Logger = getLogger(__name__)
self.logger: Logger = getLogger(__name__)
self._config: ConfigParser = ConfigParser()
cl: ConfigurationLocator = ConfigurationLocator()
self._preferencesFileName: Path = cl.applicationPath(f'{OglPreferences.MODULE_NAME}') / OglPreferences.PREFERENCES_FILENAME
self._loadPreferences()
@property
def noteText(self) -> str:
return self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.NOTE_TEXT)
@noteText.setter
def noteText(self, theNewValue: str):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.NOTE_TEXT, theNewValue)
self._saveConfig()
@property
def noteDimensions(self) -> OglDimensions:
serializedDimensions: str = self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.NOTE_DIMENSIONS)
return OglDimensions.deSerialize(serializedDimensions)
@noteDimensions.setter
def noteDimensions(self, newValue: OglDimensions):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.NOTE_DIMENSIONS, newValue.__str__())
self._saveConfig()
@property
def textDimensions(self) -> OglDimensions:
serializedDimensions: str = self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_DIMENSIONS)
return OglDimensions.deSerialize(serializedDimensions)
@textDimensions.setter
def textDimensions(self, newValue: OglDimensions):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_DIMENSIONS, newValue.__str__())
self._saveConfig()
@property
def textBold(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_BOLD)
@textBold.setter
def textBold(self, newValue: bool):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_BOLD, str(newValue))
self._saveConfig()
@property
def textItalicize(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_ITALICIZE)
@textItalicize.setter
def textItalicize(self, newValue: bool):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_ITALICIZE, str(newValue))
self._saveConfig()
@property
def textFontFamily(self) -> OglTextFontFamily:
"""
Returns: The Text Font Family
"""
fontStr: str = self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_FONT_FAMILY)
fontEnum: OglTextFontFamily = OglTextFontFamily(fontStr)
return fontEnum
@textFontFamily.setter
def textFontFamily(self, newValue: OglTextFontFamily):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_FONT_FAMILY, newValue.value)
self._saveConfig()
@property
def textFontSize(self) -> int:
return self._config.getint(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_FONT_SIZE)
@textFontSize.setter
def textFontSize(self, newValue: int):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_FONT_SIZE, str(newValue))
self._saveConfig()
@property
def textValue(self) -> str:
return self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_VALUE)
@textValue.setter
def textValue(self, newValue: str):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.TEXT_VALUE, newValue)
self._saveConfig()
@property
def classDimensions(self) -> OglDimensions:
serializedDimensions: str = self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.CLASS_DIMENSIONS)
return OglDimensions.deSerialize(serializedDimensions)
@classDimensions.setter
def classDimensions(self, newValue: OglDimensions):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.CLASS_DIMENSIONS, newValue.__str__())
self._saveConfig()
@property
def classBackgroundColor(self) -> MiniOglColorEnum:
colorName: str = self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.CLASS_BACKGROUND_COLOR)
pyutColorEnum: MiniOglColorEnum = MiniOglColorEnum(colorName)
return pyutColorEnum
@classBackgroundColor.setter
def classBackgroundColor(self, newValue: MiniOglColorEnum):
colorName: str = newValue.value
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.CLASS_BACKGROUND_COLOR, colorName)
self._saveConfig()
@property
def classTextColor(self) -> MiniOglColorEnum:
colorName: str = self._config.get(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.CLASS_TEXT_COLOR)
pyutColorEnum: MiniOglColorEnum = MiniOglColorEnum(colorName)
return pyutColorEnum
@classTextColor.setter
def classTextColor(self, newValue: MiniOglColorEnum):
colorName: str = newValue.value
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.CLASS_TEXT_COLOR, colorName)
self._saveConfig()
@property
def displayDunderMethods(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.DISPLAY_DUNDER_METHODS)
@displayDunderMethods.setter
def displayDunderMethods(self, newValue: bool):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.DISPLAY_DUNDER_METHODS, str(newValue))
self._saveConfig()
@property
def displayConstructor(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.DISPLAY_CONSTRUCTOR)
@displayConstructor.setter
def displayConstructor(self, newValue: bool):
self._config.set(OglPreferences.SECTION_OGL_PREFERENCES, OglPreferences.DISPLAY_CONSTRUCTOR, str(newValue))
self._saveConfig()
@property
def className(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_CLASS_NAME)
@className.setter
def className(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_CLASS_NAME, str(newValue))
self._saveConfig()
@property
def interfaceName(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_INTERFACE)
@interfaceName.setter
def interfaceName(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_INTERFACE, newValue)
self._saveConfig()
@property
def useCaseName(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_USECASE)
@useCaseName.setter
def useCaseName(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_USECASE, newValue)
self._saveConfig()
@property
def actorName(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_ACTOR)
@actorName.setter
def actorName(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_ACTOR, newValue)
self._saveConfig()
@property
def methodName(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_METHOD)
@methodName.setter
def methodName(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_METHOD, newValue)
self._saveConfig()
@property
def fieldName(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_FIELD)
@fieldName.setter
def fieldName(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_FIELD, newValue)
self._saveConfig()
@property
def parameterName(self) -> str:
return self._config.get(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_PARAMETER)
@parameterName.setter
def parameterName(self, newValue: str):
self._config.set(OglPreferences.SECTION_NAMES, OglPreferences.DEFAULT_NAME_PARAMETER, newValue)
self._saveConfig()
@property
def centerDiagram(self):
centerDiagram: bool = self._config.getboolean(OglPreferences.SECTION_DIAGRAM, OglPreferences.CENTER_DIAGRAM)
return centerDiagram
@centerDiagram.setter
def centerDiagram(self, theNewValue: bool):
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.CENTER_DIAGRAM, str(theNewValue))
self._saveConfig()
@property
def backgroundGridEnabled(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_DIAGRAM, OglPreferences.BACKGROUND_GRID_ENABLED)
@backgroundGridEnabled.setter
def backgroundGridEnabled(self, theNewValue: bool):
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.BACKGROUND_GRID_ENABLED, str(theNewValue))
self._saveConfig()
@property
def snapToGrid(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_DIAGRAM, OglPreferences.SNAP_TO_GRID)
@snapToGrid.setter
def snapToGrid(self, theNewValue: bool):
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.SNAP_TO_GRID, str(theNewValue))
self._saveConfig()
@property
def backgroundGridInterval(self) -> int:
return self._config.getint(OglPreferences.SECTION_DIAGRAM, OglPreferences.BACKGROUND_GRID_INTERVAL)
@backgroundGridInterval.setter
def backgroundGridInterval(self, theNewValue: int):
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.BACKGROUND_GRID_INTERVAL, str(theNewValue))
self._saveConfig()
@property
def showParameters(self) -> bool:
return self._config.getboolean(OglPreferences.SECTION_DIAGRAM, OglPreferences.SHOW_PARAMETERS)
@showParameters.setter
def showParameters(self, theNewValue: bool):
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.SHOW_PARAMETERS, str(theNewValue))
self._saveConfig()
@property
def gridLineColor(self) -> MiniOglColorEnum:
colorName: str = self._config.get(OglPreferences.SECTION_DIAGRAM, OglPreferences.GRID_LINE_COLOR)
pyutColorEnum: MiniOglColorEnum = MiniOglColorEnum(colorName)
return pyutColorEnum
@gridLineColor.setter
def gridLineColor(self, theNewValue: MiniOglColorEnum):
colorName: str = theNewValue.value
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.GRID_LINE_COLOR, colorName)
self._saveConfig()
@property
def gridLineStyle(self) -> MiniOglPenStyle:
penStyleName: str = self._config.get(OglPreferences.SECTION_DIAGRAM, OglPreferences.GRID_LINE_STYLE)
pyutPenStyle: MiniOglPenStyle = MiniOglPenStyle(penStyleName)
return pyutPenStyle
@gridLineStyle.setter
def gridLineStyle(self, theNewValue: MiniOglPenStyle):
penStyleName: str = theNewValue.value
self._config.set(OglPreferences.SECTION_DIAGRAM, OglPreferences.GRID_LINE_STYLE, penStyleName)
self._saveConfig()
@property
def instanceYPosition(self) -> int:
return self._config.getint(OglPreferences.SECTION_SEQUENCE_DIAGRAM, OglPreferences.INSTANCE_Y_POSITION)
@instanceYPosition.setter
def instanceYPosition(self, newValue: int):
self._config.set(OglPreferences.SECTION_SEQUENCE_DIAGRAM, OglPreferences.INSTANCE_Y_POSITION, str(newValue))
self._saveConfig()
@property
def instanceDimensions(self) -> OglDimensions:
serializedDimensions: str = self._config.get(OglPreferences.SECTION_SEQUENCE_DIAGRAM, OglPreferences.INSTANCE_DIMENSIONS)
return OglDimensions.deSerialize(serializedDimensions)
@instanceDimensions.setter
def instanceDimensions(self, newValue: OglDimensions):
self._config.set(OglPreferences.SECTION_SEQUENCE_DIAGRAM, OglPreferences.INSTANCE_DIMENSIONS, newValue.__str__())
self._saveConfig()
@property
def associationDiamondSize(self) -> int:
return self._config.getint(OglPreferences.SECTION_ASSOCIATIONS, OglPreferences.DIAMOND_SIZE)
@associationDiamondSize.setter
def associationDiamondSize(self, newValue: int):
self._config.set(OglPreferences.SECTION_ASSOCIATIONS, OglPreferences.DIAMOND_SIZE, str(newValue))
self._saveConfig()
@property
def associationTextFontSize(self) -> int:
return self._config.getint(OglPreferences.SECTION_ASSOCIATIONS, OglPreferences.TEXT_FONT_SIZE)
@associationTextFontSize.setter
def associationTextFontSize(self, newValue: int):
self._config.set(OglPreferences.SECTION_ASSOCIATIONS, OglPreferences.TEXT_FONT_SIZE, str(newValue))
self._saveConfig()
@property
def debugDiagramFrame(self) -> bool:
ans: bool = self._config.getboolean(OglPreferences.SECTION_DEBUG, OglPreferences.DEBUG_DIAGRAM_FRAME)
return ans
@debugDiagramFrame.setter
def debugDiagramFrame(self, theNewValue: bool):
self._config.set(OglPreferences.SECTION_DEBUG, OglPreferences.DEBUG_DIAGRAM_FRAME, str(theNewValue))
self._saveConfig()
@property
def debugBasicShape(self):
ans: bool = self._config.getboolean(OglPreferences.SECTION_DEBUG, OglPreferences.DEBUG_BASIC_SHAPE)
return ans
@debugBasicShape.setter
def debugBasicShape(self, theNewValue: bool):
self._config.set(OglPreferences.SECTION_DEBUG, OglPreferences.DEBUG_BASIC_SHAPE, str(theNewValue))
self._saveConfig()
def _loadPreferences(self):
self._ensurePreferenceFileExists()
# Read data
self._config.read(self._preferencesFileName)
self._addMissingPreferences()
self._saveConfig()
def _ensurePreferenceFileExists(self):
try:
f = open(self._preferencesFileName, "r")
f.close()
except (ValueError, Exception):
try:
f = open(self._preferencesFileName, "w")
f.write("")
f.close()
self.logger.warning(f'Preferences file re-created')
except (ValueError, Exception) as e:
self.logger.error(f"Error: {e}")
return
def _addMissingPreferences(self):
try:
self._addMissingSections()
# key: section name, value: section dictionary
preferenceSections: Dict[str, OGL_PREFS_NAME_VALUES] = {
OglPreferences.SECTION_OGL_PREFERENCES: OglPreferences.OGL_PREFERENCES,
OglPreferences.SECTION_DIAGRAM: OglPreferences.DIAGRAM_PREFERENCES,
OglPreferences.SECTION_NAMES: OglPreferences.NAME_PREFERENCES,
OglPreferences.SECTION_SEQUENCE_DIAGRAM: OglPreferences.SEQUENCE_DIAGRAM_PREFERENCES,
OglPreferences.SECTION_ASSOCIATIONS: OglPreferences.ASSOCIATION_PREFERENCES,
OglPreferences.SECTION_DEBUG: OglPreferences.DEBUG_PREFERENCES,
}
# loop through each section dictionary
for sectionName in preferenceSections:
self.logger.debug(f'{sectionName}')
preferences: OGL_PREFS_NAME_VALUES = preferenceSections[sectionName]
self.logger.debug(f'{preferences}')
# Loop through each preference in the section dictionary
for preferenceName in preferences:
if self._config.has_option(sectionName, preferenceName) is False:
value: str = preferences[preferenceName]
self._addMissingPreference(sectionName=sectionName, preferenceName=preferenceName, value=value)
except (ValueError, Exception) as e:
self.logger.error(f"Error: {e}")
def _addMissingSections(self):
for sectionName in OglPreferences.SECTIONS:
if self._config.has_section(sectionName) is False:
self._config.add_section(sectionName)
def _addMissingPreference(self, sectionName: str, preferenceName: str, value: str):
self._config.set(sectionName, preferenceName, value)
self._saveConfig()
def _saveConfig(self):
"""
Save data to the preferences file
"""
with open(self._preferencesFileName, "w") as fd:
self._config.write(fd)
super().__init__(baseFileName=f'{PREFERENCES_FILE_NAME}', moduleName=MODULE_NAME, sections=sections)

@@ -116,3 +116,3 @@

self._enableBackgroundGrid.SetValue(self._preferences.backgroundGridEnabled)
self._enableBackgroundGrid.SetValue(self._preferences.backGroundGridEnabled)
self._snapToGrid.SetValue(self._preferences.snapToGrid)

@@ -232,3 +232,3 @@ self._centerDiagramView.SetValue(self._preferences.centerDiagram)

"""
if self._preferences.backgroundGridEnabled is True:
if self._preferences.backGroundGridEnabled is True:
self._snapToGrid.Enabled = True

@@ -235,0 +235,0 @@ else:

@@ -59,3 +59,3 @@

self._textFontSize.SetValue(str(self._preferences.associationTextFontSize))
self._diamondSize.SetValue(str(self._preferences.associationDiamondSize))
self._diamondSize.SetValue(str(self._preferences.diamondSize))

@@ -69,2 +69,1 @@ def _onTextFontSizedChanged(self, event: CommandEvent):

self._preferences.associationDiamondSize = int(newDiamondSize)

@@ -91,3 +91,3 @@

StaticText(nameSizedPanel, ID_ANY, 'Default Class Name:')
self._className = TextCtrl(nameSizedPanel, value=self._preferences.className, size=(160, -1))
self._className = TextCtrl(nameSizedPanel, value=self._preferences.defaultClassName, size=(160, -1))
self._className.SetSizerProps(proportion=1, expand=False)

@@ -128,3 +128,3 @@

oglColors: List[str] = self._classBackgroundColor.GetItems()
bgColorSelIdx: int = oglColors.index(self._preferences.classBackgroundColor.value)
bgColorSelIdx: int = oglColors.index(self._preferences.classBackGroundColor.value)
self._classBackgroundColor.SetSelection(bgColorSelIdx)

@@ -167,2 +167,2 @@

newValue: bool = event.IsChecked()
self._preferences.displayConstructor = newValue
self._preferences.displayConstructor = newValue

@@ -46,8 +46,8 @@ from typing import Callable

self._nameData: List[NameData] = [
NameData(label='Interface Name: ', callback=self._onInterfaceNameChanged, initialValue=p.interfaceName),
NameData(label='Use Case Name: ', callback=self._onUseCaseNameChanged, initialValue=p.useCaseName),
NameData(label='Actor Name: ', callback=self._onActorNameChanged, initialValue=p.actorName),
NameData(label='Method Name: ', callback=self._onMethodNameChanged, initialValue=p.methodName),
NameData(label='Field Name: ', callback=self._onFieldNameChanged, initialValue=p.fieldName),
NameData(label='Parameter Name: ', callback=self._onParameterNameChanged, initialValue=p.parameterName),
NameData(label='Interface Name: ', callback=self._onInterfaceNameChanged, initialValue=p.defaultNameInterface),
NameData(label='Use Case Name: ', callback=self._onUseCaseNameChanged, initialValue=p.defaultNameUsecase),
NameData(label='Actor Name: ', callback=self._onActorNameChanged, initialValue=p.defaultNameActor),
NameData(label='Method Name: ', callback=self._onMethodNameChanged, initialValue=p.defaultNameMethod),
NameData(label='Field Name: ', callback=self._onFieldNameChanged, initialValue=p.defaultNameField),
NameData(label='Parameter Name: ', callback=self._onParameterNameChanged, initialValue=p.defaultNameParameter),
]

@@ -54,0 +54,0 @@ for nd in self._nameData: