Controlli delle connessioni personalizzate

Un vantaggio principale dell'utilizzo di Blockly è che garantisce che il codice generato sia sintatticamente corretto.

Connection Checker è l'oggetto che applica le regole di Blockly relative alle connessioni compatibili. Per impostazione predefinita, lo strumento di controllo applica un semplice sistema di tipi, come descritto nella pagina Controlli della connessione.

I controlli

Blockly applica tre livelli di controllo: di sicurezza, di tipo e di trascinamento.

Controlli di sicurezza

I controlli di sicurezza assicurano che i blocchi si trovino nella stessa area di lavoro, che le connessioni si trovino su blocchi diversi e così via. Questi assicurano che Blockly non ingiacchi in uno stato errato.

I controlli di sicurezza bloccano anche le combinazioni senza senso, ad esempio la connessione di due connessioni consecutive.

Controlli dei tipi

Gli sviluppatori possono etichettare le connessioni con informazioni sul tipo. I controlli di tipo utilizzano queste informazioni per applicare un sistema di tipi, ad esempio bloccando la connessione di una stringa in cui è previsto un numero.

Controlli di trascinamento

I controlli di trascinamento vengono applicati solo quando i blocchi vengono collegati tramite trascinamento anziché tramite codice. Ad esempio, durante uno spostamento dovrebbero essere prese in considerazione solo le connessioni all'interno di un determinato raggio.

Sostituzione del controllo della connessione

Gli sviluppatori che vogliono fornire la propria logica per i controlli di tipo o di trascinamento possono registrare un oggetto di controllo dei collegamenti sostitutivo che implementa l'interfaccia IConnectionChecker.

Per implementare i tuoi controlli di sicurezza, sostituisci doSafetyChecks nel tuo strumento di controllo della connessione.

Per implementare i tuoi controlli di tipo: sostituisci doTypeChecks nel tuo controllore di connessione.

Per implementare i tuoi controlli di trascinamento: sostituisci doDragChecks nel tuo controllo della connessione.

Esempio di codice

Il plug-in di controllo della connessione rigorosa è un semplice esempio di controllo personalizzato.