XcodeCapp 4.0 is a major release of our beloved tool. In a nutshell it: - allows to manage multiple projects simultaneously - allows to follow operations and cancel them - has a per project Error and Warning reporting - supports capp_env as you can define additional paths and objj include path per project - much more things
…ntains an editable text field Previously, CPTableView was listening to all end editing notifications in cell-based mode. This caused a crash if the textfield is an actually subview of a dataview. This patch ensures to listen only editing did end notification for direct subview of tableView.
This patch adds support for the new way of defining the default font from Xcode 7 beta. The patch also supports the old explicit 'Lucida Grande' of previous version.
…or dragging Previously, the selection of a textField did not work as expected when the user did a right click or a drag even if the label was set to none selectable. Now, with the css style user-select, a textField can only be selected if it is selectable and enable. Credit to @primalmotion
…d setUp. See previous commit #6fe9dae3d62af995f2481bfebdd706aeb0b21365
Previously, every AppKit tests used the same sharedApplication. Due to this implementation, a could not pass because a previous test made failed the current test. For instance, a test could fail because the window of the previous test resigned (just imagine a new window is the key window in the current test), and this resign could raise an error. The error was displayed for the current test thought this test was perfect ! We now instead of using sharedApplication create a new CPApplication per unit-test file in the class method setUp.
Previously, the unittests for the CPDatePicker broke the tests suite of cappuccino. A CPDatePicker uses a CALayer, and the CALayer display methods wasn't wrap in a #if PLATFOrM(DOM). Now it does, so during the tests we do not try to access do the element document anymore. This PR fixes also some warnings when compiling.
…nShouldTerminateMessage This PR adds the delegate methods applicationShouldTerminate and applicationShouldTerminateMessage in CPApplicationDelegateProtocol. The delegate applicationShouldTerminate does not exactly work as in Cocoa. In Cocoa, this method is called in CPApp -terminate, but in cappuccino it is called in the method onbeforeunload of the window. In JS, this is the only time where we can prevent to reload the HTML page. If the developer cancel to reload the page, the browser will ask the user if he wants to reload or not the page thought (natural behavior of js). The method applicationShouldTerminateMessage allows you to define what will be the text displayed in the confirmation alert. Test app in Tests/Manual/CPPlatformWindow/
Added the method closeAllPlatformWindows in CPPlatform. This platform close all platform windows of the application (except the main one). This method is now used when reloading or leaving a cappuccino application, the application will now close every external window openend by the application.
…the method called by interpreteKeyEvents instead of handling the key equivalent in performKeyEquivalent
This PR adds the features CPUserNotification and CPUserNotificationCenter in Foundation. The CPUserNotificationCenter allows you to send user notification to the system. Right now, we only propose what the W3C proposes. We can set for a notification the title, informativeText and the icon. We only support local notification yet. The protocol CPUserNotificationCenterDelegate has been added as well. Test app in Tests/Manual/CPUserNotificationTest
…command objj and objj2objcskeleton
…ated by objj2objcskeleton
…class Previously, when making objj2objcskeleton on a category of a cappuccino class, the cocoa category was not a cocoa class but still a cappuccino class. For instance, a CPView category was still a CPView category instead of being a NSView category. Fixed #2344