Inhaltsverzeichnis

18.15 IconPanel

Die Klasse IconPanel (gb.form) ist ein Multi-Container, der große Symbole und Text auf seinen Registerkarten (Tab) anzeigen kann. Diese Klasse verhält sich wie ein Nur-Lesbar-Array. Ein IconPanel besteht aus einem linken und einem rechten Fensterbereich.

Die Container-Komponente IconPanel können Sie einsetzen, um mit minimalem Aufwand eine dekorative Navigation für mehrere Teil-Programme zu realisieren. Zu jedem Eintrag in der Navigationsleiste (left pane) mit großem Icon und Text steht Ihnen eine korrespondierende Fläche (right pane 1…k) für die Anordnung der Komponenten zur Verfügung:

B1

B2

Abbildung 18.15.1: Einsatz der Komponente IconPanel (Gambas-IDE)

18.15.1 Eigenschaften

Die Eigenschaften der Komponente IconPanel werden in der folgenden Tabelle beschrieben:

IconPanelDatentypDefaultBeschreibung
BorderBooleanFalseLegt fest, ob ein Rand angezeigt wird oder gibt diesen Wert zurück.
CountInteger1Gibt die Anzahl der Tabs zurück.
FontFontSystemLegt fest, welcher Font eingesetzt wird oder gibt den genutzten Font zurück. Der Font muss im System installiert sein.
IndexInteger1Legt fest, welcher Tab aktiv ist oder gibt den Index des aktiven Tabs zurück.
PicturePictureNullLegt fest, welches Icon im aktuellen Tab angezeigt werden soll oder gibt den Bildnamen zurück.
TextString-Legt den Text fest, der im aktuellen Tab angezeigt werden soll oder gibt den Text zurück.
TextFontFontSystemSetzt den Font, der nur für den linken Fensterbereich verwendet werden soll oder gibt den Font zurück. Ist diese Eigenschaft nicht gesetzt (Null), wird der Wert der Font-Eigenschaft für beide Fensterbereiche gemeinsam benutzt.

Tabelle 18.15.1.1: IconPanel-Eigenschaften

18.15.2 Ereignis

Die Container-Komponente besitzt nur ein spezielles Click-Ereignis. Es wird ausgelöst, wenn sich der aktuelle Tab (Registerkarte) ändert.

18.15.3 Projekt

Das Projekt knüpft an das oben vorgestellte Beispiel zum Einsatz der Komponente IconPanel in der Gambas-IDE zur Festlegung globaler Einstellungen an und gibt Hinweise auf einige Aspekte im Umgang mit der Komponente, die Ihnen die Arbeit erleichtern sollen. Das gilt zur Entwicklungszeit besonders für

In der Planungspase sollten Sie die (Start-)Anzahl der einzelnen Tabs festlegen, deren Reihenfolge, Icon und Text für den linken Fensterbereich notieren sowie die Anordnung der Komponenten in den rechten Fensterbereichen – zumindest schematisch – aufzeichnen und kommentieren.

Hier sehen Sie die Anordnung der Komponenten für Tab2 mit passendem Icon und dem Beschriftungstext 'Einstellungen' in der IDE und darunter zur Laufzeit:

B3

Abbildung 18.15.3.1: Projekt – Entwicklungszeit

B4

Abbildung 18.15.3.2: Projekt – Laufzeit mit geändertem Text auf Tab2

Für alle Arbeiten in der IDE ist es wichtig, dass die Container-Komponente IconPanel markiert ist. Prüfen Sie das sorgfältig! Am sichersten gelingt Ihnen das mit einem Klick in den rechten Fensterbereich der Komponente IconPanel. Bevor der Quelltext in Auszügen angegeben wird, folgen einige Hinweise:


Der Quelltext ist überschaubar, weil nur wenige Eigenschaften zur Laufzeit gesetzt werden und die Funktionalität sich auf die Auswahl der Standard-Schriftart (→ Abbildung 18.15.3.2, roter Kreis) beschränkt.

' Gambas class file
 
Public Sub Form_Open()
 
  FMain.Center
  FMain.Resizable = False
  FMain.Caption = "Projekt-Einstellungen für das aktuelle Projekt:   " & Application.Name  
  FMain.Arrangement = Arrange.Fill
  FMain.Margin = True
  FMain.Spacing = True
  FMain.Persistent = True
  FMain.Utility = True
 
  ipnOption.Arrangement = Arrange.Vertical
  ipnOption.Border = True
  ipnOption.Margin = True
  ipnOption.Spacing = True
 
' Zur Kontrolle und zum Experimentieren:
' Print ipnOption.Font.ToString() ' Auslesen des eingesetzten Fonts (Z.B. Ubuntu, 11)
' ipnOption.Font = Font["Arial,10,Italic"] ' Font für die Komponente IconPanel setzen
' ipnOption.TextFont = Font["Arial,11,Bold"] ' Font speziell für den linken Fensterbereich setzen
 
  ipnOption.Index = 1 ' Der 2. Eintrag ist aktiv  
  ipnOption[1].Background = &HE1EAF6 ' Hintergrundfarbe Tab1
  ipnOption[1].Text = "Allgemeine Einstellungen" ' Text für Tab1 ändern!
 
  btnClearGlobalFont.Tooltip = "Standard-Schriftart setzen"
 
End ' Form_Open()
 
Public Sub txtGlobalFont_Click()
  If Dialog.SelectFont() Then Return ' Aktion: Abbrechen 
  txtGlobalFont.Text = Dialog.Font.Name & " " & Dialog.Font.Size
End ' txtGlobalFont_Click()
 
Public Sub btnClearGlobalFont_Click()
  txtGlobalFont.Text = "Ubuntu 11"
End ' btnClearGlobalFont_Click()
 
Public Sub Form_Close()
  FMain.Close
End ' Form_Close()

Download