view src/gui_beval.h @ 2894:fe9c7da98b5e v7.3.220

updated for version 7.3.220 Problem: Python 3: vim.error is a 'str' instead of an 'Exception' object, so 'except' or 'raise' it causes a 'SystemError' exception. Buffer objects do not support slice assignment. When exchanging text between Vim and Python, multibyte texts become gabage or cause Unicode Expceptions, etc. 'py3file' tries to read in the file as Unicode, sometimes causes UnicodeDecodeException Solution: Fix the problems. (lilydjwg)
author Bram Moolenaar <bram@vim.org>
date Sun, 19 Jun 2011 00:27:51 +0200
parents 3fc0f57ecb91
children 1a5d34492798
line wrap: on
line source

/* vi:set ts=8 sts=4 sw=4:
 *
 * VIM - Vi IMproved	by Bram Moolenaar
 *			Visual Workshop integration by Gordon Prieur
 *
 * Do ":help uganda"  in Vim to read copying and usage conditions.
 * Do ":help credits" in Vim to see a list of people who contributed.
 */

#if !defined(GUI_BEVAL_H) && (defined(FEAT_BEVAL) || defined(PROTO))
#define GUI_BEVAL_H

#ifdef FEAT_GUI_GTK
# include <gtk/gtkwidget.h>
#else
# if defined(FEAT_GUI_X11)
#  include <X11/Intrinsic.h>
# endif
#endif

typedef enum
{
    ShS_NEUTRAL,			/* nothing showing or pending */
    ShS_PENDING,			/* data requested from debugger */
    ShS_UPDATE_PENDING,			/* switching information displayed */
    ShS_SHOWING				/* the balloon is being displayed */
} BeState;

typedef struct BalloonEvalStruct
{
#ifdef FEAT_GUI_GTK
    GtkWidget		*target;	/* widget we are monitoring */
    GtkWidget		*balloonShell;
    GtkWidget		*balloonLabel;
    unsigned int	timerID;	/* timer for run */
    BeState		showState;	/* tells us whats currently going on */
    int			x;
    int			y;
    unsigned int	state;		/* Button/Modifier key state */
#else
# if !defined(FEAT_GUI_W32)
    Widget		target;		/* widget we are monitoring */
    Widget		balloonShell;
    Widget		balloonLabel;
    XtIntervalId	timerID;	/* timer for run */
    BeState		showState;	/* tells us whats currently going on */
    XtAppContext	appContext;	/* used in event handler */
    Position		x;
    Position		y;
    Position		x_root;
    Position		y_root;
    int			state;		/* Button/Modifier key state */
# else
    HWND		target;
    HWND		balloon;
    int			x;
    int			y;
    BeState		showState;	/* tells us whats currently going on */
# endif
#endif
    int			ts;		/* tabstop setting for this buffer */
    char_u		*msg;
    void		(*msgCB)__ARGS((struct BalloonEvalStruct *, int));
    void		*clientData;	/* For callback */
#if !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
    Dimension		screen_width;	/* screen width in pixels */
    Dimension		screen_height;	/* screen height in pixels */
#endif
} BalloonEval;

#define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */
#define EVAL_OFFSET_Y 10

#include "gui_beval.pro"

#endif /* GUI_BEVAL_H and FEAT_BEVAL */