2017-05-05 2 views

Répondre

3

Ils sont plusieurs façons d'ajouter un nouvel onglet dynamiquement, mais dans tous les cas, il se résume à ajouter:

  • Une étiquette onglet comme un bloc string!-t/data.
  • Un correspondant panel face object! à t/pane bloquer.

Voici un exemple de code entièrement fonctionnel:

tab1: [ 
    below 
    button 75x25 "Interpret" on-click [do face/parent/pane/2/text ] 
    area 320x250 
] 

editor: layout compose/deep/only [ 
    below 
    button "add tab" [ 
     append t/data "tab 2" 
     append t/pane make face! [type: 'panel pane: layout/only tab1] 
    ] 
    t: tab-panel 350x350 ["tab 1" (tab1)] 
] 
view editor 

Quelques remarques:

  • tab1 définition a été externalisées, de sorte que sa définition peut être réutilisé pour un autre contenu de l'onglet (selon votre demande).
  • a: Le mot a été retiré car il ne peut pas être dupliqué, l'accès au visage actuel area dans le panneau de tabulation actuel est maintenant fait en remontant l'arbre de visage. b: définition a été abandonnée pour la même raison (et il n'est pas utilisé de toute façon).

Des exemples de comportements dynamiques et de construction de faces dynamiques (sans dialecte VID) sont disponibles here. tab-panel le type de visage est décrit there.

+0

Pouvez-vous expliquer à quoi sert/deep/only est utilisé dans ce contexte? –

+2

Oh, je ne vois pas, vous l'utilisez avec le ["onglet 1" (tab1)] –