annotate nextstep/DEV-NOTES @ 101198:0de30bea2375

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Thu, 15 Jan 2009 07:13:39 +0000
parents bfcc88f3efea
children 3d0115eb5d66
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
97045
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
1 This file summarizes primary aspects of the NS port architecture. If
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
2 possible, it should be updated for changes.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
3
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
4 Currently it summarizes the state as of:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
5
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
6 summer 2008 shortly after merging to trunk
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
7
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
8
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
9
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
10 Startup
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
11 -------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
12
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
13 Init sequence:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
14 emacs.c: ns_alloc_autorelease_pool() nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
15 emacs.c: ns_init_paths() nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
16 - override EMACSLOADPATH, etc. so resources can be found in-bundle
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
17 emacs.c: init_display() dispnew.c
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
18 - sets Vwindow_system (window-system) to 'ns
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
19 emacs.c: loadup.el -> startup.el -> ns-initialize-window-system
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
20 -> x-open-connection (nsfns.m)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
21 - ns-list-services
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
22 -> nsterm.m: ns_term_init()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
23 - EmacsApp sharedApplication
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
24 - read NS defaults (org.gnu.Emacs.plist)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
25 - init X-style color list
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
26 - ns_create_terminal()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
27 - NSApp run (goes to applicationDidFinishLaunching which terminates
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
28 event loop -- see below)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
29
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
30
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
31
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
32 Event Loop
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
33 ----------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
34
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
35 In an NS application, the event loop is normally managed by system and all
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
36 user code is event-driven. [NSApp run] is called by user and never returns.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
37
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
38 In Emacs, the event loop is managed by emacs itself.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
39
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
40 The NS port mediates between these two styles by intercepting the NS event
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
41 dispatch at [NSApp sendEvent]. If a special event is detected, the event loop
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
42 is broken, and control returned to Emacs. This special event is sent by
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
43 ns_send_appdefined, which is called under these circumstances:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
44
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
45 - if a user input event is received
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
46 - when a timeout fires
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
47
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
48 NS event processing is instigated from Emacs through ns_select() and
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
49 ns_read_socket() in nsterm.m. Parts of the codepaths leading to these
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
50 functions are:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
51
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
52
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
53 keyboard.c:read_avail_input()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
54 -> ns_read_socket (ns_send_appdefined) -> [NSApp run]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
55
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
56 process.c:wait_reading_process_output()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
57 -> ns_select -> gobble_input (global inNsSelect=1)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
58 -> ns_read_socket (ns_send_appdefined if !expected) -> [NSApp run]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
59
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
60 sysdep.c:sys_select() -> read_input_waiting()
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
61 -> ns_read_socket (send_appdefined) -> [NSApp run]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
62 [this codepath may not be used]
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
63
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
64
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
65 Currently ctrl-g is not detected in as many circumstances as other emacsen.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
66 It is not certain whether this is due to the means of event loop integration,
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
67 or errors of omission in the NS code. One area for exploration is the
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
68 NO_SOCK_SIGIO define. When it is defined, ctrl-g seems to be picked up more
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
69 often, but there are some annoying side effects. Currently it is left off by
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
70 default, unless the --enable-cocoa-experimental-ctrl-g option is passed to
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
71 configure. (Has no effect under GNUstep.) This is an area for improvement.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
72 Also, see the article here and its containing thread:
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
73
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
74 http://article.gmane.org/gmane.emacs.devel/92021/match=handling%5fsignal
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
75
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
76
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
77
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
78
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
79 Text Rendering and Font Handling
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
80 --------------------------------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
81
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
82 nsfont.m implements the font driver, responsible for managing fonts and
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
83 rendering text. Fonts are obtained through NSFontManager. Rendering must be
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
84 done at a low level due to emacs' fine control over this process, therefore
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
85 there are different approachs under Cocoa and GNUstep. Under GNUstep, the
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
86 original NeXT Display PostScript (DPS) APIs are available and used. Under
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
87 Cocoa, these were removed and Quartz drawing functions replaced them.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
88
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
89 In both cases, font glyphs are accessed through UTF8 character
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
90 representations. It would be preferable to use unicode indices, but prior
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
91 attempts at this have failed.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
92
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
93 Multi-script fontsets are auto-created in nsfont_make_fontset_for_font() using
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
94 the facilities of NSTextStorage and NSLayoutManager.
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
95
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
96
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
97 Object Architecture
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
98 -------------------
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
99
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
100 Unlike the other GUIs, the NS interface is based on a high-level and
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
101 object-oriented API. This creates some tension in the code because emacs
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
102 itself has been architected around the low-level Xlib and Xt APIs. The NS
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
103 port tries to strike a balance between simplifying code on its side using OO
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
104 features, and keeping code as similar as possible to other ports to ease
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
105 maintenance. The following are the main classes (see nsterm.h):
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
106
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
107 EmacsApp : NSApplication
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
108 - event loop integration, interapp comms point for Finder (NSWorkspace) msgs,
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
109 Services
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
110 - one global instance (NSApp)
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
111 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
112
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
113 EmacsView : NSView <TextInput>
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
114 - handles rendering of text and fringe, interapp comms for drag/drop
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
115 - instance for each frame
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
116 - child of window's content view
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
117 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
118
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
119 EmacsWindow : NSWindow
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
120 - utility override for resize handling
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
121
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
122 EmacsScroller : NSScroller
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
123 - instance for each emacs window, renders scrollbar
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
124 - child of window's content view
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
125 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
126
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
127 EmacsImage : NSImage
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
128 - image rendering, toolbar icons, stippling, fringe bitmaps
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
129 - instance for each image
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
130 - nsimage.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
131
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
132 EmacsMenu : NSMenu
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
133 - menu management
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
134 - one tree of instances for menubar, one instance for each popup menu
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
135 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
136
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
137 EmacsToolbar : NSToolbar
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
138 - toolbar management, one instance for each frame
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
139 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
140
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
141
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
142 EmacsDialogPanel : NSPanel
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
143 - popup dialogs, one instance for each
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
144 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
145
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
146 EmacsTooltip : NSObject
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
147 - tooltip popups, one instance for each
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
148 - nsmenu.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
149
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
150 EmacsGlyphStorage : NSObject <NSGlyphStorage>
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
151 - utility for text rendering
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
152 - nsfont.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
153
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
154 EmacsPrefsController : NSObject
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
155 - utility for preferences panel management, one global instance
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
156 - nsterm.m
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
157 - nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
158 - nextstep/GNUstep/Emacs.base/Resources/preferences.gorm
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
159
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
160 EmacsSavePanel : NSSavePanel
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
161 EmacsOpenPanel : NSOpenPanel
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
162 - utility override for panel notifications
bfcc88f3efea add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff changeset
163