/* * Copyright 1993 GROUPE BULL * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, provided * that the above copyright notice appear in all copies and that both that * copyright notice and this permission notice appear in supporting * documentation, and that the name of GROUPE BULL not be used in advertising * or publicity pertaining to distribution of the software without specific, * written prior permission. GROUPE BULL makes no representations about the * suitability of this software for any purpose. It is provided "as is" * without express or implied warranty. * * GROUPE BULL disclaims all warranties with regard to this software, * including all implied warranties of merchantability and fitness, * in no event shall GROUPE BULL be liable for any special, * indirect or consequential damages or any damages * whatsoever resulting from loss of use, data or profits, * whether in an action of contract, negligence or other tortious * action, arising out of or in connection with the use * or performance of this software. * */ ABOUT INSETS: ------------ An inset object is a formatted data, displayed in an application window by another application (as it is done under MS-Windows using the OLE-2 protocol). Typically, when you want to include a spreadsheet in a text edited with a word processor , you can do this by two ways: - copying the image from the spreadsheet editor into the text editor, this is done by including the bitmap representation of the spreadsheet. I you modify the spreadsheet in the spreadsheet editor, you must do again the copy. - creating an inset and asking to a spreadsheet editor to display the data. The inset method requires a multitasking, (to run at the same time the text editor and the spreadsheet editor) and a communication mechanism between these two applications. This way allow to edit and modify the insetted data "in place" (e.g. through the text editor, under control of the spreadsheet editor). DESCRIPTION: ----------- This library is intended to provide some "inset" facilities based on the X toolkit. It is only a prototype which will be extended in the future in order to handle a more powerfull inset protocol. Right now, this is a very very small step towards a global inset protocol, but I'd like to find people interrested in this subject to discuss on it in the news or by mail, that's why I make this announce. The INSET mechanism is divided as two parts: - An INSET CLIENT is an application that wants to display datas of an external format, so it creates an INSET AREA and asks for a server able to display its king of data. - An INSET SERVER is another application which waits for inset clients. When a new client is created, the inset server uses the INSET AREA of the client to display the data. The communication layer, which is very basic, allows synchronous calls between two applications and uses only properties so that we can communicate between different architectures (I tried between Ultrix and Sun). This layer should be rewritten using a more powerfull communication system... The protocol is handled by two widgets (Inset and InsetShell). These widgets support the Intrinsic geometry managment protocol from the client to the server (but not yet from the server to the client). HOW TO USE IT?: ------------- (see the servers/xpm.c and clients/aw.c files) - client side: Create an Inset widget just as you would do for a button or a label, giving some resources about the "insetted" data. - server side: When a client is created, a user callback is called, so that you can create any widget hierarchy starting from an InsetShell (intead of you standard ApplicationShell). The whole communication is supported by the two widgets, so that you can write your server application exactly like a standard Xt application. LOCATION: -------- ftp.x.org:/contrib/insetlib-0.2.tar.gz avahi.inria.fr:/pub/insetlib-0.2.tar.gz For any comments, ideas, suggestions, please use email, Jean Michel LEON - BULL Research France -- Koala Project Email : leon@sophia.inria.fr ---------------------------------- | Office | ----------------------------------------- | Mail | Inria Sophia Antipolis | | | BP 93 | | | 06902 SOPHIA ANTIPOLIS Cedex | | | FRANCE | ----------------------------------------- |Phone | 93.65.77.71 | -----------------------------------------