Mercurial > emacs
annotate nextstep/DEV-NOTES @ 109517:d22063077a0c
* emacsclient.c (getcwd): Fix previous change.
Make getcwd conditional on HAVE_GETCWD and declare with the
correct POSIX profile (for some reason MinGW headers define
its 2nd arg as int, not size_t; but getcwd is not used on
Windows nonetheless).
author | Juanma Barranquero <lekktu@gmail.com> |
---|---|
date | Sun, 25 Jul 2010 05:36:54 +0200 |
parents | d268237e3481 |
children |
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, |
108871
d268237e3481
Remove NO_SOCK_SIGIO references.
Glenn Morris <rgm@gnu.org>
parents:
101913
diff
changeset
|
67 or errors of omission in the NS code. This is an area for improvement. |
d268237e3481
Remove NO_SOCK_SIGIO references.
Glenn Morris <rgm@gnu.org>
parents:
101913
diff
changeset
|
68 Also, see the article here and its containing thread: |
97045
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
69 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
70 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
|
71 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
72 |
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 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
75 Text Rendering and Font Handling |
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 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
|
79 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
|
80 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
|
81 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
|
82 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
|
83 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
|
84 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
85 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
|
86 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
|
87 attempts at this have failed. |
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 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
|
90 the facilities of NSTextStorage and NSLayoutManager. |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
91 |
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 Object Architecture |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
94 ------------------- |
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 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
|
97 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
|
98 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
|
99 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
|
100 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
|
101 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
|
102 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
103 EmacsApp : NSApplication |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
104 - 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
|
105 Services |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
106 - one global instance (NSApp) |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
107 - nsterm.m |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
108 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
109 EmacsView : NSView <TextInput> |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
110 - 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
|
111 - instance for each frame |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
112 - child of window's content view |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
113 - nsterm.m |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
114 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
115 EmacsWindow : NSWindow |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
116 - utility override for resize handling |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
117 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
118 EmacsScroller : NSScroller |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
119 - instance for each emacs window, renders scrollbar |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
120 - child of window's content view |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
121 - nsterm.m |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
122 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
123 EmacsImage : NSImage |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
124 - image rendering, toolbar icons, stippling, fringe bitmaps |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
125 - instance for each image |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
126 - nsimage.m |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
127 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
128 EmacsMenu : NSMenu |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
129 - menu management |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
130 - 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
|
131 - nsmenu.m |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
132 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
133 EmacsToolbar : NSToolbar |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
134 - toolbar management, one instance for each frame |
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 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
138 EmacsDialogPanel : NSPanel |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
139 - popup dialogs, one instance for each |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
140 - nsmenu.m |
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 EmacsTooltip : NSObject |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
143 - tooltip popups, 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 EmacsGlyphStorage : NSObject <NSGlyphStorage> |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
147 - utility for text rendering |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
148 - nsfont.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 EmacsPrefsController : NSObject |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
151 - utility for preferences panel management, one global instance |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
152 - nsterm.m |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
153 - nextstep/Cocoa/Emacs.base/Contents/Resources/preferences.nib |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
154 - nextstep/GNUstep/Emacs.base/Resources/preferences.gorm |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
155 |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
156 EmacsSavePanel : NSSavePanel |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
157 EmacsOpenPanel : NSOpenPanel |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
158 - utility override for panel notifications |
bfcc88f3efea
add developer notes file
Adrian Robert <Adrian.B.Robert@gmail.com>
parents:
diff
changeset
|
159 |