Files
prep-step/PrepStep/GuidaForm.cs
T
davideandClaude Sonnet 5 3e9c78074c Sposta 'Pulisci raw e step' e 'Cambia cartella' nel menu File, rinomina 'Nuovo'
Fase 1 (Database) aveva 4 bottoni tutti sullo stesso piano visivo: due
configurano il DB, gli altri due (cambio cartella di lavoro, pulizia
raw/step) sono azioni occasionali di manutenzione, non passi del wizard.
Spostate in File → "Scegli cartella di lavoro..." e "Pulisci raw e
step...", raggiungibili in qualunque momento invece che solo dalla fase 1.

"File → Nuova estrazione" diventa "Nuovo"; corretto anche un bug per cui
InizializzaCartellaLavoro non richiamava AggiornaStatoAvanti, lasciando
"Avanti" disabilitato in fase 1 finché non si toccava un altro controllo
anche a DB e cartella già caricati all'avvio.

Doc aggiornati nello stesso commit: CLAUDE.md, docs/architettura.md,
GuidaForm.cs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 14:44:27 +02:00

93 lines
3.8 KiB
C#

namespace PrepStep;
/// <summary>Guida interattiva richiamabile da "Aiuto ▸ Guida" (F1): sintesi delle 5 fasi del
/// wizard, per chi apre l'app senza aver letto i docs. Il dettaglio completo (formato .asm,
/// schema DB, ecc.) resta solo in docs/architettura.md e affini, per non duplicarlo qui.</summary>
public class GuidaForm : Form
{
private static readonly (string Titolo, string Testo)[] Sezioni =
{
("Panoramica", """
Cevolani StepPrep prepara i file CAD Pro-ENGINEER/Creo da passare a Creo
Distributed Batch per l'esportazione STEP: indicizza i file di una share di
rete e guida attraverso 5 fasi, una alla volta, con "Avanti"/"Indietro".
"File ▸ Nuovo" (Ctrl+N) azzera distinta/raw/verifica per
ripartire con una nuova distinta base, senza dover ricaricare il database.
"""),
("1. Database", """
Carica o aggiorna l'indice "cad_index.db" a partire dalle cartelle di primo
livello del disco/share (radice di default X:\). Mostra anche la cartella di
lavoro corrente, dove finiscono CSV, "raw" e "step" (cambiabile da
"File ▸ Scegli cartella di lavoro...").
"""),
("2. Importa Distinta Base", """
Converte il file della distinta (trascinabile nella finestra) in un CSV
componente;descrizione nella cartella di lavoro. Se il file segue la
convenzione del gestionale, aggiunge anche l'assieme generale come riga.
"""),
("3. Crea cartella raw", """
Cerca nell'indice i file CAD dei componenti del CSV e li copia nella
sottocartella "raw" della cartella di lavoro.
"""),
("4. Trova componenti referenziati", """
Legge i file .asm già in "raw" per risolvere ricorsivamente sotto-assiemi e
parti citate, copiando anche quelli in "raw": componenti soppressi (non in
distinta ma necessari per aprire l'assieme) e riferimenti esterni (assembly
feature, datum copiati) inclusi.
"""),
("5. Verifica completezza", """
Mostra i file .asm della distinta già in "raw", trascinabili su Creo per
l'esportazione STEP (passo manuale, fuori da quest'app). "Verifica
completezza assiemi" controlla che tutti i sotto-componenti risultino
presenti nell'indice.
"""),
};
public GuidaForm()
{
Text = "Guida";
ClientSize = new Size(640, 420);
MinimumSize = new Size(480, 320);
StartPosition = FormStartPosition.CenterParent;
Font = new Font("Segoe UI", 9.5f);
var lista = new ListBox
{
Dock = DockStyle.Left,
Width = 200,
IntegralHeight = false,
BorderStyle = BorderStyle.None,
};
foreach (var (titolo, _) in Sezioni)
lista.Items.Add(titolo);
var testo = new RichTextBox
{
Dock = DockStyle.Fill,
ReadOnly = true,
BorderStyle = BorderStyle.None,
BackColor = Color.White,
Font = new Font(Font.FontFamily, 10f),
};
lista.SelectedIndexChanged += (_, _) =>
{
if (lista.SelectedIndex >= 0)
testo.Text = Sezioni[lista.SelectedIndex].Testo.Trim();
};
var btnChiudi = new Button { Text = "Chiudi", Dock = DockStyle.Bottom, Height = 34 };
UiStile.Secondario(btnChiudi);
btnChiudi.Click += (_, _) => Close();
var contenuto = new Panel { Dock = DockStyle.Fill, Padding = new Padding(16) };
contenuto.Controls.Add(testo);
Controls.Add(contenuto);
Controls.Add(lista);
Controls.Add(btnChiudi);
lista.SelectedIndex = 0;
}
}