Name Description Size Coverage
CMakeLists.txt 4414 -
cocoa.json 28 -
images -
LICENSE.COCOA.txt 1501 -
main.mm 1020 -
qcocoa_plugin_pch.h 566 -
qcocoaaccessibility.h Qt Cocoa Accessibility Overview Cocoa accessibility is implemented in the following files: - qcocoaaccessibility (this file) : QCocoaAccessibility "plugin", conversion and helper functions. - qnsviewaccessibility : Root accessibility implementation for QNSView - qcocoaaccessibilityelement : Cocoa accessibility protocol wrapper for QAccessibleInterface The accessibility implementation wraps QAccessibleInterfaces in QCocoaAccessibleElements, which implements the cocoa accessibility protocol. The root QAccessibleInterface (the one returned by QWindow::accessibleRoot), is anchored to the QNSView in qnsviewaccessibility.mm. Cocoa explores the accessibility tree by walking the tree using the parent/child relationships or hit testing. When this happens we create QCocoaAccessibleElements on demand. 2506 -
qcocoaaccessibility.mm 19487 -
qcocoaaccessibilityelement.h 984 -
qcocoaaccessibilityelement.mm Converts between absolute character offsets and line numbers of a QAccessibleTextInterface. Works in exactly one of two modes: - Pass *line == -1 in order to get a line containing character at the given *offset - Pass *offset == -1 in order to get the offset of first character of the given *line You can optionally also pass non-NULL `start` and `end`, which will in both modes be filled with the offset of the first and last characters of the relevant line. 47283 -
qcocoaapplication.h 828 -
qcocoaapplication.mm 5229 -
qcocoaapplicationdelegate.h 1156 -
qcocoaapplicationdelegate.mm From the Cocoa documentation: "A good place to install event handlers is in the applicationWillFinishLaunching: method of the application delegate. At that point, the Application Kit has installed its default event handlers, so if you install a handler for one of the same events, it will replace the Application Kit version." 19592 -
qcocoabackingstore.h 3066 -
qcocoabackingstore.mm 26949 -
qcocoaclipboard.h 1141 -
qcocoaclipboard.mm 2145 -
qcocoacolordialoghelper.h 789 -
qcocoacolordialoghelper.mm 12316 -
qcocoacursor.h 1059 -
qcocoacursor.mm 13737 -
qcocoadrag.h to meet NSView dragImage:at guarantees, we need to record the original event and view when handling an event in QNSView 1849 -
qcocoadrag.mm 11297 -
qcocoaeventdispatcher.h 4826 -
qcocoaeventdispatcher.mm Timers stuff *************************************************************************** 41143 -
qcocoafiledialoghelper.h 1579 -
qcocoafiledialoghelper.mm 29337 -
qcocoafontdialoghelper.h 780 -
qcocoafontdialoghelper.mm 11120 -
qcocoaglcontext.h 1964 -
qcocoaglcontext.mm 23628 -
qcocoahelpers.h 6994 -
qcocoahelpers.mm ! Returns the view cast to a QNSview if possible. If the view is not a QNSView, nil is returned, which is safe to send messages to, effectivly making [qnsview_cast(view) message] a no-op. For extra verbosity and clearer code, please consider checking that the platform window is not a foreign window before using this cast, via QPlatformWindow::isForeignWindow(). Do not use this method solely to check for foreign windows, as that will make the code harder to read for people not working primarily on macOS, who do not know the difference between the NSView and QNSView cases. 17379 -
qcocoainputcontext.h 964 -
qcocoainputcontext.mm ! \class QCocoaInputContext \brief Cocoa Input context implementation Handles input of languages that support character composition, for example East Asian languages. \section1 Testing \list \o Select input sources like 'Kotoeri' in Language & Text Preferences \o Compile the \a mainwindows/mdi example and open a text window. \o In the language bar, switch to 'Hiragana'. \o In a text editor control, type the syllable \a 'la'. Underlined characters show up, indicating that there is completion available. Press the Space key two times. A completion popup occurs which shows the options. \endlist \section1 Interaction Input method support in Cocoa is based on the NSTextInputClient protocol, therefore almost all functionality is in QNSView (qnsview_complextext.mm). 5124 -
qcocoaintegration.h 4208 -
qcocoaintegration.mm 17383 -
qcocoaintrospection.h 582 -
qcocoaintrospection.mm 1972 -
qcocoamenu.h 2744 -
qcocoamenu.mm 16804 -
qcocoamenubar.h 1796 -
qcocoamenubar.mm internaCall 16213 -
qcocoamenuitem.h 2951 -
qcocoamenuitem.mm 17134 -
qcocoamenuloader.h 1147 -
qcocoamenuloader.mm 10664 -
qcocoamessagedialog.h 996 -
qcocoamessagedialog.mm Called from QDialogPrivate::setNativeDialogVisible() when the message box is ready to be shown. At this point the options() will reflect the specific dialog shown. Returns true if the helper could successfully show the dialog, or false if the cross platform fallback dialog should be used instead. 17187 -
qcocoamimetypes.h 392 -
qcocoamimetypes.mm 2744 -
qcocoanativeinterface.h 1043 -
qcocoanativeinterface.mm 2356 -
qcocoansmenu.h 1414 -
qcocoansmenu.mm 9324 -
qcocoascreen.h 4366 -
qcocoascreen.mm Update the list of available QScreens, and the properties of existing screens. At this point we rely on the NSScreen.screens to be up to date. 38987 -
qcocoaservices.h 754 -
qcocoaservices.mm Callback from macOS that the application should handle a URL 2014 -
qcocoasessionmanager.cpp 1254 -
qcocoasessionmanager.h 1100 -
qcocoasystemtrayicon.h 1820 -
qcocoasystemtrayicon.mm 11145 -
qcocoatheme.h 2296 -
qcocoatheme.mm 24723 -
qcocoavulkaninstance.h 1234 -
qcocoavulkaninstance.mm 2513 -
qcocoawindow.h 9995 -
qcocoawindow.mm 100240 -
qcocoawindowmanager.h 646 -
qcocoawindowmanager.mm 2967 -
qiosurfacegraphicsbuffer.h 1223 -
qiosurfacegraphicsbuffer.mm 5327 -
qmacclipboard.h 2604 -
qmacclipboard.mm QMacPasteboard code *************************************************************************** 17822 -
qmultitouch_mac.mm 8049 -
qmultitouch_mac_p.h 1876 -
qnsview.h 1454 -
qnsview.mm 14507 -
qnsview_accessibility.mm 3164 -
qnsview_complextext.mm Inserts the given text, potentially replacing existing text. The text input management system calls this as a result of: - A normal key press, via [NSView interpretKeyEvents:] or [NSInputContext handleEvent:] - An input method finishing (confirming) composition - Pressing a key in the Keyboard Viewer panel - Confirming an inline input area (accent popup e.g.) \a replacementRange refers to the existing text to replace. Under normal circumstances this is {NSNotFound, 0}, and the implementation should replace either the existing marked text, the current selection, or just insert the text at the current cursor location. 35325 -
qnsview_dragging.mm nativeCursor = [NSCursor operationNotAllowedCursor]; break; 11601 -
qnsview_drawing.mm This method is called by AppKit when layer-backing is requested by setting wantsLayer too YES (via -[NSView _updateLayerBackedness]), or in cases where AppKit itself decides that a view should be layer-backed. Note however that some code paths in AppKit will not go via this method for creating the backing layer, and will instead create the layer manually, and just call setLayer. An example of this is when an NSOpenGLContext is attached to a view, in which case AppKit will create a new layer in NSOpenGLContextSetLayerOnViewIfNecessary. For this reason we leave the implementation of this override as minimal as possible, only focusing on creating the appropriate layer type, and then leave it up to setLayer to do the work of making sure the layer is set up correctly. 14068 -
qnsview_gestures.mm 5752 -
qnsview_keys.mm Determines if the text represents one of the "special keys" on macOS As a legacy from OpenStep, macOS reserves the range 0xF700-0xF8FF of the Unicode private use area for representing function keys on the keyboard: http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CORPCHAR.TXT https://developer.apple.com/documentation/appkit/nsevent/specialkey These code points are not supposed to have any glyphs associated with them, but since we can't guarantee that the system doesn't have a font that does provide glyphs for this range (Arial Unicode MS e.g.) we need to filter the text of our key events up front. 14904 -
qnsview_menus.mm 6419 -
qnsview_mouse.mm The reason for using this helper is to ensure that QNSView doesn't implement the NSResponder callbacks for mouseEntered, mouseExited, and mouseMoved. If it did, we would get mouse events though the responder chain as well, for example if a subview has a tracking area of its own and calls super in the handler, which results in forwarding the event though the responder chain. The same applies if NSWindow.acceptsMouseMovedEvents is YES. By having a helper as the target for our tracking areas, we know for sure that the events we are getting stem from our own tracking areas. FIXME: Ideally we wouldn't need this workaround, and would correctly interact with the responder chain by e.g. calling super if Qt does not accept the mouse event 29891 -
qnsview_tablet.mm ! \internal Find the existing QPointingDevice instance representing a particular tablet or stylus; or create and register a new instance if it was not found. An instance can be uniquely identified by various properties taken from \a theEvent. 8086 -
qnsview_touch.mm 3685 -
qnswindow.h 1548 -
qnswindow.mm 16078 -
qnswindowdelegate.h 493 -
qnswindowdelegate.mm ! Overridden to ensure that the zoomed state always results in a maximized window, which would otherwise not be the case for borderless windows. We also keep the window on the same screen as before; something AppKit sometimes fails to do using its built in logic. 3896 -
qt_attribution.json 720 -