Mercurial > emacs
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 |
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 |