setColumnAutoresizingStyle pour 10.3 [résolu]

wiskywisky Membre
août 2005 modifié dans API AppKit #1
J'ai un petit problème avec [tt]setColumnAutoresizingStyle[/tt]  de [tt]NSTableView[/tt].
Comment le rendre compatible avec Mac OS X.3?

[tt]setColumnAutoresizingStyle[/tt] n'est compatible qu'avec Mac Os X.4 et j'aimerais que mon logiciel reste compatible Mac OS X.3

Réponses

  • Eddy58Eddy58 Membre
    17:46 modifié #2
    Tu peux vérifier la version de l'OS et en fonction, tu utilises ou pas la méthode setColumnAutoresizingStyle. :)
  • wiskywisky Membre
    17:46 modifié #3
    dans 1124454988:

    Tu peux vérifier la version de l'OS et en fonction, tu utilises ou pas la méthode setColumnAutoresizingStyle. :)

    et comment tu vérifie la version de l'OS?
  • wiskywisky Membre
    août 2005 modifié #5
    entre temps j'ai fait ses deux fonction pour connaà®tre la version et la build du système.

    <br />- (NSString *)currentMacOsXversion<br />{<br />	NSDictionary *dicoVer = [[NSDictionary alloc] initWithContentsOfFile:@&quot;/System/Library/CoreServices/SystemVersion.plist&quot;];<br />	return [dicoVer valueForKey:@&quot;ProductVersion&quot;];<br /><br />}<br />- (NSString *)currentMacOsXbuild<br />{<br />	NSDictionary *dicoVer = [[NSDictionary alloc] initWithContentsOfFile:@&quot;/System/Library/CoreServices/SystemVersion.plist&quot;];<br />	return [dicoVer valueForKey:@&quot;ProductBuildVersion&quot;];<br />	<br />}<br />
    

    c'est quand même moins compliquer que le test de la version de AppKit ;)

    Mais ça ne résout pas mon problème. comment faire pour re-dimensionner les colonnes de façon automatique sur 10.3?
  • Eddy58Eddy58 Membre
    17:46 modifié #6
    dans 1124459111:

    Mais ça ne résout pas mon problème. comment faire pour re-dimensionner les colonnes de façon automatique sur 10.3?

    Ce que je vais dire ne va pas trop t'avancer, mais si tu tiens vraiment à  implémenter ceci sous 10.3, je crois bien qu'il va falloir te bricoler toi-même ta méthode setColumnAutoresizingStyle... :o
  • wiskywisky Membre
    17:46 modifié #7
    dans 1124492558:

    dans 1124459111:

    Mais ça ne résout pas mon problème. comment faire pour re-dimensionner les colonnes de façon automatique sur 10.3?

    Ce que je vais dire ne va pas trop t'avancer, mais si tu tiens vraiment à  implémenter ceci sous 10.3, je crois bien qu'il va falloir te bricoler toi-même ta méthode setColumnAutoresizingStyle... :o

    Je m'endoutait un peut ;)
    Je vais tester et je donnerais le code dans le coins resources. Ca peut servir pour d'autre ;)
  • wiskywisky Membre
    17:46 modifié #8
    comment faire pour avoir la taille de la zone visible d'une NSTableView?

    [NSTableView bounds] et [NSTableView size] donne tout deux la taille quand elle est suppérieur à  la somme des largeurs des colonnes.

    comment avoir quand elle est inférieur?
  • fouffouf Membre
    août 2005 modifié #9
    Tu récupères les colonnes, puis tu récupéres leur taille, et enfin, tu fais une addition. Là , un test devrait suffire ;)
  • wiskywisky Membre
    17:46 modifié #10
    Comment faire pour redimentionner une colonne? J'ai sous-classé ma NSTableView.
    Ce code [tt][[self columnWithIdentifier:@Nom] setBoundsSize:newSize];[/tt] ne fait rien :-\\

    JE comprend plus rien avec les Frames et les bounds!
    Qui fait quoi et qui à  quoi? >:)
  • laurrislaurris Membre
    17:46 modifié #11
    Pour 10.3, il existe une méthode qui fait ça:
    http://developer.apple.com/documentation/Cocoa/Reference/ApplicationKit/ObjC_classic/Classes/NSTableView.html#//apple_ref/doc/uid/20000118-setAutoresizesAllColumnsToFit_
    Ils disent que c' est "depreciated" mais que tu peux quand même l' utiliser et que ça marche dans 10.4.
    Le mieux consiste quand même à  faire le test de version pour utiliser la methode conseillée pour chaque version.
  • wiskywisky Membre
    17:46 modifié #12
    Merci ça marche <3 <3 <3 <3 :p :p
  • BruBru Membre
    17:46 modifié #13
    Très simple :

    la taille de la partie visible d'une NSTableView, c'est tout simplement la taille de la NSClipView qui l'encapsule !

    donc un [tt]NSSize s=[[maTableView superview] size];[/tt] est suffisant.

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