Bindings possibles sur une fenêtre

olofolof Membre
01:54 modifié dans API AppKit #1
'soir !

Dans IB, pour une NSWindow, dans la panneau d'info des bindings, il n'y en a que 7 :

  • Represented Filename
  • Title
  • Display Pattern Title1
  • Content Height
  • Content Width
  • Document Edited
  • Visible


Il n'est donc pas possible d'utiliser les binding pour choisir le position d'une fenêtre ? Ou bien j'ai raté un wagon ?!?!

Merci !

Réponses

  • Philippe49Philippe49 Membre
    01:54 modifié #2
    Si sans doute, mais il faut faire le binding par le code à  l'aide de la méthode

    - (void)bind:(NSString *)binding toObject:(id)observableController withKeyPath:(NSString *)keyPath options:(NSDictionary *)options
    
  • CéroceCéroce Membre, Modérateur
    01:54 modifié #3
    La doc "Bindings Reference" n'indique que ces 7 bindings pour une NSWindow. Donc, non, on ne peut pas.

    En même temps, une appli qui me déplace mes fenêtres, je trouve ça assez agaçant.
  • Philippe49Philippe49 Membre
    01:54 modifié #4
    A côté des bindings officiels, on peut bien se faire ses bindings custom par le code. Il suffit d'assurer le KVO.
  • CéroceCéroce Membre, Modérateur
    01:54 modifié #5
    On doit pouvoir sous-classer NSWindow pour intégrer les bindings sur la position de la fenêtre, mais de base, la position n'est pas bindable, et il y a une bonne raison à  cela.
  • olofolof Membre
    01:54 modifié #6
    En fait, mon but n'est surtout pas déplacer la fenêtre à  l'insu de l'utilisateur. Je m'essayais juste à  utiliser les bindings sur les user preferences. Et comme terrain de jeu, je voulais sauvegarder les coordonnées d'une fenêtre et sa taille.

    Je vais chercher un autre exemple pour m'amuser alors.


    Merci !
  • AliGatorAliGator Membre, Modérateur
    01:54 modifié #7
    Heu pour sauvegarder ces informations, il suffit de rentrer un nom de clé dans le champ "Autosave" de la palette d'informations (premier onglet, "Attributes Inspector" quoi) de ta Window.
    La chaà®ne de caractères que tu mettras ici servira de clé pour sauvegarder la frame (donc position+taille) de ta fenêtre dans les NSUserDefaults automatiquement... il y a donc déjà  tout de prévu ;)

    Donc en effet ce n'est pas l'exemple le plus adapté pour le coup :P
Connectez-vous ou Inscrivez-vous pour répondre.