Skip to content

Commit

Permalink
Merge branch 'master' of git://github.com/280north/cappuccino
Browse files Browse the repository at this point in the history
  • Loading branch information
vijaykiran committed Sep 18, 2008
2 parents 9a397bf + d6b4eba commit edcbb02
Show file tree
Hide file tree
Showing 38 changed files with 1,637 additions and 258 deletions.
4 changes: 2 additions & 2 deletions AppKit/AppKit.steam
Expand Up @@ -34,12 +34,12 @@
<dict>
<key>Name</key>
<string>Debug</string>
<key>Flags</key>
<string>-DDEBUG</string>
<key>Settings</key>
<dict>
<key>PREPROCESS</key>
<true/>
<key>FLAGS</key>
<string>-DDEBUG</string>
</dict>
</dict>
<dict>
Expand Down
5 changes: 3 additions & 2 deletions AppKit/CPAnimation.j
Expand Up @@ -211,7 +211,7 @@ ACTUAL_FRAME_RATE = 0;
- (void)startAnimation
{
// If we're already animating, or our delegate stops us, animate.
if (_timer || _delegate && ![_delegate animationShouldStart:self])
if (_timer || _delegate && [_delegate respondsToSelector:@selector(animationShouldStart)] && ![_delegate animationShouldStart:self])
return;

_progress = 0.0;
Expand Down Expand Up @@ -258,7 +258,8 @@ ACTUAL_FRAME_RATE = 0;
window.clearTimeout(_timer);
_timer = nil;

[_delegate animationDidStop:self];
if ([_delegate respondsToSelector:@selector(animationDidStop:)])
[_delegate animationDidStop:self];
}

/*
Expand Down
70 changes: 67 additions & 3 deletions AppKit/CPControl.j
Expand Up @@ -253,8 +253,8 @@ var CPControlBlackColor = [CPColor blackColor];

- (void)mouseUp:(CPEvent)anEvent
{
if (_sendActionOn & CPLeftMouseUpMask && CPRectContainsPoint([self bounds], [self convertPoint:[anEvent locationInWindow] fromView:nil]))
[self sendAction:_action to:_target];
if (_sendActionOn & CPLeftMouseUpMask && CPRectContainsPoint([self bounds], [self convertPoint:[anEvent locationInWindow] fromView:nil])){alert([_target description] + " : " + _action);
[self sendAction:_action to:_target];}

[super mouseUp:anEvent];
}
Expand Down Expand Up @@ -282,7 +282,71 @@ var CPControlBlackColor = [CPColor blackColor];
*/
- (void)setFloatValue:(float)aValue
{
_value = aValue;
[self setObjectValue:aValue];
}

/*
Returns the receiver's object value
*/
- (id)objectValue
{
return _value;
}

/*
Set's the receiver's object value
*/
- (void)setObjectValue:(id)anObject
{
_value = anObject;
}

/*
Returns the receiver's double value
*/
- (id)doubleValue
{
return [self floatValue];
}

/*
Set's the receiver's double value
*/
- (void)setDoubleValue:(id)anObject
{
[self setObjectValue:anObject];
}

/*
Returns the receiver's int value
*/
- (id)intValue
{
return _value ? parseInt(_value, 10) : 0;
}

/*
Set's the receiver's int value
*/
- (void)setIntValue:(id)anObject
{
[self setObjectValue:anObject];
}

/*
Returns the receiver's int value
*/
- (id)stringValue
{
return _value ? ""+_value : "";
}

/*
Set's the receiver's int value
*/
- (void)setStringValue:(id)anObject
{
[self setObjectValue:anObject];
}

- (void)setBackgroundColor:(CPColor)aColor
Expand Down
13 changes: 10 additions & 3 deletions AppKit/CPImage.j
Expand Up @@ -20,10 +20,11 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

import <Foundation/CPObject.j>
import <Foundation/CPString.j>
import <Foundation/CPBundle.j>
import <Foundation/CPNotificationCenter.j>
import <Foundation/CPObject.j>
import <Foundation/CPRunLoop.j>
import <Foundation/CPString.j>

import "CPGeometry.j"

Expand All @@ -35,6 +36,8 @@ CPImageLoadStatusInvalidData = 4;
CPImageLoadStatusUnexpectedEOF = 5;
CPImageLoadStatusReadError = 6;

CPImageDidLoadNotification = @"CPImageDidLoadNotification";

@implementation CPBundle (CPImageAdditions)

- (CPString)pathForResource:(CPString)aFilename
Expand Down Expand Up @@ -219,7 +222,11 @@ CPImageLoadStatusReadError = 6;
// FIXME: IE is wrong on image sizes????
if (!_size || (_size.width == -1 && _size.height == -1))
_size = CGSizeMake(_image.width, _image.height);


[[CPNotificationCenter defaultCenter]
postNotificationName:CPImageDidLoadNotification
object:self];

if ([_delegate respondsToSelector:@selector(imageDidLoad:)])
[_delegate imageDidLoad:self];

Expand Down
51 changes: 35 additions & 16 deletions AppKit/CPImageView.j
Expand Up @@ -20,8 +20,10 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/

import "CPImage.j"
import <Foundation/CPNotificationCenter.j>

import "CPControl.j"
import "CPImage.j"
import "CPShadowView.j"

#include "Platform/Platform.h"
Expand Down Expand Up @@ -110,20 +112,35 @@ var LEFT_SHADOW_INSET = 3.0,
if (_image == anImage)
return;

_image = anImage;
var center = [CPNotificationCenter defaultCenter];

if (_image)
[center removeObserver:self name:CPImageDidLoadNotification object:_image];

_image = anImage;
_DOMImageElement.src = [anImage filename];

var size = [_image size];

if (_imageScaling == CPScaleNone && _image)
if (size && size.width == -1 && size.height == -1)
{
var size = [_image size];
[center addObserver:self selector:@selector(imageDidLoad:) name:CPImageDidLoadNotification object:_image];

_DOMImageElement.width = 0;
_DOMImageElement.height = 0;

_DOMImageElement.width = ROUND(size.width);
_DOMImageElement.height = ROUND(size.height);
[_shadowView setHidden:YES];
}

else
{
[self hideOrDisplayContents];
[self tile];
}
}

- (void)imageDidLoad:(CPNotification)aNotification
{
[self hideOrDisplayContents];

[self tile];
}

Expand Down Expand Up @@ -181,13 +198,6 @@ var LEFT_SHADOW_INSET = 3.0,
{
CPDOMDisplayServerSetStyleLeftTop(_DOMImageElement, NULL, 0.0, 0.0);
}
else if (_imageScaling == CPScaleNone && _image)
{
var size = [_image size];

_DOMImageElement.width = ROUND(size.width);
_DOMImageElement.height = ROUND(size.height);
}

[self tile];
}
Expand Down Expand Up @@ -240,7 +250,7 @@ var LEFT_SHADOW_INSET = 3.0,
{
if (!_image)
return;

var bounds = [self bounds],
x = 0.0,
y = 0.0,
Expand All @@ -260,6 +270,9 @@ var LEFT_SHADOW_INSET = 3.0,
{
var size = [_image size];

if (size.width == -1 && size.height == -1)
return;

if (_imageScaling == CPScaleProportionally)
{
// The max size it can be is size.width x size.height, so only
Expand Down Expand Up @@ -289,6 +302,12 @@ var LEFT_SHADOW_INSET = 3.0,
height = size.height;
}

if (_imageScaling == CPScaleNone)
{
_DOMImageElement.width = ROUND(size.width);
_DOMImageElement.height = ROUND(size.height);
}

var x = (boundsWidth - width) / 2.0,
y = (boundsHeight - height) / 2.0;

Expand Down

0 comments on commit edcbb02

Please sign in to comment.