![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/share/GNUstep/Documentation/Gorm/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Implementation (Guide to the Gorm application)</title> <meta name="description" content="Implementation (Guide to the Gorm application)"> <meta name="keywords" content="Implementation (Guide to the Gorm application)"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> <link href="index.html" rel="start" title="Top"> <link href="Concept-Index.html" rel="index" title="Concept Index"> <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="index.html" rel="up" title="Top"> <link href="Preferences.html" rel="next" title="Preferences"> <link href="Usage.html" rel="prev" title="Usage"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} div.lisp {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <span id="Implementation"></span><div class="header"> <p> Next: <a href="Concept-Index.html" accesskey="n" rel="next">Concept Index</a>, Previous: <a href="Usage.html" accesskey="p" rel="prev">Usage</a>, Up: <a href="index.html" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html" title="Index" rel="index">Index</a>]</p> </div> <hr> <span id="Implementation-1"></span><h2 class="chapter">5 Implementation</h2> <table class="menu" border="0" cellspacing="0"> <tr><td align="left" valign="top">• <a href="Preferences.html" accesskey="1">Preferences</a></td><td> </td><td align="left" valign="top"> </td></tr> </table> <span id="Notes-on-implementation"></span><h3 class="section">5.1 Notes on implementation</h3> <p>The IB documentation on how object selection is managed and how editors and inspectors are used is unclear ... so I’ve gone my own way. </p> <p>1. When a document is loaded, the document object creates an editor attached to each top-level object in the user interface (NSMenu and NSWindow objects). </p> <p>These editors must be aware of their edited objects being clicked upon, and clicking on one of these should cause the corresponding editor to become the active editor. </p> <p>The active editor is responsible for handling selection of the edited object (and any objects below it in the object hierarchy). Upon change of selection, the editor is responsible for sending an IBSelectionChangedNotification with the selection owner (normally the editor itsself) as the notification owner. </p> <p>The main application watches for these notifications in order to keep track of who has the selection. </p> <span id="Connections"></span><h3 class="section">5.2 Connections</h3> <p>The connection API is the same as that for IB, but with the extension that the document object must implement [-windowAndRect:forObject:] to return the window in which the object is being displayed, and the rectangle enclosing the object (in window base coordinates). </p> <p>This information is needed by Gorm so that it can mark the connection. </p> <p>The editors mananging the drag-and-drop operation for a connection must call ‘<samp>[NSApp -displayConnectionBetween:and:]</samp>’ to tell Gorm to update its display. This method sets the values currently returned by ‘<samp>[NSApp -connectSource]</samp>’ and ‘<samp>[NSApp -connectDestination]</samp>’. </p> </body> </html>