3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
6 * \author Angus Leeming
8 * Full author contact details are available in file CREDITS.
10 * A freebrowser is a browser widget in its own form.
11 * It is used for example to instantiate the drop-down list beneath a
15 #ifndef FL_FREEBROWSER_H
16 #define FL_FREEBROWSER_H
18 #include "lyx_forms.h"
20 #if defined(__cplusplus)
28 } FL_FREEBROWSER_POSITION;
30 typedef struct fl_freebrowser_ {
31 /** Use this and you'll be told when something happens.
32 * \param == 0: the browser has merely been hidden.
33 * == 1: a change has been made.
35 void (* callback) (struct fl_freebrowser_ *, int action);
37 /** Set this to 1 if you want to capture all KeyPress events
38 * generating printable chars.
41 /** Is set only if want_printable is true. */
44 /** The "owner" of the freebrowser. Not used by the struct. */
46 /** The browser itself. */
49 /** Details of the implementation. */
55 /** A function to create a freebrowser widget, "owned" by \c parent. */
56 FL_EXPORT FL_FREEBROWSER *
57 fl_create_freebrowser(void * parent);
59 /** Free all memory allocated to \param ptr and to its components. */
61 fl_free_freebrowser(FL_FREEBROWSER * ptr);
63 /** \c abs_x, \c abs_y are the coordinates of the top left corner
64 * of the browser relative to the top left hand corner of the _screen_.
65 * \c w, \c h are the browser dimensions.
68 fl_show_freebrowser(FL_FREEBROWSER *,
69 FL_Coord abs_x, FL_Coord abs_y, FL_Coord w, FL_Coord h);
72 fl_hide_freebrowser(FL_FREEBROWSER *);
74 #if defined(__cplusplus)
78 #endif /* not FL_FREEBROWSER_H */