RuleScrollView

fouffouf Membre
mars 2005 modifié dans API AppKit #1
Je souhaiterais avoir une vue avec un regle a droite et en haut. Il s'agit d'une regle qui affiche l'endroit ou se trouve la souris. C'est pour un soft de dessin. Vous voyez ce que je veux dire ?

Comment faut-il faire ? Sous-classer NSScrollView serait, je pense, le mieux, mais je ne sais pas comment continuer.

Réponses

  • cbrandtcbrandt Membre
    00:33 modifié #2
    utilise setRulerViewClass de NSScrollView pour donner passer une sous-classe de NSRulerView, dans laquelle tu utilisera drawRect pour dessiner tes traits après avoir appelé [super drawRect: rect]
  • fouffouf Membre
    00:33 modifié #3
    Je suis et je reste un gros flemmard : si j'avais un peu cherche dans la doc Apple, j'aurais trouvé.

    Pour afficher la régle il faut faire :

    <br />[document scrollView setHasHorizontalRuler:YES]; // pour creer la regle<br />[scrollView setRulersVisible:YES]; //pour l&#39;afficher<br />
    


    Merci quand meme cbrandt.
  • cbrandtcbrandt Membre
    00:33 modifié #4
    ah ben j'avais compris que tu voulais une règle différente de la normale...
  • fouffouf Membre
    00:33 modifié #5
    dans 1110994365:

    ah ben j'avais compris que tu voulais une règle différente de la normale...


    Tu avais bien compris, mais en fait, tout est déjà  plus ou moins prévu dans les APIs. C'est bien Cocoa.

    De toutes facons, je vais avoir besoin d'une sous-classe si je veux faire des choses plus pointues.
  • mars 2005 modifié #6
    Juste par curiosité, tu contribues à  Seashore ou tu refais un logiciel d'édition d'image?
  • fouffouf Membre
    00:33 modifié #7
    Je contribue à  Seashore  ;)
  • 00:33 modifié #8
    Excellent!
  • fouffouf Membre
    00:33 modifié #9
    Bon, j'arrive a afficher la régle, j'arrive à  récupérer les mouseMouved: et les points de la vue qui leurs sont associés mais il faudrait que je les convertissent en cm. Comment c'est que je fais ?
  • 00:33 modifié #10
    Pourquoi spécialement en cm? Il faudrait aussi choisir mm, pouces, picas, ;)

    Par définition, il y a 72points dans un pouces, mais les écrans actuels tournent plutôt aux environs de 100pixels par pouce. Donc 1pt = 2.54cm/100 = 0.25mm, pour un écran récent, 0.4mm pour un écran plus ancien. Ceci dit, je te conseille vraiment de mettre une préférence pour la résolution.
  • fouffouf Membre
    00:33 modifié #11
    dans 1111078628:

    Pourquoi spécialement en cm? Il faudrait aussi choisir mm, pouces, picas, ;)

    Par définition, il y a 72points dans un pouces, mais les écrans actuels tournent plutôt aux environs de 100pixels par pouce. Donc 1pt = 2.54cm/100 = 0.25mm, pour un écran récent, 0.4mm pour un écran plus ancien. Ceci dit, je te conseille vraiment de mettre une préférence pour la résolution.


    Cool Renaud, je fais ce que je peux. En fait, je recupere bien les coordonnées de la souris, mais pour les traits, il faut d'abord que je convertisse. Ce qui fait que quelquesfois, j'ai une miryade de traits.
  • fouffouf Membre
    00:33 modifié #12
    C'est bon, j'y suis arrivé. En fait, il faut convertir les points en fonctions des differentes référence (NSWindow, la vue, la regle).

    Ca marche a un truc pres : on voit très peu le trait dans la regle du cote. Pourtant il existe bien. Une expliquation ?

    Je vous dis bon WE à  tous(euh oui, je serais à  Rome  :fouf): )

    fouf
Connectez-vous ou Inscrivez-vous pour répondre.