OVH Cloud OVH Cloud

[Cocoa-IB]Quitter une appli en fermant sa fenêtre

17 réponses
Avatar
pere.noel
est-il possible avec IB de faire en sorte que cliquer sur le bouton
rouge d'une fenêtre quitte l'appli ?
--
une bévue

10 réponses

1 2
Avatar
luc
Une bévue wrote:

est-il possible avec IB de faire en sorte que cliquer sur le bouton
rouge d'une fenêtre quitte l'appli ?


Non.

Si ton appli n'a qu'une fenêtre, le plus simple est sans doute
d'implémenter la méthode kivabien dans un delegate de l'application:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:....

--
Luc Heinrich

Avatar
pere.noel
Luc Heinrich wrote:

Si ton appli n'a qu'une fenêtre, le plus simple est sans doute
d'implémenter la méthode kivabien dans un delegate de l'application:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:....


ok; merci, c'est le cas, je n'ai qu'une fenêtre...
--
une bévue

Avatar
Eric Levenez
Le 6/02/06 16:26, dans
<1hacizu.1vjwnhf1mwgk84N%, « Une bévue »
a écrit :

ok; merci, c'est le cas, je n'ai qu'une fenêtre...


Ce n'est pas très logique de porter un comportement Windows sur Mac OS X. Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et d'utilise
le menu Quitter, comme pour toutes les autres applications.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Pascal Bourguignon
Eric Levenez writes:

Le 6/02/06 16:26, dans
<1hacizu.1vjwnhf1mwgk84N%, « Une bévue »
a écrit :

ok; merci, c'est le cas, je n'ai qu'une fenêtre...


Ce n'est pas très logique de porter un comportement Windows sur Mac OS X. Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et d'utilise
le menu Quitter, comme pour toutes les autres applications.


Bien d'accord, mais Apple est le premier a le faire,
cf. /Applications/System Preferences.app

--
__Pascal Bourguignon__ http://www.informatimago.com/

"Logiciels libres : nourris au code source sans farine animale."


Avatar
pere.noel
Eric Levenez wrote:

Ce n'est pas très logique de porter un comportement Windows sur Mac OS X.


mouais, la "logique" là-dedans...
Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et d'utilise
le menu Quitter, comme pour toutes les autres applications.


bon, je ne savais pas qu'on pouvait enlever ces boutons...

mon bouton "Quitter" ne donne pas une action "très propre" car XCode me
dit :
/Users/yvon/work/RubyCocoa/AB2Web/build/Development/AB2Web.app/Contents/
Resources/Controller.rb:151:in `NSApplicationMain': NSApplicationMain -
RBException_SystemExit - exit (OSX::OCException)
from
/Users/yvon/work/RubyCocoa/AB2Web/build/Development/AB2Web.app/Contents/
Resources/rb_main.rb:50

AB2Web has exited with status 1.

quand je click sur Quitter (le bouton est lié à une action :

def quitter(sender)
exit 0
end

(c'est du RubyCocoa)

par contre, si je quitte par :
AB2Web > Quitter j'obtiens :

AB2Web has exited with status 0.

--
une bévue

Avatar
Patrick Stadelmann
In article ,
Pascal Bourguignon wrote:

Eric Levenez writes:

Ce n'est pas très logique de porter un comportement Windows sur Mac OS X. Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et d'utilise
le menu Quitter, comme pour toutes les autres applications.


Bien d'accord, mais Apple est le premier a le faire,
cf. /Applications/System Preferences.app


Je pense que c'est autorisé pour les applications qui ne manipulent pas
de document, et qui n'ont qu'une fenêtre (e.g. Calculette, Utilitaires
Disques, ...).

Patrick
--
Patrick Stadelmann


Avatar
Pascal Bourguignon
Patrick Stadelmann writes:

In article ,
Pascal Bourguignon wrote:

Eric Levenez writes:

Ce n'est pas très logique de porter un comportement Windows sur Mac OS X. Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et d'utilise
le menu Quitter, comme pour toutes les autres applications.


Bien d'accord, mais Apple est le premier a le faire,
cf. /Applications/System Preferences.app


Je pense que c'est autorisé pour les applications qui ne manipulent pas
de document, et qui n'ont qu'une fenêtre (e.g. Calculette, Utilitaires
Disques, ...).


Oui, et peut être même pour les autres applications, sachant que je
connais des utilisateurs qui après 19 ans de MultiFinder ne se rendent
toujours pas compte de quelle est l'application active quand elle n'a
pas de fenêtre ouverte, et qui vont chercher l'icone de l'application
active dans le Finder...

--
__Pascal Bourguignon__ http://www.informatimago.com/

WARNING: This product warps space and time in its vicinity.



Avatar
Eric Levenez
Le 6/02/06 20:10, dans
, « Patrick
Stadelmann » a écrit :

In article ,
Pascal Bourguignon wrote:

Eric Levenez writes:

Ce n'est pas très logique de porter un comportement Windows sur Mac OS X. Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et d'utilise
le menu Quitter, comme pour toutes les autres applications.


Bien d'accord, mais Apple est le premier a le faire,
cf. /Applications/System Preferences.app


Je pense que c'est autorisé pour les applications qui ne manipulent pas
de document, et qui n'ont qu'une fenêtre (e.g. Calculette, Utilitaires
Disques, ...).


Oui, ces petites applis ne sont pas logiques par rapport au système, mais on
sait bien qu'Apple ne suit jamais ses guides, il n'y a qu'à voir le look des
différentes applications de Mac OS X.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.



Avatar
luc
Une bévue wrote:

mon bouton "Quitter" ne donne pas une action "très propre" car XCode me
dit :
/Users/yvon/work/RubyCocoa/AB2Web/build/Development/AB2Web.app/Contents/
Resources/Controller.rb:151:in `NSApplicationMain': NSApplicationMain -
RBException_SystemExit - exit (OSX::OCException)
from
/Users/yvon/work/RubyCocoa/AB2Web/build/Development/AB2Web.app/Contents/
Resources/rb_main.rb:50

AB2Web has exited with status 1.

quand je click sur Quitter (le bouton est lié à une action :

def quitter(sender)
exit 0
end

(c'est du RubyCocoa)


Ca ne m'étonne pas du tout. Le 'exit' est quand même un peu expéditif,
pour ne pas dire un peu porc... :)

Le mieux, puisque c'est du Cocoa, est bien sur de quitter façon Cocoa et
donc d'invoquer la méthode [terminate:] de NSApplication, qui fait tout
proprement.

par contre, si je quitte par :
AB2Web > Quitter j'obtiens :

AB2Web has exited with status 0.


cqfd.

--
Luc Heinrich

Avatar
Patrick Stadelmann
In article <C00D6CBE.549B2%,
Eric Levenez wrote:

Le 6/02/06 20:10, dans
, « Patrick
Stadelmann » a écrit :

In article ,
Pascal Bourguignon wrote:

Eric Levenez writes:

Ce n'est pas très logique de porter un comportement Windows sur Mac OS X.
Le
mieux serait de ne pas avoir de bouton de fermeture de fenêtre et
d'utilise
le menu Quitter, comme pour toutes les autres applications.


Bien d'accord, mais Apple est le premier a le faire,
cf. /Applications/System Preferences.app


Je pense que c'est autorisé pour les applications qui ne manipulent pas
de document, et qui n'ont qu'une fenêtre (e.g. Calculette, Utilitaires
Disques, ...).


Oui, ces petites applis ne sont pas logiques par rapport au système


Je trouve pas... Quand on ferme un document dans TextEdit, on a
peut-être envie d'en créer un nouveau ou d'en ouvrir un autre après,
normal que l'application reste ouverte. Avec la Calculette, quand on la
ferme ca ne va pas être le cas, logique donc que l'application quitte.

Patrick
--
Patrick Stadelmann




1 2