gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Various retain/release bugs


From: Nicola Pero
Subject: Re: Various retain/release bugs
Date: Sun, 24 Feb 2002 12:34:54 +0000 (GMT)

Alexander,

I'm Cc:ing the dev mailing list so that my list of 'small tasks' can be
useful to other people as well.


> I'd love to help! All this bug-hunting seems to be a good way of
> becoming familiar with gnustep. :-)

Yes - bug-hunting is a very good way to start (and useful too!).


>                                  Problem is, the tasks in the task
> list at gnustep.org are a bit large (at least for having one line
> descriptions), and the task lists at savannah are all empty, so I don't
> really know where to start.

Yes - keeping an up-to-date task list is a task in itself. :-)

Let me see tasks which are reasonably simple, yet reasonably interesting
and useful, and reasonably {little/medium}-sized.


 - try to reduce unnecessary redrawing in existing gui elements.  this is
   not necessarily simple :-) but it's probably very interesting.  most gui
   elements currently redraw themselves a lot.  each redrawing slows down
   the gui.  still, if you don't redraw enough, you get a wrong result of
   course, and most unnecessary redrawing commands where added by people
   who found that in some special situation, without that redrawing
   command the display would be wrong.  so the difficult - yet interesting
   - thing is to take stuff and try to figure out how to make sure it's
   redrawn only as many times as necessary - not more, not less - and
   still, of course, honour the documented API, and never get the wrong
   drawing no matter how special the situation :-)

   most of the problem with unnecessary redrawing is not in the generic
   NSView machinery for redrawing - which has been debugged quite a lot 
   (minor bugs can still be there) - but is in the specific gui elements
   (menus, browsers, buttons, clipviews, scrollviews, tables, whatever).

 - write more examples/demos of gui elements (as more bundles to
   GSTest.app, or as standalone little applications) - for example we have
   no example/demo of combo boxes, bezier paths, cursors/tracking rects,
   fonts/font manager/font panel, help stuff, popup buttons, printing,
   NSScreen, spell checking, tab views, editing in table views, matrices,
   text attachments ...

 - improve NSTabView (probably require to rewrite most of it) - this is
   a very useful gui element which is not well implemented in gnustep - btw
   if you don't display the little tags on top, I think it can also be used
   to produce the classical NeXTstep swap views - where you have a control
   on top of the window, and by acting on the control, you change the view
   displayed below - used to build NeXTstep-like inspectors (like the ones
   in Gorm) - where you swap the view by using a popup button, or
   NeXTstep-like preferences panels - where you swap the view by using a 
   row of buttons in a scrollview.  We might even add some extension to
   tab view to support automatically building these kinds of panels!

   anyway, just rewriting the NSTabView so that it is a fully functional
   and bug-free implementation would be very useful.

 - improve NSProgressIndicator - eg it would be nice if this gui element was
   displaying some nice image (like it does on Apple MacOS X - but of
   course not the same image :-) rather than just filling all blue.
   Also, I'm not sure how it works on Apple MacOS X, but perhaps some sort
   of autosizing would be good ?

 - improve NSComboBox - not sure of the state of this, but last time I
   tried it, it looked a bit ugly.  this is not really part of the normal  
   nextstep user interface, but since we have it, it would be good to have
   it working well.

 - examine the status of the help system.  how much of it is implemented ?
   how much of it actually works ?  <I don't know myself> can we provide 
   an example/demo of the help system ?
    
 - we need to improve the text system a lot, only it's difficult to 
   isolate small tasks in the text system.  When it's done, it will be
   a very advanced text system - but the backend issues are not
   really clear yet - I don't think we really understand how to draw
   glyphs on screen, or how to convert chars into glyphs.  It's probably
   not a good idea to begin working here.

   But you can probably pick up something in the text system which you
   miss - say, pageDown: and pageUp:, and implement it.

 - implementing a tool which can process an Objective-C source file and
   extract the localizable strings from it (similar to what the genstrings
   program does on nexstep/openstep/macos-X).  it should also be able
   to manage merging/updating existing localizable string files etc.
   this is really a base library task, and it's a command line tool.
   but it would be mainly used inside gui applications.

 - rename all gnustep-gui images to have meaningful and nice names, and
   update all callers.  Probably all images should have a name prefixed
   with 'GS' - like 'GSHome.tiff' instead of 'common_Home.tiff'.
   (this is a very preliminary step for theme support, which will be very
   useful later on ... a theme will be able to replace system images with
   its own images ... so the names of system images need to be pretty
   enough to become part of the theme API).

 - writing a new useful gnustep application.  this still remains a top
   priority in our task list, and I'd like it to be always included in
   every task lists we produce.  having useful gnustep applications means
   more reasons for people to use gnustep, means more bug fixed, means
   more users, means more new developers ...

If you plan on doing more work on gnustep than simply sending in little
patches and bug fixes, please contact Adam Fedor - we need a copyright
assignment paper, saying that you donate your new GNUstep code to the FSF.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]