mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-11 11:07:07 +00:00
Merge branch 'master' into tableview
This commit is contained in:
commit
831ea11a6b
18 files changed
+83
-53
No files matched your search
@@ -106,9 +106,12 @@ else if (USER_AGENT.indexOf("AppleWebKit/") != -1)
|
||||
|
||||
var versionStart = USER_AGENT.indexOf("AppleWebKit/") + "AppleWebKit/".length,
|
||||
versionEnd = USER_AGENT.indexOf(" ", versionStart),
|
||||
version = parseFloat(USER_AGENT.substring(versionStart, versionEnd), 10);
|
||||
versionString = USER_AGENT.substring(versionStart, versionEnd),
|
||||
versionDivision = versionString.indexOf('.'),
|
||||
majorVersion = parseInt(versionString.substring(0, versionDivision)),
|
||||
minorVersion = parseInt(versionString.substr(versionDivision + 1));
|
||||
|
||||
if(USER_AGENT.indexOf("Plainview") == -1 && version >= 525.14 || USER_AGENT.indexOf("Chrome") != -1)
|
||||
if((USER_AGENT.indexOf("Safari") !== CPNotFound && (majorVersion >= 525 && minorVersion > 14)) || USER_AGENT.indexOf("Chrome") !== CPNotFound)
|
||||
PLATFORM_FEATURES |= CPJavascriptRemedialKeySupport;
|
||||
}
|
||||
|
||||
|
||||
+16
-22
@@ -96,36 +96,38 @@ CPDownArrowKeyCode = 40;
|
||||
*/
|
||||
- (void)interpretKeyEvents:(CPArray)events
|
||||
{
|
||||
var event,
|
||||
index = 0;
|
||||
|
||||
while(event = events[index++])
|
||||
var index = 0,
|
||||
count = [events count];
|
||||
|
||||
for (; index < count; ++index)
|
||||
{
|
||||
var event = events[index];
|
||||
|
||||
switch([event keyCode])
|
||||
{
|
||||
case CPLeftArrowKeyCode: [self moveBackward:self];
|
||||
case CPLeftArrowKeyCode: [self doCommandBySelector:@selector(moveLeft:)];
|
||||
break;
|
||||
case CPRightArrowKeyCode: [self moveForward:self];
|
||||
case CPRightArrowKeyCode: [self doCommandBySelector:@selector(moveRight:)];
|
||||
break;
|
||||
case CPUpArrowKeyCode: [self moveUp:self];
|
||||
case CPUpArrowKeyCode: [self doCommandBySelector:@selector(moveUp:)];
|
||||
break;
|
||||
case CPDownArrowKeyCode: [self moveDown:self];
|
||||
case CPDownArrowKeyCode: [self doCommandBySelector:@selector(moveDown:)];
|
||||
break;
|
||||
case CPDeleteKeyCode: [self deleteBackward:self];
|
||||
case CPDeleteKeyCode: [self doCommandBySelector:@selector(deleteBackward:)];
|
||||
break;
|
||||
case CPReturnKeyCode:
|
||||
case 3: [self insertLineBreak:self];
|
||||
case 3: [self doCommandBySelector:@selector(insertLineBreak:)];
|
||||
break;
|
||||
|
||||
case CPEscapeKeyCode: [self cancel:self];
|
||||
case CPEscapeKeyCode: [self doCommandBySelector:@selector(cancel:)];
|
||||
break;
|
||||
|
||||
case CPTabKeyCode: var shift = [event modifierFlags] & CPShiftKeyMask;
|
||||
|
||||
if (!shift)
|
||||
[self insertTab:self];
|
||||
[self doCommandBySelector:@selector(insertTab:)];
|
||||
else
|
||||
[self insertBackTab:self];
|
||||
[self doCommandBySelector:@selector(insertBackTab:)];
|
||||
|
||||
break;
|
||||
|
||||
@@ -224,14 +226,6 @@ CPDownArrowKeyCode = 40;
|
||||
}
|
||||
|
||||
// Action Methods
|
||||
/*!
|
||||
Deletes one character backward, or the selection if anything is selected.
|
||||
@param aSender the object requesting this
|
||||
*/
|
||||
- (void)deleteBackward:(id)aSender
|
||||
{
|
||||
}
|
||||
|
||||
/*!
|
||||
Insert a line break at the caret position or selection.
|
||||
@param aSender the object requesting this
|
||||
@@ -278,7 +272,7 @@ CPDownArrowKeyCode = 40;
|
||||
*/
|
||||
- (void)doCommandBySelector:(SEL)aSelector
|
||||
{
|
||||
if([self respondsToSelector:aSelector])
|
||||
if ([self respondsToSelector:aSelector])
|
||||
[self performSelector:aSelector];
|
||||
else
|
||||
[_nextResponder doCommandBySelector:aSelector];
|
||||
|
||||
+48
-15
@@ -253,7 +253,7 @@ var CPWindowSaveImage = nil,
|
||||
CPView _contentView;
|
||||
CPView _toolbarView;
|
||||
|
||||
CPView _mouseOverView;
|
||||
CPArray _mouseEnteredStack;
|
||||
CPView _leftMouseDownView;
|
||||
CPView _rightMouseDownView;
|
||||
|
||||
@@ -1212,23 +1212,56 @@ CPTexturedBackgroundWindowMask
|
||||
|
||||
case CPMouseMoved: if (!_acceptsMouseMovedEvents)
|
||||
return;
|
||||
|
||||
|
||||
if (!_mouseEnteredStack)
|
||||
_mouseEnteredStack = [];
|
||||
|
||||
var hitTestView = [_windowView hitTest:point];
|
||||
|
||||
if (hitTestView != _mouseOverView)
|
||||
|
||||
if ([_mouseEnteredStack count] && [_mouseEnteredStack lastObject] === hitTestView)
|
||||
return [hitTestView mouseMoved:anEvent];
|
||||
|
||||
var view = hitTestView,
|
||||
mouseEnteredStack = [];
|
||||
|
||||
while (view)
|
||||
{
|
||||
if (_mouseOverView)
|
||||
[_mouseOverView mouseExited:[CPEvent mouseEventWithType:CPMouseExited location:point
|
||||
modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0]];
|
||||
|
||||
if (hitTestView)
|
||||
[hitTestView mouseEntered:[CPEvent mouseEventWithType:CPMouseEntered location:point
|
||||
modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0]];
|
||||
|
||||
_mouseOverView = hitTestView;
|
||||
mouseEnteredStack.unshift(view);
|
||||
|
||||
view = [view superview];
|
||||
}
|
||||
|
||||
[_mouseOverView mouseMoved:anEvent];
|
||||
|
||||
var deviation = MIN(_mouseEnteredStack.length, mouseEnteredStack.length);
|
||||
|
||||
while (deviation--)
|
||||
if (_mouseEnteredStack[deviation] !== mouseEnteredStack[deviation])
|
||||
break;
|
||||
|
||||
var index = deviation,
|
||||
count = _mouseEnteredStack.length;
|
||||
|
||||
if (index < count)
|
||||
{
|
||||
var event = [CPEvent mouseEventWithType:CPMouseExited location:point modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0];
|
||||
|
||||
for (; index < count; ++index)
|
||||
[_mouseEnteredStack[index] mouseExited:event];
|
||||
}
|
||||
|
||||
index = deviation;
|
||||
count = mouseEnteredStack.length;
|
||||
|
||||
if (index < count)
|
||||
{
|
||||
var event = [CPEvent mouseEventWithType:CPMouseEntered location:point modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0];
|
||||
|
||||
for (; index < count; ++index)
|
||||
[mouseEnteredStack[index] mouseEntered:event];
|
||||
}
|
||||
|
||||
_mouseEnteredStack = mouseEnteredStack;
|
||||
|
||||
[hitTestView mouseMoved:anEvent];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@ AppKitFiles = FileList['**/*.j'].exclude('CoreGraphics/CGContextCanvas.j', 'Core
|
||||
ObjectiveJ::BundleTask.new(:AppKit) do |t|
|
||||
t.name = 'AppKit'
|
||||
t.identifier = 'com.280n.AppKit'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'AppKit classes for Cappuccino'
|
||||
|
||||
File renamed without changes.
File renamed without changes.
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
@@ -516,12 +516,12 @@
|
||||
+ (CPSlider)themedCircularSlider
|
||||
{
|
||||
var slider = [[CPSlider alloc] initWithFrame:CGRectMake(0.0, 0.0, 34.0, 34.0)],
|
||||
trackColor = PatternColor([_CPCibCustomResource imageResourceWithName:"circularSliderBezel.png" size:CGSizeMake(34.0, 34.0)]);
|
||||
trackColor = PatternColor([_CPCibCustomResource imageResourceWithName:"slider-circular-bezel.png" size:CGSizeMake(34.0, 34.0)]);
|
||||
|
||||
[slider setSliderType:CPCircularSlider];
|
||||
[slider setValue:trackColor forThemeAttribute:@"track-color" inState:CPThemeStateCircular];
|
||||
|
||||
var knobColor = [CPColor colorWithPatternImage:[_CPCibCustomResource imageResourceWithName:"circularSliderKnob.png" size:CGSizeMake(5.0, 5.0)]],
|
||||
var knobColor = [CPColor colorWithPatternImage:[_CPCibCustomResource imageResourceWithName:"slider-circular-knob.png" size:CGSizeMake(5.0, 5.0)]],
|
||||
knobHighlightedColor = knobColor;
|
||||
|
||||
[slider setValue:CGSizeMake(5.0, 5.0) forThemeAttribute:@"knob-size" inState:CPThemeStateCircular];
|
||||
|
||||
@@ -12,7 +12,7 @@ $BUILD_PATH = File.join($BUILD_DIR, $CONFIGURATION, 'BlendKit')
|
||||
ObjectiveJ::BundleTask.new(:BlendKit) do |t|
|
||||
t.name = 'BlendKit'
|
||||
t.identifier = 'com.280n.BlendKit'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'BlendKit classes for Cappuccino'
|
||||
|
||||
@@ -15,7 +15,7 @@ $ENVIRONMENT_LIB_PRODUCT = File.join($ENVIRONMENT_LIB_DIR, 'blend')
|
||||
ObjectiveJ::BundleTask.new(:blend) do |t|
|
||||
t.name = 'blend'
|
||||
t.identifier = 'com.280n.blend'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'blend classes for Cappuccino'
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ task :build => [:Foundation, $ENVIRONMENT_PRODUCT]
|
||||
ObjectiveJ::BundleTask.new(:Foundation) do |t|
|
||||
t.name = 'Foundation'
|
||||
t.identifier = 'com.280n.Foundation'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'Foundation classes for Cappuccino'
|
||||
|
||||
@@ -119,7 +119,7 @@ function objj_backtrace_set_enabled(enabled)
|
||||
|
||||
function objj_debug_print_backtrace()
|
||||
{
|
||||
print(objj_debug_backtrace_string());
|
||||
alert(objj_debug_backtrace_string());
|
||||
}
|
||||
|
||||
function objj_debug_backtrace_string()
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ spec = Gem::Specification.new do |s|
|
||||
s.homepage = 'http://cappuccino.org/'
|
||||
s.summary = "Objective-J extensions to Rake."
|
||||
s.name = 'objective-j'
|
||||
s.version = "0.7.0"
|
||||
s.version = "0.7.1"
|
||||
s.requirements << 'rake'
|
||||
s.require_path = 'lib'
|
||||
s.files = PKG_FILES
|
||||
@@ -34,7 +34,7 @@ Rake::GemPackageTask.new(spec) do |pkg|
|
||||
end
|
||||
|
||||
#task :install do
|
||||
# Gem::Installer.new(File.join($BUILD_DIR, $CONFIGURATION, 'rake', 'objective-j-0.7.0.gem')).install
|
||||
# Gem::Installer.new(File.join($BUILD_DIR, $CONFIGURATION, 'rake', 'objective-j-0.7.1.gem')).install
|
||||
#end
|
||||
|
||||
task :objj_gem => [:gem] do
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@ $ENVIRONMENT_LIB_PRODUCT = File.join($ENVIRONMENT_LIB_DIR, 'bake')
|
||||
ObjectiveJ::BundleTask.new(:bake) do |t|
|
||||
t.name = 'bake'
|
||||
t.identifier = 'com.280n.bake'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'Deployment tool for Cappuccino applications'
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@ $ENVIRONMENT_LIB_PRODUCT = File.join($ENVIRONMENT_LIB_DIR, 'capp')
|
||||
ObjectiveJ::BundleTask.new(:capp) do |t|
|
||||
t.name = 'capp'
|
||||
t.identifier = 'com.280n.capp'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'Setup up Cappuccino projects'
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ function main()
|
||||
switch (argument)
|
||||
{
|
||||
case "version":
|
||||
case "--version": return print("capp version 0.7.0");
|
||||
case "--version": return print("capp version 0.7.1");
|
||||
|
||||
case "-h":
|
||||
case "--help": return printUsage();
|
||||
|
||||
@@ -14,7 +14,7 @@ $ENVIRONMENT_LIB_PRODUCT = File.join($ENVIRONMENT_LIB_DIR, 'nib2cib')
|
||||
ObjectiveJ::BundleTask.new(:nib2cib) do |t|
|
||||
t.name = 'nib2cib'
|
||||
t.identifier = 'com.280n.nib2cib'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'nib2cib converts Cocoa nib and xibs to Cappuccino cibs'
|
||||
|
||||
@@ -16,7 +16,7 @@ $ENVIRONMENT_BRIDGE = File.join($ENVIRONMENT_LIB_DIR, 'press', 'bridge.js')
|
||||
ObjectiveJ::BundleTask.new(:press) do |t|
|
||||
t.name = 'press'
|
||||
t.identifier = 'com.280n.press'
|
||||
t.version = '0.7.0'
|
||||
t.version = '0.7.1'
|
||||
t.author = '280 North, Inc.'
|
||||
t.email = 'feedback @nospam@ 280north.com'
|
||||
t.summary = 'Deployment tool for Cappuccino applications'
|
||||
|
||||
Reference in new issue
Block a user