[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Proposal to fix NSCell issue
From: |
Quentin Mathé |
Subject: |
Re: [PATCH] Proposal to fix NSCell issue |
Date: |
Fri, 2 Apr 2004 03:35:12 +0200 |
Le 2 avr. 04, à 01:17, Fred Kiefer a écrit :
Quentin Mathé wrote:
Don't be confused :-). The problem is the following, Apple has added
-performClick: to NSCell but this is impossible to implement without
large modifications on NSMatrix for example (see my first set of
patches) and moreover it doesn't fit very well with the NSCell
philosophy : when you ask something to a cell you should pass a frame
and a view for the display with the method arguments.
Then Alex and me have thought it would better to deprecate NSCell
-performClick: method in favor of a more NSCellish method like
performClickWithFrame:inView: which follows the NSCell philosophy
like drawInteriorWithFrame:inView:.
Now you are saying -performClick: method for NSButtonCell is part of
the OpenStep specification. Then I agree now to not remove this
method in NSButtonCell and NSCell also to stay compatible with Apple
and OpenStep spec. I think we should just deprecate such method for
the moment, but I still think also that -performClick in NSCell (like
Apple) or in NSButtonCell (like OpenStep spec.) is a design error.
You must know also that with my proposed set of patches NSCell
NSButtonCell will still be unusable inside an NSMatrix with the
method -performClick. Here I reassert this is the reason to deprecate
it in favor of performClickWithFrame:inView:
I hope I have been clearer than the light ;-).
Sad enough your mail did not clear up things. The technical issue is
clear to me. That was why I, and not you together with Alexander,
suggested to use the -performClickWithFrame:inView: interface borrowed
from NSPopupButtonCell.
To make the things clear here : you are right, Alexander and I haven't
suggested to use -performClickWithFrame:inView:, you did this
suggestion… but I'm not saying the contrary : what I have suggested
with Alexander is "to deprecate NSCell -performClick: method in favor
of a more NSCellish method like performClickWithFrame:inView:".
And using this method inside of NSMatrix implementation of
-performClick: should fix your problems, without needing to deprecate
-performClick:. And that was puzzling me, why do you want to deprecate
a method that has is valid usages and is part of two standards, just
because there are cases, where it better is not used?
I have never wanted to deprecate NSControl -performClick:, I have just
suggested to deprecate NSCell (subclasses included) -performClick:.
… I think also NSMatrix -performClick: should be overrided to to do
nothing.
… but can you explain me with two pieces of code how it would possible
to implement -performClick: for NSMatrix and for NSCell (considering
the case of a cell inside a matrix) ?
And I am still surprised that you stated in the previous mail,
-performClick: was not in OpenStep and in this mail write, I am saying
it is. This is something rather easy to decide. It either is in the
standard or it is not. Without me saying so.
To make the things clear here again :
NSControl -performClick: is present in :
- OpenStep : No
- Cocoa : Yes
See
http://www.gnustep.org/resources/OpenStepSpec/ApplicationKit/Classes/
NSControl.html
NSCell -performClick: is present in :
- OpenStep : No
- Cocoa : Yes
See
http://www.gnustep.org/resources/OpenStepSpec/ApplicationKit/Classes/
NSCell.html
NSButtonCell -performClick: is present in :
- OpenStep : Yes
- Cocoa : Yes
See
http://www.gnustep.org/resources/OpenStepSpec/ApplicationKit/Classes/
NSButtonCell.html
Quentin.
ps : Fred, the mails I send to you still seems unable to reach your
mail account ? Have you another mail address I can use to try to
communicate with you by mail.
Thanks.
--
Quentin Mathé
qmathe@club-internet.fr