Skip to content

Commit

Permalink
Changed logic of invisible to a (forced) visibility field
Browse files Browse the repository at this point in the history
  • Loading branch information
jbtronics committed Dec 3, 2023
1 parent bc37d11 commit 7d69d6b
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 29 deletions.
14 changes: 7 additions & 7 deletions src/Entity/EDA/EDACategoryInfo.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ class EDACategoryInfo
#[Groups(['full', 'category:read', 'category:write'])]
private ?string $reference_prefix = null;

/** @var bool|null If this is true, then this part is invisible for the EDA software */
#[Column(type: Types::BOOLEAN, nullable: true)]
/** @var bool|null Visibility of this part to EDA software in trinary logic. True=Visible, False=Invisible, Null=Auto */
#[Column(name: 'invisible', type: Types::BOOLEAN, nullable: true)] //TODO: Rename column to visibility
#[Groups(['full', 'category:read', 'category:write'])]
private ?bool $invisible = null;
private ?bool $visibility = null;

/** @var bool|null If this is set to true, then this part will be excluded from the BOM */
#[Column(type: Types::BOOLEAN, nullable: true)]
Expand Down Expand Up @@ -74,14 +74,14 @@ public function setReferencePrefix(?string $reference_prefix): EDACategoryInfo
return $this;
}

public function getInvisible(): ?bool
public function getVisibility(): ?bool
{
return $this->invisible;
return $this->visibility;
}

public function setInvisible(?bool $invisible): EDACategoryInfo
public function setVisibility(?bool $visibility): EDACategoryInfo
{
$this->invisible = $invisible;
$this->visibility = $visibility;
return $this;
}

Expand Down
14 changes: 7 additions & 7 deletions src/Entity/EDA/EDAPartInfo.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,10 @@ class EDAPartInfo
#[Groups(['full', 'eda_info:read', 'eda_info:write'])]
private ?string $value = null;

/** @var bool|null If this is true, then this part is invisible for the EDA software */
#[Column(type: Types::BOOLEAN, nullable: true)]
/** @var bool|null Visibility of this part to EDA software in trinary logic. True=Visible, False=Invisible, Null=Auto */
#[Column(name: 'invisible', type: Types::BOOLEAN, nullable: true)] //TODO: Rename column to visibility
#[Groups(['full', 'eda_info:read', 'eda_info:write'])]
private ?bool $invisible = null;
private ?bool $visibility = null;

/** @var bool|null If this is set to true, then this part will be excluded from the BOM */
#[Column(type: Types::BOOLEAN, nullable: true)]
Expand Down Expand Up @@ -100,14 +100,14 @@ public function setValue(?string $value): EDAPartInfo
return $this;
}

public function getInvisible(): ?bool
public function getVisibility(): ?bool
{
return $this->invisible;
return $this->visibility;
}

public function setInvisible(?bool $invisible): EDAPartInfo
public function setVisibility(?bool $visibility): EDAPartInfo
{
$this->invisible = $invisible;
$this->visibility = $visibility;
return $this;
}

Expand Down
5 changes: 3 additions & 2 deletions src/Form/Part/EDA/EDACategoryInfoType.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
]
]
)
->add('invisible', TriStateCheckboxType::class, [
'label' => 'eda_info.invisible',
->add('visibility', TriStateCheckboxType::class, [
'help' => 'eda_info.visibility.help',
'label' => 'eda_info.visibility',
])
->add('exclude_from_bom', TriStateCheckboxType::class, [
'label' => 'eda_info.exclude_from_bom',
Expand Down
5 changes: 3 additions & 2 deletions src/Form/Part/EDA/EDAPartInfoType.php
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,9 @@ public function buildForm(FormBuilderInterface $builder, array $options): void
'placeholder' => t('eda_info.value.placeholder'),
]
])
->add('invisible', TriStateCheckboxType::class, [
'label' => 'eda_info.invisible',
->add('visibility', TriStateCheckboxType::class, [
'help' => 'eda_info.visibility.help',
'label' => 'eda_info.visibility',
])
->add('exclude_from_bom', TriStateCheckboxType::class, [
'label' => 'eda_info.exclude_from_bom',
Expand Down
4 changes: 2 additions & 2 deletions src/Services/EDA/KiCadHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public function getCategories(): array
$result = [];
foreach ($categories as $category) {
//Skip invisible categories
if ($category->getEdaInfo()->getInvisible() ?? false) {
if ($category->getEdaInfo()->getVisibility() === false) {
continue;
}

Expand Down Expand Up @@ -146,7 +146,7 @@ function (ItemInterface $item) use ($category) {
$result = [];
foreach ($parts as $part) {
//If the part is invisible, then skip it
if ($part->getEdaInfo()->getInvisible() ?? $part->getCategory()?->getEdaInfo()->getInvisible() ?? false) {
if ($part->getEdaInfo()->getVisibility() === false || $part->getCategory()?->getEdaInfo()->getVisibility() === false) {
continue;
}

Expand Down
2 changes: 1 addition & 1 deletion templates/admin/category_admin.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@

<div class="row">
<div class="col-sm-9 offset-sm-3">
{{ form_row(form.eda_info.invisible) }}
{{ form_row(form.eda_info.visibility) }}
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion templates/parts/edit/_eda.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

<div class="row">
<div class="col-sm-9 offset-sm-3">
{{ form_row(form.eda_info.invisible) }}
{{ form_row(form.eda_info.visibility) }}
</div>
</div>

Expand Down
2 changes: 1 addition & 1 deletion templates/parts/info/_extended_infos.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
<br>
<b>{% trans %}eda_info.value{% endtrans %}:</b> {{ part.edaInfo.value }}
<br>
<b>{% trans %}eda_info.invisible{% endtrans %}:</b> {{ helper.boolean_badge( part.edaInfo.invisible ?? part.category.edaInfo.invisible ?? false) }}
<b>{% trans %}eda_info.visibility{% endtrans %}:</b> {{ helper.boolean_badge( part.edaInfo.visibility ?? part.category.edaInfo.visibility) }}
<br>
<b>{% trans %}eda_info.exclude_from_bom{% endtrans %}:</b> {{ helper.boolean_badge( part.edaInfo.excludeFromBom ?? part.category.edaInfo.excludeFromBom ?? false) }}
<br>
Expand Down
18 changes: 12 additions & 6 deletions translations/messages.en.xlf
Original file line number Diff line number Diff line change
Expand Up @@ -12107,12 +12107,6 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<target>e.g. 100n</target>
</segment>
</unit>
<unit id="Q8nJNWg" name="eda_info.invisible">
<segment>
<source>eda_info.invisible</source>
<target>Invisible to EDA software</target>
</segment>
</unit>
<unit id="VphdbQ9" name="eda_info.exclude_from_bom">
<segment>
<source>eda_info.exclude_from_bom</source>
Expand Down Expand Up @@ -12179,5 +12173,17 @@ Please note, that you can not impersonate a disabled user. If you try you will g
<target>KiCad API root URL</target>
</segment>
</unit>
<unit id="UXT_MIM" name="eda_info.visibility">
<segment>
<source>eda_info.visibility</source>
<target>Force visibility</target>
</segment>
</unit>
<unit id="NN5DZ4F" name="eda_info.visibility.help">
<segment>
<source>eda_info.visibility.help</source>
<target>By default, the visibility to the EDA software is automatically determined. With this checkbox, you can force the part to be visible or invisible.</target>
</segment>
</unit>
</file>
</xliff>

0 comments on commit 7d69d6b

Please sign in to comment.