Re: Recent NSMenu changes..

2007-01-29 Thread Fred Kiefer
Nicolas Roard schrieb:
 On 1/29/07, Gregory John Casamento [EMAIL PROTECTED] wrote:
 All,

 Perhaps we could put a set of images to represent the key masks
 needed.The #/+/- scheme adds absolutely nothing and only clutters
 the interface.  It would be better to implement a mechanism which
 shows some images (pehaps *original* versions of the same symbols used
 in Cocoa) to represent Control, Command, Shift, and Alt.
 
 Images would be better, indeed. You probably do not need to show the
 shift modifier though -- simply use an uppercase letter (unless it's
 not a letter, of course).
 

Not sure here. At least reusing the Apple images wont help those of us
that don't use an Apple keybord :-)
Also when displaying images we need another whole set of changes to the
size calculation and drawing code in NSMenuItemCell. Who ever wants to
do this is free to do so, but I wont do anything in that direction.

To answer the other mails as well:
- Not showing the modifier symbol for Alt wont help. What would you
display for a key that works without any modifier? For example F12 could
be a short cut and Alt-F12 one as well. How would a user be able to
distinguish these?

- Showing the full explanation of a modifier is a bubble help is in
itself a great idea. But it does not resolve the original problem that
we need to display something to give the user an idea, what modifiers
have to be used.

- The code already tries to remove the shift modifier, when an uppercase
letter is given. The code here may be wrong, as I did change Nikolaus
original code.


Sorry, as I wrote in my first answer, I am not happy with the current
approach either. But all the answers up to now suggest that nobody
actually sees the problem here or is taking it serious. I am going to
drop out of the further discussion until that stage has been reached.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Recent NSMenu changes..

2007-01-28 Thread Fred Kiefer
Matt Rice schrieb:
 I don't really like the new NSMenuItemCell behaviour which adds #, /,
 +, ^ to
 show the key mask before the key equivalent.. i think its unattractive and
 makes it hard to quickly see the key equivalent, and doesn't increase the
 comprehension of which keys to press since they don't map to the actual
 keys
 to be pressed on the keyboard

It is a good point that this does look ugly and that it does not really
help a user to judge what modifier she needs to press to get the key
equivalent working. I did copy this code from mySTEP because up to then
the GNUstep code had only displayed the key equivalent itself. This
might in some cases even be a non printable character like return or
escape, so some change was needed. But our old code also did not show
the key modifier. I think in May last year Richard corrected the GUI
code to respect the key equivalent modifier, since then other modifier
apart from ALT where possible, but the GUI did not give a glue about
which modifier where needed. So seeing an s as the key modifier you
had to go through all the possible modifier combinations to trigger the
short cut. This clearly needed to be changed.
The question now is, if you have a better proposal on how to display the
modifier? Any idea here would be welcome.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Duplicate Member in NSMenuItemCell.h

2007-01-27 Thread Fred Kiefer
Adam Fedor schrieb:
 
 On Jan 26, 2007, at 7:48 AM, Richard Frith-Macdonald wrote:
 

 On 24 Jan 2007, at 16:36, Ted Howard wrote:
 Perhaps a bigger issue is that my compiler (gcc-4.1.1) happily
 compiles the current code!  Now that seems to me like a rather severe
 compiler bug.  Does anyone know different?
 
 I don't know why it wouldn't be a bug. Anyway, the Testfarm shows
 several machines that fail (and don't).  For instance gcc 4.0.1 on
 Darwin fails to compile, but 4.1.1. (on Solaris) happiliy compiles this...
 
 http://www.gnustep.org/developers/testfarm-results.txt
 

Sorry for taking so long to fix this simple bug. The ivar in
NSMenuItemCell was totally useless and was only set and used within a
single method. But then the code did not belong into this method at all.
So I had to move it to a different method and then one thing followed
from the other. In the end I had do do quite a few changes to the file
and would even prefer to change more in it. But before doing this, I
would like to get some feedback on the changes up to now.

As for the compiler, I now think that the correct behaviour was to allow
the duplicate ivar. In NSMenuItemCell this ivar was declared as private.
With that scope it should not clash with another ivar of the same name
in a super class. At least this is what I think. Still it is better to
avoid this case and have unique names for ivars.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Fwd: emacs.app does not support -GSFilePath

2007-01-25 Thread Fred Kiefer
Adrian Robert schrieb:
 Someone was asking me about whether Emacs.app supports the -GSFilePath
 option which GWorkspace uses to tell applications to open files.  I
 thought that there were already two ways to do this in OpenStep / Cocoa:
 -NSOpen option, and NSApplication-application:openFIle: method via DO
 or notifications.  Is this correct or is the GNUstep-specific
 -GSFilePath really needed?
 

Not sure, if I did understand your question. The code in [NSApplication
finishLaunching] supports NSOpen and GSFilePath, so if an application
inherits from this class it should just work with both parameters.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Duplicate Member in NSMenuItemCell.h

2007-01-24 Thread Fred Kiefer
Ted Howard schrieb:
 When I try to compile gui from the trunk, I get a duplicate member error
 in NSMenuItemCell.h on _backgroundColor.
 
 Upon looking at the code, I noticed that NSButtonCell was recently
 modified to include a _backgroundColor member.  Since NSMenuItemCell
 extends NSButtonCell, the _backgroundColor member of NSMenuItemCell
 should be removed.
 
 I tried this on my machine, and it seems to work fine.  I have attached
 a patch that does this.

This problem is interesting, as I did not get it reported by my gcc. I
had noticed it myself before, but as gcc did accept my code without a
warning I thought it wont pose a problem to anyone. So I thought, that I
could address it later on, when in my progress of adding MacOS 10.4
methods to each class I ever would reach this one.

I will correct this tomorrow, removing all references to the ivar in
NSMenuItemCell, which never had been needed there at all.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Questions to NSButtonCell

2007-01-23 Thread Fred Kiefer
Christopher Armstrong schrieb:
 Quite coincidentally, I've been playing around with this stuff myself in
 an attempt to develop further the theming API. I've been having trouble
 trying to sort out some of these problems as well. I was going to
 develop further what I was working on for submitting it, but I may as
 well share it now to avoid duplication. Find attached a patch against
 the gnustep-gui theming branch in SVN (please note it contains some
 extra API's I've been prototyping but haven't used yet, plus some
 documentation for NSScroller that I need to separate out and submit as a
 different patch).

Thank you for that code. I took it as the base for a slightly simpler
implementation. I will now start testing it and if things work out well
will commit it later today.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Questions to NSButtonCell

2007-01-22 Thread Fred Kiefer
While I working on NSButtonCell I stumbled over a few questions that I
am not able to solve myself. Perhaps one of you knows some of the answers.

1. Gradients
I tried to get gradients for a button to display on my Mac, but failed
to see any difference. How do I enable gradient display?
I want to get this displayed to decide if the method
drawGradientWithFrame:inView: does the correct thing. Even then this
method would need to be renamed or moved to GSTheme, but I suspect that
it does the wrong thing. The code here fills the whole button with the
gradient, I would expect that only the border needs to be shaded.

2. Cell Frame
All my previous test on MacOSX suggest, that the cell frame being passed
into drawInteriorWithFrame:inView: is exactly the same that did get
passed into drawWithFrame:inView:. But in the current GNUstep
implementation this frame gets reduced by the size of the bezel border.
This solution is a lot more elegant, but it will break porting between
Cocoa and GNUstep, if there is indeed a difference. I think what we need
to do is correct drawingRectForBounds: to ask the theme for the size of
the border.

3. border and bezel
Now NSCell has two different concepts for its border. It is either a
simple line, in which case it is called border, or a more complex thing,
then it is called bezel. For NSButtonCell these two seem to be merged.
Our code only checks the border flag, but it will draw a bezel.
I think that our code is correct, but we should get it better in sync
with the cell code.

4. show state
Why are we in the case of highlighted button cells subtracting the shows
state by mask from the highlight mask? This may be fully correct, I just
don't get the reasoning behind it.

There are more questions, but these are the ones, where I have given up
finding a solution myself.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep subversion statistics

2007-01-15 Thread Fred Kiefer
Andrew Ruder schrieb:
 I was browsing freshmeat.net earlier tonight and came across a package
 called 'svnstat.'  Since I keep local mirrors of all the gnustep stuff
 (with svk), I generated some statistics of some gnustep stuff.  It is
 pretty neat to look through.
 
 http://dump.aeruder.net/gnustep-stats/gdl2
 http://dump.aeruder.net/gnustep-stats/base
 http://dump.aeruder.net/gnustep-stats/gui
 http://dump.aeruder.net/gnustep-stats/back
 http://dump.aeruder.net/gnustep-stats/make
 
 It should be fairly accurate with the exception of the actual revision
 numbers (they are slightly skewed with the svk mirroring process, i.e.
 revision 23457 might be 26500 on my machine).
 

Great stuff, I specially like the heat diagram, where you can see what
has been changed over the last 30 days. To bad GNUstep is changing at a
much slower rate, so most of the fields stay black.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSMatrix keyboard stuff

2007-01-13 Thread Fred Kiefer
Now this looks like a nice and simple patch. If this replaces all your
previous patches then just go ahead and apply it. Or should I or Greg do
it for you? I think it is fine to have this one in, even if Greg will be
doing his stable release any time now.

Greg, are you actually? I just cannot remember what the result of that
discussion was. Currently I am keeping back my bigger changes and
waiting for you to give a sign when commits are welcome again.

Cheers.
Fred

Matt Rice schrieb:
 On 2007-01-10 09:17:49 -0800 Matt Rice [EMAIL PROTECTED] wrote:
 
 On 2007-01-10 09:04:57 -0800 Matt Rice [EMAIL PROTECTED] wrote:

 On 2007-01-10 07:59:16 -0800 Fred Kiefer [EMAIL PROTECTED] wrote:

 HI Matt,

 could you please explain this patch a bit? Only the last bit is about
 selecting the right cell in NSTrackModeMatrix. Are the other change a
 result of this?
 It looks like you intent to prevent the setting of the cell state for
 this mode. Is this correct?

 Yes, you understand the patch correctly,

 I've just noticed the difference between -keyCell and -selected*,
which seems to be what i need/the reason for my confusion.
 this one is much cleaner :D


 ok... so this one isn't going to be correct either.. because
 _selectCellAtRow:column: sets the state..

 
 alright sorry for the barrage of emails.
 I hadn't noticed the above because _selectCell:atRow:column: sets it to
 NSOnState.
 and the button i tested it with was on, so it was set to On then to Off
 by the setNextState.
 
 _selectCell:atRow:column: isn't right because the selected cell can have
 an NSOffState.
 for track/highlight mode and NSOnState for list/radio...
 
 hopefully this patch takes care of it :D
 
 matrix-kbd3.diff
 
 
 
 
 Index: NSMatrix.m
 ===
 --- NSMatrix.m(revision 24334)
 +++ NSMatrix.m(working copy)
 @@ -1211,7 +1211,14 @@
_selectedColumn = column;
_selectedCells[row][column] = YES;
  
 -  [_selectedCell setState: NSOnState];
 +  if (_mode == NSListModeMatrix || _mode == NSRadioModeMatrix)
 +{
 +   [_selectedCell setState: NSOnState];
 + }
 +  else
 +{
 +   [_selectedCell setNextState];
 + }
  
if (_mode == NSListModeMatrix)
   [aCell setHighlighted: YES];
 @@ -3695,25 +3702,17 @@
   [self _altModifier: character];
 else
   {
 -   NSCell *cell;
 -
 switch (_mode)
   {
   case NSTrackModeMatrix:
   case NSHighlightModeMatrix:
 -   cell = _cells[_dottedRow][_dottedColumn];
 -
 -   [cell setNextState];
 -   [self setNeedsDisplayInRect: [self cellFrameAtRow: _dottedRow
 -  column: _dottedColumn]];
 + case NSRadioModeMatrix:
 +   [self selectCellAtRow:_dottedRow column: _dottedColumn];
 break;
  
   case NSListModeMatrix:
 if (!(modifiers  NSShiftKeyMask))
   [self deselectAllCells];
 -
 - case NSRadioModeMatrix:
 -   [self selectCellAtRow: _dottedRow column: _dottedColumn];
 break;
   }
  



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Test fro overridden method

2006-12-30 Thread Fred Kiefer
Richard Frith-Macdonald schrieb:
 
 On 29 Dec 2006, at 01:26, Fred Kiefer wrote:
 
 Could somebody please verify that this method does what I expect it to
 do?
 I need such a test within NSDocument. Here Apple takes special care that
 if somebody has implemented the old interface methods for NSDocument in
 a subclass, then these methods are actually called instead of the new
 interface methods.

 /*
  * Private helper method to check, if the method given via the
 selector sel
  * has been overridden in the current subclass.
  */
 - (BOOL)_hasOverridden: (SEL)sel
 {
   // The actual signature is not important as we wont call the methods.
   IMP meth1;
   IMP meth2;

   meth1 = [self methodForSelector: sel];
   meth2 = [[NSDocument class] instanceMethodForSelector: sel];

   return (meth1 != meth2);
 }
 
 I'm not sure what you mean by 'verify' ... but unless someone has
 overridden any of the three methods you use, I would expect the code to
 return 1 if the method for  _sel has been overridden, 0 otherwise.
 
 You can bypass issues with those methods being overridden by calling the
 appropriate runtime functions, however if someone has overridden the
 methods they probably did so for a reason, and bypassing them could 
 also cause problems.  So while using the runtime directly can help, it
 can also (if less likely) cause problems.  I would guess it is less
 likely to cause problems than cure them, so runtime use is probably
 better, but it's by no means certain.
 
 I suppose the most efficient implementation one could do would be
 something like ...
 
 BOOL
 GSObjCHasOverridden(Class baseClass, NSObject *instance, SEL selector)
 {
   Class instanceClass = GSObjCClass(instance);
 
   if (instanceClass == baseClass
 || GSGetMethod(instanceClass, selector, YES. YES) ==
 GSGetMethod(base, selector, YES. YES))
 {
   return YES;
 }
   return NO;
 }
 
 which might be a candidate for inclusion in GSObjCRuntime.[hm]
 
 Of course, it might be worth being able to test overriding of class
 methods too, depending on whether you pass an instance or a class 
 
 BOOL
 GSObjCHasOverridden(Class baseClass, id object, SEL selector)
 {
   if (GSObjCIsClass(object))
 {
   if ((Class)object == baseClass
 || GSGetMethod((Class)object, selector, NO. YES) ==
 GSGetMethod(base, selector, NO. YES))
 {
   return YES;
 }
 }
   else
 {
   Class instanceClass = GSObjCClass(object);
 
   if (instanceClass == baseClass
 || GSGetMethod(instanceClass, selector, YES. YES) ==
 GSGetMethod(base, selector, YES. YES))
 {
   return YES;
 }
 }
   return NO;
 }

Thank you very much for this code. This uses some fast but GNU runtime
specific functions. I will stick with my slower method of testing until
this implementation makes it into GSobjCRuntime and we also have an
abstraction that allows similar tests with the Apple runtime.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Test fro overridden method

2006-12-30 Thread Fred Kiefer
Richard Frith-Macdonald schrieb:
 
 On 30 Dec 2006, at 16:09, Fred Kiefer wrote:
 
 BOOL
 GSObjCHasOverridden(Class baseClass, id object, SEL selector)
 {
   if (GSObjCIsClass(object))
 {
   if ((Class)object == baseClass
 || GSGetMethod((Class)object, selector, NO. YES) ==
 GSGetMethod(base, selector, NO. YES))
 {
   return YES;
 }
 }
   else
 {
   Class instanceClass = GSObjCClass(object);

   if (instanceClass == baseClass
 || GSGetMethod(instanceClass, selector, YES. YES) ==
 GSGetMethod(base, selector, YES. YES))
 {
   return YES;
 }
 }
   return NO;
 }

 Thank you very much for this code. This uses some fast but GNU runtime
 specific functions. I will stick with my slower method of testing until
 this implementation makes it into GSobjCRuntime and we also have an
 abstraction that allows similar tests with the Apple runtime.
 
 Actually, it doesn't use ANY GNU runtime specific functions, it's
 entirely runtime independent code!
 
 It uses functions from GSObjCRuntime.h and GSObjCRuntime.m ... which are
 wrappers round either GNU runtime functions or Apple runtime functions
 depending on which system you build.
 
 The equivalent GNU runtime specific code would use object_is_class()
 rather than GSObjCIsClass() and would use class_get_instance_method()
 and class_get_class_method() rather than GSGetMethod()
 

Oops, thank you for pointing this out. I should have checked in the code
before making this statement. The used functions are in the Additions of
base and would thereby be valid to be used in gui. Still I think this
function looks too serious to be thrown into a gui class as a helper. It
would confuse people like me. :-)

Cheers,
Fred



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Test fro overridden method

2006-12-28 Thread Fred Kiefer
Could somebody please verify that this method does what I expect it to do?
I need such a test within NSDocument. Here Apple takes special care that
if somebody has implemented the old interface methods for NSDocument in
a subclass, then these methods are actually called instead of the new
interface methods.

/*
 * Private helper method to check, if the method given via the selector sel
 * has been overridden in the current subclass.
 */
- (BOOL)_hasOverridden: (SEL)sel
{
  // The actual signature is not important as we wont call the methods.
  IMP meth1;
  IMP meth2;

  meth1 = [self methodForSelector: sel];
  meth2 = [[NSDocument class] instanceMethodForSelector: sel];

  return (meth1 != meth2);
}

If the code stays that simple, I might even make a macro of it.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Proposal to deprecate Xlib backend

2006-12-26 Thread Fred Kiefer
Yen-Ju Chen schrieb:
  I guess this is the reason why transparency does not work in Cairo
 backend:
  cairo backend draw everything directly on xwindow.
  In -gui, an image is often draw on a hidden window, then composite
 on the destination.
  Because cairo backend draw directly on xwindow first,
  it loses the alpha value.
  Then when it is composited to the destination,
  the transparent part becomes the background of the hidden window.
 
  I have a copy of cairo backend in Etoile project:
  http://svn.gna.org/viewcvs/etoile/branches/yjchen/etoile_back/
  It basically draw on the x11/XWindowBuffer first as what art backend does.
  Therefore, it keeps the alpha value for composition.
  The modification is very little.
  You can check out README.etoile_back.
  A simple diff is sufficient to see the difference of source code.
  There are some minor issues here and there, though.
 

Great, this resolves the transparency issue! I added your changes for
this to the official GNUstep cairo backend. I did not take over your
changes to x11, on which I need to take another look.

You also have a change to add the freetype2 libraries and settings to
the configuration. This should not be needed if cairo is configured
correctly. Could you please type in pkg-config --libs cairo at a
command prompt to see if this includes freetype or not?

I also added you endianess change, hope I did get it correct.

As you have the unbuffered code commented out yourself, I did not take
it over. And the NSClipView change is clearly a hack. We need to resolve
the actual issue behind it.

With images now drawn transparent you will see that many images get
flipped. I will have to take another look into the horrible
compositeGState:... method to sort this out. If we are lucky the clip
view issue will get resolved by that as well.

The next thing to investigate will than be the text drawing, as the
metrics seem to be wrong here.

Cheers,
Fred



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Proposal to deprecate Xlib backend

2006-12-25 Thread Fred Kiefer
Gregory John Casamento schrieb:
 Richard,
 
 The reasons behind the move to Cairo are as follows:
 
 1) Cairo is being used by a number of other projects.  It is very stable and 
 well maintained.
 2) Cairo has been ported to a number of other operating systems, including 
 windows and has a large number of output targets.  This way, Cairo would do 
 much of the heavy lifting for us with regards to getting things to render 
 acceptably on other platforms.
 
 I agree with what Richard is saying here as well.
 

Looks like everybody agrees with Richard:-)

So let's focus on the cairo backend for now and when it is finished
deprecate xlib and art, but let them stick around for some time afterwards.

Things to be done for the cairo backend:
- Test with the latest cairo release.
- Sort out copying from one cairo GState onto itself.
- Get transparent images working.

There is more, but these I remember from the top of my head.

Cheers,
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Menu Proposal

2006-11-29 Thread Fred Kiefer
Matt Rice schrieb:
 On 2006-11-29 04:19:25 -0800 Christopher Armstrong
 [EMAIL PROTECTED] wrote:
 
 Hi all

 I wish to make a proposal regarding NSMenu. There has been alot of
 debate about GNUstep's stacked menus in the past. It is clear that alot
 of people like GNUstep's stacked menus, but alot of people also have
 different ideas about how menus should be displayed. I want to propose
 one pragmatic solution that should make it easier to support multiple
 menuing paridigms.

 I have been looking at the code in NSMenu, and at the moment NSMenu is
 reponsible for creating an NSMenuView and the NSPanel object that it is
 housed in. As a result, this code makes the assumption that a menu is
 always in a separate window, and that there is only one displayed
 representation of a menu. It also assumes that the menu representation
 is drawn in the same process with an NSMenuView object.

 In order to support different paridigms, such as the (addmittedly broken
 but popular) one-menu-per-main-window on Win32/Gtk/Qt or Etoile's menu
 server, I believe that programmers currently need to modify NSMenu
 through means such as subclassing or overriding using categories. These
 methods are prone to breakage as they often depend on internal
 implementations.

 I am proposing that we separate the visual representation of a menu
 (which includes the window it is drawn in (NSMenuPanel), the view
 (NSMenuView) and the item cells (NSMenuItemCell)) from the abstract
 representation of a menu (NSMenu). I am suggesting we do this allowing
 people to supply an object which will receive menu update notifications
 (such as items being added, removed, etc.) and be responsible for
 coordinating the drawing of the menus and handling events. It should be
 different from the current use of the NSMenuRepresentation which
 assumes that the menu representation is a subclass of NSView. This
 object should implement some sort of protocol for communication
 between itself and NSMenu, the protocol supplying methods which inform
 the object of changes in the NSMenu, something like the interaction
 between a Model and Controller in MVC.

 For example, you may wish to place a menu on each of your document
 windows, but this breaks the current assumption that there is only one
 visual representation (view) of the menu. In this case, the intermediary
 object would sit between NSMenu and the associated set of NSMenuViews
 which reside in each document window. It would be responsible for
 receiving update messages from the NSMenu object and forwarding them to
 each of the NSMenuViews. These views in turn would somehow notify the
 NSMenu when they are clicked/selected.

 I think this may be a reasonably opportune time to play with the current
 design, as Apple have deprecated the usage of NSMenuView and
 NSMenuItemCell along with the -menuRepresentation property of NSMenu
 (according to the Cocoa docs). Before I possibly attempted to implement
 such a solution, I wanted to discuss it with the list as I fear this
 solution may be too complex where simpler solutions exist, and I know it
 has implications for some other areas in the AppKit (especially popup
 buttons). I don't wish to engage anyone in debate about the merits or
 disadvantages of stacked vs horizontal menus; I think this has been
 discussed enough on these mailing lists before. I believe we should be
 pragmatic and offer people a choice.

 It would be helpful to gain some feedback about this idea, particularly
 its feasibility. I think it is not too difficult to implement and I do
 think it is necessary if we want to be flexible in supporting different
 kinds of menu paridigms.


 Cheers

 Chris

 
 another thing to consider is context sensitive menus, which regardless
 of main menu implementation want a vertical menu
 
 i for one would like to see NSPopUpButtons cleaned up,
 as it is theres NSPopUpButton has a NSPopUpButtonCell has a NSMenu has a
 NSMenuView has a NSMenuPanel,
 there seems to be more code for pop-up buttons in the NSMenu* classes
 than NSPopUpButton*
 (seems like it'd be cleaner to have just a window with a matrix in
 NSPopUpButtonCell)..
 
 also it seems like this class has been updated sequentially to conform
 to apples NSMenu implementation of the day
 and its sort of a hodge podge of characteristics from all the different
 NSMenu implementations
 
 so i'm basically indifferent twords support of different menu paridigms,
 i definately think NSMenu* needs an audit
 

I like the original idea, although I currently don't see to much benefit
from it. Perhaps we should have the interface for the new implementation
first, before we get any new code.

As for the second mail on NSPopUpButton I totally seem to miss the point
here. What is the problem here? I have been involved in the development
of NSPopUpButtonCell, so I may be blind to the fact that the code here
is hodge podge.

Cheers,
Fred


___
Gnustep-dev mailing list

Re: [Gnustep-cvs] r24007 - in /libs/gui/trunk: ChangeLog Source/GSDragView.m Source/NSCell.m Source/NSTableView.m

2006-11-06 Thread Fred Kiefer
matt rice schrieb:
 Author: ratmice
 Date: Wed Nov  1 10:50:00 2006
 New Revision: 24007
 
 URL: http://svn.gna.org/viewcvs/gnustep?rev=24007view=rev
 Log:
 * Source/NSTableView.m: Add new private methods.
 (-mouseDown:): Reorganize and don't track cells until dragging
 has been ruled out.
 * Source/NSCell.m (trackMouse:inRect:ofView:untilMouseUp:):
 Handle events no longer in the queue.
 * Source/GSDragView.m: Change NSLog to NSDebugLLog.
 

Hi Matt,

first of all, thank you for doing all this great work in cleaning up the
behaviour of NSTableView. This is a very complex class and it is so
unbelievable hard to get things right there.
A few comments to this specific change.

- It looks like you are not using the standard GNUstep formatting rules.
I must admit that I am not following them all the time, but the way you
place your blanks or rather leave them out, should be adopted to the to
be more readable. One space character after a colon should be used :-)

- The new method _startDragOperationWithEvent: should pass on the offset
for the dragging and not mix this with the start position.

- In the new tracking method, we only check if the column is editable,
shouldn't we use the method that checks for the cell to be editable?
(BTW in this the comments are still wrong)

- A bit more comments in the mouseDown: method would be helpful. This is
so complex and there are so many different things we tried before, that
we really need to explain what is happening and why. I still don't
understand if the dragging is stealing events from the tracking or the
other way around or even both may happen.

You see, this are less things that are wrong, but rather stuff that
needs to be clearer to guarantee that the progress you are making here
will last.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] r23971 - in /libs/back/trunk: ChangeLog Source/x11/XGServerWindow.m Source/x11/XIMInputServer.m

2006-10-28 Thread Fred Kiefer
David Ayers schrieb:
 Fred Kiefer schrieb:
 Author: fredkiefer
 Date: Fri Oct 27 14:25:26 2006
 New Revision: 23971

 URL: http://svn.gna.org/viewcvs/gnustep?rev=23971view=rev
 Log:
 Small correction to adopt to base change also remove annoying warning.

 Modified:
 libs/back/trunk/ChangeLog
 libs/back/trunk/Source/x11/XGServerWindow.m
 libs/back/trunk/Source/x11/XIMInputServer.m
 
 This makes the log in XIMInputServer is multilingual in non english
 locale's...
 
 I still feel that GetEncodingName (or GSEncodingName, or
 GSNameFromEncoding()) is generally useful.  Does anyone else agree?

I don't have any opinion what so ever on this. :-)
What I did was just to adjust the code on back to a change that was done
in base some time before, without changing the affected code in back. :-(

What seems odd to me is that Apple did only define a localized version
of this method. Having a non-localized as well would seem more natural
to me. Perhaps we should add one as a GNUstep extension? But in this
code in back I would still prefer the localized output.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: exception panel userInfo browser

2006-10-27 Thread Fred Kiefer
Hi Matt,

hope I did not block you by not replying. I was away this week and gave
up on reading mails while travelling some time ago.

To me this patch looks great so go ahead. What could be added is
translatability of the texts, but this is missing in the whole file. We
need to add this at some point in time, not now.

Cheers
Fred

Matt Rice schrieb:
 alright i did this stuff, and managed to get it
 working in an external panel, so no more exception
 panel resizing and ugly box hack
 



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: exception panel userInfo browser

2006-10-22 Thread Fred Kiefer
Matt Rice schrieb:
 not sure if anyone is opposed to adding something like
 this...
 
 it provides a userInfo browser to the exception panel
 which gets shown when you click on the icon in the
 upper left hand corner.
 
 i find it very useful when doing key value coding
 stuff
 and you have dictionaries with arrays of dictionaries
 and stuff
 
 it isn't the most polished looking but it does the job.


Hi Matt,

the idea of the panel itself seems nice, but why do you add it via
getSomePanel(). As you did not change NSReleaseAlertPanel() you wont
have a benefit from this. For me it would seem easier, if you just
created the panel manually without caching. This will reduce the size of
your patch.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep Testfarm Results

2006-10-18 Thread Fred Kiefer
Adam Fedor schrieb:
 Test results for GNUstep as of Wed Oct 18 06:34:16 EDT 2006
 If a particular system failed compilation, the logs for that system will
 be placed at ftp://ftp.gnustep.org/pub/testfarm
 
 If you would like to be a part of this automated testfarm, see
 http://wiki.gnustep.org/index.php/Developer_FAQ#How_can_I_take_part_with_a_GNUstep_autobuilder_for_the_testfarm.3F
 
 Success Compile i386-unknown-netbsdelf3.0 Wed Oct 18 03:56:28 CEST 2006
 Success Compile powerpc-apple-darwin7.9.0 Wed Oct 18 03:09:24 MDT 2006
 Fail Compile sparc-sun-solaris2.7 Wed Oct 18 01:21:03 EDT 2006
 Success Compile x86_64-unknown-linux-gnu Wed Oct 18 04:09:57 BST 2006
 

Looking at the output of the failed solaris compilation I would say the
the missing UNICODE_HEADERS varaible is causing this. Does anybody have
an idea, what may have changed this and more importantly if the code in
Makefile.postamble intalling these header would be of any real value? I
would recommend to remove these lines.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Fwd: Versioning/release policy proposal

2006-10-06 Thread Fred Kiefer
I like this proposal very much, there is one area, where I see problems,
but we could wait until we actually face them. This is the question, who
will be willing to work on the bugfix releases?
Most developers will spend their time and efforts on the new unstable
release, then somebody needs to decide that some change to the unstable
release is worthwhile to be ported back to the last stable release,
integrate it there and make a release. The procedure itself sounds fine,
but as long as nobody volunteers to actually follow it, it wont help.
Any volunteers?

Fred

Richard Frith-Macdonald schrieb:
 4. Release stability policy
 We advertise a 'stable' release *every* time we break backward
 compatibility.  Doing this requires making two releases pretty much at
 the same time and bumping the minor version number for each.  Eg. if
 the last release was 1.3.24 then we release 1.4.0 as 'stable' and
 1.5.0 as 'unstable', each with the appropriate change in the SONAME. 
 All releases (if any) in the 1.4 family would be bugfix releases.
 I suspect the vast majority of people would just use the 'unstable'
 releases (largely defeating the point of having 'stable' ones), but
 the overhead of doing a 'stable' release is very low, so I don't see
 why we shouldn't do it.
 We can make 'stable' releases be those with even subminor version
 numbers.

 5. Standard release procedure (backward compatible with previous version)
 a. tag the version for release using the name_major_minor_subminor
 convention.
 b. make tarballs and installation packages
 c. bump the subminor version number in trunk
 d. put release on ftp site and publicise

 5. Standard release procedure (NOT backward compatible with previous
 version)
 a. bump the minor version number and SONAME and reset the subminor
 number to zero
 b. tag the version for release as 'stable' using the
 name_major_minor_subminor convention.
 c. make tarballs and installation packages
 d. bump the minor version number and SONAME and reset the subminor
 number to zero
 e. tag the version for release as 'unstable' using the
 name_major_minor_subminor convention.
 f. put releases on ftp site and publicise

 6. Bugfix release procedure
 a. if this is the first bugfix release of a package version, make a
 branch from the tagged release using the tag name as the branch name
 eg. if the release was tagged in svn as foo/tags/foo_1_2_0 then the
 branch is foo/branches/foo_1_2_0
 b. apply bugfixes to the branch
 c. tag the branch as foo_1_2_0-1
 d. make tarballs and installation packages
 e. put on ftp site and publicise
 NB.  we only ever make 'bugfix' releases in 'stable' release families,
 and these are the only sort of releases we make in those families.




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] r23599 - in /libs/gui/trunk: ChangeLog Source/NSTableView.m

2006-09-27 Thread Fred Kiefer
HI Matt,

could you please explain this change? When writing this method I took
great care to implement it the way Quentin did describe the behaviour of
Cocoa in his mail from the 8th of September. Was the description wrong
or just my implementation?

Cheers
Fred

matt rice schrieb:
 Author: ratmice
 Date: Sat Sep 23 23:53:25 2006
 New Revision: 23599
 
 URL: http://svn.gna.org/viewcvs/gnustep?rev=23599view=rev
 Log:
* Source/NSTableView.m (_isCellEditableColumn:row:): Allow
delegate to limit editablility of editable columns.
 
 
 Modified:
 libs/gui/trunk/ChangeLog
 libs/gui/trunk/Source/NSTableView.m
 


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: question to backend/gui guru...

2006-09-11 Thread Fred Kiefer
I would agree with Adams answer, go for a dummy graphics backend.
Perhaps we could even rewrite the back makefile to have gsc usable as such?
As I understand it you will need a window, or rather event server based
on SDL. Put that into back and perhaps somebody may later add code to
make this a full backend. I love to see huge things being build up by
people only requiring small parts of it.

Fred

Adam Fedor schrieb:
 As long as you don't call [NSApplication sharedApplication] (or, in
 fact, initialize NSApplication at all), you can use classes in the gui
 without a backend.  But you have to be careful not to use any
 classes/methods that cause any display or drawing.  Also you could
 create a dummy backend (something like gsc in gnustep-back). That does
 nothing or does what you want it (see documentation for GSDisplayServer
 and NSGraphicsContext).
 
 
 On Sep 10, 2006, at 2:09 PM, [EMAIL PROTECTED] wrote:
 

 Gregory,

 Thanks for your answer.

 I dont want to make a 'gnustep application', but an 'application
 using gnustep' ;-)
 Actually i want to make a tiny 3D game in objective C. You may see
 that as a training (for me) and a test of the efficiency of
 objective c for that kind of application. SDL is imho a good choice
 for a game, and gnustep is a good choice for objective C.

 Basically i need a simple cross-platform multimedia library, with
 _joystick_support_, fullscreen display, custom resolution... Gnustep
 cant do that, but can do many other useful things. And I'd like to
 write some code that might be run/resuse later on a full gnustep
 system, and then i have to write some NS-compatible classes.
 In brief I need something like a NSApplication class that does not
 need any NSWindow object. I could (try to) write it from scratch,
 but i'd prefer reuse gnustep classes if i can : they are better than
 anything i could make...

 TIA

 Xavier

 Selon Gregory John Casamento [EMAIL PROTECTED]:

 Xavier,

 You've given little information about what you're actually trying to do.
 Your email details how you would like to solve the issue, but doesn't
 clearly
 define what the issue is.

 Based on the fact that you briefly mention OpenGL, I assume you
  want to make
 a GNUstep application which displays OpenGL graphics.  GNUstep has an
 implementation of NSOpenGLView which allows OpenGL to be directly
 displayed
 in the view.   GNUstep does this by creating an OpenGL window and
 reparenting
 it to the view, thus not incurring any overhead.

 Is there some issue with using this?

 Later, GJC

 --Gregory Casamento

 - Original Message 
 From: [EMAIL PROTECTED]
 To: gnustep-dev@gnu.org
 Sent: Sunday, September 10, 2006 11:59:00 AM
 Subject: question to backend/gui guru...


 Hello

 I intend to write a SDL+OpenGL application based on gnustep.

 I can use gnustep-base without problem, but i'd like to use some
 parts of
 gnustep-gui (event management, ...) without any graphic or window
 class/function.

 SDL dont provides any graphic function, and I dont want to write à full
 SDL+OpenGL backend !!
 I dont want to rewrite gnustep in any way. I only want to compile the
 classes
 i
 need in gnustep-gui. But I understand I would have to write a partial
 backend,
 a SDL-server, like win32 or X11 ones (i hope i can do that...)

 I wonder if it would be easy (or at least feasible) to split/compile
 gnustep-back and gnustep-gui in two parts : server and system on one
 side,
 and graphics and gui on the other side.
 (and then use only (SDL-)server/system)
 Any informations about dependances between classes will be welcome ! Its
 quite
 obscur for me... :o\

 In brief : feasible or not ?  thnks in advance !




___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [NSButton sendActionOn:]

2006-08-10 Thread Fred Kiefer
In reply to this bug report I have finally changed NSControl's method
mouseDown: to no longer fiddle with the action mask of the cell and also
not to capture the mouse any more. The later is needed to allow the cell
to start any modal windows.

I regard this as a rather deep change and have tested it for some time
now, still there may be special cases that I have overlooked. I would
like to ask all developers of GNUstep to test their gui applications, if
the still function as expected. I am sure it will be fairly simple to
resolve any remaining issues.

Cheers
Fred

Marc Brünink schrieb:
 
 [NSButton sendActionOn:] does not work at all. This is because of
 
   if ([_cell isContinuous])
 {
   oldActionMask = [_cell sendActionOn: NSPeriodicMask];
 }
   else
 {
   oldActionMask = [_cell sendActionOn: 0];
 }
 
 in [NSControl mouseDown:]. If I comment these lines out and kill the
 last 3 lines of the method
   //[_cell sendActionOn: oldActionMask];
 
 //  if (mouseUp)
   //  [self sendAction: [self action] to: [self target]];
 
 everything works as expected. Why does NSControl just ignore my settings
 and resets everything back to 0 before handling the event?
 
 Please send me a CC.
 


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: How to indicate API version properly (taking in account next release)?

2006-08-09 Thread Fred Kiefer
Hi Quentin,

I may not understand your problem correctly, but if you only want to
make sure that the new functionality is available and you know that it
was not available at a certain release version of GNUstep, but will be
in what ever version comes next. Then it should be possible to just use
the next possible micro number, independent of the fact if this number
ever gets used. What ever release number will be chosen, it will be
higher than the one you check for.

Cheers
Fred

Quentin Mathé schrieb:
 
 I would like to know whether there is any way to indicate the next
 GNUstep release for GS_API_VERSION macro.
 For example, when you add a new method, it will be available only with
 the next release, but at the time you commit header/implementation
 update related you cannot know for sure what will be the next version
 number of the library. The maintener can decide to do either a minor
 release or a major release then the release number will vary.
 
 If the latest release is related to the macro:
 #if GS_API_VERSION(011300,GS_API_LATEST)
 
 The next release could be either 1.0, 0.12 or 0.11.4… Here is the
 prGNUoblem :-)
 That means you have to guess the next release number (where your new
 features will be introduced).
 
 Some kind of macro like GS_NEXT_RELEASE associated with a script run to
 replace at release time could prove to be useful.
 #if GS_API_VERSION(GS_NEXT_RELEASE, GS_API_LATEST)
 
 Any already available solutions or suggestions?
 
 By the way, it's not easy to find the macros GS_API_VERSION and
 OS_API_VERSION in the documentation because there is no links to them in
 the -base Intro section (where API versioning is introduced). Some
 examples in the documentation would be useful too.
 



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


NSController and subclasses

2006-06-05 Thread Fred Kiefer
I am still trying to get the Books application to compile with GNUstep.

Amongst many other things that are still missing, we also need
NSController and the two subclasses NSObjectController and
NSArrayController. All these classes have been added to AppKit in MacOSX
10.3 and extended in 10.4. GNUstep still doesn't have them.

These classes need key-value coding and observing to be fully functional
and NSObjectController also uses some classes from the coredata
framework. This lets me doubt, if we really should put these classes
into gui. What about having a coredata framework in the GNUstep SVN and
add these classes as an extension to that?

Any opinions?
Fred



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


GCC 4.1 problem?

2006-05-28 Thread Fred Kiefer
While trying to reproduce a problem with the xlib backend on my newly
installed SuSE 10.1 system, I found that menus get only partially
displayed, also the knob in horizontal sliders was missing. With this
few hints I set off to drag down the bug behind it. It took my quite
some time, but now I think I found it. The affine transform used to
compute the state transformation suddenly had a NaN component as TY. How
could this ever happen? I put in a few NSLog statements into
[NSAffineTransform scaleXBy:YBy:] and the problem was gone.

For me this proves that there is a gcc problem (gcc (GCC) 4.1.0 (SUSE
Linux)), but how to deal with it? The simplest thing is surely to switch
off some optimisation for this file. As far as I remember, there is even
a switch for this in GNUmake. The danger is that the same problem may
show up in other places as well. How could we prepare for that?

What I don't understand is why this problem doesn't show up for other
backend and why I am the first one affected? Many of you should already
use gcc 4.1, what is so special about the SuSE version? Perhaps nobody
ever uses the xlib backend any more? Could those using gcc 4.1 on a 32
bit Intel machine try at least once?

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Fontconfig in GNUstep

2006-05-20 Thread Fred Kiefer
Quentin Mathé wrote:
 Le 15 mai 06 à 04:06, BALATON Zoltan a écrit :
 - CGFont: Enough to get fonts from Fontconfig for CGContextSelectFont
 
 Is there any code to support Fontconfig in GNUstep right now ?
 

To answer just this question: Yes!

For the xlib backend it is in GSXftFontInfo.m and for the cairo backend
in CairoFontEnumerator.m.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Nib compatibility progress

2006-05-13 Thread Fred Kiefer
Hi Gregory,

that is a great step for GNustep.
Thank you for achiving it.

Fred

Gregory John Casamento wrote:
 I just wanted to post some screenshots here of progress thusfar on nib
 compatibility efforts.  Here is a gui done in IB, the GNUstep one is
 running in a live app and the Cocoa one is in IB.  This is using a nib
 file called busybox.nib which is checked in on the NibCompatibility
 branch along with all of the other changes.   GNUstep appears to be
 reading nibs quite well at this point.
 
 I am considering merging this on Saturday or Sunday.  I have tested it
 extensively and have kept up to date with all of the changes on the trunk.
  


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] r22892 - in /libs/gui/trunk: ChangeLog Documentation/GuiUser/DefaultsSummary.gsdoc Source/GSDragView.m Source/NSApplication.m

2006-05-12 Thread Fred Kiefer
Tim McIntosh wrote:
 
 On May 11, 2006, at 5:41 PM, Fred Kiefer wrote:
 
 Quentin Mathé wrote:

 I think it could be better to phrase the key 'GSDontShowAppIcon'  in  an
 affirmative way, just 'GSShowAppIcon'. It seems to be the usual  rule
 with boolean choice in UI and API.

 But then it was not the only reason, it is also easier to check that
 way, as the default, when the option is no specified at all, should be
 to show the icon. This also means that when you want to show the icon,
 you don't have to provide a setting, an option is only needed to  switch
 it off. That's why I did stick with the way Saso decided to do it.
 
 How about something like one of the following?
 
 GSHideAppIcon
 GSDisableAppIcon
 GSInhibitAppIcon
 GSSuppressAppIcon
 

OK, I did selecte GSSuppressAppIcon out of this list. It really is the
better name.

Thanks
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] r22850 - in /libs/gui/branches/NibCompatibility: ChangeLog Source/NSLayoutManager.m Source/NSTextContainer.m Source/NSTextView.m

2006-05-03 Thread Fred Kiefer
Hi Gregory,

when seeing your regular updates to the NIB compatibiltiy branch, I am
wondering, when you will decide that it is time to merge this branch
back into the main trunk.
In my opinion the time will be right, when this branch is stable enough
to not break other GNUstep code. It does not require that all GNUstep
GUI classes get correctly loaded and stored. People are more likely to
help out with implementing special cases for keyed coding when the code
is visible.

Cheers
Fred

Gregory Casamento wrote:
 Author: gcasa
 Date: Wed May  3 07:00:56 2006
 New Revision: 22850
 
 URL: http://svn.gna.org/viewcvs/gnustep?rev=22850view=rev
 Log:
 Improved keyed archiving for nib support.
 
 Modified:
 libs/gui/branches/NibCompatibility/ChangeLog
 libs/gui/branches/NibCompatibility/Source/NSLayoutManager.m
 libs/gui/branches/NibCompatibility/Source/NSTextContainer.m
 libs/gui/branches/NibCompatibility/Source/NSTextView.m
 


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] r22843 - in /libs/gui/trunk: ChangeLog Source/NSMenu.m

2006-05-01 Thread Fred Kiefer
Hi Richard,

I just checked this change and found that you have hard coded the value
of NSCommandKeyMask as the modifier. If I see correctly, the modifier
could be changed on the menu item, so it looks better to use [item
keyEquivalentModifierMask]. Most likely this error was already in the
old code and you just moved it around.

Cheers
Fred

Richard Frith-Macdonald wrote:
 Author: rfm
 Date: Sun Apr 30 22:29:30 2006
 New Revision: 22843
 
 URL: http://svn.gna.org/viewcvs/gnustep?rev=22843view=rev
 Log:
 Fix longstanding bug in key equivalents handling which was previously masked 
 by a bug in NSApplication.
 
 Modified:
 libs/gui/trunk/ChangeLog
 libs/gui/trunk/Source/NSMenu.m
 
 
 ___
 Gnustep-cvs mailing list
 Gnustep-cvs@gna.org
 https://mail.gna.org/listinfo/gnustep-cvs
 
 



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [PATCH] Minor fix in NSWindowController

2006-04-22 Thread Fred Kiefer
Quentin Mathé wrote:
 I have done new tests with other applications today like Notebook,  Ink
 and ToolbarExample (which is document based). With the two last  ones,
 the result is a segmentation fault on a document window  close :-/. It's
 retain/release issue. Now I think that's the extra  'retain' I removed
 in NSWindowController is just covering another bug  (may be more). I
 would say it's probably related to - isReleasedWhenClosed value not
 properly ignored everywhere when  NSWindowController is used in
 NSDocument architecture context. What's  your take on this ?
 

Most likely this segmentation fault was the reason I introduced the
retain call in the first place.
Now with the new explanation from Apple we need to change some code. I
would insist, that what ever you change it should not break existing
applications. Apart from that feel free to bring our code closer to what
should be done. From my point of view the whole code in
[NSWindowController _windowWillClose:] could go away, but I am not deep
enough into this any more.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [PATCH] Minor fix in NSWindowController

2006-04-18 Thread Fred Kiefer
Hi Quentin,

Quentin Mathé wrote:
 Le 28 mars 06 à 00:57, Fred Kiefer a écrit :
 
 I am rather unsure about this patch.I don't quite remember, who did
 put in these commetn lines on retaining the window, but I would
 expect  that there were reasons for it at that time. Still they may
 have been  the now redundant solution of an already resolved
 problem.
 
 I think you wrote the comments, here is the ChangeLog entry which 
 introduced this 'retain' line : 2003-08-30  Fred Kiefer
 [EMAIL PROTECTED]
 
 * Source/NSWindowController.m Changed [setWindow:] to manage the
 notification connection to the window. [initWithWindow:], [dealloc]
 and [_windowWillClose:] now use [setWindow:]. [setDocument:] now no
 longer retains the document, as this is already retaining the window
 controller. Simplified [loadWindow] by using the method
 [windowNibPath].
 

Oops, I must admit that I don't have any memory of this change any more.
If your new code works for document based applications as well as for
others, then it should be fine to submit it. Could you please test with
Ink as well?

 
 The previous comment makes a bit more sense (unlike the most recent
 one) :
 
 /* * If the window is set to isReleasedWhenClosed, it will release *
 itself, so nil out our reference so we don't release  it again * *
 Apple's implementation doesn't seem to deal with this case, and *
 crashes if isReleaseWhenClosed is set. */ */ _window = nil;
 
 However I think it's not needed because there is no 'retain' or 
 'release' calls on _window in NSWindowController.m (not even in - 
 dealloc method).
 

This is not completly true, the retaining and releasing of _window gets
done in setWindow:. This seems to have been the core of that patch, to
move all code which changes the _window ivar into one place. This change
was related to the bug report #4840, which was about a similar problem
as the one you are facing now. If I only could remember...

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Italian and lojban Localizable.strings

2006-03-29 Thread Fred Kiefer
Hi Maurizio,

don't get us wrong, we all started to learn lojban right after getting
your mail with the GNUstep translations. This is what is keeping us from
submitting your patch. As soon as the whole GNUstep mailing list has
been converted to lojban we will resume working and your patch will be
the first one to submit. :-)

In reality we are just waiting for Adam Fedor to state, if this patch
could be included without a writen copyright assignment or if we have to
wait for one. Sorry, this is the process. But we should have told you
about it.
And thank you for the great work you did!
Fred

Maurizio Boriani wrote:
 On 2006-03-27 15:46:19 +0200 Maurizio Boriani [EMAIL PROTECTED] wrote:
 
 Hi,
 While working on gui theme integration fix and write a bit about
 Localizable
 strings.
 
 noman want's to put then in svn ? :)
 no comments ?
 
 are so orrible :)
 
 bye
 



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Italian and lojban Localizable.strings

2006-03-29 Thread Fred Kiefer
OK, I submitted both files, now back to learning lojban. :-)

Cheers
Fred


Maurizio Boriani wrote:
 On 2006-03-29 19:29:48 +0200 Fred Kiefer [EMAIL PROTECTED] wrote:
 
 Hi Maurizio,

 don't get us wrong, we all started to learn lojban right after getting
 your mail with the GNUstep translations. This is what is keeping us from
 submitting your patch. As soon as the whole GNUstep mailing list has
 been converted to lojban we will resume working and your patch will be
 the first one to submit. :-)
 
 it's a really simple (and very regular) language :)) fast to learn :))
 
 In reality we are just waiting for Adam Fedor to state, if this patch
 could be included without a writen copyright assignment or if we have to
 wait for one. Sorry, this is the process. But we should have told you
 about it.
 
 already working on gui theme implementation, so
 returned and confirmed (by FSF) the assignment too :)
 
 And thank you for the great work you did!
 
 only a dummy and fast work (done in a spare time from spare time used for
 gui theme implementation :)) )
 
 bye
 



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [PATCH] Minor fix in NSWindowController

2006-03-27 Thread Fred Kiefer
Hi Quentin,

I am rather unsure about this patch.I don't quite remember, who did put
in these commetn lines on retaining the window, but I would expect that
there were reasons for it at that time. Still they may have been the now
redundant solution of an already resolved problem.
Did you do sufficent tests with your patch? As there aren't that many
document based applications for GNUstep, we really shoud try all of
them, before releasing the patch.

Cheers
Fred

Quentin Mathé wrote:
 
 Here is a little patch to have proper window controller deallocation 
 when used in document architecture context. It is based on an initial 
 bug report by Saso Kiselkov.
 
 I'm going to briefly summarize Cocoa documentation…
 When you are using a window controller within the document
 achitecture context (NSDocument + NSDocumentController), -
 -releasedWhenClosed value isn't taken in account : when a window is
 closed, the window is always released by the window controller,
 itself released by the document object. That's not true for a window
 controller used alone.
 
 To enter in the details, in our case, the current NSWindowController
 code includes a dubious retain call on its window ivar (within
 _windowWillClose: private method). This prevents the window to be
 correctly deallocated unlike its window controller.
 
 The -retain call currently presents code is unbalanced, that results  in
 a memory leak and sometimes in a segmentation fault.
 For example… You decide to use a toolbar with your document window  and
 the document object plays the role of the toolbar delegate. When  the
 document window is closed, the window controller and the document 
 object are released, but the document window is not (and its toolbar 
 neither).
 The next time you are going to open or create an identical document,  a
 new document window will be created with a fresh toolbar. When you  are
 going to manipulate this toolbar, it will try to propagate its  state to
 other toolbars still in use with the same identifier. At  this moment,
 the undeallocated toolbar will try to ask its delegate  for items, but
 the delegate (document object) has already been  deallocated, this
 invalid pointer access will then trigger a  segmentation fault.
 
 The fix just consists to remove the -retain call, then everything is 
 properly deallocated on document window closing. Since I don't really 
 understand the explanation in the comment related to the offending 
 line), I'm perhaps missing an important detail in with this patch,  yet
 I have experienced no issue in my tests with this fix.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Missing class in gui.

2006-03-25 Thread Fred Kiefer
Sorry, this was my fault. When submitting the patch for NSStepperCell
this other change went through unnoticed. Thank you for fixing it.

I will now submit these files although they are still not complete, but
otherwise I may produce the same problem once more.

Cheers
Fred

Gregory John Casamento wrote:
 I removed references to NSSearchField.m and NSSearchFieldCell.m since
 they don't current exist in the repo, once they are checked in please
 add them back into GNUmakefile.
 
 - Original Message 
 From: Gregory John Casamento [EMAIL PROTECTED]
 To: GNUstep Developers gnustep-dev@gnu.org
 Sent: Thursday, March 23, 2006 9:07:31 PM
 Subject: Missing class in gui.
 
  Compiling file NSSavePanel.m ...
 make[2]: *** No rule to make target `shared_debug_obj/NSSearchField.o',
 needed by `shared_debug_obj/libgnustep-gui_d.so.0.10.3'.  Stop.
 make[1]: *** [libgnustep-gui.all.library.variables] Error 2
 make[1]: Leaving directory `/home/heron/Development/gnustep/core/gui/Source'
 make: *** [internal-all] Error 2
 


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: ANN: GNUstep Base 1.12.0

2006-03-16 Thread Fred Kiefer
Adam Fedor wrote:
 
 On Mar 14, 2006, at 3:11 PM, Fred Kiefer wrote:
 
 Adam Fedor wrote:
 The GNUstep Base Library, version 1.12.0, is now available.


 After a SVN update and a rebuild of make and base, I get the follwoing
 error message when rebuilding gui (make distclean; ./configure; make;
 make install):

  Creating GSspell.service/Resources/Info-gnustep.plist...
 ././shared_obj/make_services: error while loading shared libraries:
 libgnustep-base.so.1.12: cannot open shared object file: No such file or
 directory

 I don't really have any idea. Perhaps a stale link, but I think that
 would clear up after a while.
 

True, now the problem is gone again.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Cairo as common graphics context

2006-03-16 Thread Fred Kiefer
Hi Stefan,

Stefan Urbanek wrote:
 On 15/03/06, Adam Fedor [EMAIL PROTECTED] wrote:
 On 2006-03-15 07:53:12 -0700 Stefan Urbanek [EMAIL PROTECTED]
 wrote:

 Looks like all necessary code is already in GNUstep, it is just a
 matter of
 rewiring it. But well ... I do not see much into the internals...
 Oh yes, actually doing the work - well that's the hard part :-)

 
 Excuse me, but I take this from you as a little offence with the
 meaning:do not talk, just code. Following text is not going to be
 only about the issue, but about general attitude on this list. This
 attitude is repeating on this list again and again...
 

I think you mail has already been answered by Richard most appropriatly.
There was a misunderstanding and surely no offence.
When I do answer to your mail it is not about that, but because I should
have answered to your mails in the first place. It looks like I am
currently the only GNUstep developer working on back and the interaction
between back and gui and also specifically on the cairo backend.

As Adam already stated some of your ideas are quite interesting and it
would be worthwhile to extend GNUstep in that direction. But this will
only happen if somebody takes the time to do this. It is not, as your
mail may suggest, that Adam as the project lead could just tell some
available resource to start working on that. There is nobody available
at the moment and even then it would be up to that person to decide
itself, what task to work on.

Why did I not reply to your mails yesterday and the day before? Because
then you would have expected me to actually work on this problem. All
that new graphic stuff that Apple did for 10.4 is surely interesting and
it would be great to have it in GNUstep as well and cairo may be a way
to get there, but somebody has to implement all that. I already have to
many open ends in GNUstep development, which I need to finish off first.

It surely is not your fault, but currently GNUstep dearly requires
developers working on the core libraries. Just look at the amount of
changes done this year on gui. In the first three months it was less
than on any of the first month of the previous year.

Discussions and ideas are important, we all agree on that, but coding
also is. And at the moment we don't have enough of the later.

Cheers
Fred



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: ANN: GNUstep Base 1.12.0

2006-03-14 Thread Fred Kiefer
Adam Fedor wrote:
 The GNUstep Base Library, version 1.12.0, is now available.
 

After a SVN update and a rebuild of make and base, I get the follwoing
error message when rebuilding gui (make distclean; ./configure; make;
make install):

 Creating GSspell.service/Resources/Info-gnustep.plist...
././shared_obj/make_services: error while loading shared libraries:
libgnustep-base.so.1.12: cannot open shared object file: No such file or
directory
make[2]: *** [GSspell.service/Resources/Info-gnustep.plist] Fehler 1
make[1]: *** [GSspell.all.service.variables] Fehler 2
make[1]: Leaving directory
`/usr/src/svn-gnustep/gnustep/devmodules/core/gui/Tools'
make: *** [internal-all] Fehler 2

Any idea, where this comes from and how to work around?

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Source code move to SVN

2006-01-30 Thread Fred Kiefer
Andy Ruder wrote:
 
 Gregory and I have been working together to figure out a problem with
 the svn repos.  We have discovered that several hundred of the files
 in CVS have been added without the -kb flag (binary files).  We are
 working to correct this problem, and I think I have made a patch to
 cvs2svn that will mostly correct the conversion issues, but I fear a
 reimport may be needed.
 

If you do a reimport, could you please make sure to preserve the changes
I already made inside of SVN? It would be a shame if my changes would be
the victim of the initial SVN problems. Please remember I was the one
that warned that some smaller problems are very likely to pop up in the
first two weeks and that we should not be using SVN without a test
phase. This was voted down, but now I seem to be the only one actually
using SVN :-)

BTW, will we have mails for SVN code changes again? It was a rather nice
feature just to see if an update was worthwhile or not.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: remote hosting

2006-01-30 Thread Fred Kiefer
Hi Tim,

thank you for this long explaination. You did convince me, I am now all
in favour for your patch. Your patch seems to make scenarios possible,
that didn't work before. But this is not my area of expertice, perhaps
Adam and Richard have something to say here?

Fred


Tim McIntosh wrote:
 
 Sorry for the confusion.  The specific case that I want to work is as 
 follows:  I have a machine running GNUstep (call it 'localhost').  I 
 log into this machine from another non-GNUstep machine (call it 
 'remotehost') using 'Xnest' (display :1) to connect to the xdm on 
 'localhost'.  Thus, DISPLAY is 'remotehost:1.0' and the GNUstep 
 processes are running on 'localhost'.
 
 This sort of works without the patch.  The initial processes that  are
 launched _without_ the '-NSHost' argument will correctly display  on
 'remotehost:1.0', while printing the warning NOTE: Only one  display
 per host fully supported.  However, the 'NSHost' default  will be
 (incorrectly) set to 'remotehost' by the code I've proposed  deleting. 
 As I understand it, this default causes the programs to  look for
 'gdnc', 'gpbs', etc. on 'remotehost', instead of  'localhost', where
 they are actually running.
 
 The problem gets worse when one of those initial processes (e.g. 
 GWorkspace) launches another GNUstep application via the NSWorkspace 
 methods.  Since the parent process has the 'NSHost' default set, the 
 new process will be launched with the '-NSHost' argument (see 
 NSWorkspace.m).  When the -NSHost argument is specified, the code in 
 the patched method (_initXContext) ignores the DISPLAY settings.   Thus,
 the launched applications will use 'remotehost:0.0' for the  display. 
 This leads to some surprising results when 'remotehost:0.0'  is a valid
 display.
 
 From looking at the code, I think you would also see a similar  problem
 if you attempted to use display :1 (or any nonzero display)  on
 'localhost', though I haven't tried this.
 
 I think it makes sense for the '-NSHost' argument to override the 
 DISPLAY setting, as it does today.  I think the problem is the 
 assumption that the 'NSHost' default should be set according to  DISPLAY
 if -NSHost was not explicitly specified.  As I see it, the '- NSHost'
 argument says that I want to connect to a remote GNUstep  session.  If I
 don't specify -NSHost, I'm saying I want to run  GNUstep on the local
 host and display according to the DISPLAY setting.
 
 I realize that this is slightly less convenient in the case where you 
 want to use a remote GNUstep session on 'remotehost:0.0' and would  like
 to rely on the DISPLAY setting, but I'd rather have more control  over
 the display.  Having to specify the -NSHost argument seems  reasonable,
 especially considering that you had to do this under  OPENSTEP and you'd
 have to do it anyway if you weren't using X11.



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: remote hosting

2006-01-30 Thread Fred Kiefer
Hi Tim,

I read through your mail and your patch, but still don't quite get the
issue you have. It is a know problem that GNUstep will complain about
multiple displays and it even may not work fully correctly in that case,
but what is causing you problems?

What value are you using for DISPLAY? :0.3 or :1.0 or
localhost:1.0? And in what way does it harm your application that
NSHost gets automatically set? What value does it get set to?
I would expect that having NSHost set to something like localhost
would result in the same behaviour as not having it set at all. If this
is not the case, we need to look into that.

I am not sure, if your solution, forcing people to set two environment
variable to matching values, is a great idea. It most likely will result
in additional problems.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Graceful termination again

2006-01-23 Thread Fred Kiefer
Roman Belenov wrote:
 
 1) How to get a list of all running GNUstep applications ?
 launchedApplications seems to return only the list of apps launched from the
 current one. For now I just use a list of message ports obtained by examining
 corresponding subdirectory and treat everythying as a proxy for application.
 

We really should get [NSWorkspace launchedApplications] working. Some
years ago I suggested a solution for this involving some extensisons to
gdomap. Now with gdomap being used less often we will need a more
general way to implement it. Perhaps there is the possibility to extend
NSPortnameServer (or rather its subclasses) to return a list of all
known ports. The NSWorkspace method would then only need to filter out
the no longer working ports and restict the returned list to the ones
representing applications.

Richard,
do you like that concept and would you be willing to implement the base
part of it? More or less it would be an official implementation of what
Roman is doing anyway.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTableView.m

2006-01-08 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 06/01/08 17:48:34

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSTableView.m 

Log message:
Intercell spacing change for NSTableView.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2642tr2=1.2643r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/gnustep/gnustep/core/gui/Source/NSTableView.m.diff?tr1=1.120tr2=1.121r1=textr2=text




[Gnustep-cvs] gnustep/core/base ChangeLog Source/NSPropertyLi...

2006-01-06 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 06/01/07 00:52:20

Modified files:
core/base  : ChangeLog 
core/base/Source: NSPropertyList.m 

Log message:
Improve binary property list creation.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnustep/gnustep/core/base/ChangeLog.diff?tr1=1.2690tr2=1.2691r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/gnustep/gnustep/core/base/Source/NSPropertyList.m.diff?tr1=1.37tr2=1.38r1=textr2=text




[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSSliderCell.m

2006-01-04 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 06/01/04 12:41:05

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSSliderCell.m 

Log message:
Protect against knob image being nil.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2641tr2=1.2642r1=textr2=text
http://cvs.savannah.gnu.org/viewcvs/gnustep/gnustep/core/gui/Source/NSSliderCell.m.diff?tr1=1.35tr2=1.36r1=textr2=text




Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTableView.m

2005-12-31 Thread Fred Kiefer
Hi Matt,

matt rice wrote:
 Log message:
   * Source/NSTableView.m (-mouseDown:): Copy the selected cell before
   tracking mouse, add comment. (patch previously reverted 2005-05-30)
   (-mouseDown:): Check for pointer equality in addition to isEqual:
   which doesn't work with nil. (fix for bug #15316)
 

did you test this new code with GNUmail and Gworkspace? I had to revert
the copying the last time because of problems with these two
applications. I agree fully on cell copying, but we need to asure that
it has no negative effects on these widely used applications.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTableView.m

2005-12-31 Thread Fred Kiefer
Enrico Sersale wrote:
 On 2005-12-31 17:54:35 +0200 Fred Kiefer [EMAIL PROTECTED] wrote:

 matt rice wrote:
 Log message:
 * Source/NSTableView.m (-mouseDown:): Copy the selected cell before
 tracking mouse, add comment. (patch previously reverted 2005-05-30)
 (-mouseDown:): Check for pointer equality in addition to isEqual:
 which doesn't work with nil. (fix for bug #15316)


 did you test this new code with GNUmail and Gworkspace? I had to revert
 the copying the last time because of problems with these two
 applications. I agree fully on cell copying, but we need to asure that
 it has no negative effects on these widely used applications.
 
 It seems that both the apps have no problems.
 

Great to hear. Sorry for asking at all. I did only see your previous
mail on the subject after sending mine :-(

I had to catch up with a bigger backlog of mails and I tend to read the
CVS changes first.


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: nib2gmodel on Debian GNU/Linux

2005-12-27 Thread Fred Kiefer
 Adam Fedor [EMAIL PROTECTED] wrote:
  If you are using Cocoa and your nibs are in the newer XML format, it 
  might be possible for GNUstep to read them directly. This is not a 
  complete project so I would expect some troubles there as well.
 
 Effetivelly. The files I downloaded contains directories named xxx.nib.
 These directories contain three files:
 - classes.nib (long ASCII)
 - info.nib (short XML)
 - objects.nib (data)
 

The NIB files that GNUstep is (partly) supporting are keyed encoded (XML
format or binary), but these files come from the old direct encoded format.
This means that you will need somebody with access to an OpenStep or Cocoa
machine to convert the NIB files for you. I remember that years ago somebody
offert this as a service on his Apple machine. Perhaps it is best to ask on
the GNUstep discussion mailing list. I am very sure you will find somebody
to do the nib2gmodel conversion for you.

Cheers
Fred

-- 
GMX DSL-Flatrate 1 Jahr kostenlos* + WLAN-Router ab 0,- Euro*
Bis 31.12.2005 einsteigen! Infos unter: http://www.gmx.net/de/go/dsl


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] gnustep/core/back ChangeLog Source/art/ARTConte...

2005-12-20 Thread Fred Kiefer
Adam Fedor wrote:
 CVSROOT:  /cvsroot/gnustep
 Module name:  gnustep
 Branch:   
 Changes by:   Adam Fedor [EMAIL PROTECTED]  05/12/20 20:36:59
 
 Modified files:
   core/back  : ChangeLog 
   core/back/Source/art: ARTContext.m 
   core/back/Source/x11: XGServer.m 
   core/back/Source/xdps: NSDPSContext.m 
 
 Log message:
   * Source/art/ARTContext.m ([ARTContext -beep]): Respect user setting
   of bell volume.
   * Source/x11/XGServe.m: Idem.

Hi Adam,

I am surprised that you had to change all these places. Judging from the
code in NSGraphicsContext.m,

/** Play the System Beep */
- (void) NSBeep
{
  [GSCurrentServer() beep];
}

I would expect that it is the obligation of the display server, not the
display context to handle the beep. From this reasoning I would call the
art method totally obsolete, as it will never be called and the one in
NSDPSContext a duplicate, as it copies code from the super class
implementation (although optimised).

Looks to me like this is one of the places in GNUstep, where the origin
of the code goes too far back to be easily touched any more. Even by
you, who probably wrote most of it :-)

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/back ChangeLog Source/x11/XGServer...

2005-12-10 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/12/10 17:41:06

Modified files:
core/back  : ChangeLog 
core/back/Source/x11: XGServerWindow.m 

Log message:
Use UTF8 window title for X where possible.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.400tr2=1.401r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/x11/XGServerWindow.m.diff?tr1=1.55tr2=1.56r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTabView.m S...

2005-11-28 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/11/29 00:16:10

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSTabView.m NSTextField.m 

Log message:
GUI patches by Andreas Höschler.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2627tr2=1.2628r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSTabView.m.diff?tr1=1.49tr2=1.50r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSTextField.m.diff?tr1=1.62tr2=1.63r1=textr2=text





Re: GNUstep ROADMAP

2005-11-27 Thread Fred Kiefer
Hi Gregory,

Gregory John Casamento wrote:
 --- Fred Kiefer [EMAIL PROTECTED] wrote:
 Gregory John Casamento wrote:
 If you are a maintainer, please make any changes for your section
 that you deem appropriate.
 as far as I know we currently don't have a maintainer for GUI, so we all
 should comment on that part. And some of us already did in previous mail
 exchanges. I remember two points from my mail (yes one tends to remember
 ones own entries best) which are not addressed by your list. One being
 the stable memory layout of the GUI classes. Why would we call a release
 1.0 if it does not garranty some sort of stable interface? 
 
 Could you elaborate on this point?
 

Sorry, I should have been more explicit. I was refering to missing or
obsolete ivars for the GUI classes. Have a look at NSResponder, here you
find a bunch of boolean variables, most of them only used in the NSView
subclasses. We could decide now to move these ivars to NSView, but we
should not do so after release 1.0. On the other hand are we missing
quite some ivars for NSCell, if we want to get fully compatible with
Cocoa. Richard posted some ideas on how we could still extend classes
after the 1.0 relase, but we need to prepare them now.


 The other
 being the problems with the matrix classes. If we want a complete
 coding here, we will probably have to wait for GNUstep GUI 1.0 for
 another year, or even more. Is this what you want? 
 
 No.  I would rather have a 1.0 release sooner rather than later.  
 
 All multiple cell
 classes are only partial usable, they work for simple exmaples, but when
 put in general use they seem to fail.
 
 Could you  go ahead and add details of what needs to be done to the cell
 classes to the Roadmap where you think it needs to be?
 

I don't have Wiki write access, yes, I should just register.
The problem itself is obvious, just by looking into the bug database, or
following the mailing list. The classes NSMatrix, NSBrowser, NSTableView
and NSOutlineView are usable, but not much more. We may be able to
improve them, but I don't see a complete implementation for the 1.0 release.

 Removing classes? Which classes are you talking about. At least after
 Richards question you should have given an example. There are classes in
 GUI that have currently no actual benefit, like NSMovie, but we will
 surely implement them later on. Do you want to remove these classes? 
 
 I'm only advocating removal of shell classes which currently exist as
 placeholders for things that are entirely unimplemented.  I'm not saying that
 we should remove a class that has an incomplete implementation.
 
 In my view, if we're not going to make a class somewhat usable (i.e. even a
 skeletal/simply implementation), then we should remove it until the next
 release.  This is because it's confusing to the developer who ports an app.  
 If the header is there, I'll naturally assume that the class is available.  If
 it's not, then I know it's yet to be implemented.  
 
 NSMovieView and NSMovie, as you pointed out, are excellent examples of this. 
 I'm not sure if anyone is going to have the time to do it before we want to
 make a 1.0 release.
 

I had a similar discussion with Nicola almost five years ago. At that
time it was about what unimplemened methods should do, raise a
condiontion or silently ignore the fact that there is no code. We came
to the conclusion that outputting a warning would be best.
When we remove these classes any application that refers to object of
these classes, even if they are not critical to the overall behaviour of
the application, wont compile with GNUstep. If we leave the classes in,
but put warning messages (printed only once) into the empty methods,
these application work, with minimal functionality missing.

That's why I used NSMovie as an example. You surely wont be able to
implement a movie player with GNUstep at the time being, but if your
application sport only a gimmick movie in the about box, it should still
work with GNUstep, without displaying the movie of course.

 Or  what if I wanted to contribute a simple minded implementation of
 NSearchField in the next weeks? Would we drop that class again, as the
 implementation would not be complete? 
 
 So long as the class works on some level, it's okay to leave it in.  I'm
 referring mainly to those classes which are in GNUstep which are simply shells
 awaiting some kind of implementation and do not work at all.
 

works on some level, what if I think that not raising an exception is
already some sort of working? When I started with GNUstep, most of the
GUI classes where empty declarations, which needed filling out and that
was what I did. If we would have removed all classes without
implementation at that time, GNUstep would still be rather empty.
I really would prefer warning messages at runtime from removing classes
as a whole. Will it be a problem that some applications will compile,
but later fail to run correctly? I don't think so, as long as we

Re: GNUstep ROADMAP

2005-11-26 Thread Fred Kiefer
Hi Gregory,

Gregory John Casamento wrote:
 If you are a maintainer, please make any changes for your section
 that you deem appropriate.

as far as I know we currently don't have a maintainer for GUI, so we all
should comment on that part. And some of us already did in previous mail
exchanges. I remember two points from my mail (yes one tends to remember
ones own entries best) which are not addressed by your list. One being
the stable memory layout of the GUI classes. Why would we call a release
1.0 if it does not garranty some sort of stable interface? The other
being the problems with the matrix classes. If we want a complete
coding here, we will probably have to wait for GNUstep GUI 1.0 for
another year, or even more. Is this what you want? All multiple cell
classes are only partial usable, they work for simple exmaples, but when
put in general use they seem to fail.


 GNUstep 1.0

 1. it says current base/make/back ... but what about ms-windows  
 support ... I'm guessing we want base/make/back fixes/improvements  
 for windows as it's not nearly such a good state as unix-style  
 systems.  I'm not sure this is a 1.1 issue rather than 1.0
 This also ignores the fact that window manager interaction (focus in  
 particular) is undoubtedly the biggest problem with current apps, and  
 is a backend issue at least as much as a gui issue.

Here I agree with Richard, we need to solve the focus problem, even if
it may require big changes in back. We should not freeze back for the
1.0 release, rather have all interfaces between gui and back investigate
if these are suited for what we may need later on.

 
 2. gui seems wildly ambitious (complete coding on all existing  
 classes) .
 
 By this I simply mean that we should try to bring all of the classes currently
 in GNUstep GUI up to spec.   Many of them are already there.   I am *not*
 saying that we should implement all of the Cocoa classes, but only that we
 should finish the classes which have already been started in the repository.
 
 You may also notice that I say that we should remove those classes which will
 likely never get finished or will not be finished for the 1.0.
 
 Is this still too ambitious??

Removing classes? Which classes are you talking about. At least after
Richards question you should have given an example. There are classes in
GUI that have currently no actual benefit, like NSMovie, but we will
surely implement them later on. Do you want to remove these classes? Or
what if I wanted to contribute a simple minded implementation of
NSearchField in the next weeks? Would we drop that class again, as the
implementation would not be complete? You surely remember that missing
this class was one of the points that made the porting of Book
impossible about one and a half year ago. For this application even a
very simple implementation would have been sufficent.
Taking your words litarally we would need to decide to remove NSCell, as
I don't see anybody implementing the setEntryType: method for the 1.0
release.

Having a roadmap again is great, but the current state of it does not
help much. To end a bit more constructive let me list the bug numbers of
bugs that I think should be resolved for 1.0:

#5871 (Will require a complete redesign of cursor rect handling)
#6152 (Focus problem)
#10825 (I have a patch for this, but need to test with all different
backends)
#10856 (With this bug I have a very bad feeling, it may be a lot worse
than it looks like)


There are of course a lot of other important bug reports, but these I
would call severe.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSSliderCell....

2005-11-21 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/11/21 13:33:59

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSSliderCell.m NSTextField.m 

Log message:
Two small patches from the current mailing list discussion.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2599tr2=1.2600r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSSliderCell.m.diff?tr1=1.34tr2=1.35r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSTextField.m.diff?tr1=1.60tr2=1.61r1=textr2=text





[Gnustep-cvs] gnustep/core/back ChangeLog Source/x11/XGServer...

2005-11-18 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/11/18 17:53:53

Modified files:
core/back  : ChangeLog 
core/back/Source/x11: XGServerWindow.m 

Log message:
Don't user NET WM icon on Window Maker.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.397tr2=1.398r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/x11/XGServerWindow.m.diff?tr1=1.54tr2=1.55r1=textr2=text





Re: Possible future Gorm name change

2005-11-16 Thread Fred Kiefer
Gregory John Casamento wrote:
 P.S. I personally like the Gorm name, but I wanted to poll the community 
 before
 the next major version of the application comes out.
 

I actually like the old name as well. Do we really need to change it?
There will always be people complaining about every possible name. Did
somebody come up with a reall argument against GORM?

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSButtonCell doc [OpenStep release]

2005-11-07 Thread Fred Kiefer
Fabien VALLON wrote:
 - -performClick: is not implemented
 

This aint no problem, deviating from the OpenStep/Apple specification we
introduced the method performClickWithFrame:inView: on NSCell, which
gets called by performClick:. NSButtonCell now overwrites this method
instead of performClick:. You'll find an explanation for this in the
file Changelog.3 in the entry from Quentin Mathe on 2004-04-02.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSApplication...

2005-11-06 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/11/06 19:37:27

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSApplication.m NSImage.m 

Log message:
Take care that images render to the correct screen.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2580tr2=1.2581r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSApplication.m.diff?tr1=1.284tr2=1.285r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSImage.m.diff?tr1=1.89tr2=1.90r1=textr2=text





Re: The goal of GNUstep 1.0

2005-11-05 Thread Fred Kiefer
David Ayers wrote:
 Fred Kiefer schrieb:
 On the more down to the bits side, I would like to see a stable memory
 layout for all GUI classes. This has two aspects, we are still missing
 some ivars that will be needed for full OpenStep/Cocoa compliance. The
 other side is that we could use more bit fields to make these classes
 more compact. After a 1.0 release it will get pretty hard to change the
 memory usage of these classes, so we need to do it now.
 
 I'm curious, if you have some measurements to show that using bit fields
 is a good idea.  I have the feeling that -gui does not really create
 enough instances for the compactness of these instances to outweigh the
 performance hit due to the fact that the compiler actually has to
 generate more code for accessing bit fields than more naturally aligned
 ivars.
 
 I've hacked into -base's Testing/benchmark a little test to show the
 difference.  (Note I'm not planing to commit this, it was just a
 convenient place to put it.)

Thank you for the nice test code. On my i586 machine this gives a 5%
slowdown for a 1/3 memory reduction. Other machines may give totally
different results. But as Richard already pointed out, bitfields or not
isn't the big question, it is more important to have a stable memory
layout for the GUI classes.

On the other hand there are a few classes where hundreds if not
thousands of instances are rather common, NSCell (and its subclasses)
being the most prominent example, NSEvent a not so prominent one. We
don't need to go as far as Apple did with bitfields, but we should at
least go through all the classes in GUI and have another look at the
memory layout: Could it be improvied by reordering ivars? Do we need
space to grow for this class? Are we missing ivars needed for full
Openstep or Cocoa compatibility? Should we use bit fields?

Fred



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GNUstep moving forward

2005-10-22 Thread Fred Kiefer
Gregory John Casamento wrote:
 GNUstep has been relatively stagnant over the last several months and it has
 become a cause for concern for me.
 

Here I have to agree with you. GNUstep is for some time now actually
usable, but progress and contributions have slowed down a lot. I can
only talk about my own reasons for contributing less. Now idea, why
other core developers like Alexander Malmberg, who was responsible for
the great progress on gui in the previous year, no longer contributes.
But the same is true for Quentin and even for Adrian in recent months.
To be honest, there never were more than just a few people working on
gui at the same time. We just need to find new people taking up the
orphaned work, or get the old ones back again. For example it is great
to see Nicola working on make again!

 I've been doing a lot of thinking and have compiled a list of things I believe
 that GNUstep needs to address to stay on top of things.   The list follows:
 
 1) More apps.  Many of the following points will help with this, but this is
 very important.
 2) Better theme support.  Integration of Camaelon into the core gui library if
 possible
 3) Better win32 support.  Many companies are really eager to port their legacy
 NeXTSTEP/OPENSTEP or Cocoa apps to GNUstep under Windows.   The prospect of
 Linux and BSD support appeals to them as well, but not as much as Windows.   I
 currently have two companies with whom I am talking about this.
 4) Better distro support.  We really need to get GNUstep into as many
 distributions as possile, this will ramp up exposure of GNUstep to more people
 and help us get more developers and users.
 

All of this is true. It would increase the general preception of
GNUstep. Make it a better usable system. But who should be doing this?
We will need to motivate developers first. In my view, the bounties that
Adam presented some time ago, are a desparate step in this direction.
But I know of no better one. Perhaps one, I remember when joining
GNUstep there were these list Adam had set up on the GNUstep web site,
listing open tasks, classes to do and time frames for all of this. Of
course this was somewhat ridicules, how could you set up a schedule,
when you don't ahve any resources to control? Still, for me this was a
motivation to join and to do my part to keep the schedule.

 We as a project need to be more adaptive and less resistant to change.  More
 than anything right now we need to consider the audience we are playing to.
 GNUstep needs to be better able to integrate with other environments.
 

I am not sure, if GNUstep is really that much against change. I for my
part would like to see GNUstep integration with DBUS and other new hot
technologies. Perhaps I might even start to work on that. Do you have
any specific examples of change resistence in GNUstep? My feeling is
rather that new stuff in GNUstep gets ignored until the person working
on that gets bored. To me this happend with the win32 stuff, the
keyed-encoding and currently again with the cairo backend.


 Additionally, I've noticed recently a trend for certain people to constantly
 query the list asking for permission to make this or that change.  It seems
 that what we need more than anything right now is more action and less talk. 
 If you are interested in doing something, please do it! :)
 
True!

 Please think about what I've said and let me know your thoughts.  I say the
 above out of concern for the community.   GNUstep is and always has been a 
 true
 labor of love for me.  I want to see it thrive.
 

Same for me :-)


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Headers/AppKit/NSInp...

2005-10-20 Thread Fred Kiefer
David Ayers wrote:

 --- gnustep/gnustep/core/gui/Source/GSTitleView.m 2005/05/26 02:52:43 
 1.11
 +++ gnustep/gnustep/core/gui/Source/GSTitleView.m 2005/10/19 23:54:22 
 1.12
 @@ -351,7 +351,7 @@
  }
 
  // We do not need app menu over menu
 -- (void) rightMouseDown: (NSEvent*)theEvent
 +- (NSMenu *) rightMouseDown: (NSEvent*)theEvent
  {
  }
 
 Doesn't this give you a warning about control reaching the end of a
 non-void function?  If it doesn't, then that looks like a gcc regression.
 
Oops, I did change the wrong method here. I wanted to change the next one.

Thank you for pointing out

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Headers/AppKit/NSInp...

2005-10-19 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/10/19 23:54:27

Modified files:
core/gui   : ChangeLog 
core/gui/Headers/AppKit: NSInputManager.h 
core/gui/Source: GSTitleView.m NSColor.m NSImageCell.m 
 NSMenuView.m NSResponder.m NSSavePanel.m 
 NSTabView.m NSTableHeaderView.m 

Log message:
Removed gcc 4.02 compiler warnings.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2572tr2=1.2573r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Headers/AppKit/NSInputManager.h.diff?tr1=1.3tr2=1.4r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/GSTitleView.m.diff?tr1=1.11tr2=1.12r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSColor.m.diff?tr1=1.55tr2=1.56r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSImageCell.m.diff?tr1=1.27tr2=1.28r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSMenuView.m.diff?tr1=1.105tr2=1.106r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSResponder.m.diff?tr1=1.41tr2=1.42r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSSavePanel.m.diff?tr1=1.87tr2=1.88r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSTabView.m.diff?tr1=1.47tr2=1.48r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSTableHeaderView.m.diff?tr1=1.30tr2=1.31r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSApplication.m

2005-10-18 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/10/18 07:46:25

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSApplication.m 

Log message:
Don't call NSDocumentController on application termination, if not 
needed.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2571tr2=1.2572r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSApplication.m.diff?tr1=1.283tr2=1.284r1=textr2=text





[Gnustep-cvs] gnustep/core/base ChangeLog Source/NSNumberForm...

2005-10-17 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/10/17 10:47:54

Modified files:
core/base  : ChangeLog 
core/base/Source: NSNumberFormatter.m 

Log message:
Small improvements on NSNumberFormatter to get it workable with 
different
decimal separators.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/base/ChangeLog.diff?tr1=1.2617tr2=1.2618r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/base/Source/NSNumberFormatter.m.diff?tr1=1.16tr2=1.17r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSSavePanel.m

2005-10-17 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/10/17 11:50:04

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSSavePanel.m 

Log message:
Accept dragged file names in NSSavePanel.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2570tr2=1.2571r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSSavePanel.m.diff?tr1=1.86tr2=1.87r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSRulerView.m

2005-10-14 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/10/14 10:57:09

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSRulerView.m 

Log message:
Adjust mark display for vertical rulers.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2569tr2=1.2570r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSRulerView.m.diff?tr1=1.17tr2=1.18r1=textr2=text





[Gnustep-cvs] gnustep/usr-apps/examples/gui/Ink ChangeLog Doc...

2005-10-14 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/10/14 11:06:25

Modified files:
usr-apps/examples/gui/Ink: ChangeLog Document.m 

Log message:
Added vertical ruler view.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/usr-apps/examples/gui/Ink/ChangeLog.diff?tr1=1.11tr2=1.12r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/usr-apps/examples/gui/Ink/Document.m.diff?tr1=1.17tr2=1.18r1=textr2=text





Re: Core release

2005-09-14 Thread Fred Kiefer
Adam Fedor wrote:
 On 2005-09-13 10:51:18 -0600 Adam Fedor [EMAIL PROTECTED] wrote:
 
 I hope to make a new core libraries release this week (sub-minor
 revision). Assuming I get the time.

 
 
 Also, anyone opposed to making the art back end the default? It's been
 this way in Startup for a while and there's automatic support for
 switching back to the x11 backend if the libs are not found.
 
 
No, go ahead. I was hoping that I get the cairo backend up and running
early enough, so that we could switch to that directly, but this step
will take quite a bit longer.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Cairo backend

2005-08-28 Thread Fred Kiefer
Nicolas Roard wrote:
 On 8/28/05, Fred Kiefer [EMAIL PROTECTED] wrote:
Some of you may have noticed that this week the release 1.0 of cairo has
been published. For quite some time GNUstep has had a backend based on
this graphics library. But this has always been incomplete and also
cairo has changed a lot over the months. In the last few weeks I cleaned
up the code for this backend and extended it a bit. Basically it is now
ready to try it, although many features are still missing.
 
 Wow, excellent news !
 
Known limitations:
- fonts are still hard coded
- text in NSTextView sometimes doesn't get displayed
- images are often displayed incorrect
- copying from one GState to another uses wrong transformation
- some minor operations are missing or untested

I hope to solve these problems within the next month and will make a
public announcment for the cairo backend after that. If you find other
bugs, feel free to report them, or even better help to resolve them.
 
 I'll try to install cairo and test that :-)
 

I did forget to mention that you have to hack the cairo library for now.
The GNUstep backend uses some cairo functions that are not exported by
cairo. These are:

_cairo_toy_font_face_create
_cairo_scaled_font_text_to_glyphs

What I did to get cairo to export these functions was to redefine
cairo_private in cairoint.h to be empty. I will set up a mail to the
cairo maintainer and ask for a better solution.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/back ChangeLog Headers/cairo/Cairo...

2005-08-27 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/08/28 00:48:13

Modified files:
core/back  : ChangeLog 
core/back/Headers/cairo: CairoFontInfo.h CairoSurface.h 
core/back/Source/cairo: CairoContext.m CairoFontInfo.m 
CairoGState.m CairoSurface.m 
XGCairoGlitzSurface.m XGCairoSurface.m 
XGCairoXImageSurface.m 

Log message:
Get cairo surfaces working for resized windows.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.387tr2=1.388r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/CairoFontInfo.h.diff?tr1=1.4tr2=1.5r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/CairoSurface.h.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoContext.m.diff?tr1=1.5tr2=1.6r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFontInfo.m.diff?tr1=1.5tr2=1.6r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoGState.m.diff?tr1=1.6tr2=1.7r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoSurface.m.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/XGCairoGlitzSurface.m.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/XGCairoSurface.m.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/XGCairoXImageSurface.m.diff?tr1=1.2tr2=1.3r1=textr2=text





Cairo backend

2005-08-27 Thread Fred Kiefer
Some of you may have noticed that this week the release 1.0 of cairo has
been published. For quite some time GNUstep has had a backend based on
this graphics library. But this has always been incomplete and also
cairo has changed a lot over the months. In the last few weeks I cleaned
up the code for this backend and extended it a bit. Basically it is now
ready to try it, although many features are still missing.

Known limitations:
- fonts are still hard coded
- text in NSTextView sometimes doesn't get displayed
- images are often displayed incorrect
- copying from one GState to another uses wrong transformation
- some minor operations are missing or untested

I hope to solve these problems within the next month and will make a
public announcment for the cairo backend after that. If you find other
bugs, feel free to report them, or even better help to resolve them.

If you want to compile the cairo backend, use the command:

./configure --enable-graphics=cairo --disable-glitz

We probably should switch glitz off by default, as this is not offically
supported by cairo at the moment

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/back ChangeLog Source/cairo/CairoF...

2005-08-19 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/08/19 23:42:55

Modified files:
core/back  : ChangeLog 
core/back/Source/cairo: CairoFaceInfo.m CairoFontInfo.m 

Log message:
Adopted to Cairo changes.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.385tr2=1.386r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFaceInfo.m.diff?tr1=1.4tr2=1.5r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFontInfo.m.diff?tr1=1.4tr2=1.5r1=textr2=text





[Gnustep-cvs] gnustep/core/back ChangeLog Source/cairo/CairoG...

2005-08-19 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/08/20 00:10:35

Modified files:
core/back  : ChangeLog 
core/back/Source/cairo: CairoGState.m 

Log message:
Sort colours in bitmap as expected by Cairo.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.386tr2=1.387r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoGState.m.diff?tr1=1.5tr2=1.6r1=textr2=text





[Gnustep-cvs] gnustep/core/back ChangeLog Headers/cairo/Cairo...

2005-07-27 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/07/27 23:25:32

Modified files:
core/back  : ChangeLog 
core/back/Headers/cairo: CairoFaceInfo.h CairoFontEnumerator.h 
 CairoFontInfo.h CairoSurface.h 
 XGCairoSurface.h 
core/back/Source/cairo: CairoContext.m CairoFaceInfo.m 
CairoFontEnumerator.m CairoFontInfo.m 
CairoGState.m CairoSurface.m GNUmakefile 
NSBezierPathCairo.m 
XGCairoGlitzSurface.m XGCairoSurface.m 
XGCairoXImageSurface.m 

Log message:
Changed to compile with latest cairo interface changes.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.383tr2=1.384r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/CairoFaceInfo.h.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/CairoFontEnumerator.h.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/CairoFontInfo.h.diff?tr1=1.3tr2=1.4r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/CairoSurface.h.diff?tr1=1.1tr2=1.2r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/cairo/XGCairoSurface.h.diff?tr1=1.1tr2=1.2r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoContext.m.diff?tr1=1.4tr2=1.5r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFaceInfo.m.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFontEnumerator.m.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFontInfo.m.diff?tr1=1.3tr2=1.4r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoGState.m.diff?tr1=1.4tr2=1.5r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoSurface.m.diff?tr1=1.1tr2=1.2r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/GNUmakefile.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/NSBezierPathCairo.m.diff?tr1=1.2tr2=1.3r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/XGCairoGlitzSurface.m.diff?tr1=1.1tr2=1.2r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/XGCairoSurface.m.diff?tr1=1.1tr2=1.2r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/XGCairoXImageSurface.m.diff?tr1=1.1tr2=1.2r1=textr2=text





[Gnustep-cvs] gnustep/core/back/Source/cairo CairoFaceInfo.m

2005-07-27 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/07/27 23:29:51

Modified files:
core/back/Source/cairo: CairoFaceInfo.m 

Log message:
Small tweak forgotten in last update.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/cairo/CairoFaceInfo.m.diff?tr1=1.3tr2=1.4r1=textr2=text





Re: Core release, Wed

2005-07-18 Thread Fred Kiefer
Adam Fedor wrote:
 I'm mostly satisfied with the libraries now, which is to say, I don't
 really have any time to make any significant changes. So I'll plan on
 freezing the release this Wednesday. Unless there are any objections.
 
Fine for me. I am still investigating on how best to implement the
pattern colours, so this will only go into the release after.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GUI/back changes in CVS

2005-07-13 Thread Fred Kiefer
Hi Alexander,

thank you for that feedback and more important: Great to have you back here!

Your comment on PSGsave and PSGrestore is correct. The problem here is
that we only know in the GState that we are going to draw a pattern
image, while the PSGsave and PSGrestore operations should be applied on
the context level. Not sure, if we should decorate every fill operation
with a save/restore combination.

You are propably correct about the drawToPoint call. Its just that this
fails on xlib sometimes that I didn't want to use that method,

Cheers
Fred


Alexander Malmberg wrote:
 Fred Kiefer wrote:
Fred Kiefer wrote:
What I was planning to do was add a simple (and of course slow) pattern
drawing mechanism for the gsc classes and perhaps overwrite this with a
faster one for the xlib backend.
 [snip]
[colour_pattern compositeToPoint: NSMakePoint(x, y)
   operation: NSCompositeSourceOver];
 
 I think this should be -drawToPoint:fromRect:operation:fraction: in
 order to handle transformations correctly; would have to check the PLRM
 to be sure about pattern semantics, though.
 
 [snip]
All of this works fine. Of course EOFill is currently not supported, but
simple to do (would require a call to DPSeoclip instead of DPSclip). And
the clipping is what stops me from merging this code into CVS. As I need
to change the clipping, and restore it afterwards, I could either
implement this separately for each backend and not share any code or
implement that clipPath method, used in the current implementation, for
all backends. As this method is also not that easy, I could fake it by
storing the current clip path in another slot of the GState (and keep
the EO state within this path, as we need that as well when reseting the
old clip). But perhaps somebody out there has a better idea for this?
 
 PSgsave/PSgrestore are the only portable methods for saving and
 restoring the clipping path, and I'd suggest using those. The current
 clipping path is the intersection of all paths passed to PSclip/PSeoclip
 (since the path was last reset, etc.; also, note that the filling rule
 merely specifies how the path to be intersected with the clipping path
 should be interpreted, the clipping path doesn't have any such
 property), so for a backend to be able to return the clipping path as an
 actual path, it would have to be able to compute arbitrary bezier curve
 intersections, and that's a nasty problem.
 
 - Alexander Malmberg
 
 



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GUI/back changes in CVS

2005-07-11 Thread Fred Kiefer
Adrian Robert wrote:
 
 On Jul 8, 2005, at 8:17 PM, Fred Kiefer wrote:
 
 I just added changes to GUI and back that will in the end allow pattern
 images for GNUstep and the new MacOSX composite operator that uses an
 addtional alpha value. I wanted these changes to go into the next
 release as this will break binary compatibility between GUI and back. I
 have tested this change with xlib. It would be great, if somebody could
 test it before the release with art and winlib.
 
 Is there an easy way to test it?  Is there something in the new test
 suite that exercises this facility?
 
 
Here is the simple application I tested with. But I am not even sure if
the different operators have been implemented correctly for xlib, but
thenm only one of the images I use has alpha values. Perhaps I should
test with to transparent images.


composite.tgz
Description: application/compressed-tar
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: GUI/back changes in CVS

2005-07-11 Thread Fred Kiefer
Nicolas Roard wrote:
 On 7/11/05, Fred Kiefer [EMAIL PROTECTED] wrote:
Adrian Robert wrote:
On Jul 8, 2005, at 8:17 PM, Fred Kiefer wrote:

I just added changes to GUI and back that will in the end allow pattern
images for GNUstep and the new MacOSX composite operator that uses an
addtional alpha value. I wanted these changes to go into the next
release as this will break binary compatibility between GUI and back. I
have tested this change with xlib. It would be great, if somebody could
test it before the release with art and winlib.
Is there an easy way to test it?  Is there something in the new test
suite that exercises this facility?


Here is the simple application I tested with. But I am not even sure if
the different operators have been implemented correctly for xlib, but
thenm only one of the images I use has alpha values. Perhaps I should
test with to transparent images.
 
 This test is only for composition, but what about the pattern images ? 
 The filling patterns  you are talking about, is setting an image to
 a color and then fill something with this color, right ?
  
 I'm asking because when I profiled Camaelon, pattern filling was one
 of the thing that took lots of time, and i'm hoping that by having the
 possibility to use filling pattern directly it will be faster (as you
 shouldn't need context switching during the filling).
 
 And, does it properly follow the current path mask ? (actually I think
 that doesn't work on xlib, only with art, anyway...)
 

Sorry, some things seem to have gotten mixed here. I wrote that in the
end this will allow pattern images. They are not already there after
the first patch. Support for pattern colours requires two steps in the
backend: It needs to know, which image pattern to use, which is what I
implemented (the result of a pattern colour set command). And it needs
to draw this image, when a fill operation happens. I did not even work
on this second bit.

Now art has an implementation of the very powerfull shfill PS command.
This allows, amongst other things, a pattern fill. So here the second
bit is already persent, while the first bit was missing. It should be
rather simple to implement full pattern colours drawing for the art
backend now. But this is nothing I am planning to do. The whole
structure of the art backend is very foreign to me. I don't dare to
touch anything here, because I may easily break things in an environment
that is so contrary to the way I normally program.
What I was planning to do was add a simple (and of course slow) pattern
drawing mechanism for the gsc classes and perhaps overwrite this with a
faster one for the xlib backend.

Perhaps you could add the art pattern fill bit and I provide the rest?

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Headers/AppKit/NSGra...

2005-07-08 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/07/08 23:51:49

Modified files:
core/gui   : ChangeLog 
core/gui/Headers/AppKit: NSGraphicsContext.h 
core/gui/Source: NSColor.m NSGraphicsContext.m NSImage.m 

Log message:
Added methods for pattern colour and alpha image composition.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2547tr2=1.2548r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Headers/AppKit/NSGraphicsContext.h.diff?tr1=1.4tr2=1.5r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSColor.m.diff?tr1=1.54tr2=1.55r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSGraphicsContext.m.diff?tr1=1.77tr2=1.78r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSImage.m.diff?tr1=1.88tr2=1.89r1=textr2=text





[Gnustep-cvs] gnustep/core/back ChangeLog Headers/gsc/GSGStat...

2005-07-08 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/07/09 00:10:08

Modified files:
core/back  : ChangeLog 
core/back/Headers/gsc: GSGState.h 
core/back/Source/gsc: GSContext.m GSGState.m GSStreamContext.m 
core/back/Source/xlib: XGGState.m 

Log message:
dded partial implementation for pattern colour and alpha image 
composition.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/ChangeLog.diff?tr1=1.379tr2=1.380r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Headers/gsc/GSGState.h.diff?tr1=1.5tr2=1.6r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/gsc/GSContext.m.diff?tr1=1.14tr2=1.15r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/gsc/GSGState.m.diff?tr1=1.25tr2=1.26r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/gsc/GSStreamContext.m.diff?tr1=1.19tr2=1.20r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/back/Source/xlib/XGGState.m.diff?tr1=1.31tr2=1.32r1=textr2=text





Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSMenu.m

2005-06-25 Thread Fred Kiefer
Adam Fedor wrote:
 From: Fred Kiefer [mailto:[EMAIL PROTECTED]
 
 
 The code for the later change now implicitly sets the menu windows
 frame to the stored one (or a scaled version of that, when the
 screen has a different size), this could cause a problem if the
 menu window would be resizable, as then some menu entries might
 become unreachable (either because the screen is smaller or because
 we have new entries in the menu). At the moment this isn't a
 problem as menu windows don't allow resizing, but it is a hidden
 dependency, which may break later on. Any idea, if and what we
 should do here?
 
 
 What about when the developer changes the menu around in a new
 version of the app? Does that pose the same problem? Probably we
 should just set the origin.

Also no problem as long as we have the menu marked as non-resizable.

 
 The other change also has a slight problem. The visible frame of
 the screen excludes a possible top menu and, if we ever have this,
 we must of course position the menu there. Again currently this is
 a no issue, I just wanted to state all these potential problems on
 the mailing list, so that somebody will be able to dig them up
 again, when this ever becomes an issue.
 
 
 Yep. Maybe some comments in the code would help with future changes.
 

I add them, when I get arround to code again.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: Keyed nibs

2005-06-25 Thread Fred Kiefer
Gregory John Casamento wrote:
 
 I'm going to start working more seriously on keyed nibs.  Although this isn't
 something which will be ready for 1.0, I want to start focusing on it more.
 
 I'm giving the heads up, so expect changes soon.  :)
 

Great, if you need some help on it, feel free to ask.

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSMenu.m

2005-06-22 Thread Fred Kiefer
Fred Kiefer wrote:
 CVSROOT:  /cvsroot/gnustep
 Module name:  gnustep
 Branch:   
 Changes by:   Fred Kiefer [EMAIL PROTECTED] 05/06/21 22:48:21
 
 Modified files:
   core/gui   : ChangeLog 
   core/gui/Source: NSMenu.m 
 
 Log message:
   Corrected handling of screen size for menu.
 
 CVSWeb URLs:
 http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2541tr2=1.2542r1=textr2=text
 http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSMenu.m.diff?tr1=1.128tr2=1.129r1=textr2=text
 

Sorry for having to reply to my own change mail, but when I woke up this
morning I had second thoughts about the change I made last night. I made
this change in NSMenu as a response to the Debian bug report #315274.
Actually these are two changes, one switches from using [screen frame]
to [screen visibleFrame] (and also from using the main screen to the
actual screen, but this seems still correct) and the other change tries
to correct the reported behaviour of the menu being off screen, when
used on a smaller monitor.
The code for the later change now implicitly sets the menu windows frame
to the stored one (or a scaled version of that, when the screen has a
different size), this could cause a problem if the menu window would be
resizable, as then some menu entries might become unreachable (either
because the screen is smaller or because we have new entries in the
menu). At the moment this isn't a problem as menu windows don't allow
resizing, but it is a hidden dependency, which may break later on. Any
idea, if and what we should do here?

The other change also has a slight problem. The visible frame of the
screen excludes a possible top menu and, if we ever have this, we must
of course position the menu there. Again currently this is a no issue, I
just wanted to state all these potential problems on the mailing list,
so that somebody will be able to dig them up again, when this ever
becomes an issue.

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTableView.m

2005-06-21 Thread Fred Kiefer
Quentin Mathé wrote:
  Le 20 juin 05 à 00:05, Fred Kiefer a écrit :
 
 I did not see any further reply to this mail from Matt, apart from my
 own. Does this mean that the patch is generally accepted or is just
 nobody interested?
 As I uggested I would like to see the cell tracking code as a new  method
 on NSTableView. Something like:

 - (void) trackColumn: (int) columnIndex
  row: (int) rowIndex
withEvent: (NSEvent *) theEvent
 
 I fully agree because I must admit I'm unable to understand current 
 code in this method (I'm not talking about Matt's patch).
 
 I have to admit that I still con't quite understand the event handling
 concept. Let me try to rephrase it in my words and you may correct me
 later on: When getting a mouseDown event in the NSTableView, we  need to
 find out if this is starting a dragging. Only if not we send on the
 event to the cell to start tracking.
 
 My main concern is the fact currently table view handles selection  and
 tracking on mouseUp for cells by default… but selection and  tracking
 should be handled on mouseDown event with cells, except when  dragging
 is turned on and the clicked cell returns NO for 
 trackMouse:inRect:ofView:untilMouseUp: or startTrackingAt:inView: 
 methods I think. That would match moreover current Cocoa behavior 
 (except the minor difference decided by Matt for dragging, I think it 
 is a better choice that Apple's one)
 
 To illustrate current issues with examples:
 - you have no selection change on mouseDown currently when you click  on
 a table view with standard cells and dragging turned off (this  feedback
 absence is really problematic for a combobox because its  popup window
 is closed on mouseUp before the clicked row highlighting  becomes
 visible in table view)
 - popup button cell doesn't show its menu on mouseDown (only on mouseUp)
 - combobox cell doesn't support editing with current delayed tracking 
 model (but it could involve other issues too)
 
 As we may have missed a few events
 whlie determining if this is a drag operation, the cell and the table
 view needs to get one more event to process from the application 
 directly.
 If I understand you correctly you say that this is the behavour on
 Cocoa. Still it looks rather strang to me. On the other hand we should
 try to get dragging from table views working again for the next  release
 and your patch is currently the only one. If nobody disagrees, I would
 submit this patch, with the separate tracking method and a few  comments
 added.
 
 My objection to the patch would be it is introducing duplicated code 
 between NSLeftMouseDragged and NSLeftMouseUp handling with the new  'if
 (draggingPossible == YES)' statement, without implementing true  custom
 cell support as a counterpart.
 Anyway I think we can apply the patch, it works well in my test 
 (dragging seems to be fixed) even if it's probably a temporary  solution
 in my opinion… May be when code will be reorganised, we may  start to
 clean mouse events handling in a definitive way in order to  support any
 kind of cells correctly.
 

Just one still unclear idea: Dowe really have to dequeue the events we
get in mouseDown:? If we would first get the event and see if there is a
draggging event coming, we would let the cell do the dragging, if this
is allowed, with the event still in the queue. And if there isn't an
upcoming drag event we could dequeue the event and do normal processing
in the table view. As I wrote, just an idea...

Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSMenu.m

2005-06-21 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/06/21 22:48:21

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSMenu.m 

Log message:
Corrected handling of screen size for menu.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2541tr2=1.2542r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSMenu.m.diff?tr1=1.128tr2=1.129r1=textr2=text





Re: image and scroll view quirks

2005-06-19 Thread Fred Kiefer
Riccardo wrote:
 
 after Fred fixed the problem scrolling of an image inside a scroll view
 I noticed the introduced (or exposed) a bug. It is not fatal, but may be
 worth investigation.
 
 a quick note: the original problem was that when the image was larger
 than the view and scrlling was needed, only a part of the picture
 actually displayed, scrollbars were there and scrolled, but only a lower
 left rect showed the contents. This on xlib.
 
 As an example I am referring to how images are displayed inside the
 PRICE main window.
 
 right now, a strange shadow happens: the whole window is drawn, the
 image correctly filing all the window area and in the correct size, but
 a shadow appears in form of a rect where formerly with the old bug the
 image was displayed. I can clearly see the borders super-impressed to
 the correct image, then after a time, the image gets probably re-drawn
 again and the final result is correct.
 
 This is particularly evident with big images (like 1024x768 or greater).
 
 I wonder if this is a bug and that it makes display slower and more
 inefficient than what it should be, redrawing things twice.
 
 PS: I haven't filed a bug yet, I wanted to know other peoples comments
 and maybe Fred or someone has a rapid fix.

I tried to reproduce this behaviour with different GNUstep image drawing
applications (including the version of PRICE that I am using), but
failed. GNUstep surely is slow in drawing large images, especially when
scaled, but that is all that I could see. could you provide an image to
demonstrate the behaviour and if possible also a screen shot of the
wrong display?

Cheers
Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSColor.m

2005-06-18 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/06/18 11:24:03

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSColor.m 

Log message:
+colorFromString: make sure to always release scanner.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2540tr2=1.2541r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSColor.m.diff?tr1=1.53tr2=1.54r1=textr2=text





Re: [Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTableView.m

2005-06-05 Thread Fred Kiefer

Matt Rice wrote:

--- Enrico Sersale [EMAIL PROTECTED] wrote:

Just to be more precise :) ... I'm not referring to
this; I've fixed it implementing -copyWithZone: in
my cell class when I've seen that gworkspace
segfaults trying to release an ivar of this class.
The real problem is that it is not possible anymore
to start a drag from a cell (this is visible in
GNUMail, too). Making -startTrackingAt:inView: to
return NO in the cell class fixes this problem too,
but I think that there is something wrong in
-mouseDown: because, before theese changes, both the
apps worked well.


indeed I don't think that should be required either.
(though looking at the docs i noticed that
-startTrackingAt:inView:... returns NO if the view
doesn't send actions on dragging or periodic events

it isn't clear whether this affects the return value
of trackMouse:inRect:... 


anyhow a little testing shows you are correct.

this changes the behaviour of trackMouse:inRect:..
slightly to cope with an event that happened in the pa

in a dragging source table view
trackMouse:mouseDownEvent will be sent after the mouse
has gone up (when it is clear that no dragging has
been started).. though this severely limits the cells
which will work with one

sure isn't pretty though, that's probably fixable..



This is a rather huge patch, could you please describe in more detail, 
what you are aiming at with it? What did you test and how does MacOSX 
differ from the current GNUstep behaviour?
Most of what changed looks like just a reformatting, which should be 
harmless, but this makes it hard to see the actual change itself. Would 
it be possible to provide a different patch, which tries to keep the old 
formatting (perhaps by using some dummy {} combination)? Even the old 
mouseDown: method here was unreadable, but the patch realy is 
incomprehensible for me in its current form.


Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSPopUpButton...

2005-05-27 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/05/27 13:41:46

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSPopUpButtonCell.m 

Log message:
Make sure popup button cells wont get notifications after being 
dealloceated.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2529tr2=1.2530r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSPopUpButtonCell.m.diff?tr1=1.67tr2=1.68r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSTableView.m

2005-05-26 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/05/26 13:38:11

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSTableView.m 

Log message:
Improved mouseDown call handling for table view.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2528tr2=1.2529r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSTableView.m.diff?tr1=1.116tr2=1.117r1=textr2=text





Re: Building in a separate directory

2005-05-26 Thread Fred Kiefer

Adam Fedor wrote:


On May 26, 2005, at 12:04 PM, David Lázaro Saz wrote:



On 26/05/2005, at 1:00, Adam Fedor wrote:


It might be nice to fix autoconf, but then you'll run into make.
 'make' doesn't like spaces in directories either - and this is a
 fundamental design issue.



But doesn't make always run in the same directory?  Anyway I'm
placing this on the back burner for some time, and it's been a long
time since I read the GNU make manual.  But I think that this issue
needs to be solved someday because directories with spaces are very
common this days (Windows' C:\Program Files, for example).

I'm now deeply immersed in cross-compiling, though.  I'm also 
reviewing how Autoconf works and how it's applied through GNUstep.

My knowledge of Autoconf is somewhat superficial right now.  The
first problem I've detected is that the macro AC_FUNC_SETPGRP
prevents cross-compiling because it always needs to run the test
program that it constructs in order to check the signature of
setpgrp.  I haven't found how to circumvent it yet.



if test $cross_compiling = no; then AC_FUNC_SETPGRP else #set a
default value fi

I was working on that, but the default for MingW is not what the
normal default would be, but I wasn't entirely sure.




Autoconf is rather easy to work around, as long as you have the
informations on the correct settings for the traget system. Perhaps it
would even be possible to run autoconf on the target system and transfer
the results to the actual build environment?
For simple settings like AC_FNUC_SETGRP it is sufficent to set an
environment variable stating the presense/absense of the feature. Here
the settings I used to cross compile for an ARM system:

export cl_cv_c_longlong=yes
export ac_cv_func_setpgrp_void=yes
./configure --prefix=/home/zaurus/gnustep --disable-flattened  \
--host=arm-linux --build=ix86-linux  \
--libdir=/home/zaurus/gnustep/System/Library/Libraries/arm/linux-gnu \
--includedir=/home/zaurus/gnustep/System/Library/Headers/gnu-gnu-gnu \
--disable-do 

For me this looks easier than trying to guess the correct default value 
for all the systems and hard coding that in the .ac file.


Fred


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSComboBoxCell.m

2005-05-22 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/05/22 10:27:24

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSComboBoxCell.m 

Log message:
Improved combobox layout.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2524tr2=1.2525r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSComboBoxCell.m.diff?tr1=1.36tr2=1.37r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSWindow.m

2005-05-20 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/05/20 14:33:43

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSWindow.m 

Log message:
Implemented animate resize.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2523tr2=1.2524r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSWindow.m.diff?tr1=1.325tr2=1.326r1=textr2=text





[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSImageCell.m

2005-05-19 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/05/19 11:45:54

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSImageCell.m 

Log message:
Treat nil as image unsetting in setObjectValue:.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2521tr2=1.2522r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSImageCell.m.diff?tr1=1.24tr2=1.25r1=textr2=text





Apple binar property lost format

2005-05-08 Thread Fred Kiefer
I did just commit the writing of property lists in the Apple binary 
format. This should make it easier to write NIB files that may be used 
on Apple systems. But of course we will need full keyed encoding first.

There are two known limitations to this implementation. First NSNumber 
objects containing char values with 0 or 1 are treated as NO and YES. 
This wont make much of a difference for the applications reading this 
data, but is not strictly correct. I could not find any way to handle 
this better, apart from checking for an internal class name. After all 
this is still a lot better than the XML output format code, which treats 
all char numbers as boolean.

The other limitation is that when reading in a binary property list and 
storing it again in the same format, the number of objects decreses. I 
am not sure what is causing this, it also only happens with big NIB 
files. My only idea is that my code in [BinaryPLGenerator 
indexForObject:] removes duplicate occurences of objects. Maybe Apple 
stores them each anew. If somebody can confirm this, I would adjust my 
code. But then the code would no longer be able to handle recursive 
property list.

Cheers
Fred
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev


[Gnustep-cvs] gnustep/core/gui ChangeLog Source/NSPopUpButton...

2005-04-17 Thread Fred Kiefer
CVSROOT:/cvsroot/gnustep
Module name:gnustep
Branch: 
Changes by: Fred Kiefer [EMAIL PROTECTED] 05/04/17 21:25:32

Modified files:
core/gui   : ChangeLog 
core/gui/Source: NSPopUpButton.m NSPopUpButtonCell.m 

Log message:
Fixed bug #12680 and further clean up of NSPopupButtonCell.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/ChangeLog.diff?tr1=1.2513tr2=1.2514r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSPopUpButton.m.diff?tr1=1.55tr2=1.56r1=textr2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnustep/gnustep/core/gui/Source/NSPopUpButtonCell.m.diff?tr1=1.65tr2=1.66r1=textr2=text





<    6   7   8   9   10   11   12   >