Minimaler Dateidialog basierend auf FileChooser GUI Komponente

Autor: Steffen Ploetz (Stand der EN Seite vom 17.03.2024)

Der Zweck dieses Code-Schnipsels ist
  • die Erstellung und Verwendung eines minimalistischen Dialogs zu zeigen, der die GUI-Komponente FileCooser verwendet, um

  • eine Alternative zur statischen Methode OpenFile der Komponente gb.form.dialog zu haben - die (in einer GTK-Umgebung, siehe Komponente gb.gui) zwar GTK-kompatibel ist, aber nicht komfortabel.

Der Code kann als Vorlage für minimalistische Dialoge verwendet werden, die andere Chooser-GUI-Komponenten verwenden. Dieser Code-Schnipsel unterstützt nur einen modalen Dialog für die Auswahl einer einzelnen Datei und verwendet nur zwei Event-Handler der FileCooser GUI-Komponente, Activate und Cancel. Die Erweiterung der Möglichkeiten des Dialogs mit zusätzlichen Static Public Function und Funktionsargumenten ist sehr einfach.

Die Gambas-Code-Datei FFileChooser.class sieht wie folgt aus:

' Gambas class file

Static Private sLastSelectedPath As String
Static Private bResult As Boolean

Static Public Function OpenSigleFileModal() As Boolean
  Dim hForm As Form

  sLastSelectedPath = ""
  bResult = False
  hForm = New FFileChooser
  hForm.ShowModal()
  Return bResult
End

Static Public Function LastSelectedPath() As String
  Return sLastSelectedPath
End

Public Sub cFileChooser_Activate()
  sLastSelectedPath = cFileChooser.SelectedPath
  bResult = True
  Me.Close
End

Public Sub cFileChooser_Cancel()
  Me.Close
End

Die Gambas Formular-Datei FFileChooser.form sieht wie folgt aus:

# Gambas Form File 3.0

{ Form Form
  MoveScaled(0,0,64,53)
  Arrangement = Arrange.Vertical
  Margin = True
  { cFileChooser FileChooser
    MoveScaled(1,1,62,51)
    Expand = True
    ShowButton = True
    ReadOnly = True
  }
}

Die Form-Eigenschaft Arrangement ist auf Vertical und die cFileChooser-Eigenschaft Expand auf True eingestellt. Dies ermöglicht, dass sich das FileChooser-Steuerelement automatisch an Änderungen der Größe des Form anpasst.

Die cFileChooser-Eigenschaft ShowButton wird auf True gesetzt. Dadurch werden die Schaltflächen "OK" und "Abbrechen" sowie das Dropdown "Filter" angezeigt.

Die cFileChooser-Eigenschaft ReadOnly wird auf True gesetzt. Damit wird das FileChooser-Steuerelement als FileOpen-Steuerelement verwendet.

Der Aufruf des Dialogs sieht wie folgt aus:

Public Sub btnFileOpen_Click()
  Dim fileChooser As FFileChooser
  Dim sLastSelectedPath As String

  If FFileChooser.OpenSigleFileModal() = True Then
    sLastSelectedPath = FFileChooser.LastSelectedPath()
  Else
    sLastSelectedPath = ""
  Endif 
End


Änderungen der Seite


Minimaler Dateidialog basierend auf FileChooser GUI Komponente: Steffen Ploetz - 28. März 2024