mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-24 18:31:20 +00:00
Added better support for adding/removing rulers
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11897 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
81cc445c50
commit
b3ef3c0cbc
1 changed files with 87 additions and 22 deletions
|
@ -395,6 +395,19 @@ static float scrollerWidth;
|
|||
[_headerClipView scrollToPoint: scrollTo];
|
||||
}
|
||||
[_contentView scrollToPoint: point];
|
||||
|
||||
if (_rulersVisible == YES)
|
||||
{
|
||||
if (_hasHorizRuler)
|
||||
{
|
||||
[_horizRuler setNeedsDisplay: YES];
|
||||
}
|
||||
if (_hasVertRuler)
|
||||
{
|
||||
[_vertRuler setNeedsDisplay: YES];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
- (void) reflectScrolledClipView: (NSClipView *)aClipView
|
||||
|
@ -487,7 +500,26 @@ static float scrollerWidth;
|
|||
|
||||
- (void) setHorizontalRulerView: (NSRulerView *)aRulerView
|
||||
{
|
||||
if (_rulersVisible && _horizRuler != nil)
|
||||
{
|
||||
[_horizRuler removeFromSuperview];
|
||||
}
|
||||
|
||||
ASSIGN(_horizRuler, aRulerView);
|
||||
|
||||
if (_horizRuler == nil)
|
||||
{
|
||||
_hasHorizRuler = NO;
|
||||
}
|
||||
else if (_rulersVisible)
|
||||
{
|
||||
[self addSubview:_horizRuler];
|
||||
}
|
||||
|
||||
if (_rulersVisible)
|
||||
{
|
||||
[self tile];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) setHasHorizontalRuler: (BOOL)flag
|
||||
|
@ -496,23 +528,49 @@ static float scrollerWidth;
|
|||
return;
|
||||
|
||||
_hasHorizRuler = flag;
|
||||
if (_hasHorizRuler)
|
||||
if (_hasHorizRuler && _horizRuler == nil)
|
||||
{
|
||||
if (!_horizRuler)
|
||||
{
|
||||
NSRulerView *rulerView = [rulerViewClass new];
|
||||
|
||||
[self setHorizontalRulerView: rulerView];
|
||||
RELEASE(rulerView);
|
||||
}
|
||||
_horizRuler = [[isa rulerViewClass] alloc];
|
||||
_horizRuler = [_horizRuler initWithScrollView: self
|
||||
orientation: NSHorizontalRuler];
|
||||
}
|
||||
|
||||
if (_rulersVisible)
|
||||
{
|
||||
if (_hasHorizRuler)
|
||||
{
|
||||
[self addSubview: _horizRuler];
|
||||
}
|
||||
else
|
||||
{
|
||||
[_horizRuler removeFromSuperview];
|
||||
}
|
||||
[self tile];
|
||||
}
|
||||
else
|
||||
[_horizRuler removeFromSuperview];
|
||||
}
|
||||
|
||||
- (void) setVerticalRulerView: (NSRulerView *)ruler
|
||||
- (void) setVerticalRulerView: (NSRulerView *)aRulerView
|
||||
{
|
||||
ASSIGN(_vertRuler, ruler);
|
||||
if (_rulersVisible && _vertRuler != nil)
|
||||
{
|
||||
[_vertRuler removeFromSuperview];
|
||||
}
|
||||
|
||||
ASSIGN(_vertRuler, aRulerView);
|
||||
|
||||
if (_vertRuler == nil)
|
||||
{
|
||||
_hasVertRuler = NO;
|
||||
}
|
||||
else if (_rulersVisible)
|
||||
{
|
||||
[self addSubview:_vertRuler];
|
||||
}
|
||||
|
||||
if (_rulersVisible)
|
||||
{
|
||||
[self tile];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) setHasVerticalRuler: (BOOL)flag
|
||||
|
@ -521,18 +579,25 @@ static float scrollerWidth;
|
|||
return;
|
||||
|
||||
_hasVertRuler = flag;
|
||||
if (_hasVertRuler)
|
||||
if (_hasVertRuler && _vertRuler == nil)
|
||||
{
|
||||
if (!_vertRuler)
|
||||
{
|
||||
NSRulerView *rulerView = [rulerViewClass new];
|
||||
|
||||
[self setVerticalRulerView: rulerView];
|
||||
RELEASE(rulerView);
|
||||
}
|
||||
_vertRuler = [[isa rulerViewClass] alloc];
|
||||
_vertRuler = [_vertRuler initWithScrollView: self
|
||||
orientation: NSVerticalRuler];
|
||||
}
|
||||
|
||||
if (_rulersVisible)
|
||||
{
|
||||
if (_hasVertRuler)
|
||||
{
|
||||
[self addSubview: _vertRuler];
|
||||
}
|
||||
else
|
||||
{
|
||||
[_vertRuler removeFromSuperview];
|
||||
}
|
||||
[self tile];
|
||||
}
|
||||
else
|
||||
[_vertRuler removeFromSuperview];
|
||||
}
|
||||
|
||||
- (void) setRulersVisible: (BOOL)flag
|
||||
|
|
Loading…
Reference in a new issue