2 - 3 ptits détails pour finaliser mon application "Brain Storming"

prepa75prepa75 Membre
07:54 modifié dans Vos applications #1
Bonjour,

suivant depuis quelques jours ce forum, j'ai quasiment terminé mon application et je souhaiterai avoir une lumière sur plusieurs choses :

1 - lorsque que ferme (avec la croix rouge) mon application, elle reste dans le dock,j'aurais aimé qu'elle se ferme complètement lorsque que l'on appui sur la croix.

2 - j'utilise une barre NSLevelIndicator et j'aimerai savoir s'il est possible d'inverser les couleurs c'est à  dire qu'a 20% ce soit rouge , 50% jaune et 80% vert.Du coup en attendant je me sert d'une NSProgressIndicator , mais ce n'est pas exactement ce que je veux...

3 - Comment dois-je faire pour mettre mon application sur le forum de manière à  avoir des critiques et des idées d'améliorations?

Merci pour votre patience  o:)
«13

Réponses

  • 07:54 modifié #2
    dans 1268930576:

    1 - lorsque que ferme (avec la croix rouge) mon application, elle reste dans le dock,j'aurais aimé qu'elle se ferme complètement lorsque que l'on appui sur la croix.

    CF: NSWindow, delegates.
    -(void)windowDidClose:(NSNotification*)n<br />{<br />[NSApp terminate:nil];<br />}
    ;

    dans 1268930576:

    2 - j'utilise une barre NSLevelIndicator et j'aimerai savoir s'il est possible d'inverser les couleurs c'est à  dire qu'a 20% ce soit rouge , 50% jaune et 80% vert.Du coup en attendant je me sert d'une NSProgressIndicator , mais ce n'est pas exactement ce que je veux...

    Autant faire un NSProgressIndicator toi-même dans ce cas. Car il ne semble pas que ça soit possible avec NSLevelIndicator, à  moins peut-être de le sous-classer.

    dans 1268930576:

    3 - Comment dois-je faire pour mettre mon application sur le forum de manière à  avoir des critiques et des idées d'améliorations?

    Tu la compile en mode release, tu la zip, et tu utilises "Options supplémentaires" lorsque tu écris ton message sur les forums, afin d'y attacher le .zip de ton app.

  • JegnuXJegnuX Membre
    07:54 modifié #3
    1. Sur Mac, le croix rouge ne quitte pas l'application mais ferme juste la fenêtre, il n'y a que quelques exceptions qui ne suivent pas ce principe (Préférences Systèmes). Pourquoi donc préfère tu que l'application se quitte ? c'est vraiment justifié ?

    2. Je ne connais pas du tout le NSLevelIndicator, pourtant une simple consultation de l'ADC suffit à  te répondre.

    3. Tu zip ton application et tu la poste en pièce jointe. Ou mieux, tu l'upload quelque part et tu nous donne le lien.
  • prepa75prepa75 Membre
    07:54 modifié #4
    OKI merci pour ta rapidité Eaglelouk, je fait les 2 - 3 modifs et jla poste...

    Soyez indulgents c'est ma première Appli 
  • 07:54 modifié #5
    c'est possible que ça soit windowWillClose et pas didClose, flemme de vérifier  :P
  • prepa75prepa75 Membre
    07:54 modifié #6
    dans 1268931197:

    Pourquoi donc préfère tu que l'application se quitte ? c'est vraiment justifié ?


    En fait lorsque je la quitte l'icone reste dans le dock, et lorsque je clique dessus elle n'apparait plus.Il y a le même problème lorsque je reclique sur l'icone,il ne se lance pas car l'application est déja ouverte mais il n'apparait pas pour autant

    dans 1268931197:



    2. Je ne connais pas du tout le NSLevelIndicator, pourtant une simple consultation de l'ADC suffit à  te répondre.


    oui oui j' suis allé ,d'ailleur jsuis content parsque j'ai réussi à  l'utiliser tout seul,je commence a bien comprendre le fonctionnement des classes,mais je n'ai pas trouver la réponse à  ma question...Je vais déja bien gérer les bases avant de me mettre a faire un indicator perso.
  • prepa75prepa75 Membre
    07:54 modifié #7
    dans 1268931522:

    c'est possible que ça soit windowWillClose et pas didClose, flemme de vérifier  :P


    J'ai essayer un peu tout et ça ne marche pas , mais c'est pas grave dans le book de Aaron Hillegass je sais ou c'est,donc quand je penserai être ok pour la gestion des événements du clavier je l'y mettrai 
  • 07:54 modifié #8
    Dis-moi, tu n'aurais pas oublier de setter le delegate de ta fenêtre?
    Tu peux le faire via interface builder. Clique-droit depuis ta fenetre vers l'instance de ta classe.
  • prepa75prepa75 Membre
    07:54 modifié #9
    :o oups j'avais oublier  :P

    en effet ça marche comme je veux !!! mille merci !!!

  • ThibautThibaut Membre
    07:54 modifié #10
    dans 1268931629:



    En fait lorsque je la quitte l'icone reste dans le dock, et lorsque je clique dessus elle n'apparait plus.Il y a le même problème lorsque je reclique sur l'icone,il ne se lance pas car l'application est déja ouverte mais il n'apparait pas pour autant

    Si ça peut t'aider, j'avais effectué un article sur mon blog il y a quelques mois qui décrit comment faire.
  • prepa75prepa75 Membre
    07:54 modifié #11
    Voici mon application :

  • CéroceCéroce Membre, Modérateur
    07:54 modifié #12
    dans 1268931629:

    oui oui j' suis allé ,d'ailleur jsuis content parsque j'ai réussi à  l'utiliser tout seul,je commence a bien comprendre le fonctionnement des classes,mais je n'ai pas trouver la réponse à  ma question...Je vais déja bien gérer les bases avant de me mettre a faire un indicator perso.


    La doc ne dit justement rien à  ce sujet, mais j'ai essayé sous IB avec ces valeurs:

    minimum = 0
    maximum = 100
    warning = 80
    critical = 20

    Tu obtiens bien le comportement que tu recherches. Il n'y a pas d'obligation que critical soit > warning.
  • prepa75prepa75 Membre
    07:54 modifié #13
    dans 1268932389:

    Si ça peut t'aider, j'avais effectué un article sur mon blog il y a quelques mois qui décrit comment faire.


    Merci bien, ton lien plus la réponse d' Eaglelouk  a résolu mon problème...
  • CéroceCéroce Membre, Modérateur
    07:54 modifié #14
    Et tu pourrais le compiler pour PowerPC, aussi...
    (Normalement, il suffit de passer du mode Debug au mode Release).
  • prepa75prepa75 Membre
    07:54 modifié #15
    dans 1268932569:


    Tu obtiens bien le comportement que tu recherches. Il n'y a pas d'obligation que critical soit > warning.


    en effet , ça correspond à  ce que je souhaite , je le compile pour PWPC et je le met...
  • prepa75prepa75 Membre
    07:54 modifié #16
    dans 1268932744:

    Et tu pourrais le compiler pour PowerPC, aussi...
    (Normalement, il suffit de passer du mode Debug au mode Release).


    j'ai droit à  un beau ptit message d'erreur... lorsque je suis en Release et ppc...

    "The active architecture ppc is not supported by the debbugger cpu architecture i386/X86_64"

    le 1er fichier joint que j'ai mis est en mode release mais pas ppc...
  • prepa75prepa75 Membre
    07:54 modifié #17
    désolé je me suis trompé...

    voici la version release,ça devrai être bon Céroce.
  • AliGatorAliGator Membre, Modérateur
    07:54 modifié #18
    Pour le (1), pourquoi ne pas utiliser la méthode dédiée, plutôt que ce que donne Louka ?
    - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {<br />&nbsp; return YES;<br />}
    D'autant que la solution de EagleLouk a une grosse lacune : elle quitte l'application dès qu'UNE fenêtre se ferme, même si ce n'est pas la dernière fenêtre de l'application !
  • mars 2010 modifié #19
    dans 1268934736:

    Pour le (1), pourquoi ne pas utiliser la méthode dédiée, plutôt que ce que donne Louka ?
    - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication {<br />&nbsp; return YES;<br />}
    D'autant que la solution de EagleLouk a une grosse lacune : elle quitte l'application dès qu'UNE fenêtre se ferme, même si ce n'est pas la dernière fenêtre de l'application !

    Parce que je connaissais pas :p ! Mr Je sais tout!
  • AliGatorAliGator Membre, Modérateur
    07:54 modifié #20
    Moi non plus je connaissais pas :P
    Je suis allé dans la doc à  l'instant, c'est tout :D

    (Donc c'est pas Mr Je-Sais-Tout, c'est Mr J'ai-Toujours-Le-Reflexe-De-Regarder-Dans-La-Doc-A-Chaque-Question :D :) :P)
  • 07:54 modifié #21
    dans 1268934981:

    Moi non plus je connaissais pas :P
    Je suis allé dans la doc à  l'instant, c'est tout :D

    (Donc c'est pas Mr Je-Sais-Tout, c'est Mr J'ai-Toujours-Le-Reflexe-De-Regarder-Dans-La-Doc-A-Chaque-Question :D :) :P)


    Et ben moi j'avais la flemme, je la regarde assez comme ça je trouve  :(
  • prepa75prepa75 Membre
    07:54 modifié #22
    dans 1268934736:

    D'autant que la solution de EagleLouk a une grosse lacune : elle quitte l'application dès qu'UNE fenêtre se ferme, même si ce n'est pas la dernière fenêtre de l'application !


    en effet c'est asez génant ^^

    sinon vous en pensez quoi de mon applcation??
  • CéroceCéroce Membre, Modérateur
    07:54 modifié #23
    Je ne sais pas, je n'ai toujours pas pu l'essayer, utilisant un iMac G5 !
    Il faut peut-être changer le SDK en 10.5 pour pouvoir compiler aussi pour PowerPC. Quelqu'un sait ?
  • prepa75prepa75 Membre
    07:54 modifié #24
    dans 1268935788:

    Je ne sais pas, je n'ai toujours pas pu l'essayer, utilisant un iMac G5 !
    Il faut peut-être changer le SDK en 10.5 pour pouvoir compiler aussi pour PowerPC. Quelqu'un sait ?


    j'ai tout essayer et à  chaque fois j'ai ce message d'erreur (photo ci joint...)
    si je t'envoi mon code source tu pourrai le compiler non??

  • 07:54 modifié #25
    dans 1268934736:

    D'autant que la solution de EagleLouk a une grosse lacune : elle quitte l'application dès qu'UNE fenêtre se ferme, même si ce n'est pas la dernière fenêtre de l'application !


    Ha bha non hein, enfin ça dépend la structure de l'application, mais moi j'ai toujours qu'une seule main window managée par mon AppController.
  • prepa75prepa75 Membre
    07:54 modifié #26
    dans 1268937560:



    Ha bha non hein, enfin ça dépend la structure de l'application, mais moi j'ai toujours qu'une seule main window managée par mon AppController.


    En effet mon appli a la même structure c'est pour ça que ça marche,si j'ai bien compris ça ne marche pas si l'application ouvre plusieurs fenêtres vu qu'elle se ferme à  la fermeture d'une des fenêtres c'est bien ça??

    donc si je fait des appli à  une fenêtre (ce que je pense continuer encore pendant quelques semaines) ça marche nikel...

    j'ai tout compris??
  • JegnuXJegnuX Membre
    07:54 modifié #27
    dans 1268931629:


    oui oui j' suis allé ,d'ailleur jsuis content parsque j'ai réussi à  l'utiliser tout seul,je commence a bien comprendre le fonctionnement des classes,mais je n'ai pas trouver la réponse à  ma question...Je vais déja bien gérer les bases avant de me mettre a faire un indicator perso.


    Ceci devrait te faire un indicator dont les valeurs sont entre 0 et 100, il est censé devenir jaune à  50% (warningValue) et devenir rouge à  20% (criticalValue) :
    <br />NSLevelIndicator *indicator = [[NSLevelIndicator alloc] init];<br />[indicator setMinValue:0]; <br />[indicator setMaxValue:100]; <br />[indicator setWarningValue:50]; <br />[indicator setCriticalValue:20]; <br /><br />/* [...] */<br /><br />[indicator release];<br />


    Tout était dans la doc.
  • mars 2010 modifié #28
    dans 1268938178:



    En effet mon appli a la même structure c'est pour ça que ça marche,si j'ai bien compris ça ne marche pas si l'application ouvre plusieurs fenêtres vu qu'elle se ferme à  la fermeture d'une des fenêtres c'est bien ça??

    donc si je fait des appli à  une fenêtre (ce que je pense continuer encore pendant quelques semaines) ça marche nikel...

    j'ai tout compris??


    Dans le cas par exemple où tu gérais plusieurs fenêtre avec le meme controleur, là  oui y'aurait eu ce problème.
    Mais je te conseille quand meme la méthode qu'Ali a indiqué, elle est beaucoup plus adaptée. Et cette fois c'est NSApplication avec lequel tu dois utiliser setDelegate:
  • prepa75prepa75 Membre
    mars 2010 modifié #29
    dans 1268948094:


    Tout était dans la doc.


    en effet , je commence à  comprendre comment l'utiliser et ainsi à  repondre moi même à  mes questions 

    dans 1268932569:


    La doc ne dit justement rien à  ce sujet, mais j'ai essayé sous IB avec ces valeurs:

    minimum = 0
    maximum = 100
    warning = 80
    critical = 20

    Tu obtiens bien le comportement que tu recherches. Il n'y a pas d'obligation que critical soit > warning.


    ça revient au même de le faire dans I.B. que de le coder manuellement...j'aurais appris quelquechose ^^
  • prepa75prepa75 Membre
    07:54 modifié #30
    dans 1268949175:

    ]

    Dans le cas par exemple où tu gérais plusieurs fenêtre avec le meme controleur, là  oui y'aurait eu ce problème.
    Mais je te conseille quand meme la méthode qu'Ali a indiqué, elle est beaucoup plus adaptée. Et cette fois c'est NSApplication avec lequel tu dois utiliser setDelegate:


    l'utilisation de setDelegate est un peu flou pour moi,mais je vais m'y mettre dans pas trop longtemps car j'ai vu que grâce à  elle on peut activer ou désactiver des boutton avec un booléen, aux lieu de s'embeter à  utiliser des if à  tout va (comme je l'ai fait dans mon prog  :( )
  • NseaProtectorNseaProtector Membre
    07:54 modifié #31
    dans 1268978285:

    l'utilisation de setDelegate est un peu flou pour moi,mais je vais m'y mettre dans pas trop longtemps car j'ai vu que grâce à  elle on peut activer ou désactiver des boutton avec un booléen, aux lieu de s'embeter à  utiliser des if à  tout va (comme je l'ai fait dans mon prog  :( )

    Sa sent le sapin pour les ifs alors ?  :o
Connectez-vous ou Inscrivez-vous pour répondre.