discuss-gnustep
[Top][All Lists]
Advanced

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

Re: GWorkspace issues


From: Enrico Sersale
Subject: Re: GWorkspace issues
Date: Sun, 28 Jan 2001 14:57:36 +0200 (EET)

On Sun, 28 Jan 2001, Enrico Sersale wrote:

> 
> On Sun, 28 Jan 2001, Philippe C.D. Robert wrote:
> 
> > Hi Enrico,
> > 
> > two issues (latest GS code, GWorkspace 0.1.5):
> > 
> > A) When selecting different views in the inspector's popup the app
> > crashes when the same view gets selected for the second time. This can
> > be reproduced easily (check Attributes and Access Control).
> 
> This bug was already reported... 
> Unfortunately, I can't reproduce it.
> Please, send me a trace.
>  
> > B) The shelf is now at the bottom of the window.... hmm ...;-) I
> > really think the position on top was better suited, since you had to
> > move the mouse less to access the icons I'd say.
> 
> I've not moved the shelf at the bottom ;-)
> This comes from the recent changes in NSSplitView. 

I'm having some problems in fixing this.
Or I can't see where the error is, or a bug was added in NSSplitView.

I use the delegate method __splitView_resizeSubviewsWithOldSize_ to
costrain the sizes of the various elements (the shelf must resize with
fixed increments, the icon-path can't resize, the browser can).

Theorically, It have should been sufficent to change the values according
to the new splitted coordinates, but this doesn't work.

If I move the divider, the elements are not right positioned. To get them
in the right position, I must also manually resize a little the window.

Please, Nicola, try to substitute the following code in Viewer.m 
(GWorkspace 0.1.5)...

Ciao,
Enrico


- (void)splitView:(NSSplitView *)sender 
                  resizeSubviewsWithOldSize:(NSSize)oldSize
{
  NSRect r = [sender frame];
  float w, h, d, shelfheight;

  h = [shelf frame].size.height;
  if (h < 35) {
    shelfheight = 2;
  } else if (h <= 75) {  
    shelfheight = 75;
  } else {
    shelfheight = 150;
  }
  
  [shelf setFrame: NSMakeRect(0, 0, r.size.width, shelfheight)];
  [shelf resizeWithOldSuperviewSize: [shelf frame].size]; 

  w = r.size.width;
  h = r.size.height;    
  d = [sender dividerThickness];

  [browserView setFrame: NSMakeRect(8, shelfheight + d, 
                                          w - 16, h - shelfheight - d)];

  w = [browserView frame].size.width;
  h = [browserView frame].size.height;    

  [scrollView setFrame: NSMakeRect(0, h - 98, w, 98)]; 

  [browser setFrame: NSMakeRect(0, 0, w, h - 104)]; 
  
  columns = (int)[vWin frame].size.width / resizeIncrement;
  [browser setMaxVisibleColumns: columns];  
}





reply via email to

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