1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
|
/*
* This file is part of the XForms library package.
*
* XForms is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1, or
* (at your option) any later version.
*
* XForms is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with XForms. If not, see <http://www.gnu.org/licenses/>.
*/
/********************** crop here for forms.h **********************/
/*
* \file browser.h
*
* Object class Browser
*/
#ifndef FL_BROWSER_H
#define FL_BROWSER_H
/***** Types *****/
typedef enum {
FL_NORMAL_BROWSER,
FL_SELECT_BROWSER,
FL_HOLD_BROWSER,
FL_MULTI_BROWSER
} FL_BROWSER_TYPE;
/***** Defaults *****/
#define FL_BROWSER_BOXTYPE FL_DOWN_BOX
#define FL_BROWSER_COL1 FL_COL1
#define FL_BROWSER_COL2 FL_YELLOW
#define FL_BROWSER_LCOL FL_LCOL
#define FL_BROWSER_ALIGN FL_ALIGN_BOTTOM
/***** Others *****/
#define FL_BROWSER_SLCOL FL_COL1
#define FL_BROWSER_FONTSIZE FL_SMALL_SIZE
/* This exists only for backward compatibility and isn't used anymore! */
#define FL_BROWSER_LINELENGTH 2048
/***** Routines *****/
FL_EXPORT FL_OBJECT * fl_create_browser( int type,
FL_Coord x,
FL_Coord y,
FL_Coord w,
FL_Coord h,
const char * label );
FL_EXPORT FL_OBJECT * fl_add_browser( int type,
FL_Coord x,
FL_Coord y,
FL_Coord w,
FL_Coord h,
const char * label );
FL_EXPORT void fl_clear_browser( FL_OBJECT * ob );
FL_EXPORT void fl_add_browser_line( FL_OBJECT * ob,
const char * newtext );
FL_EXPORT void fl_addto_browser( FL_OBJECT * ob,
const char * newtext );
FL_EXPORT void fl_addto_browser_chars( FL_OBJECT * ob,
const char * str );
#define fl_append_browser fl_addto_browser_chars
FL_EXPORT void fl_insert_browser_line( FL_OBJECT * ob,
int linenumb,
const char * newtext );
FL_EXPORT void fl_delete_browser_line( FL_OBJECT * ob,
int linenumb );
FL_EXPORT void fl_replace_browser_line( FL_OBJECT * ob,
int linenumb,
const char * newtext );
FL_EXPORT const char *fl_get_browser_line( FL_OBJECT * ob,
int linenumb );
FL_EXPORT int fl_load_browser( FL_OBJECT * ob,
const char * filename );
FL_EXPORT void fl_select_browser_line( FL_OBJECT * ob,
int line );
FL_EXPORT void fl_deselect_browser_line( FL_OBJECT * ob,
int line );
FL_EXPORT void fl_deselect_browser( FL_OBJECT * ob );
FL_EXPORT int fl_isselected_browser_line( FL_OBJECT * ob,
int line );
FL_EXPORT int fl_get_browser_topline( FL_OBJECT * ob );
FL_EXPORT int fl_get_browser( FL_OBJECT * ob );
FL_EXPORT int fl_get_browser_maxline( FL_OBJECT * ob );
FL_EXPORT int fl_get_browser_screenlines( FL_OBJECT * ob );
FL_EXPORT void fl_set_browser_topline( FL_OBJECT * ob,
int line );
FL_EXPORT void fl_set_browser_bottomline( FL_OBJECT * ob,
int line );
FL_EXPORT void fl_set_browser_fontsize( FL_OBJECT * ob,
int size );
FL_EXPORT void fl_set_browser_fontstyle( FL_OBJECT * ob,
int style );
FL_EXPORT void fl_set_browser_specialkey( FL_OBJECT * ob,
int specialkey );
FL_EXPORT void fl_set_browser_vscrollbar( FL_OBJECT * ob,
int on );
FL_EXPORT void fl_set_browser_hscrollbar( FL_OBJECT * ob,
int on );
FL_EXPORT void fl_set_browser_line_selectable( FL_OBJECT * ob,
int line,
int flag );
FL_EXPORT void fl_get_browser_dimension( FL_OBJECT * ob,
FL_Coord * x,
FL_Coord * y,
FL_Coord * w,
FL_Coord * h );
FL_EXPORT void fl_set_browser_dblclick_callback( FL_OBJECT * ob,
FL_CALLBACKPTR cb,
long a );
FL_EXPORT FL_Coord fl_get_browser_xoffset( FL_OBJECT * ob );
FL_EXPORT double fl_get_browser_rel_xoffset( FL_OBJECT * ob );
FL_EXPORT void fl_set_browser_xoffset( FL_OBJECT * ob,
FL_Coord npixels );
FL_EXPORT void fl_set_browser_rel_xoffset( FL_OBJECT * ob,
double val );
FL_EXPORT FL_Coord fl_get_browser_yoffset( FL_OBJECT * ob );
FL_EXPORT double fl_get_browser_rel_yoffset( FL_OBJECT * ob );
FL_EXPORT void fl_set_browser_yoffset( FL_OBJECT * ob,
FL_Coord npixels );
FL_EXPORT void fl_set_browser_rel_yoffset( FL_OBJECT * ob,
double val );
FL_EXPORT void fl_set_browser_scrollbarsize( FL_OBJECT * ob,
int hh,
int vw );
FL_EXPORT void fl_show_browser_line( FL_OBJECT * ob,
int j );
FL_EXPORT int fl_set_default_browser_maxlinelength( int n );
#ifndef FL_BROWSER_SCROLL_CALLBACKt
#define FL_BROWSER_SCROLL_CALLBACKt
typedef void ( * FL_BROWSER_SCROLL_CALLBACK )( FL_OBJECT *ob,
int,
void * );
#endif
FL_EXPORT void
fl_set_browser_hscroll_callback( FL_OBJECT * ob,
FL_BROWSER_SCROLL_CALLBACK cb,
void * data );
FL_EXPORT void
fl_set_browser_vscroll_callback( FL_OBJECT * ob,
FL_BROWSER_SCROLL_CALLBACK cb,
void * data );
FL_EXPORT int fl_get_browser_line_yoffset( FL_OBJECT * obj,
int line );
FL_EXPORT FL_BROWSER_SCROLL_CALLBACK
fl_get_browser_hscroll_callback( FL_OBJECT * ob );
FL_EXPORT FL_BROWSER_SCROLL_CALLBACK
fl_get_browser_vscroll_callback( FL_OBJECT * ob );
#endif /* ! defined FL_BROWSER_H */
|