'CustomWebResolver' – Baum (Tree)

Für das Mappen von Bäumen ist es notwendig sowohl die Hauptkomponente selbst, also diejenige, die alle Einträge enthält, wie auch die einzelnen Baumknoten zu mappen. Zusätzlich müssen Sie auch den Baumknoten Öffnen bzw. Schließen-Button mappen.

KlasseNotwendige Komponenten / Unterelemente
TreeStellt den Baum dar, beinhaltet die Einträge.
TreeNodeStellt einen Baumknoten dar.
Expander:TreeNodeExpanderStellt den Baumknoten Öffnen bzw. Schließen Button dar.
 Optionale Unterelemente
Spacer:TreeNodeSpacer(Optional) Wird verwendet um die Einrückung auf die richtige Ebene zu bewerkstelligen.
CheckBox:TreeNodeCheckBox(Optional) Stellt eine CheckBox unter einem Baumknoten dar.
Icon:TreeNodeIcon(Optional) Stellt ein Icon unter einem Baumknoten dar.
Tabelle 50.2:  Mapping von Bäumen

Falls QF-Test die Einrückungsebenen nicht richtig erkennt oder Probleme beim Öffnen eines Knotens hat, können Sie die Konfigurationskategorie treeResolver des 'CustomWebResolver installieren' entsprechend parametrisieren. Alternativ können Sie Das TreeIndentationResolver Interface zur Konfiguration der Einrückungserkennung verwenden.

Beispiel:

Im Demo "CarConfigurator Web" befindet sich ein Baum. Um diesen zu öffnen gehen Sie über das Menü »Einstellungen«-»Sondermodelle...«, wählen ein Modell und klicken dann auf den Button "Details". Sie finden die dazugehörige Testsuite unter qftest-8.0.2/demo/carconfigWeb/carconfigWeb_de.qft

Wenn Sie sich die aufgenommenen CSS-Klassen in QF-Test ansehen oder die Seite mit dem Abschnitt 5.12.2 analysieren werden Sie folgende HTML-Struktur finden (etwas vereinfacht und gekürzt):

<table id="DetailsTree" class="tree">
  <tbody>
    <tr class="treenode even">
      <td>Information</td>
      <td></td>
    </tr>
    <tr class="treenode odd>
      <td>
        <span>
          <span class=treenodespacer">&nbsp;&nbsp;</span>
          <span class="treetoggler">
            <img src="include/collapse.png" onclick="javascript: ..."></img>
          </span>
          <span>Zubehör</span>
        </span>
      </td>
    </tr>
    <tr class="treenode odd>
      <td>
        <span>
          <span class=treenodespacer">
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            </span>
          <span>Zentralverriegelung</span>
        </span>
      </td>
    </tr>
  </tbody>
</table>
Beispiel 50.22:  HTML Tree

Wenn Sie dann in der Prozedur startStop.start die letzte Sequenz, CustomWebResolver installieren, ansehen,

WebCarConfig
Abbildung 50.7:  CarConfigurator Web

sind dort unter anderem folgende Zuweisungen für das Mappen des Baums enthalten:

genericClasses:
- Tree: tree
- TreeNode: treenode
- Expander:TreeNodeExpander: treetoggler
- Spacer:TreeNodeSpacer: treenodespacer
Beispiel 50.23:  HTML Tree