view tests/Dnd/README @ 5045:c3cc3fa503a2

more frame-sizing cleanups -------------------- ChangeLog entries follow: -------------------- man/ChangeLog addition: 2010-02-16 Ben Wing <ben@xemacs.org> * internals/internals.texi (Top): * internals/internals.texi (Modules for the Basic Displayable Lisp Objects): * internals/internals.texi (Creating a Window-System Type): * internals/internals.texi (Window and Frame Geometry): * internals/internals.texi (Intro to Window and Frame Geometry): * internals/internals.texi (The Frame): * internals/internals.texi (The Non-Client Area): * internals/internals.texi (The Client Area): * internals/internals.texi (The Paned Area): * internals/internals.texi (Text Areas): * internals/internals.texi (The Displayable Area): * internals/internals.texi (Which Functions Use Which?): * internals/internals.texi (The Redisplay Mechanism): Integrate the long comment in frame.c into the internals manual. src/ChangeLog addition: 2010-02-16 Ben Wing <ben@xemacs.org> * frame-impl.h: * frame-impl.h (FRAME_INTERNAL_BORDER_WIDTH): * frame-impl.h (FRAME_REAL_TOOLBAR_BOUNDS): * frame-impl.h (FRAME_REAL_TOP_TOOLBAR_BOUNDS): * frame-impl.h (FRAME_BOTTOM_BORDER_START): * frame-impl.h (FRAME_LEFT_BORDER_START): * frame-impl.h (FRAME_RIGHT_BORDER_START): * frame.c (frame_conversion_internal_1): * frame.c (change_frame_size_1): * redisplay-output.c (clear_left_border): * redisplay-output.c (clear_right_border): * redisplay-output.c (redisplay_clear_top_of_window): * redisplay-output.c (redisplay_clear_to_window_end): * redisplay-output.c (redisplay_clear_bottom_of_window): Rename FRAME_BORDER_* to FRAME_INTERNAL_BORDER_*. Add general FRAME_INTERNAL_BORDER_SIZE(). Add FRAME_REAL_TOOLBAR_BOUNDS() to encompass the entire size of the toolbar including its border. Add specific top/left/bottom/right versions of this macro. Rewrite FRAME_*_BORDER_START and FRAME_*_BORDER_END to take into use FRAME_REAL_*_TOOLBAR_BOUNDS(). Add some comments about existing problems in frame sizing and how they might be fixed. Simplify change_frame_size_1() using the macros just created.
author Ben Wing <ben@xemacs.org>
date Tue, 16 Feb 2010 01:21:32 -0600
parents bc4f2511bbea
children
line wrap: on
line source

 * Sun May 3 1998 Oliver Graf <ograf@fga.de>

This path contains test code for the new XEmacs
Drag'n'Drop code.

To test the code do the following:
1) call 'bash droptest.sh' to create the test files in /tmp
2) load and eval droptest.el in XEmacs
3) Try to do some internal DnD by using the sources and targets
   in the new buffer
4) Do some external DnD:
   4a) CDE: use dtfile and dtpad
   4b) MSWindows: well, explorer should do. But only file data
                  should work, and I don't know if the test
                  already handles this.

The misc-user-event now also responds as a button-x-event
to the event-* query functions.

The function of a drag is called dragdrop-drop-dispatch
as you can see in droptest.el. From within the function
you can access the actual misc-user-event through the
current-mouse-event variable.

Short description of the object part of a drop misc-user-event:
( TYPE . DATA )
TYPE is either the symbol dragdrop_MIME
     or the symbol dragdrop_URL

DATA is a list of URL strings if TYPE is dragdrop_URL
     if TYPE is dragdrop_MIME DATA is either a string
     which contains the MIME data, or it is a list of
     ( CONTENT-TYPE CONTENT-ENCODING MIME-DATA )
     CONTENT-TYPE is encoded for tm-view (list, first element type,
	rest key.value conses)
     CONTENT-ENCODING is a string
     MIME-DATA is a string

     CONTENT-TYPE and -ENCODING can be directly supplied to mime/viewer-mode.