Add app icon, product name/version, and document them
- New app.ico (from the Cevolani favicon, background made transparent and cropped tighter to the logo so it stays legible at 16/24px), wired up via ApplicationIcon in the csproj and re-read at runtime for the window icon. - Named the product "Cevolani StepPrep" and set Version=0.1.0 in the csproj; shown in the window title. The CadSearchGui folder/namespace/csproj keep their technical name, only the product-facing name changed. - Updated CLAUDE.md, README.md and docs/architettura.md to reflect the product name/version, UiStile.cs, app.ico, and that this app is a pre-process step ahead of Creo Distributed Batch. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
ba18d682f3
commit
6726dd2216
6 files changed
+62
-12
No files matched your search
@@ -4,10 +4,15 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
|||||||
|
|
||||||
## Cos'è questo progetto
|
## Cos'è questo progetto
|
||||||
|
|
||||||
`CadSearchGui` è un'app Windows Forms (.NET 10, WinForms) che indicizza e permette di
|
`CadSearchGui` è il nome tecnico del progetto (cartella, namespace, csproj); il nome del
|
||||||
|
programma per l'utente finale è **Cevolani StepPrep** (versione in `<Version>` dentro
|
||||||
|
`CadSearchGui/CadSearchGui.csproj`, attualmente `0.1.0` — mostrata anche nel titolo della
|
||||||
|
finestra). È un'app Windows Forms (.NET 10, WinForms) che indicizza e permette di
|
||||||
cercare i file CAD Pro-ENGINEER/Creo contenuti in tutte le cartelle di primo livello
|
cercare i file CAD Pro-ENGINEER/Creo contenuti in tutte le cartelle di primo livello
|
||||||
di un disco/share di rete (radice di default `X:\`), salvando i metadati in un DB
|
di un disco/share di rete (radice di default `X:\`), salvando i metadati in un DB
|
||||||
SQLite locale (`cad_index.db`).
|
SQLite locale (`cad_index.db`). Il flusso a valle (fasi 2-5, vedi sotto) prepara i file
|
||||||
|
`raw/` da passare a Creo Distributed Batch per l'esportazione STEP: la app è quindi un
|
||||||
|
pre-processo per quel passaggio, non lo sostituisce.
|
||||||
|
|
||||||
## Comandi
|
## Comandi
|
||||||
|
|
||||||
@@ -90,6 +95,14 @@ entrambi rimossi: ora l'unico programma è questo, con GUI e indicizzazione inte
|
|||||||
di progresso, conteggi nuovi/aggiornati/invariati/rimossi, tempo trascorso e stima
|
di progresso, conteggi nuovi/aggiornati/invariati/rimossi, tempo trascorso e stima
|
||||||
del tempo rimanente (calcolata dal ritmo file/secondo rispetto al totale atteso,
|
del tempo rimanente (calcolata dal ritmo file/secondo rispetto al totale atteso,
|
||||||
preso dal conteggio della scansione precedente salvato nel DB).
|
preso dal conteggio della scansione precedente salvato nel DB).
|
||||||
|
- **UiStile.cs** — stile bottoni condiviso da `Form1` e dai dialog secondari
|
||||||
|
(`Primario`/`Secondario`, entrambi `AutoSize` col padding invece di una `Size` fissa
|
||||||
|
in pixel, per evitare che il testo vada a capo e si tagli quando non ci sta) e
|
||||||
|
`Arrotonda` per gli angoli dei bottoni "Avanti"/"Indietro" del wizard.
|
||||||
|
- **app.ico** — icona dell'app (logo Cevolani + pezzo + STEP, sfondo trasparente),
|
||||||
|
referenziata da `<ApplicationIcon>` in `CadSearchGui.csproj` e riletta a runtime in
|
||||||
|
`Form1.BuildUi()` via `Icon.ExtractAssociatedIcon(Application.ExecutablePath)` per
|
||||||
|
la titlebar (stessa icona dell'exe, nessun file duplicato nell'output).
|
||||||
|
|
||||||
### Schema del DB (`cad_index.db`)
|
### Schema del DB (`cad_index.db`)
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,11 @@
|
|||||||
<UseWindowsForms>true</UseWindowsForms>
|
<UseWindowsForms>true</UseWindowsForms>
|
||||||
<ImplicitUsings>enable</ImplicitUsings>
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
|
<ApplicationHighDpiMode>PerMonitorV2</ApplicationHighDpiMode>
|
||||||
|
<ApplicationIcon>app.ico</ApplicationIcon>
|
||||||
|
<AssemblyTitle>Cevolani StepPrep</AssemblyTitle>
|
||||||
|
<Product>Cevolani StepPrep</Product>
|
||||||
|
<Company>Cevolani</Company>
|
||||||
|
<Version>0.1.0</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
+13
-1
@@ -75,9 +75,21 @@ public partial class Form1 : Form
|
|||||||
private void BuildUi()
|
private void BuildUi()
|
||||||
{
|
{
|
||||||
AllowDrop = true;
|
AllowDrop = true;
|
||||||
Text = "Distinta Base -> CSV con percorsi CAD";
|
// Versione letta dall'assembly (<Version> nel csproj) invece che duplicata qui a mano.
|
||||||
|
var versione = typeof(Form1).Assembly.GetName().Version;
|
||||||
|
Text = $"Cevolani StepPrep {versione?.ToString(3)} — Distinta Base -> CSV con percorsi CAD";
|
||||||
MinimumSize = new Size(760, 480);
|
MinimumSize = new Size(760, 480);
|
||||||
Font = new Font("Segoe UI", 9.5f);
|
Font = new Font("Segoe UI", 9.5f);
|
||||||
|
// Stessa icona di ApplicationIcon nel csproj: la si rilegge dall'exe compilato invece
|
||||||
|
// di duplicare il file .ico come Content, funziona identica in Debug/Release/publish.
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
|
||||||
|
}
|
||||||
|
catch (Exception ex) when (ex is IOException or ArgumentException)
|
||||||
|
{
|
||||||
|
// ponytail: nessuna icona nell'exe (es. lanciato da dotnet run) -> resta quella di default
|
||||||
|
}
|
||||||
|
|
||||||
var headerPanel = new Panel { Dock = DockStyle.Top, Height = 40, BackColor = SystemColors.ControlLight };
|
var headerPanel = new Panel { Dock = DockStyle.Top, Height = 40, BackColor = SystemColors.ControlLight };
|
||||||
_lblFase.Dock = DockStyle.Fill;
|
_lblFase.Dock = DockStyle.Fill;
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
@@ -1,9 +1,11 @@
|
|||||||
# CadSearchGui
|
# Cevolani StepPrep
|
||||||
|
|
||||||
App Windows Forms (.NET 10) per indicizzare, cercare e recuperare i file CAD
|
App Windows Forms (.NET 10, progetto `CadSearchGui`) per indicizzare, cercare e
|
||||||
Pro-ENGINEER/Creo di un disco/share di rete, e per trasformare l'estrazione
|
recuperare i file CAD Pro-ENGINEER/Creo di un disco/share di rete, e per trasformare
|
||||||
"Distinta Base" del gestionale (file `.xls`/`.xml`) in un CSV con il percorso
|
l'estrazione "Distinta Base" del gestionale (file `.xls`/`.xml`) in un CSV con il
|
||||||
CAD di ogni componente.
|
percorso CAD di ogni componente, fino a raccogliere in `raw/` tutto il necessario per
|
||||||
|
l'esportazione STEP con **Creo Distributed Batch**: è un pre-processo per quel
|
||||||
|
passaggio, non lo sostituisce.
|
||||||
|
|
||||||
## Funzionalità
|
## Funzionalità
|
||||||
|
|
||||||
|
|||||||
+22
-4
@@ -1,8 +1,11 @@
|
|||||||
# Architettura di CadSearchGui
|
# Architettura di CadSearchGui (Cevolani StepPrep)
|
||||||
|
|
||||||
Panoramica di tutti i file sorgente e di come collaborano. Per il "come si usa" vedi il
|
Panoramica di tutti i file sorgente e di come collaborano. `CadSearchGui` è il nome
|
||||||
`README.md` in root; per il formato binario `.asm` vedi `docs/formato-asm.md`; per la
|
tecnico del progetto; **Cevolani StepPrep** è il nome del programma per l'utente
|
||||||
parallelizzazione della copia in `raw/` vedi `docs/copia-raw-parallela.md`.
|
finale (titolo finestra, icona, versione — vedi `<Version>`/`<Product>` in
|
||||||
|
`CadSearchGui.csproj`). Per il "come si usa" vedi il `README.md` in root; per il
|
||||||
|
formato binario `.asm` vedi `docs/formato-asm.md`; per la parallelizzazione della
|
||||||
|
copia in `raw/` vedi `docs/copia-raw-parallela.md`.
|
||||||
|
|
||||||
## Vista d'insieme
|
## Vista d'insieme
|
||||||
|
|
||||||
@@ -96,6 +99,21 @@ Distinta (.xls/.xml) → CSV (componente;descrizione) → raw/ (CAD copiati
|
|||||||
salvato nel DB).
|
salvato nel DB).
|
||||||
- **ProgressoComponentiForm.cs** — dialog minimale (etichetta + barra) durante
|
- **ProgressoComponentiForm.cs** — dialog minimale (etichetta + barra) durante
|
||||||
`RisolviAlberoComponenti` in fase 4.
|
`RisolviAlberoComponenti` in fase 4.
|
||||||
|
|
||||||
|
## Stile UI condiviso
|
||||||
|
|
||||||
|
- **UiStile.cs** — `Primario`/`Secondario`: stile piatto per i bottoni (bordo sottile
|
||||||
|
per i secondari, blu pieno per l'azione principale di ogni fase), entrambi con
|
||||||
|
`AutoSize`+`Padding`+`MinimumSize` invece di una `Size` fissa in pixel indovinata a
|
||||||
|
mano (altrimenti il testo va a capo e si taglia in verticale se non ci sta nella
|
||||||
|
larghezza scelta). `Arrotonda` applica angoli arrotondati via `Region` calcolata su
|
||||||
|
`SizeChanged` (non una volta sola: con `AutoSize` la dimensione finale del bottone si
|
||||||
|
conosce solo a layout avvenuto), usata sui bottoni "Avanti"/"Indietro" del wizard.
|
||||||
|
- **app.ico** — icona dell'app, referenziata da `<ApplicationIcon>` nel csproj (icona
|
||||||
|
dell'exe in Esplora risorse/taskbar) e riletta esplicitamente in `Form1.BuildUi()`
|
||||||
|
con `Icon.ExtractAssociatedIcon(Application.ExecutablePath)` per la titlebar, senza
|
||||||
|
copiare il file `.ico` nell'output. Sfondo trasparente (nessuna card bianca), 7
|
||||||
|
risoluzioni da 16 a 256px.
|
||||||
- **PrtMancantiForm.cs** — esito della risoluzione ricorsiva dell'albero componenti: PRT e
|
- **PrtMancantiForm.cs** — esito della risoluzione ricorsiva dell'albero componenti: PRT e
|
||||||
sotto-assiemi trovati e copiati in `raw/`, più i codici referenziati che non corrispondono a
|
sotto-assiemi trovati e copiati in `raw/`, più i codici referenziati che non corrispondono a
|
||||||
nessun file indicizzato (possono essere disegni, componenti davvero mancanti, o falsi
|
nessun file indicizzato (possono essere disegni, componenti davvero mancanti, o falsi
|
||||||
|
|||||||
Reference in new issue
Block a user