Files
prep-step/PrepStep/GuidaForm.cs
T

95 lines
4.0 KiB
C#
Raw Normal View History

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:\). Un pallino verde/rosso indica
se un database è caricato. La cartella di lavoro, dove finiscono CSV, "raw" e
"step", si cambia da "File ▸ Scegli cartella di lavoro...".
"""),
("2. Importa Distinta Base", """
Converte il file della distinta (trascinabile nella finestra, o scelto col
bottone "1. Carica la distinta") in un CSV componente;descrizione nella cartella
di lavoro. Se il file segue la convenzione del gestionale, aggiunge anche
l'assieme generale come riga. Poi "2. Verifica la presenza dei file sul server"
cerca i componenti nell'indice: è questo passo, non il solo import, a sbloccare
"Avanti".
"""),
("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;
}
}