In questo articolo abbiamo visto una introduzione in Kotlin a TornadoFX.

Oggi vediamo un'altra cosa interessante, e cioè come iniettare componenti dentro ad una View.

Partiamo dalle due View che fanno da top e bottom:

// TOP

import tornadofx.View
import tornadofx.label

class TopView: View() {
    override val root = label("Siamo al TOP!")
    lateinit var parent: MainView
}

Non tutti sanno che negli statement in Java è possibile usare le label!

E che sarebbero queste label?

Ora lo spieghiamo con un esempio, che è sicuramente più facile.

In una QLabel, dovevo visualizzare una immagine da url.

Dove l'url è composto da una parte fissa, e una parte dinamica (che corrisponde all'immagine vera e propria).

Vi propongo il QWidget per intero.

L'editor visuale di Qt Creator è ottimo, ma non si riesce a fare proprio tutto.

Ad esempio, in una QTableWidget, è possibile impostare il numero delle colonne, ma non la label di ogni colonna.

Quindi, di default, si vedrebbero solo i numeri.

Oggi vediamo come impostare il drag-and-drop dentro a Windows Form usando C#.

Prima di tutto, dentro al form, aggiungete un oggetto Label.

Ci servirà per visualizzare i files che trasciniamo nella finestra.

A questo punto dobbiamo impostare tre eventi:

  • load del form
  • drag
  • drop