Rilascia la 1.0.0: licenza, CHANGELOG e documentazione riallineata al codice
Versione portata a 1.0.0 (csproj, CLAUDE.md) e voce [1.0.0] nel CHANGELOG con tutto il lavoro dalla 0.9.0: setup per-utente, nuovo nome "PrepStep - Cevolani", DB fisso nella cartella di installazione, "Elimina CSV delle distinte", guide aggiornate. Nuova LICENSE proprietaria (Davide Grilli, tutti i diritti riservati), riportata anche in <Copyright> dell'exe e AppCopyright del setup. README: sequenza completa di comandi per generare il setup. Documentazione riallineata al codice dopo un controllo file per file: nomi delle fasi come nella UI, "File → Nuovo" che non cancella file, mappa dei file e test nel README, riferimenti ad AssiemeCompleto (non esiste più) e ruolo di CaricaCodiciNoti/CaricaCandidati in fase 4. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
4ae3d0e087
commit
5fac2edf52
12 files changed
+192
-80
No files matched your search
+43
-7
@@ -1,3 +1,5 @@
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
namespace PrepStep;
|
||||
|
||||
/// <summary>Guida interattiva richiamabile da "Aiuto ▸ Guida" (F1): stessa guida completa di
|
||||
@@ -35,7 +37,7 @@ public class GuidaForm : Form
|
||||
"PrepStep - Cevolani 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\".",
|
||||
NotaTesto: "\"File ▸ Nuovo\" (Ctrl+N) azzera distinta/raw/verifica per ripartire " +
|
||||
NotaTesto: "\"File ▸ Nuovo\" (Ctrl+N) azzera lo stato di distinta/raw/verifica per ripartire " +
|
||||
"con una nuova distinta base, senza dover ricaricare il database."),
|
||||
|
||||
new("Dove finiscono i file",
|
||||
@@ -158,9 +160,10 @@ public class GuidaForm : Form
|
||||
NotaAttenzione: true),
|
||||
|
||||
new("Ripartire da capo",
|
||||
"Quando devi processare un'altra distinta, usa \"File ▸ Nuovo\" (Ctrl+N): azzera " +
|
||||
"CSV, raw e verifica delle fasi 2-5 e riporta al passo 2, senza dover ricaricare " +
|
||||
"il database o la cartella di lavoro (restano quelli già impostati in fase 1).",
|
||||
"Quando devi processare un'altra distinta, usa \"File ▸ Nuovo\" (Ctrl+N): svuota " +
|
||||
"le griglie e la verifica delle fasi 2-5 e riporta al passo 2, senza dover " +
|
||||
"ricaricare il database né cambiare la cartella di lavoro. Non cancella nessun " +
|
||||
"file su disco: CSV, \"raw\" e \"step\" restano.",
|
||||
NotaTesto: "Per ripulire le cartelle \"raw\" e \"step\" della cartella di lavoro " +
|
||||
"prima di un nuovo giro (senza toccare l'indice), usa \"File ▸ Pulisci raw e " +
|
||||
"step...\"; per eliminare i CSV che ogni distinta importata lascia nella " +
|
||||
@@ -170,8 +173,8 @@ public class GuidaForm : Form
|
||||
public GuidaForm()
|
||||
{
|
||||
Text = "Guida";
|
||||
ClientSize = new Size(780, 520);
|
||||
MinimumSize = new Size(580, 400);
|
||||
ClientSize = new Size(1000, 680);
|
||||
MinimumSize = new Size(640, 440);
|
||||
StartPosition = FormStartPosition.CenterParent;
|
||||
Font = new Font("Segoe UI", 9.5f);
|
||||
try
|
||||
@@ -223,10 +226,11 @@ public class GuidaForm : Form
|
||||
colore, TextFormatFlags.VerticalCenter | TextFormatFlags.Left | TextFormatFlags.EndEllipsis);
|
||||
};
|
||||
|
||||
var testo = new RichTextBox
|
||||
var testo = new TestoSolaLettura
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
ReadOnly = true,
|
||||
TabStop = false,
|
||||
BorderStyle = BorderStyle.None,
|
||||
BackColor = Color.White,
|
||||
Font = new Font(Font.FontFamily, 10f),
|
||||
@@ -310,4 +314,36 @@ public class GuidaForm : Form
|
||||
box.SelectionStart = 0;
|
||||
box.SelectionLength = 0;
|
||||
}
|
||||
|
||||
/// <summary>RichTextBox da sola lettura che non si comporta come un editor: niente cursore
|
||||
/// lampeggiante, niente cursore a "I" e niente selezione col mouse. I clic nell'area di testo
|
||||
/// vengono ignorati (così non prende il fuoco e non mostra il caret); la barra di scorrimento
|
||||
/// sta nell'area non-client e resta utilizzabile, la rotella scorre al passaggio del mouse.</summary>
|
||||
private sealed class TestoSolaLettura : RichTextBox
|
||||
{
|
||||
private const int WM_SETFOCUS = 0x0007;
|
||||
private const int WM_SETCURSOR = 0x0020;
|
||||
private const int WM_LBUTTONDOWN = 0x0201;
|
||||
private const int WM_LBUTTONDBLCLK = 0x0203;
|
||||
private const int WM_RBUTTONDOWN = 0x0204;
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
private static extern bool HideCaret(IntPtr hWnd);
|
||||
|
||||
protected override void WndProc(ref Message m)
|
||||
{
|
||||
switch (m.Msg)
|
||||
{
|
||||
case WM_LBUTTONDOWN or WM_LBUTTONDBLCLK or WM_RBUTTONDOWN:
|
||||
return;
|
||||
case WM_SETCURSOR:
|
||||
Cursor.Current = Cursors.Arrow;
|
||||
m.Result = 1;
|
||||
return;
|
||||
}
|
||||
base.WndProc(ref m);
|
||||
if (m.Msg == WM_SETFOCUS)
|
||||
HideCaret(Handle);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user