Mercurial > hg > xemacs-beta
comparison src/glyphs-widget.c @ 388:aabb7f5b1c81 r21-2-9
Import from CVS: tag r21-2-9
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:09:42 +0200 |
parents | bbff43aa5eb7 |
children | 74fd4e045ea6 |
comparison
equal
deleted
inserted
replaced
387:f892a9d0bb8d | 388:aabb7f5b1c81 |
---|---|
17 along with XEmacs; see the file COPYING. If not, write to | 17 along with XEmacs; see the file COPYING. If not, write to |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | 18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 Boston, MA 02111-1307, USA. */ | 19 Boston, MA 02111-1307, USA. */ |
20 | 20 |
21 /* Synched up with: Not in FSF. */ | 21 /* Synched up with: Not in FSF. */ |
22 | |
23 /* written by Andy Piper <andy@xemacs.org> */ | |
22 | 24 |
23 #include <config.h> | 25 #include <config.h> |
24 #include "lisp.h" | 26 #include "lisp.h" |
25 #include "lstream.h" | 27 #include "lstream.h" |
26 #include "console.h" | 28 #include "console.h" |
27 #include "device.h" | 29 #include "device.h" |
28 #include "faces.h" | 30 #include "faces.h" |
29 #include "glyphs.h" | 31 #include "glyphs.h" |
30 #include "objects.h" | 32 #include "objects.h" |
31 | 33 #include "bytecode.h" |
32 #include "window.h" | 34 #include "window.h" |
33 #include "buffer.h" | 35 #include "buffer.h" |
34 #include "frame.h" | 36 #include "frame.h" |
35 #include "insdel.h" | 37 #include "insdel.h" |
36 #include "opaque.h" | 38 #include "opaque.h" |
47 DEFINE_IMAGE_INSTANTIATOR_FORMAT (group); | 49 DEFINE_IMAGE_INSTANTIATOR_FORMAT (group); |
48 Lisp_Object Qgroup; | 50 Lisp_Object Qgroup; |
49 #endif | 51 #endif |
50 DEFINE_IMAGE_INSTANTIATOR_FORMAT (label); | 52 DEFINE_IMAGE_INSTANTIATOR_FORMAT (label); |
51 Lisp_Object Qlabel; | 53 Lisp_Object Qlabel; |
54 DEFINE_IMAGE_INSTANTIATOR_FORMAT (progress); | |
55 Lisp_Object Qprogress; | |
52 | 56 |
53 Lisp_Object Q_descriptor, Q_height, Q_width, Q_properties, Q_items; | 57 Lisp_Object Q_descriptor, Q_height, Q_width, Q_properties, Q_items; |
58 Lisp_Object Q_image, Q_text, Q_percent; | |
54 | 59 |
55 #define WIDGET_BORDER_HEIGHT 2 | 60 #define WIDGET_BORDER_HEIGHT 2 |
56 #define WIDGET_BORDER_WIDTH 4 | 61 #define WIDGET_BORDER_WIDTH 4 |
57 | 62 |
58 /* TODO: | 63 /* TODO: |
59 - more complex controls. | 64 - more complex controls. |
60 - tooltips for controls. | 65 - tooltips for controls. |
61 - images in controls. | |
62 */ | 66 */ |
63 | 67 |
64 /* In windows normal windows work in pixels, dialog boxes work in | 68 /* In windows normal windows work in pixels, dialog boxes work in |
65 dialog box units. Why? sigh. We could reuse the metrics for dialogs | 69 dialog box units. Why? sigh. We could reuse the metrics for dialogs |
66 if this were not the case. As it is we have to position things | 70 if this were not the case. As it is we have to position things |
97 widget_possible_dest_types (void) | 101 widget_possible_dest_types (void) |
98 { | 102 { |
99 return IMAGE_WIDGET_MASK; | 103 return IMAGE_WIDGET_MASK; |
100 } | 104 } |
101 | 105 |
102 #if 0 /* currently unused */ | 106 static void |
103 static void | 107 check_valid_glyph_or_image (Lisp_Object data) |
104 check_valid_glyph (Lisp_Object data) | 108 { |
105 { | 109 Lisp_Object glyph = data; |
106 if (SYMBOLP (data)) | 110 if (SYMBOLP (data)) |
107 CHECK_BUFFER_GLYPH (XSYMBOL (data)->value); | 111 glyph = XSYMBOL (data)->value; |
108 else | 112 |
109 CHECK_BUFFER_GLYPH (data); | 113 if (IMAGE_INSTANCEP (glyph)) |
110 } | 114 CHECK_IMAGE_INSTANCE (glyph); |
111 #endif /* currently unused */ | 115 else if (!CONSP (glyph)) |
116 CHECK_BUFFER_GLYPH (glyph); | |
117 } | |
118 | |
119 static void | |
120 check_valid_anything (Lisp_Object data) | |
121 { | |
122 } | |
123 | |
124 static void | |
125 check_valid_callback (Lisp_Object data) | |
126 { | |
127 if (!SYMBOLP (data) | |
128 && !COMPILED_FUNCTIONP (data) | |
129 && !CONSP (data)) | |
130 { | |
131 signal_simple_error (":callback must be a function or expression", data); | |
132 } | |
133 } | |
134 | |
135 static void | |
136 check_valid_symbol (Lisp_Object data) | |
137 { | |
138 CHECK_SYMBOL (data); | |
139 } | |
140 | |
141 static void | |
142 check_valid_string_or_vector (Lisp_Object data) | |
143 { | |
144 if (!STRINGP (data) && !VECTORP (data)) | |
145 signal_simple_error (":descriptor must be a string or a vector", data); | |
146 } | |
112 | 147 |
113 static void | 148 static void |
114 check_valid_item_list (Lisp_Object data) | 149 check_valid_item_list (Lisp_Object data) |
115 { | 150 { |
116 Lisp_Object rest; | 151 Lisp_Object rest; |
202 Lisp_Object desc = find_keyword_in_vector (instantiator, Q_descriptor); | 237 Lisp_Object desc = find_keyword_in_vector (instantiator, Q_descriptor); |
203 struct gui_item gui; | 238 struct gui_item gui; |
204 if (NILP (desc)) | 239 if (NILP (desc)) |
205 signal_simple_error ("Must supply :descriptor", instantiator); | 240 signal_simple_error ("Must supply :descriptor", instantiator); |
206 | 241 |
207 gui_parse_item_keywords (desc, &gui); | 242 if (VECTORP (desc)) |
243 gui_parse_item_keywords (desc, &gui); | |
208 | 244 |
209 if (!NILP (find_keyword_in_vector (instantiator, Q_width)) | 245 if (!NILP (find_keyword_in_vector (instantiator, Q_width)) |
210 && !NILP (find_keyword_in_vector (instantiator, Q_pixel_width))) | 246 && !NILP (find_keyword_in_vector (instantiator, Q_pixel_width))) |
211 signal_simple_error ("Must supply only one of :width and :pixel-width", instantiator); | 247 signal_simple_error ("Must supply only one of :width and :pixel-width", instantiator); |
212 | 248 |
219 combo_validate (Lisp_Object instantiator) | 255 combo_validate (Lisp_Object instantiator) |
220 { | 256 { |
221 widget_validate (instantiator); | 257 widget_validate (instantiator); |
222 if (NILP (find_keyword_in_vector (instantiator, Q_properties))) | 258 if (NILP (find_keyword_in_vector (instantiator, Q_properties))) |
223 signal_simple_error ("Must supply item list", instantiator); | 259 signal_simple_error ("Must supply item list", instantiator); |
260 } | |
261 | |
262 /* we need to convert things like glyphs to images, eval expressions | |
263 etc.*/ | |
264 static Lisp_Object | |
265 widget_normalize (Lisp_Object inst, Lisp_Object console_type) | |
266 { | |
267 /* This function can call lisp */ | |
268 Lisp_Object glyph = find_keyword_in_vector (inst, Q_image); | |
269 | |
270 /* we need to eval glyph if its an expression, we do this for the | |
271 same reasons we normalize file to data. */ | |
272 if (!NILP (glyph)) | |
273 { | |
274 int i; | |
275 struct gcpro gcpro1; | |
276 if (SYMBOLP (glyph)) | |
277 glyph = XSYMBOL (glyph)->value; | |
278 GCPRO1 (glyph); | |
279 | |
280 if (CONSP (glyph)) | |
281 glyph = Feval (glyph); | |
282 /* substitute the new glyph */ | |
283 for (i = 0; i < XVECTOR_LENGTH (inst); i++) | |
284 { | |
285 if (EQ (Q_image, XVECTOR_DATA (inst)[i])) | |
286 { | |
287 XVECTOR_DATA (inst)[i+1] = glyph; | |
288 break; | |
289 } | |
290 } | |
291 UNGCPRO; | |
292 } | |
293 return inst; | |
224 } | 294 } |
225 | 295 |
226 static void | 296 static void |
227 initialize_widget_image_instance (struct Lisp_Image_Instance *ii, Lisp_Object type) | 297 initialize_widget_image_instance (struct Lisp_Image_Instance *ii, Lisp_Object type) |
228 { | 298 { |
251 Lisp_Object height = find_keyword_in_vector (instantiator, Q_height); | 321 Lisp_Object height = find_keyword_in_vector (instantiator, Q_height); |
252 Lisp_Object width = find_keyword_in_vector (instantiator, Q_width); | 322 Lisp_Object width = find_keyword_in_vector (instantiator, Q_width); |
253 Lisp_Object pixwidth = find_keyword_in_vector (instantiator, Q_pixel_width); | 323 Lisp_Object pixwidth = find_keyword_in_vector (instantiator, Q_pixel_width); |
254 Lisp_Object pixheight = find_keyword_in_vector (instantiator, Q_pixel_height); | 324 Lisp_Object pixheight = find_keyword_in_vector (instantiator, Q_pixel_height); |
255 Lisp_Object desc = find_keyword_in_vector (instantiator, Q_descriptor); | 325 Lisp_Object desc = find_keyword_in_vector (instantiator, Q_descriptor); |
326 Lisp_Object glyph = find_keyword_in_vector (instantiator, Q_image); | |
256 int pw=0, ph=0, tw=0, th=0; | 327 int pw=0, ph=0, tw=0, th=0; |
257 | 328 |
258 /* this just does pixel type sizing */ | 329 /* this just does pixel type sizing */ |
259 subwindow_instantiate (image_instance, instantiator, pointer_fg, pointer_bg, | 330 subwindow_instantiate (image_instance, instantiator, pointer_fg, pointer_bg, |
260 dest_mask, domain); | 331 dest_mask, domain); |
270 | 341 |
271 /* data items for some widgets */ | 342 /* data items for some widgets */ |
272 IMAGE_INSTANCE_WIDGET_PROPS (ii) = | 343 IMAGE_INSTANCE_WIDGET_PROPS (ii) = |
273 find_keyword_in_vector (instantiator, Q_properties); | 344 find_keyword_in_vector (instantiator, Q_properties); |
274 | 345 |
275 /* retrieve the gui item information */ | 346 /* retrieve the gui item information. This is easy if we have been |
347 provided with a vector, more difficult if we have just been given | |
348 keywords */ | |
276 if (STRINGP (desc) || NILP (desc)) | 349 if (STRINGP (desc) || NILP (desc)) |
277 IMAGE_INSTANCE_WIDGET_TEXT (ii) = desc; | 350 { |
351 /* big cheat - we rely on the fact that a gui item looks like an instantiator */ | |
352 gui_parse_item_keywords_no_errors (instantiator, pgui); | |
353 IMAGE_INSTANCE_WIDGET_TEXT (ii) = desc; | |
354 } | |
278 else | 355 else |
279 gui_parse_item_keywords (find_keyword_in_vector (instantiator, Q_descriptor), | 356 gui_parse_item_keywords_no_errors (desc, pgui); |
280 pgui); | |
281 | 357 |
282 /* normalize size information */ | 358 /* normalize size information */ |
283 if (!NILP (width)) | 359 if (!NILP (width)) |
284 tw = XINT (width); | 360 tw = XINT (width); |
285 if (!NILP (height)) | 361 if (!NILP (height)) |
287 if (!NILP (pixwidth)) | 363 if (!NILP (pixwidth)) |
288 pw = XINT (pixwidth); | 364 pw = XINT (pixwidth); |
289 if (!NILP (pixheight)) | 365 if (!NILP (pixheight)) |
290 ph = XINT (pixheight); | 366 ph = XINT (pixheight); |
291 | 367 |
368 /* for a widget with an image pick up the dimensions from that */ | |
369 if (!NILP (glyph)) | |
370 { | |
371 if (!pw && !tw) | |
372 pw = glyph_width (glyph, Qnil, DEFAULT_INDEX, domain) | |
373 + 2 * WIDGET_BORDER_WIDTH; | |
374 if (!ph && !th) | |
375 ph = glyph_height (glyph, Qnil, DEFAULT_INDEX, domain) | |
376 + 2 * WIDGET_BORDER_HEIGHT; | |
377 } | |
378 | |
379 /* if we still don' t have sizes, guess from text size */ | |
292 if (!tw && !pw && !NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) | 380 if (!tw && !pw && !NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) |
293 tw = XSTRING_LENGTH (IMAGE_INSTANCE_WIDGET_TEXT (ii)); | 381 tw = XSTRING_LENGTH (IMAGE_INSTANCE_WIDGET_TEXT (ii)); |
294 if (!th && !ph) | 382 if (!th && !ph) |
295 { | 383 { |
296 if (default_textheight) | 384 if (default_textheight) |
298 else if (!NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) | 386 else if (!NILP (IMAGE_INSTANCE_WIDGET_TEXT (ii))) |
299 th = 1; | 387 th = 1; |
300 else | 388 else |
301 ph = default_pixheight; | 389 ph = default_pixheight; |
302 } | 390 } |
303 | 391 |
304 if (tw !=0 || th !=0) | 392 if (tw !=0 || th !=0) |
305 widget_text_to_pixel_conversion (domain, | 393 widget_text_to_pixel_conversion (domain, |
306 IMAGE_INSTANCE_WIDGET_FACE (ii), | 394 IMAGE_INSTANCE_WIDGET_FACE (ii), |
307 th, tw, th ? &ph : 0, tw ? &pw : 0); | 395 th, tw, th ? &ph : 0, tw ? &pw : 0); |
308 | 396 |
353 defkeyword (&Q_descriptor, ":descriptor"); | 441 defkeyword (&Q_descriptor, ":descriptor"); |
354 defkeyword (&Q_height, ":height"); | 442 defkeyword (&Q_height, ":height"); |
355 defkeyword (&Q_width, ":width"); | 443 defkeyword (&Q_width, ":width"); |
356 defkeyword (&Q_properties, ":properties"); | 444 defkeyword (&Q_properties, ":properties"); |
357 defkeyword (&Q_items, ":items"); | 445 defkeyword (&Q_items, ":items"); |
446 defkeyword (&Q_image, ":image"); | |
447 defkeyword (&Q_percent, ":percent"); | |
448 defkeyword (&Q_text, "text"); | |
358 } | 449 } |
359 | 450 |
360 void | 451 void |
361 image_instantiator_format_create_glyphs_widget (void) | 452 image_instantiator_format_create_glyphs_widget (void) |
362 { | 453 { |
454 #define VALID_GUI_KEYWORDS(type) \ | |
455 IIFORMAT_VALID_KEYWORD (type, Q_active, check_valid_anything); \ | |
456 IIFORMAT_VALID_KEYWORD (type, Q_suffix, check_valid_anything); \ | |
457 IIFORMAT_VALID_KEYWORD (type, Q_keys, check_valid_string); \ | |
458 IIFORMAT_VALID_KEYWORD (type, Q_style, check_valid_symbol); \ | |
459 IIFORMAT_VALID_KEYWORD (type, Q_selected, check_valid_anything); \ | |
460 IIFORMAT_VALID_KEYWORD (type, Q_filter, check_valid_anything); \ | |
461 IIFORMAT_VALID_KEYWORD (type, Q_config, check_valid_symbol); \ | |
462 IIFORMAT_VALID_KEYWORD (type, Q_included, check_valid_anything); \ | |
463 IIFORMAT_VALID_KEYWORD (type, Q_key_sequence, check_valid_string); \ | |
464 IIFORMAT_VALID_KEYWORD (type, Q_accelerator, check_valid_string); \ | |
465 IIFORMAT_VALID_KEYWORD (type, Q_label, check_valid_anything); \ | |
466 IIFORMAT_VALID_KEYWORD (type, Q_callback, check_valid_callback); \ | |
467 IIFORMAT_VALID_KEYWORD (type, Q_descriptor, check_valid_string_or_vector) | |
468 | |
469 #define VALID_WIDGET_KEYWORDS(type) \ | |
470 IIFORMAT_VALID_KEYWORD (type, Q_width, check_valid_int); \ | |
471 IIFORMAT_VALID_KEYWORD (type, Q_height, check_valid_int); \ | |
472 IIFORMAT_VALID_KEYWORD (type, Q_pixel_width, check_valid_int); \ | |
473 IIFORMAT_VALID_KEYWORD (type, Q_pixel_height, check_valid_int); \ | |
474 IIFORMAT_VALID_KEYWORD (type, Q_face, check_valid_face) | |
475 | |
363 /* we only do this for properties */ | 476 /* we only do this for properties */ |
364 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM (widget, "widget"); | 477 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT_NO_SYM (widget, "widget"); |
365 IIFORMAT_HAS_METHOD (widget, property); | 478 IIFORMAT_HAS_METHOD (widget, property); |
366 IIFORMAT_HAS_METHOD (widget, set_property); | 479 IIFORMAT_HAS_METHOD (widget, set_property); |
367 | 480 |
368 /* widget image-instantiator types - buttons */ | 481 /* widget image-instantiator types - buttons */ |
369 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (button, "button"); | 482 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (button, "button"); |
370 IIFORMAT_HAS_SHARED_METHOD (button, validate, widget); | 483 IIFORMAT_HAS_SHARED_METHOD (button, validate, widget); |
371 IIFORMAT_HAS_SHARED_METHOD (button, possible_dest_types, widget); | 484 IIFORMAT_HAS_SHARED_METHOD (button, possible_dest_types, widget); |
372 IIFORMAT_HAS_SHARED_METHOD (button, instantiate, widget); | 485 IIFORMAT_HAS_SHARED_METHOD (button, instantiate, widget); |
373 | 486 IIFORMAT_HAS_SHARED_METHOD (button, normalize, widget); |
374 IIFORMAT_VALID_KEYWORD (button, Q_width, check_valid_int); | 487 IIFORMAT_VALID_KEYWORD (button, Q_image, check_valid_glyph_or_image); |
375 IIFORMAT_VALID_KEYWORD (button, Q_height, check_valid_int); | 488 VALID_WIDGET_KEYWORDS (button); |
376 IIFORMAT_VALID_KEYWORD (button, Q_pixel_width, check_valid_int); | 489 VALID_GUI_KEYWORDS (button); |
377 IIFORMAT_VALID_KEYWORD (button, Q_pixel_height, check_valid_int); | 490 |
378 IIFORMAT_VALID_KEYWORD (button, Q_face, check_valid_face); | |
379 IIFORMAT_VALID_KEYWORD (button, Q_descriptor, check_valid_vector); | |
380 /* edit fields */ | 491 /* edit fields */ |
381 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (edit, "edit"); | 492 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (edit, "edit"); |
382 IIFORMAT_HAS_SHARED_METHOD (edit, validate, widget); | 493 IIFORMAT_HAS_SHARED_METHOD (edit, validate, widget); |
383 IIFORMAT_HAS_SHARED_METHOD (edit, possible_dest_types, widget); | 494 IIFORMAT_HAS_SHARED_METHOD (edit, possible_dest_types, widget); |
384 IIFORMAT_HAS_SHARED_METHOD (edit, instantiate, widget); | 495 IIFORMAT_HAS_SHARED_METHOD (edit, instantiate, widget); |
385 | 496 VALID_WIDGET_KEYWORDS (edit); |
386 IIFORMAT_VALID_KEYWORD (edit, Q_width, check_valid_int); | 497 VALID_GUI_KEYWORDS (edit); |
387 IIFORMAT_VALID_KEYWORD (edit, Q_height, check_valid_int); | 498 |
388 IIFORMAT_VALID_KEYWORD (edit, Q_pixel_width, check_valid_int); | |
389 IIFORMAT_VALID_KEYWORD (edit, Q_pixel_height, check_valid_int); | |
390 IIFORMAT_VALID_KEYWORD (edit, Q_face, check_valid_face); | |
391 IIFORMAT_VALID_KEYWORD (edit, Q_descriptor, check_valid_vector); | |
392 /* combo box */ | 499 /* combo box */ |
393 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (combo, "combo"); | 500 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (combo, "combo"); |
394 IIFORMAT_HAS_METHOD (combo, validate); | 501 IIFORMAT_HAS_METHOD (combo, validate); |
395 IIFORMAT_HAS_SHARED_METHOD (combo, possible_dest_types, widget); | 502 IIFORMAT_HAS_SHARED_METHOD (combo, possible_dest_types, widget); |
396 IIFORMAT_HAS_METHOD (combo, instantiate); | 503 IIFORMAT_HAS_METHOD (combo, instantiate); |
504 VALID_GUI_KEYWORDS (combo); | |
397 | 505 |
398 IIFORMAT_VALID_KEYWORD (combo, Q_width, check_valid_int); | 506 IIFORMAT_VALID_KEYWORD (combo, Q_width, check_valid_int); |
399 IIFORMAT_VALID_KEYWORD (combo, Q_height, check_valid_int); | 507 IIFORMAT_VALID_KEYWORD (combo, Q_height, check_valid_int); |
400 IIFORMAT_VALID_KEYWORD (combo, Q_pixel_width, check_valid_int); | 508 IIFORMAT_VALID_KEYWORD (combo, Q_pixel_width, check_valid_int); |
401 IIFORMAT_VALID_KEYWORD (combo, Q_face, check_valid_face); | 509 IIFORMAT_VALID_KEYWORD (combo, Q_face, check_valid_face); |
402 IIFORMAT_VALID_KEYWORD (combo, Q_descriptor, check_valid_vector); | |
403 IIFORMAT_VALID_KEYWORD (combo, Q_properties, check_valid_item_list); | 510 IIFORMAT_VALID_KEYWORD (combo, Q_properties, check_valid_item_list); |
511 | |
404 /* scrollbar */ | 512 /* scrollbar */ |
405 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (scrollbar, "scrollbar"); | 513 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (scrollbar, "scrollbar"); |
406 IIFORMAT_HAS_SHARED_METHOD (scrollbar, validate, widget); | 514 IIFORMAT_HAS_SHARED_METHOD (scrollbar, validate, widget); |
407 IIFORMAT_HAS_SHARED_METHOD (scrollbar, possible_dest_types, widget); | 515 IIFORMAT_HAS_SHARED_METHOD (scrollbar, possible_dest_types, widget); |
408 IIFORMAT_HAS_SHARED_METHOD (scrollbar, instantiate, widget); | 516 IIFORMAT_HAS_SHARED_METHOD (scrollbar, instantiate, widget); |
517 VALID_GUI_KEYWORDS (scrollbar); | |
409 | 518 |
410 IIFORMAT_VALID_KEYWORD (scrollbar, Q_pixel_width, check_valid_int); | 519 IIFORMAT_VALID_KEYWORD (scrollbar, Q_pixel_width, check_valid_int); |
411 IIFORMAT_VALID_KEYWORD (scrollbar, Q_pixel_height, check_valid_int); | 520 IIFORMAT_VALID_KEYWORD (scrollbar, Q_pixel_height, check_valid_int); |
412 IIFORMAT_VALID_KEYWORD (scrollbar, Q_face, check_valid_face); | 521 IIFORMAT_VALID_KEYWORD (scrollbar, Q_face, check_valid_face); |
413 IIFORMAT_VALID_KEYWORD (scrollbar, Q_descriptor, check_valid_vector); | 522 |
523 /* progress guage */ | |
524 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (progress, "progress"); | |
525 IIFORMAT_HAS_SHARED_METHOD (progress, validate, widget); | |
526 IIFORMAT_HAS_SHARED_METHOD (progress, possible_dest_types, widget); | |
527 IIFORMAT_HAS_SHARED_METHOD (progress, instantiate, widget); | |
528 VALID_WIDGET_KEYWORDS (progress); | |
529 VALID_GUI_KEYWORDS (progress); | |
530 | |
414 /* labels */ | 531 /* labels */ |
415 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (label, "label"); | 532 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (label, "label"); |
416 IIFORMAT_HAS_SHARED_METHOD (label, possible_dest_types, widget); | 533 IIFORMAT_HAS_SHARED_METHOD (label, possible_dest_types, widget); |
417 IIFORMAT_HAS_SHARED_METHOD (label, instantiate, static); | 534 IIFORMAT_HAS_SHARED_METHOD (label, instantiate, static); |
418 | 535 VALID_WIDGET_KEYWORDS (label); |
419 IIFORMAT_VALID_KEYWORD (label, Q_pixel_width, check_valid_int); | |
420 IIFORMAT_VALID_KEYWORD (label, Q_pixel_height, check_valid_int); | |
421 IIFORMAT_VALID_KEYWORD (label, Q_width, check_valid_int); | |
422 IIFORMAT_VALID_KEYWORD (label, Q_height, check_valid_int); | |
423 IIFORMAT_VALID_KEYWORD (label, Q_face, check_valid_face); | |
424 IIFORMAT_VALID_KEYWORD (label, Q_descriptor, check_valid_string); | 536 IIFORMAT_VALID_KEYWORD (label, Q_descriptor, check_valid_string); |
537 | |
425 #if 0 | 538 #if 0 |
426 /* group */ | 539 /* group */ |
427 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (group, "group"); | 540 INITIALIZE_IMAGE_INSTANTIATOR_FORMAT (group, "group"); |
428 IIFORMAT_HAS_SHARED_METHOD (group, possible_dest_types, widget); | 541 IIFORMAT_HAS_SHARED_METHOD (group, possible_dest_types, widget); |
429 IIFORMAT_HAS_METHOD (group, instantiate); | 542 IIFORMAT_HAS_METHOD (group, instantiate); |