mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 21:17:03 +00:00
- Test application. CPControl --------- - Moved _formatter declaration up next to value, it was in the Target-Action Support section before. - sendAction:to: should return a BOOL. - Support for CPFormatter -editingStringForObjectValue. - If a nil string is passed to -setStringValue in Cocoa, it raises an invalid parameter assertion and does nothing. - Per Cocoa, if setting a string value fails, it tries again with an empty string. - Removed a few extra blank lines. - Changed NULL to nil. CPTextField ----------- - The string value is now cached in _stringValue to avoid constant calls to the formatter. - There were several places where references to _inputElement were not wrapped with #if PLATFORM(DOM). - When resigning first responder, if there is a formatter and formatting fails, reject the resignation and keep focus. Also, if the delegate responds to control:didFailToFormatString:errorDescription:, invoke it. - _willBecomeFirstResponderByClick was not being set to NO when resigning. As a result, if you clicked in a field, tabbed to another field, and tabbed back to the original field, it would not select the text because it thought there was a mouse click. - Don't send _sendStringValue: in keyUp: if the value has not changed. Previously it would do that for non-printing keys like navigation keys. - insertNewLine: validates the string the same way resigning does. - insertNewLine: would not send textDidEndEditing: if the field had no action, but it should. - insertNewLine: should select all text (per Cocoa). - insertNewLineIgnoringFieldEditor: and insertTabIgnoringFieldEditor: were not replacing the selection, Cocoa docs say they should. - Per Cocoa, when setting an object value and there is a formatter, the value is first formatted as a string. If that fails, an object value for an empty string is attempted. CPFormatter ----------- - Fixed up the docs to match the method signatures. - Indicated with "Ref" in argument types if the argument is pass by reference. - isPartialStringValid:newEditingString:errorDescription: has a default implementation in Cocoa that nils the return values and returns YES. - Fixed the name of isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription: - isPartialStringValid:proposedSelectedRange:originalString:originalSelectedRange:errorDescription: has a default implementation in Cocoa that invokes isPartialStringValid:newEditingString:errorDescription:
95 lines
2.9 KiB
JavaScript
95 lines
2.9 KiB
JavaScript
/*
|
|
* Jakefile
|
|
* CPFormatterTest
|
|
*
|
|
* Created by aparajita on June 30, 2011.
|
|
* Copyright 2011, Victory-Heart Productions All rights reserved.
|
|
*/
|
|
|
|
var ENV = require("system").env,
|
|
FILE = require("file"),
|
|
JAKE = require("jake"),
|
|
task = JAKE.task,
|
|
FileList = JAKE.FileList,
|
|
app = require("cappuccino/jake").app,
|
|
configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug",
|
|
OS = require("os");
|
|
|
|
app ("CPFormatterTest", function(task)
|
|
{
|
|
task.setBuildIntermediatesPath(FILE.join("Build", "CPFormatterTest.build", configuration));
|
|
task.setBuildPath(FILE.join("Build", configuration));
|
|
|
|
task.setProductName("CPFormatterTest");
|
|
task.setIdentifier("com.aparajita.CPFormatterTest");
|
|
task.setVersion("1.0");
|
|
task.setAuthor("Victory-Heart Productions");
|
|
task.setEmail("feedback @nospam@ yourcompany.com");
|
|
task.setSummary("CPFormatterTest");
|
|
task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**")));
|
|
task.setResources(new FileList("Resources/**"));
|
|
task.setIndexFilePath("index.html");
|
|
task.setInfoPlistPath("Info.plist");
|
|
task.setNib2CibFlags("-R Resources/");
|
|
|
|
if (configuration === "Debug")
|
|
task.setCompilerFlags("-DDEBUG -g");
|
|
else
|
|
task.setCompilerFlags("-O");
|
|
});
|
|
|
|
task ("default", ["CPFormatterTest"], function()
|
|
{
|
|
printResults(configuration);
|
|
});
|
|
|
|
task ("build", ["default"]);
|
|
|
|
task ("debug", function()
|
|
{
|
|
ENV["CONFIGURATION"] = "Debug";
|
|
JAKE.subjake(["."], "build", ENV);
|
|
});
|
|
|
|
task ("release", function()
|
|
{
|
|
ENV["CONFIGURATION"] = "Release";
|
|
JAKE.subjake(["."], "build", ENV);
|
|
});
|
|
|
|
task ("run", ["debug"], function()
|
|
{
|
|
OS.system(["open", FILE.join("Build", "Debug", "CPFormatterTest", "index.html")]);
|
|
});
|
|
|
|
task ("run-release", ["release"], function()
|
|
{
|
|
OS.system(["open", FILE.join("Build", "Release", "CPFormatterTest", "index.html")]);
|
|
});
|
|
|
|
task ("deploy", ["release"], function()
|
|
{
|
|
FILE.mkdirs(FILE.join("Build", "Deployment", "CPFormatterTest"));
|
|
OS.system(["press", "-f", FILE.join("Build", "Release", "CPFormatterTest"), FILE.join("Build", "Deployment", "CPFormatterTest")]);
|
|
printResults("Deployment")
|
|
});
|
|
|
|
task ("desktop", ["release"], function()
|
|
{
|
|
FILE.mkdirs(FILE.join("Build", "Desktop", "CPFormatterTest"));
|
|
require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPFormatterTest"), FILE.join("Build", "Desktop", "CPFormatterTest", "CPFormatterTest.app"));
|
|
printResults("Desktop")
|
|
});
|
|
|
|
task ("run-desktop", ["desktop"], function()
|
|
{
|
|
OS.system([FILE.join("Build", "Desktop", "CPFormatterTest", "CPFormatterTest.app", "Contents", "MacOS", "NativeHost"), "-i"]);
|
|
});
|
|
|
|
function printResults(configuration)
|
|
{
|
|
print("----------------------------");
|
|
print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPFormatterTest"));
|
|
print("----------------------------");
|
|
}
|