Made test-dos-pure-quick a dependency of test-quick.
[AROS.git] / test / Zune / test.c
blob6d173ddc77bc24cb14b4de013f5f8817161bd5fa
1 /*
2 Copyright © 2002-2015, The AROS Development Team.
3 All rights reserved.
5 $Id$
6 */
8 #define INTUITION_NO_INLINE_STDARG
10 #include <exec/types.h>
11 #include <stdlib.h>
12 #include <stdio.h>
13 #include <string.h>
15 #include <clib/alib_protos.h>
16 #include <intuition/gadgetclass.h>
17 #include <intuition/icclass.h>
18 #include <libraries/asl.h>
19 #include <gadgets/colorwheel.h>
20 #include <proto/exec.h>
21 #include <proto/intuition.h>
22 #include <proto/dos.h>
23 #include <proto/muimaster.h>
24 #include <proto/graphics.h>
25 #include <aros/debug.h>
27 /* the following should go in a single include file which then only
28 ** consists of the public constants and members. Actually this is easy
31 #if 0
32 #define TEST_ICONLIST
33 #endif
35 #include <libraries/mui.h>
36 #if defined(TEST_ICONLIST)
37 #include "../../workbench/system/Wanderer/Classes/iconlist_attributes.h"
38 #include "../../workbench/system/Wanderer/Classes/iconlist.h"
39 #endif
41 #define STRING_COUNT 6
42 #define LIST_COUNT 5
43 #define MULTI_LIST_COUNT 2
45 #define NUMERIC_MIN 0
46 #define NUMERIC_MAX 100
48 static const TEXT digits[] = "-0123456789";
49 static const TEXT default_accept_chars[] = "aeiou?.";
50 static const TEXT default_reject_chars[] = "*?";
51 static const ULONG default_color[] = {155 << 24, 180 << 24, 255 << 24};
52 static const struct MUI_PenSpec default_penspec = {"m0"};
53 static const TEXT list_format[] = "BAR,BAR,";
55 enum
57 HNSLIDER,
58 HRSLIDER,
59 HQSLIDER,
60 VNSLIDER,
61 VRSLIDER,
62 VQSLIDER,
63 NNUMERICBUTTON,
64 RNUMERICBUTTON,
65 NKNOB,
66 RKNOB,
67 NUMERIC_COUNT
70 struct Library *MUIMasterBase;
71 struct Library *ColorWheelBase;
73 struct list_entry
75 char *column1;
76 char *column2;
79 Object *app;
81 struct
83 Object *strings[STRING_COUNT],
84 *accept_string,
85 *reject_string,
86 *cursor_pos_slider,
87 *display_pos_slider,
88 *integer_string,
89 *plaintext_string,
90 *max_len_text,
91 *cr_advance_check,
92 *attach_list_check,
93 *standard_hook_check,
94 *custom_hook_check,
95 *accept_all_check;
97 string;
99 Object *wheel;
100 Object *r_slider;
101 Object *g_slider;
102 Object *b_slider;
103 Object *hue_gauge;
104 Object *colorfield, *colorfield2, *colorfield_reset_button, *colorfield_pen;
105 Object *coloradjust;
106 Object *pendisplay, *pendisplay2, *pendisplay_pen, *pendisplay_spec,
107 *reference_check, *shine_button, *shadow_button, *yellow_button, *poppen;
108 Object *group;
109 Object *editor_text;
110 Object *filename_string;
111 Object *save_button;
112 Object *list2;
114 Object *drawer_iconlist;
115 Object *volume_iconlist;
117 AROS_UFH0(void, repeat_function)
119 AROS_USERFUNC_INIT
121 printf("MUI_Timer\n");
123 AROS_USERFUNC_EXIT
126 AROS_UFH0(void, wheel_function)
128 AROS_USERFUNC_INIT
130 nnset(r_slider, MUIA_Numeric_Value, (XGET(wheel,
131 WHEEL_Red) >> 24) & 0xff);
132 nnset(g_slider, MUIA_Numeric_Value, (XGET(wheel,
133 WHEEL_Green) >> 24) & 0xff);
134 nnset(b_slider, MUIA_Numeric_Value, (XGET(wheel,
135 WHEEL_Blue) >> 24) & 0xff);
137 AROS_USERFUNC_EXIT
140 AROS_UFH0(void, slider_function)
142 AROS_USERFUNC_INIT
144 struct ColorWheelRGB cw;
145 ULONG red = XGET(r_slider, MUIA_Numeric_Value);
146 ULONG green = XGET(g_slider, MUIA_Numeric_Value);
147 ULONG blue = XGET(b_slider, MUIA_Numeric_Value);
149 cw.cw_Red = (red << 24) | (red << 16) | (red << 8) | red;
150 cw.cw_Green = (green << 24) | (green << 16) | (green << 8) | green;
151 cw.cw_Blue = (blue << 24) | (blue << 16) | (blue << 8) | blue;
153 nnset(wheel, WHEEL_RGB, &cw);
154 set(hue_gauge, MUIA_Gauge_Current, XGET(wheel, WHEEL_Hue));
156 AROS_USERFUNC_EXIT
159 AROS_UFH0(void, objects_function)
161 AROS_USERFUNC_INIT
163 Object *new_obj = MUI_MakeObject(MUIO_Button, "Button");
164 if (new_obj)
166 DoMethod(group, MUIM_Group_InitChange);
167 DoMethod(group, OM_ADDMEMBER, new_obj);
168 DoMethod(group, MUIM_Group_ExitChange);
171 AROS_USERFUNC_EXIT
174 AROS_UFH0(void, about_function)
176 AROS_USERFUNC_INIT
178 static Object *about_wnd;
180 if (!about_wnd)
182 about_wnd = AboutmuiObject, MUIA_Aboutmui_Application, app, End;
185 if (about_wnd)
186 set(about_wnd, MUIA_Window_Open, TRUE);
188 AROS_USERFUNC_EXIT
191 AROS_UFH0(void, ChangeStringAccept)
193 AROS_USERFUNC_INIT
195 STRPTR accept_chars = NULL, reject_chars = NULL;
196 BOOL accept_all;
197 UWORD i;
199 accept_all = XGET(string.accept_all_check, MUIA_Selected);
200 SET(string.accept_string, MUIA_Disabled, accept_all);
201 SET(string.reject_string, MUIA_Disabled, accept_all);
203 if (!accept_all)
205 GET(string.accept_string, MUIA_String_Contents, &accept_chars);
206 GET(string.reject_string, MUIA_String_Contents, &reject_chars);
209 for (i = 0; i < STRING_COUNT; i++)
211 SET(string.strings[i], MUIA_String_Accept, accept_chars);
212 SET(string.strings[i], MUIA_String_Reject, reject_chars);
215 AROS_USERFUNC_EXIT
218 AROS_UFH0(void, changepen_function)
220 AROS_USERFUNC_INIT
222 SIPTR pen = -1;
224 GET(colorfield_pen, MUIA_String_Integer, &pen);
225 if (pen >= 0)
226 SET(colorfield, MUIA_Colorfield_Pen, pen);
228 AROS_USERFUNC_EXIT
231 AROS_UFH0(void, ChangePendisplayPen)
233 AROS_USERFUNC_INIT
235 DoMethod(pendisplay, MUIM_Pendisplay_SetColormap,
236 XGET(pendisplay_pen, MUIA_String_Integer));
238 AROS_USERFUNC_EXIT
241 AROS_UFH3(void, display_function,
242 AROS_UFHA(struct Hook *, h, A0),
243 AROS_UFHA(char **, strings, A2),
244 AROS_UFHA(struct list_entry *, entry, A1))
246 AROS_USERFUNC_INIT
248 static char buf[100];
250 if (entry)
252 sprintf(buf, "%ld", (long)*(strings - 1));
253 strings[0] = buf;
254 strings[1] = entry->column1;
255 strings[2] = entry->column2;
257 else
259 strings[0] = "Number";
260 strings[1] = "Column 1";
261 strings[2] = "Column 2";
264 AROS_USERFUNC_EXIT
267 AROS_UFH3(void, display2_function,
268 AROS_UFHA(struct Hook *, h, A0),
269 AROS_UFHA(char **, strings, A2),
270 AROS_UFHA(struct list_entry *, entry, A1))
272 AROS_USERFUNC_INIT
274 static char buf[100];
276 if (entry)
278 sprintf(buf, "line num: %ld id: %p", (long)*(strings - 1), entry);
279 strings[0] = buf;
281 else
283 strings[0] = "Number";
286 AROS_USERFUNC_EXIT
289 AROS_UFH0(void, save_function)
291 AROS_USERFUNC_INIT
293 char *text = (char *)XGET(editor_text, MUIA_String_Contents);
294 char *filename = (char *)XGET(filename_string, MUIA_String_Contents);
295 BPTR fh;
297 if (!strlen(filename))
298 return;
300 if ((fh = Open(filename, MODE_NEWFILE)))
302 Write(fh, text, strlen(text));
303 Close(fh);
306 AROS_USERFUNC_EXIT
309 static int id = 1;
311 AROS_UFH0(void, add_function)
313 AROS_USERFUNC_INIT
315 DoMethod(list2, MUIM_List_InsertSingle, id++,
316 MUIV_List_Insert_Bottom);
318 AROS_USERFUNC_EXIT
321 #if defined(TEST_ICONLIST)
322 /* IconList callbacks */
323 void volume_doubleclicked(void)
325 char buf[200];
326 struct IconList_Entry *ent = (void *)MUIV_IconList_NextIcon_Start;
328 DoMethod(volume_iconlist, MUIM_IconList_NextIcon,
329 MUIV_IconList_NextIcon_Selected, &ent);
330 if ((IPTR) ent == MUIV_IconList_NextIcon_End)
331 return;
333 strcpy(buf, ent->label);
334 strcat(buf, ":");
335 set(drawer_iconlist, MUIA_IconDrawerList_Drawer, buf);
338 void drawer_doubleclicked(void)
340 struct IconList_Entry *ent = (void *)MUIV_IconList_NextIcon_Start;
342 DoMethod(drawer_iconlist, MUIM_IconList_NextIcon,
343 MUIV_IconList_NextIcon_Selected, &ent);
344 if ((IPTR) ent == MUIV_IconList_NextIcon_End)
345 return;
346 set(drawer_iconlist, MUIA_IconDrawerList_Drawer,
347 ent->ile_IconEntry->ie_IconNode.ln_Name);
349 #endif
351 static IPTR create_balance_column(void)
353 return (IPTR) VGroup,
354 Child, RectangleObject,
355 GaugeFrame,
356 End,
357 Child, BalanceObject,
358 End,
359 Child, RectangleObject,
360 GaugeFrame,
361 End,
362 Child, BalanceObject,
363 End,
364 Child, RectangleObject,
365 GaugeFrame,
366 End,
367 Child, BalanceObject,
368 End,
369 Child, RectangleObject,
370 GaugeFrame,
371 End,
372 Child, BalanceObject,
373 End,
374 Child, RectangleObject,
375 GaugeFrame,
376 End,
377 End;
380 /* The custom class */
382 struct DropText_Data
384 ULONG times;
387 #ifdef __MAXON__
388 #undef KeymapBase
389 struct Library *KeymapBase;
390 #endif
392 #ifndef __AROS__
393 __saveds __asm IPTR dispatcher(register __a0 struct IClass *cl,
394 register __a2 Object *obj, register __a1 Msg msg)
395 #else
396 AROS_UFH3S(IPTR, dispatcher,
397 AROS_UFHA(Class *, cl, A0),
398 AROS_UFHA(Object *, obj, A2), AROS_UFHA(Msg, msg, A1))
399 #endif
401 AROS_USERFUNC_INIT
403 switch (msg->MethodID)
405 case MUIM_DragQuery:
406 return MUIV_DragQuery_Accept;
407 case MUIM_DragDrop:
409 struct DropText_Data *data =
410 (struct DropText_Data *)INST_DATA(cl, obj);
411 char buf[100];
412 data->times++;
413 sprintf(buf, "%ld times", (long)data->times);
414 set(obj, MUIA_Text_Contents, buf);
418 return DoSuperMethodA(cl, obj, (Msg) msg);
420 AROS_USERFUNC_EXIT
423 struct MUI_CustomClass *CL_DropText;
425 #define DropTextObject BOOPSIOBJMACRO_START(CL_DropText->mcc_Class)
427 /* Main prog */
429 static struct Hook hook_standard;
431 AROS_UFH3(void, hook_func_standard,
432 AROS_UFHA(struct Hook *, h, A0),
433 AROS_UFHA(void *, dummy, A2), AROS_UFHA(void **, funcptr, A1))
435 AROS_USERFUNC_INIT
437 void (*func) (ULONG *) = (void (*)(ULONG *))(*funcptr);
439 if (func)
440 func((ULONG *) funcptr + 1);
442 AROS_USERFUNC_EXIT
445 int main(void)
447 Object *wnd, *second_wnd;
448 Object *open_button;
449 Object *about_button;
450 Object *quit_button;
451 Object *repeat_button;
452 Object *objects_button;
453 Object *about_item, *quit_item;
454 Object *context_menu;
455 Object *popobject, *listview;
456 Object *lists[LIST_COUNT];
457 Object *list_add_button, *list_remove_button, *list_clear_button;
458 Object *dragsortable_check, *showdropmarks_check, *quiet_check;
459 Object *sort_button, *clear_button, *fill_button, *enable_button;
460 Object *multi_lists[MULTI_LIST_COUNT];
461 Object *format_string;
462 Object *column_string;
463 Object *column_text;
464 Object *showheadings_check;
465 Object *numerics[NUMERIC_COUNT];
466 Object *min_string, *max_string;
467 Object *slider_button;
468 Object *country_radio[2];
469 UWORD i;
471 static char *pages[] =
472 {"General", "Text", "Boopsi", "Color", "Edit", "List", "Gauges",
473 "Numeric", "Radio",
474 #if defined(TEST_ICONLIST)
475 "Icon List",
476 #endif
477 "Balancing", NULL};
478 static char *text_pages[] =
479 {"Text", "String", NULL};
480 static char *color_pages[] =
481 {"Palette", "Colors", "Pens", NULL};
482 static char *list_pages[] =
483 {"Single Column (1)", "Single Column (2)", "Multicolumn", NULL};
484 static char **radio_entries1 = pages;
485 static char *radio_entries2[] =
486 {"Paris", "Pataya", "London", "New York", "Reykjavik", NULL};
487 static char *fruits[] = {"Strawberry", "Apple", "Banana", "Orange",
488 "Grapefruit", "Kumquat", "Plum", "Raspberry", "Apricot", "Grape",
489 "Peach", "Lemon", "Lime", "Date", "Pineapple", "Blueberry", "Papaya",
490 "Cranberry", "Gooseberry", "Pear", "Fig", "Coconut", "Melon",
491 "Pumpkin", NULL};
493 static struct list_entry entry1 = {"Testentry1", "Col2: Entry1"};
494 static struct list_entry entry2 = {"Entry2", "Col2: Entry2"};
495 static struct list_entry entry3 = {"Entry3", "Col2: Entry3"};
496 static struct list_entry entry4 = {"Entry4", "Col2: Entry4"};
497 static struct list_entry entry5 = {"Entry5", "Col2: Entry5"};
498 static struct list_entry entry6 = {"Entry6", "Col2: Entry6"};
500 static struct list_entry *entries[] =
501 {&entry1, &entry2, &entry3, &entry4, &entry5, &entry6, NULL};
503 struct Hook hook;
504 struct Hook hook_wheel;
505 struct Hook hook_slider;
506 struct Hook hook_objects;
507 struct Hook hook_display;
508 struct Hook hook_display2;
510 hook_standard.h_Entry = (HOOKFUNC) hook_func_standard;
512 MUIMasterBase = (struct Library *)OpenLibrary("muimaster.library", 0);
514 hook.h_Entry = (HOOKFUNC) repeat_function;
515 hook_wheel.h_Entry = (HOOKFUNC) wheel_function;
516 hook_slider.h_Entry = (HOOKFUNC) slider_function;
517 hook_objects.h_Entry = (HOOKFUNC) objects_function;
518 hook_display.h_Entry = (HOOKFUNC) display_function;
519 hook_display2.h_Entry = (HOOKFUNC) display2_function;
521 context_menu = MenustripObject,
522 MUIA_Family_Child, MenuObject,
523 MUIA_Menu_Title, "Menutest",
524 MUIA_Family_Child, about_item = MenuitemObject,
525 MUIA_Menuitem_Title, "First Test Entry", End,
526 MUIA_Family_Child, quit_item = MenuitemObject,
527 MUIA_Menuitem_Title, "Second Test Entry", End,
528 End,
529 End;
531 /* should check the result in a real program! */
532 CL_DropText = MUI_CreateCustomClass(NULL, MUIC_Text, NULL,
533 sizeof(struct DropText_Data), dispatcher);
534 ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 0);
536 pendisplay = PendisplayObject, MUIA_Pendisplay_Spec, &default_penspec, End;
538 lists[0] = ListviewObject,
539 MUIA_Listview_List,
540 ListObject,
541 InputListFrame,
542 MUIA_List_Title, "Fruits",
543 MUIA_List_SourceArray, fruits,
544 MUIA_ShortHelp, "Default scroller",
545 End,
546 MUIA_Listview_MultiSelect,
547 MUIV_Listview_MultiSelect_None,
548 MUIA_CycleChain, 1,
549 End;
550 lists[1] = ListviewObject,
551 MUIA_Listview_List,
552 ListObject,
553 InputListFrame,
554 MUIA_List_SourceArray, fruits,
555 MUIA_ShortHelp, "Left scroller",
556 End,
557 MUIA_Listview_ScrollerPos,
558 MUIV_Listview_ScrollerPos_Left,
559 MUIA_CycleChain, 1,
560 End;
561 lists[2] = ListviewObject,
562 MUIA_Listview_List,
563 ListObject,
564 InputListFrame,
565 MUIA_List_SourceArray, fruits,
566 MUIA_ShortHelp, "Right scroller",
567 End,
568 MUIA_Listview_MultiSelect,
569 MUIV_Listview_MultiSelect_Shifted,
570 MUIA_Listview_ScrollerPos,
571 MUIV_Listview_ScrollerPos_Right,
572 MUIA_CycleChain, 1,
573 End;
574 lists[3] = ListviewObject,
575 MUIA_Listview_List,
576 ListObject,
577 InputListFrame,
578 MUIA_List_SourceArray, fruits,
579 MUIA_ShortHelp, "No scroller",
580 End,
581 MUIA_Listview_MultiSelect,
582 MUIV_Listview_MultiSelect_Always,
583 MUIA_Listview_ScrollerPos,
584 MUIV_Listview_ScrollerPos_None,
585 MUIA_CycleChain, 1,
586 End;
587 lists[4] = ListviewObject,
588 MUIA_Listview_List,
589 ListObject,
590 ReadListFrame,
591 MUIA_List_SourceArray, fruits,
592 MUIA_ShortHelp, "Default scroller",
593 End,
594 MUIA_Listview_Input, FALSE,
595 MUIA_CycleChain, 1,
596 End;
598 app = ApplicationObject,
599 MUIA_Application_Menustrip, MenustripObject,
600 MUIA_Family_Child, MenuObject,
601 MUIA_Menu_Title, "Project",
602 MUIA_Family_Child, about_item = MenuitemObject,
603 MUIA_Menuitem_Title, "About...",
604 MUIA_Menuitem_Shortcut, "?",
605 End,
606 MUIA_Family_Child, MenuitemObject,
607 MUIA_Menuitem_Title, (SIPTR)-1,
608 End,
609 MUIA_Family_Child, quit_item = MenuitemObject,
610 MUIA_Menuitem_Title, "Quit",
611 MUIA_Menuitem_Shortcut, "Q",
612 End,
613 End,
614 End,
616 SubWindow, wnd = WindowObject,
617 MUIA_Window_Title, "test",
618 MUIA_Window_Activate, TRUE,
620 WindowContents, VGroup,
621 Child, RegisterGroup(pages),
622 //MUIA_Background, "5:SYS:Prefs/Presets/Backdrops/StuccoBlue.pic",
624 /* general */
625 Child, VGroup,
626 Child, HGroup,
627 GroupFrameT("A horizontal group"),
628 Child, ColGroup(2),
629 GroupFrameT("A column group"),
630 Child, repeat_button = TextObject,
631 MUIA_CycleChain, 1,
632 ButtonFrame,
633 MUIA_Background, MUII_ButtonBack,
634 MUIA_Text_PreParse, "\33c",
635 MUIA_Text_Contents, "Repeat",
636 MUIA_InputMode, MUIV_InputMode_RelVerify,
637 End,
638 Child, TextObject,
639 MUIA_CycleChain, 1,
640 ButtonFrame,
641 MUIA_Background, MUII_ButtonBack,
642 MUIA_Text_PreParse, "\33c",
643 MUIA_Text_Contents, "Drag Me",
644 MUIA_Draggable, TRUE,
645 MUIA_InputMode, MUIV_InputMode_RelVerify,
646 End,
647 Child, open_button = TextObject,
648 MUIA_CycleChain, 1,
649 ButtonFrame,
650 MUIA_Background, MUII_ButtonBack,
651 MUIA_Text_PreParse, "\33c",
652 MUIA_Text_Contents, "Open Window",
653 MUIA_InputMode, MUIV_InputMode_RelVerify,
654 End,
655 Child, TextObject,
656 MUIA_ContextMenu, context_menu,
657 MUIA_CycleChain, 1,
658 ButtonFrame,
659 MUIA_Background, MUII_ButtonBack,
660 MUIA_Text_PreParse, "\33c",
661 MUIA_Text_Contents, "Press Right",
662 MUIA_InputMode, MUIV_InputMode_RelVerify,
663 End,
664 Child, objects_button = TextObject,
665 MUIA_CycleChain, 1,
666 ButtonFrame,
667 MUIA_Background, MUII_ButtonBack,
668 MUIA_Text_PreParse, "\33c",
669 MUIA_Text_Contents, "Add Objects",
670 MUIA_InputMode, MUIV_InputMode_RelVerify,
671 End,
672 Child, HVSpace,
673 Child, HGroup,
674 Child, HVSpace,
675 Child, MUI_MakeObject(MUIO_Checkmark,
676 "_Checkmark"),
677 End,
678 Child, HGroup,
679 Child, MUI_MakeObject(MUIO_Label,
680 "_Checkmark", 0),
681 Child, HVSpace,
682 End,
683 Child, HVSpace,
684 Child, HVSpace,
685 End,
686 Child, group = VGroup,
687 GroupFrameT("A vertical group"),
688 Child, DropTextObject,
689 MUIA_Dropable, TRUE,
690 MUIA_CycleChain, 1,
691 ButtonFrame,
692 MUIA_Background, MUII_ButtonBack,
693 MUIA_Text_PreParse, "\33c",
694 MUIA_Text_Contents, "Drop Here",
695 MUIA_Dropable, TRUE,
696 MUIA_InputMode, MUIV_InputMode_RelVerify,
697 End,
698 Child, TextObject,
699 TextFrame,
700 MUIA_Background, MUII_MARKHALFSHINE,
701 MUIA_CycleChain, 1,
702 MUIA_Text_PreParse, "\33c",
703 MUIA_Text_Contents, "Pattern",
704 End,
705 Child, MUI_NewObject(MUIC_Popimage, TAG_DONE),
706 End,
707 Child, ScrollgroupObject,
708 GroupFrameT("A scroll group"),
709 MUIA_Scrollgroup_Contents, VGroupV,
710 VirtualFrame,
711 Child, TextObject,
712 TextFrame,
713 MUIA_Text_Contents,
714 "Line1\nLine2\nLine3\nLine4\n"
715 "Line5\nLine6\nLine7\nLine8\n"
716 "\n\n\n"
717 "Line9\nLine10\nLine11\n",
718 End,
719 Child, HGroup,
720 Child, MUI_MakeObject(MUIO_Button,
721 "Button9"),
722 Child, MUI_MakeObject(MUIO_Button,
723 "Button10"),
724 End,
725 End,
726 End,
727 End,
728 Child, popobject = PopobjectObject,
729 MUIA_Popstring_String,
730 MUI_MakeObject(MUIO_String, NULL, 200),
731 MUIA_Popstring_Button, PopButton(MUII_PopUp),
732 MUIA_Popobject_Object, VGroup,
733 Child, TextObject,
734 MUIA_Text_Contents, "test",
735 End,
736 Child, listview = ListviewObject,
737 MUIA_Listview_List, ListObject,
738 InputListFrame,
739 MUIA_List_DisplayHook, &hook_display,
740 MUIA_List_Format, ",,",
741 MUIA_List_SourceArray, entries,
742 MUIA_List_Title, TRUE,
743 End,
744 End,
745 End,
746 End,
747 Child, CycleObject,
748 ButtonFrame,
749 MUIA_Cycle_Entries, pages,
750 End,
751 Child, ScrollbarObject,
752 MUIA_Group_Horiz, TRUE,
753 MUIA_Prop_Visible, 100,
754 MUIA_Prop_Entries, 300,
755 MUIA_Prop_First, 50,
756 End,
757 End,
759 /* text */
760 Child, RegisterGroup(text_pages),
762 Child, VGroup,
763 Child, TextObject,
764 MUIA_Background, "2:cfffffff,cfffffff,10000000",
765 TextFrame,
766 MUIA_Text_Contents, "\33cHello World!\n"
767 "This is a text object\n\33lLeft \33bbold\33n\n"
768 "\33rRight",
769 End,
770 Child, RectangleObject,
771 MUIA_VertWeight, 0,
772 /* Seems to be not supported properly as orginal MUI
773 doesn't allow to alter the height of the window */
774 MUIA_Rectangle_HBar, TRUE,
775 MUIA_Rectangle_BarTitle,"Enter a string",
776 End,
777 Child, StringObject,
778 StringFrame,
779 MUIA_CycleChain,1,
780 MUIA_String_AdvanceOnCR, TRUE,
781 End,
782 Child, HVSpace,
783 End,
785 /* string */
786 Child, HGroup,
787 Child, VGroup,
788 Child, VGroup, GroupFrameT("Default Alignment"),
789 Child, string.strings[0] = StringObject,
790 StringFrame,
791 MUIA_String_Accept,
792 (IPTR)default_accept_chars,
793 MUIA_String_Reject,
794 (IPTR)default_reject_chars,
795 MUIA_String_AdvanceOnCR, TRUE,
796 MUIA_String_MaxLen, 9,
797 MUIA_CycleChain, 1,
798 MUIA_String_AttachedList, lists[0],
799 End,
800 End,
801 Child, VGroup, GroupFrameT("Left Aligned"),
802 Child, string.strings[1] = StringObject,
803 StringFrame,
804 MUIA_String_Accept,
805 (IPTR)default_accept_chars,
806 MUIA_String_Reject,
807 (IPTR)default_reject_chars,
808 MUIA_String_Format,
809 MUIV_String_Format_Left,
810 MUIA_String_AdvanceOnCR, TRUE,
811 MUIA_String_MaxLen, 9,
812 MUIA_CycleChain, 1,
813 MUIA_String_Contents,
814 (IPTR)default_accept_chars,
815 MUIA_String_BufferPos, 3,
816 MUIA_String_AttachedList, lists[0],
817 End,
818 End,
819 Child, VGroup, GroupFrameT("Right Aligned"),
820 Child, string.strings[2] = StringObject,
821 StringFrame,
822 MUIA_String_Accept,
823 (IPTR)default_accept_chars,
824 MUIA_String_Reject,
825 (IPTR)default_reject_chars,
826 MUIA_String_Format,
827 MUIV_String_Format_Right,
828 MUIA_String_AdvanceOnCR, TRUE,
829 MUIA_String_MaxLen, 9,
830 MUIA_CycleChain, 1,
831 MUIA_String_AttachedList, lists[0],
832 End,
833 End,
834 Child, VGroup, GroupFrameT("Centered"),
835 Child, string.strings[3] = StringObject,
836 StringFrame,
837 MUIA_String_Accept,
838 (IPTR)default_accept_chars,
839 MUIA_String_Reject,
840 (IPTR)default_reject_chars,
841 MUIA_String_Format,
842 MUIV_String_Format_Center,
843 MUIA_String_AdvanceOnCR, TRUE,
844 MUIA_String_MaxLen, 9,
845 MUIA_CycleChain, 1,
846 MUIA_String_Integer, 123,
847 MUIA_String_AttachedList, lists[0],
848 End,
849 End,
850 Child, VGroup, GroupFrameT("Secret"),
851 Child, string.strings[4] = StringObject,
852 StringFrame,
853 MUIA_String_Accept,
854 (IPTR)default_accept_chars,
855 MUIA_String_Reject,
856 (IPTR)default_reject_chars,
857 MUIA_String_Format,
858 MUIV_String_Format_Center,
859 MUIA_String_Secret, TRUE,
860 MUIA_String_AdvanceOnCR, TRUE,
861 MUIA_String_MaxLen, 9,
862 MUIA_CycleChain, 1,
863 MUIA_String_AttachedList, lists[0],
864 End,
865 End,
866 Child, HGroup, GroupFrameT("Narrow"),
867 Child, HVSpace,
868 Child, string.strings[5] = StringObject,
869 StringFrame,
870 MUIA_String_Accept,
871 (IPTR)default_accept_chars,
872 MUIA_String_Reject,
873 (IPTR)default_reject_chars,
874 MUIA_String_Format,
875 MUIV_String_Format_Center,
876 MUIA_String_AdvanceOnCR, TRUE,
877 MUIA_MaxWidth, 20,
878 MUIA_String_MaxLen, 9,
879 MUIA_CycleChain, 1,
880 MUIA_String_AttachedList, lists[0],
881 End,
882 Child, HVSpace,
883 End,
884 Child, HVSpace,
885 End,
886 Child, VGroup, GroupFrameT("Controls"),
887 Child, HGroup,
888 Child, string.accept_all_check =
889 MUI_MakeObject(MUIO_Checkmark, NULL),
890 Child, MUI_MakeObject(MUIO_Label,
891 "Accept all characters", 0),
892 Child, HVSpace,
893 End,
894 Child, ColGroup(2),
895 Child, MUI_MakeObject(MUIO_Label,
896 "Acceptable characters:", 0),
897 Child, string.accept_string = StringObject,
898 StringFrame,
899 MUIA_String_Contents,
900 (IPTR)default_accept_chars,
901 End,
902 Child, MUI_MakeObject(MUIO_Label,
903 "Unacceptable characters:", 0),
904 Child, string.reject_string = StringObject,
905 StringFrame,
906 End,
907 Child, MUI_MakeObject(MUIO_Label,
908 "Cursor position:", 0),
909 Child, string.cursor_pos_slider =
910 SliderObject,
911 MUIA_Group_Horiz, TRUE,
912 MUIA_Numeric_Min, 0,
913 End,
914 Child, MUI_MakeObject(MUIO_Label,
915 "Display position:", 0),
916 Child, string.display_pos_slider =
917 SliderObject,
918 MUIA_Group_Horiz, TRUE,
919 MUIA_Numeric_Min, 0,
920 End,
921 Child, MUI_MakeObject(MUIO_Label,
922 "Integer value:", 0),
923 Child, string.integer_string =
924 StringObject,
925 StringFrame,
926 MUIA_String_Accept, (IPTR)digits,
927 End,
928 Child, MUI_MakeObject(MUIO_Label,
929 "Plaintext:", 0),
930 Child, string.plaintext_string =
931 StringObject,
932 StringFrame,
933 End,
934 Child, MUI_MakeObject(MUIO_Label,
935 "Maximum string length:", 0),
936 Child, string.max_len_text = TextObject,
937 TextFrame,
938 MUIA_Text_Contents, "Unknown",
939 End,
940 End,
941 Child, VGroup,
942 Child, HGroup,
943 Child, string.cr_advance_check =
944 MUI_MakeObject(MUIO_Checkmark,
945 NULL),
946 Child, MUI_MakeObject(MUIO_Label,
947 "Advance on CR", 0),
948 Child, HVSpace,
949 End,
950 Child, HGroup,
951 Child, string.attach_list_check =
952 MUI_MakeObject(MUIO_Checkmark,
953 NULL),
954 Child, MUI_MakeObject(MUIO_Label,
955 "Attach list", 0),
956 Child, HVSpace,
957 End,
958 #if 0
959 Child, HGroup,
960 Child, string.standard_hook_check =
961 MUI_MakeObject(MUIO_Checkmark,
962 NULL),
963 Child, MUI_MakeObject(MUIO_Label,
964 "Use standard edit hook", 0),
965 Child, HVSpace,
966 End,
967 Child, HGroup,
968 Child, string.custom_hook_check =
969 MUI_MakeObject(MUIO_Checkmark,
970 NULL),
971 Child, MUI_MakeObject(MUIO_Label,
972 "Use custom edit hook", 0),
973 Child, HVSpace,
974 End,
975 #endif
976 End,
977 Child, HVSpace,
978 End,
980 End,
981 End,
983 /* boopsi */
984 Child, VGroup,
985 Child, wheel = BoopsiObject, /* MUI/Boopsi tags mixed */
986 GroupFrame,
987 /* boopsi objects don't know */
988 /* their sizes, so we help */
989 /* keep important values */
990 /* during window resize */
991 MUIA_Boopsi_ClassID, "colorwheel.gadget",
992 MUIA_Boopsi_MinWidth , 30,
993 MUIA_Boopsi_MinHeight, 30,
994 MUIA_Boopsi_Remember , WHEEL_Saturation,
995 MUIA_Boopsi_Remember , WHEEL_Hue,
996 /* this magic fills in the screen pointer */
997 MUIA_Boopsi_TagScreen, WHEEL_Screen,
998 WHEEL_Screen, NULL,
999 GA_Left, 0,
1000 GA_Top, 0, /* MUI will automatically */
1001 GA_Width, 0, /* fill in the correct values */
1002 GA_Height, 0,
1003 ICA_TARGET, ICTARGET_IDCMP,
1004 /* needed for notification */
1005 WHEEL_Saturation, 0, /* start in the center */
1006 MUIA_FillArea, TRUE,
1007 /* use this because it defaults to FALSE
1008 for boopsi gadgets but the colorwheel
1009 doesn't bother about redrawing its
1010 background */
1011 End,
1013 Child, r_slider = SliderObject,
1014 MUIA_Group_Horiz, TRUE,
1015 MUIA_Numeric_Min, 0,
1016 MUIA_Numeric_Max, 255,
1017 End,
1018 Child, g_slider = SliderObject,
1019 MUIA_Group_Horiz, TRUE,
1020 MUIA_Numeric_Min, 0,
1021 MUIA_Numeric_Max, 255,
1022 End,
1023 Child, b_slider = SliderObject,
1024 MUIA_Group_Horiz, TRUE,
1025 MUIA_Numeric_Min, 0,
1026 MUIA_Numeric_Max, 255,
1027 End,
1028 Child, hue_gauge = GaugeObject,
1029 GaugeFrame,
1030 MUIA_Gauge_Horiz, TRUE,
1031 MUIA_Gauge_Max, 255,
1032 MUIA_Gauge_Divide, 1<<24,
1033 MUIA_Gauge_InfoText, "Hue: %ld",
1034 End,
1035 End,
1037 /* color */
1038 Child, RegisterGroup(color_pages),
1039 Child, VGroup, GroupFrameT("Palette"),
1040 Child, PaletteObject,
1041 End,
1042 End,
1043 Child, HGroup,
1044 Child, VGroup, GroupFrameT("Colorfield"),
1046 Child, HGroup,
1047 Child, colorfield = ColorfieldObject,
1048 MUIA_Colorfield_RGB, default_color,
1049 MUIA_Colorfield_Pen, 253,
1050 End,
1051 Child, colorfield2 = ColorfieldObject,
1052 MUIA_Colorfield_Red, default_color[0],
1053 MUIA_Colorfield_Green, default_color[1],
1054 MUIA_Colorfield_Blue, default_color[2],
1055 End,
1056 End,
1057 Child, colorfield_reset_button =
1058 MUI_MakeObject(MUIO_Button,
1059 "Reset"),
1060 Child, HGroup,
1061 Child,
1062 MUI_MakeObject(MUIO_Label, "Pen:", 0),
1063 Child, colorfield_pen = StringObject,
1064 StringFrame,
1065 End,
1066 End,
1067 End,
1068 Child, VGroup, GroupFrameT("Coloradjust"),
1069 Child, coloradjust = ColoradjustObject,
1070 MUIA_Coloradjust_RGB, default_color,
1071 End,
1072 End,
1073 End,
1074 Child, HGroup,
1075 Child, VGroup,
1076 Child, VGroup, GroupFrameT("Pendisplay"),
1077 Child, HGroup,
1078 Child, pendisplay,
1079 Child, pendisplay2 = PendisplayObject,
1080 MUIA_Pendisplay_RGBcolor,
1081 default_color,
1082 End,
1083 End,
1084 Child, ColGroup(2),
1085 Child,
1086 MUI_MakeObject(
1087 MUIO_Label, "Pen:", 0),
1088 Child, HGroup,
1089 Child, pendisplay_pen =
1090 StringObject, StringFrame,
1091 End,
1092 Child, HVSpace,
1093 Child, reference_check =
1094 MUI_MakeObject(MUIO_Checkmark,
1095 NULL),
1096 Child, MUI_MakeObject(MUIO_Label,
1097 "Reference", 0),
1098 End,
1099 Child,
1100 MUI_MakeObject(
1101 MUIO_Label, "Penspec:", 0),
1102 Child, pendisplay_spec = StringObject,
1103 StringFrame,
1104 End,
1105 End,
1106 Child, HGroup,
1107 Child, shine_button =
1108 MUI_MakeObject(MUIO_Button,
1109 "Shine"),
1110 Child, shadow_button =
1111 MUI_MakeObject(MUIO_Button,
1112 "Shadow"),
1113 Child, yellow_button =
1114 MUI_MakeObject(MUIO_Button,
1115 "Yellow"),
1116 End,
1117 End,
1118 Child, VGroup, GroupFrameT("Poppen"),
1119 Child, poppen = PoppenObject,
1120 End,
1121 End,
1122 End,
1123 Child, VGroup, GroupFrameT("Penadjust"),
1124 Child, PenadjustObject,
1125 End,
1126 End,
1127 End,
1128 End,
1130 /* edit */
1131 Child, VGroup,
1132 Child, editor_text = StringObject,
1133 StringFrame,
1134 End,
1135 Child, PopaslObject,
1136 ASLFR_DoSaveMode, TRUE,
1137 MUIA_Popstring_String, filename_string =
1138 MUI_MakeObject(MUIO_String, NULL, 200),
1139 MUIA_Popstring_Button, PopButton(MUII_PopFile),
1140 End,
1141 Child, save_button =
1142 MUI_MakeObject(MUIO_Button, "Save"),
1143 End,
1145 /* lists */
1146 Child, RegisterGroup(list_pages),
1147 Child, VGroup,
1148 Child, ColGroup(LIST_COUNT),
1149 Child, VGroup, GroupFrameT("No Multiselect"),
1150 Child, lists[0],
1151 End,
1152 Child, VGroup,
1153 GroupFrameT("Default Multiselect"),
1154 Child, lists[1],
1155 End,
1156 Child, VGroup,
1157 GroupFrameT("Shifted Multiselect"),
1158 Child, lists[2],
1159 End,
1160 Child, VGroup,
1161 GroupFrameT("Unconditional Multiselect"),
1162 Child, lists[3],
1163 End,
1164 Child, VGroup,
1165 GroupFrameT("Read Only"),
1166 Child, lists[4],
1167 End,
1168 End,
1169 Child, RectangleObject,
1170 MUIA_VertWeight, 0,
1171 MUIA_Rectangle_HBar, TRUE,
1172 MUIA_Rectangle_BarTitle, "List Controls",
1173 End,
1174 Child, HGroup,
1175 Child, sort_button =
1176 MUI_MakeObject(MUIO_Button, "Sort"),
1177 Child, clear_button =
1178 MUI_MakeObject(MUIO_Button, "Clear"),
1179 Child, fill_button =
1180 MUI_MakeObject(MUIO_Button, "Fill"),
1181 Child, enable_button =
1182 MUI_MakeObject(MUIO_Button, "Enable"),
1183 End,
1184 Child, HGroup,
1185 Child, HGroup,
1186 Child, dragsortable_check =
1187 MUI_MakeObject(MUIO_Checkmark, NULL),
1188 Child, MUI_MakeObject(MUIO_Label,
1189 "Drag sortable", 0),
1190 Child, HVSpace,
1191 End,
1192 Child, HGroup,
1193 Child, showdropmarks_check =
1194 MUI_MakeObject(MUIO_Checkmark, NULL),
1195 Child, MUI_MakeObject(MUIO_Label,
1196 "Show drop marks", 0),
1197 Child, HVSpace,
1198 End,
1199 Child, HGroup,
1200 Child, quiet_check =
1201 MUI_MakeObject(MUIO_Checkmark,NULL),
1202 Child, MUI_MakeObject(MUIO_Label,
1203 "Quiet", 0),
1204 Child, HVSpace,
1205 End,
1206 End,
1207 End,
1208 Child, VGroup,
1209 Child, ListviewObject,
1210 MUIA_Listview_List, list2 = ListObject,
1211 InputListFrame,
1212 MUIA_List_DisplayHook, &hook_display2,
1213 End,
1214 End,
1215 Child, HGroup,
1216 Child, list_add_button =
1217 MUI_MakeObject(MUIO_Button,"_Add"),
1218 Child, list_remove_button =
1219 MUI_MakeObject(MUIO_Button,"_Remove"),
1220 Child, list_clear_button =
1221 MUI_MakeObject(MUIO_Button,"_Clear"),
1222 End,
1223 End,
1224 Child, VGroup,
1225 Child, ColGroup(LIST_COUNT / 2),
1226 Child, VGroup, GroupFrameT("Standard Format"),
1227 Child, multi_lists[0] = ListviewObject,
1228 MUIA_Listview_List,
1229 ListObject,
1230 InputListFrame,
1231 MUIA_List_DisplayHook,
1232 &hook_display,
1233 MUIA_List_Format, list_format,
1234 MUIA_List_SourceArray, entries,
1235 MUIA_List_Title, TRUE,
1236 End,
1237 MUIA_Listview_MultiSelect,
1238 MUIV_Listview_MultiSelect_None,
1239 MUIA_CycleChain, 1,
1240 End,
1241 End,
1242 Child, VGroup, GroupFrameT("Custom Format"),
1243 Child, multi_lists[1] = ListviewObject,
1244 MUIA_Listview_List,
1245 ListObject,
1246 InputListFrame,
1247 MUIA_List_DisplayHook,
1248 &hook_display,
1249 MUIA_List_Format, list_format,
1250 MUIA_List_SourceArray, entries,
1251 MUIA_List_Title, TRUE,
1252 End,
1253 MUIA_Listview_MultiSelect,
1254 MUIV_Listview_MultiSelect_None,
1255 MUIA_CycleChain, 1,
1256 End,
1257 End,
1258 End,
1259 Child, RectangleObject,
1260 MUIA_VertWeight, 0,
1261 MUIA_Rectangle_HBar, TRUE,
1262 MUIA_Rectangle_BarTitle, "List Controls",
1263 End,
1264 Child, HGroup,
1265 Child, MUI_MakeObject(MUIO_Label, "Format:", 0),
1266 Child, format_string = StringObject,
1267 StringFrame,
1268 MUIA_String_Contents, list_format,
1269 MUIA_CycleChain, 1,
1270 End,
1271 Child, showheadings_check =
1272 MUI_MakeObject(MUIO_Checkmark, NULL),
1273 Child, MUI_MakeObject(MUIO_Label,
1274 "Show column headings", 0),
1275 End,
1276 Child, HGroup,
1277 Child, MUI_MakeObject(MUIO_Label,
1278 "Clicked column:", 0),
1279 Child, column_string = StringObject,
1280 MUIA_ShowMe, FALSE,
1281 End,
1282 Child, column_text = TextObject,
1283 TextFrame,
1284 MUIA_Text_Contents, "N/A",
1285 End,
1286 End,
1287 End,
1288 End,
1290 /* gauges */
1291 Child, HGroup,
1292 Child, VGroup,
1293 Child, VGroup,
1294 GroupFrame,
1295 Child, GaugeObject,
1296 GaugeFrame,
1297 MUIA_Gauge_InfoText, "%ld %%",
1298 MUIA_Gauge_Horiz, TRUE,
1299 MUIA_Gauge_Current, 25,
1300 End,
1301 Child, ScaleObject,
1302 End,
1303 End,
1304 Child, VGroup,
1305 GroupFrame,
1306 Child, GaugeObject,
1307 GaugeFrame,
1308 MUIA_Gauge_InfoText, "%ld %%",
1309 MUIA_Gauge_Horiz, TRUE,
1310 MUIA_Gauge_Current, 50,
1311 End,
1312 Child, ScaleObject,
1313 End,
1314 End,
1315 Child, VGroup,
1316 GroupFrame,
1317 Child, GaugeObject,
1318 GaugeFrame,
1319 MUIA_Gauge_InfoText, "%ld %%",
1320 MUIA_Gauge_Horiz, TRUE,
1321 MUIA_Gauge_Current, 75,
1322 End,
1323 Child, ScaleObject,
1324 End,
1325 End,
1326 End,
1327 Child, HGroup,
1328 Child, HVSpace,
1329 Child, GaugeObject,
1330 GaugeFrame,
1331 MUIA_Gauge_InfoText, "%ld %%",
1332 MUIA_Gauge_Current, 25,
1333 End,
1334 Child, GaugeObject,
1335 GaugeFrame,
1336 MUIA_Gauge_InfoText, "%ld %%",
1337 MUIA_Gauge_Current, 50,
1338 End,
1339 Child, GaugeObject,
1340 GaugeFrame,
1341 MUIA_Gauge_InfoText, "%ld %%",
1342 MUIA_Gauge_Current, 75,
1343 End,
1344 Child, HVSpace,
1345 End,
1346 End,
1348 /* numeric */
1349 Child, HGroup,
1350 Child, ColGroup(2),
1351 GroupFrameT("Horizontal Sliders"),
1352 Child, MUI_MakeObject(MUIO_Label, "Normal:", 0),
1353 Child, numerics[HNSLIDER] = SliderObject,
1354 MUIA_Slider_Horiz, TRUE,
1355 MUIA_Numeric_Min, NUMERIC_MIN,
1356 MUIA_Numeric_Max, NUMERIC_MAX,
1357 MUIA_CycleChain, 1,
1358 End,
1359 Child, MUI_MakeObject(MUIO_Label, "Reverse:", 0),
1360 Child, numerics[HRSLIDER] = SliderObject,
1361 MUIA_Numeric_Reverse, TRUE,
1362 MUIA_Numeric_Min, NUMERIC_MIN,
1363 MUIA_Numeric_Max, NUMERIC_MAX,
1364 MUIA_CycleChain, 1,
1365 End,
1366 Child, MUI_MakeObject(MUIO_Label, "Quiet:", 0),
1367 Child, numerics[HQSLIDER] = SliderObject,
1368 MUIA_Slider_Quiet, TRUE,
1369 MUIA_Numeric_Min, NUMERIC_MIN,
1370 MUIA_Numeric_Max, NUMERIC_MAX,
1371 MUIA_CycleChain, 1,
1372 End,
1373 End,
1374 Child, ColGroup(3),
1375 GroupFrameT("Vertical Sliders"),
1376 Child, MUI_MakeObject(MUIO_Label, "Normal", 0),
1377 Child, MUI_MakeObject(MUIO_Label, "Reverse", 0),
1378 Child, MUI_MakeObject(MUIO_Label, "Quiet", 0),
1379 Child, numerics[VNSLIDER] = SliderObject,
1380 MUIA_Slider_Horiz, FALSE,
1381 MUIA_Numeric_Min, NUMERIC_MIN,
1382 MUIA_Numeric_Max, NUMERIC_MAX,
1383 MUIA_CycleChain, 1,
1384 End,
1385 Child, numerics[VRSLIDER] = SliderObject,
1386 MUIA_Slider_Horiz, FALSE,
1387 MUIA_Numeric_Reverse, TRUE,
1388 MUIA_Numeric_Min, NUMERIC_MIN,
1389 MUIA_Numeric_Max, NUMERIC_MAX,
1390 MUIA_CycleChain, 1,
1391 End,
1392 Child, numerics[VQSLIDER] = SliderObject,
1393 MUIA_Slider_Horiz, FALSE,
1394 MUIA_Slider_Quiet, TRUE,
1395 MUIA_Numeric_Min, NUMERIC_MIN,
1396 MUIA_Numeric_Max, NUMERIC_MAX,
1397 MUIA_CycleChain, 1,
1398 End,
1399 End,
1400 Child, ColGroup(2),
1401 GroupFrameT("Numeric Buttons"),
1402 Child, MUI_MakeObject(MUIO_Label, "Normal:", 0),
1403 Child, numerics[NNUMERICBUTTON] =
1404 NumericbuttonObject,
1405 MUIA_Numeric_Min, NUMERIC_MIN,
1406 MUIA_Numeric_Max, NUMERIC_MAX,
1407 MUIA_CycleChain, 1,
1408 End,
1409 Child, MUI_MakeObject(MUIO_Label, "Reverse:", 0),
1410 Child, numerics[RNUMERICBUTTON] =
1411 NumericbuttonObject,
1412 MUIA_Numeric_Reverse, TRUE,
1413 MUIA_Numeric_Min, NUMERIC_MIN,
1414 MUIA_Numeric_Max, NUMERIC_MAX,
1415 MUIA_CycleChain, 1,
1416 End,
1417 End,
1418 Child, ColGroup(2),
1419 GroupFrameT("Knobs"),
1420 Child, MUI_MakeObject(MUIO_Label, "Normal", 0),
1421 Child, MUI_MakeObject(MUIO_Label, "Reverse", 0),
1422 Child, numerics[NKNOB] = KnobObject,
1423 MUIA_Numeric_Min, NUMERIC_MIN,
1424 MUIA_Numeric_Max, NUMERIC_MAX,
1425 MUIA_CycleChain, 1,
1426 End,
1427 Child, numerics[RKNOB] = KnobObject,
1428 MUIA_Numeric_Reverse, TRUE,
1429 MUIA_Numeric_Min, NUMERIC_MIN,
1430 MUIA_Numeric_Max, NUMERIC_MAX,
1431 MUIA_CycleChain, 1,
1432 End,
1433 End,
1434 Child, ColGroup(2),
1435 Child, MUI_MakeObject(MUIO_Label,
1436 "Minimum Value:", 0),
1437 Child, min_string = (Object *)StringObject,
1438 StringFrame,
1439 MUIA_String_Accept, (IPTR)digits,
1440 MUIA_String_Integer, NUMERIC_MIN,
1441 MUIA_CycleChain, 1,
1442 End,
1443 Child, MUI_MakeObject(MUIO_Label,
1444 "Maximum Value:", 0),
1445 Child, max_string = (Object *)StringObject,
1446 StringFrame,
1447 MUIA_String_Accept, (IPTR)digits,
1448 MUIA_String_Integer, NUMERIC_MAX,
1449 MUIA_CycleChain, 1,
1450 End,
1451 Child, slider_button = TextObject,
1452 ButtonFrame,
1453 MUIA_InputMode, MUIV_InputMode_RelVerify,
1454 MUIA_CycleChain, 1,
1455 MUIA_Background, MUII_ButtonBack,
1456 MUIA_Text_PreParse, "\33c",
1457 MUIA_Text_Contents,
1458 "Change Slider Orientations",
1459 End,
1460 Child, MUI_MakeObject(MUIO_Label, "", 0),
1461 End,
1462 End,
1464 /* radios */
1465 Child, HGroup,
1466 Child, VGroup,
1467 Child, RadioObject,
1468 GroupFrame,
1469 MUIA_Radio_Entries, radio_entries1,
1470 End,
1471 Child, country_radio[0] = RadioObject,
1472 GroupFrame,
1473 MUIA_Radio_Entries, radio_entries2,
1474 MUIA_Radio_Active, 1,
1475 End,
1476 End,
1477 Child, HGroup,
1478 Child, RadioObject,
1479 GroupFrame,
1480 MUIA_Radio_Entries, radio_entries1,
1481 End,
1482 Child, country_radio[1] = RadioObject,
1483 GroupFrame,
1484 MUIA_Radio_Entries, radio_entries2,
1485 MUIA_Radio_Active, 1,
1486 End,
1487 End,
1488 End,
1490 #if defined(TEST_ICONLIST)
1491 /* iconlist */
1492 Child, HGroup,
1493 Child, volume_iconlist =
1494 MUI_NewObject(MUIC_IconVolumeList, GroupFrame,
1495 TAG_DONE),
1496 Child, drawer_iconlist =
1497 MUI_NewObject(MUIC_IconDrawerList, GroupFrame,
1498 MUIA_IconDrawerList_Drawer, "SYS:",
1499 TAG_DONE),
1500 End,
1501 #endif
1503 /* balancing */
1504 Child, HGroup,
1505 Child, create_balance_column(),
1506 Child, BalanceObject,
1507 End,
1509 Child, create_balance_column(),
1510 Child, BalanceObject,
1511 End,
1513 Child, create_balance_column(),
1514 Child, BalanceObject,
1515 End,
1517 Child, create_balance_column(),
1518 Child, BalanceObject,
1519 End,
1521 Child, create_balance_column(),
1523 End,
1525 End,
1527 Child, HGroup,
1528 Child, about_button = TextObject,
1529 ButtonFrame,
1530 MUIA_InputMode, MUIV_InputMode_RelVerify,
1531 MUIA_CycleChain, 1,
1532 MUIA_Background, MUII_ButtonBack,
1533 MUIA_Text_PreParse, "\33c",
1534 MUIA_Text_Contents, "About",
1535 End,
1536 Child, quit_button = TextObject,
1537 ButtonFrame,
1538 MUIA_InputMode, MUIV_InputMode_RelVerify,
1539 MUIA_CycleChain, 1,
1540 MUIA_Background, MUII_ButtonBack,
1541 MUIA_ControlChar, 'q',
1542 MUIA_Text_HiChar, 'q',
1543 MUIA_Text_PreParse, "\33c",
1544 MUIA_Text_Contents, "Quit",
1545 End,
1546 End,
1547 End,
1548 End,
1550 SubWindow, second_wnd = WindowObject,
1551 MUIA_Window_Title, "Second window",
1552 WindowContents, VGroup,
1553 Child, DropTextObject,
1554 MUIA_Text_Contents, "Drop here",
1555 MUIA_Dropable, TRUE,
1556 End,
1557 End,
1558 End,
1560 End;
1562 if (app)
1564 ULONG sigs = 0;
1566 DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2,
1567 MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
1568 DoMethod(second_wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
1569 second_wnd, 3, MUIM_Set, MUIA_Window_Open, FALSE);
1570 DoMethod(open_button, MUIM_Notify, MUIA_Pressed, FALSE, second_wnd,
1571 3, MUIM_Set, MUIA_Window_Open, TRUE);
1572 DoMethod(about_button, MUIM_Notify, MUIA_Pressed, FALSE, app, 2,
1573 MUIM_Application_AboutMUI, NULL);
1574 DoMethod(quit_button, MUIM_Notify, MUIA_Pressed, FALSE, app, 2,
1575 MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit);
1576 DoMethod(objects_button, MUIM_Notify, MUIA_Pressed, FALSE, app, 2,
1577 MUIM_CallHook, &hook_objects);
1578 DoMethod(repeat_button, MUIM_Notify, MUIA_Timer, MUIV_EveryTime,
1579 app, 2, MUIM_CallHook, &hook);
1581 /* Notifications and set-up for string objects */
1582 DoMethod(string.max_len_text, MUIM_SetAsString, MUIA_Text_Contents,
1583 "%ld", XGET(string.strings[0], MUIA_String_MaxLen) - 1);
1584 set(string.cursor_pos_slider, MUIA_Numeric_Max,
1585 XGET(string.strings[0], MUIA_String_MaxLen) - 1);
1586 set(string.display_pos_slider, MUIA_Numeric_Max,
1587 XGET(string.strings[0], MUIA_String_MaxLen) - 1);
1588 set(string.cr_advance_check, MUIA_Selected, TRUE);
1589 set(string.attach_list_check, MUIA_Selected, TRUE);
1590 set(string.strings[1], MUIA_Disabled,
1591 XGET(string.strings[1], MUIA_String_Format)
1592 != MUIV_String_Format_Left);
1593 set(string.strings[2], MUIA_Disabled,
1594 XGET(string.strings[2], MUIA_String_Format)
1595 != MUIV_String_Format_Right);
1596 set(string.strings[3], MUIA_Disabled,
1597 XGET(string.strings[3], MUIA_String_Format)
1598 != MUIV_String_Format_Center);
1599 set(string.strings[4], MUIA_Disabled,
1600 !XGET(string.strings[4], MUIA_String_Secret));
1601 set(string.strings[0], MUIA_String_MaxLen, 100);
1602 set(string.reject_string, MUIA_String_Contents,
1603 (IPTR)default_reject_chars);
1605 for (i = 0; i < STRING_COUNT; i++)
1607 if (i == 0)
1609 DoMethod(string.accept_string, MUIM_Notify,
1610 MUIA_String_Contents, MUIV_EveryTime, string.strings[i],
1611 3, MUIM_Set, MUIA_String_Accept, MUIV_TriggerValue);
1612 DoMethod(string.cr_advance_check, MUIM_Notify, MUIA_Selected,
1613 MUIV_EveryTime, string.strings[i], 3, MUIM_Set,
1614 MUIA_String_AdvanceOnCR, MUIV_TriggerValue);
1615 DoMethod(string.cursor_pos_slider, MUIM_Notify,
1616 MUIA_Numeric_Value, MUIV_EveryTime, string.strings[i], 3,
1617 MUIM_Set, MUIA_String_BufferPos, MUIV_TriggerValue);
1618 DoMethod(string.display_pos_slider, MUIM_Notify,
1619 MUIA_Numeric_Value, MUIV_EveryTime, string.strings[i], 3,
1620 MUIM_Set, MUIA_String_DisplayPos, MUIV_TriggerValue);
1621 DoMethod(string.attach_list_check, MUIM_Notify, MUIA_Selected,
1622 TRUE, string.strings[i], 3, MUIM_Set,
1623 MUIA_String_AttachedList, lists[0]);
1624 DoMethod(string.attach_list_check, MUIM_Notify, MUIA_Selected,
1625 FALSE, string.strings[i], 3, MUIM_Set,
1626 MUIA_String_AttachedList, NULL);
1628 else
1630 DoMethod(string.strings[0], MUIM_Notify, MUIA_String_Accept,
1631 MUIV_EveryTime, string.strings[i], 3, MUIM_Set,
1632 MUIA_String_Accept, MUIV_TriggerValue);
1633 DoMethod(string.strings[0], MUIM_Notify,
1634 MUIA_String_AdvanceOnCR, MUIV_EveryTime,
1635 string.strings[i], 3, MUIM_Set, MUIA_String_AdvanceOnCR,
1636 MUIV_TriggerValue);
1637 DoMethod(string.strings[0], MUIM_Notify,
1638 MUIA_String_BufferPos, MUIV_EveryTime,
1639 string.strings[i], 3, MUIM_Set, MUIA_String_BufferPos,
1640 MUIV_TriggerValue);
1641 DoMethod(string.strings[0], MUIM_Notify,
1642 MUIA_String_DisplayPos, MUIV_EveryTime,
1643 string.strings[i], 3, MUIM_Set, MUIA_String_DisplayPos,
1644 MUIV_TriggerValue);
1645 DoMethod(string.strings[0], MUIM_Notify,
1646 MUIA_String_AttachedList, MUIV_EveryTime,
1647 string.strings[i], 3, MUIM_Set,
1648 MUIA_String_AttachedList, MUIV_TriggerValue);
1650 DoMethod(string.reject_string, MUIM_Notify, MUIA_String_Contents,
1651 MUIV_EveryTime, string.strings[i], 3, MUIM_Set,
1652 MUIA_String_Reject, MUIV_TriggerValue);
1653 DoMethod(string.strings[i], MUIM_Notify, MUIA_String_Integer,
1654 MUIV_EveryTime, string.integer_string, 3, MUIM_NoNotifySet,
1655 MUIA_String_Integer, MUIV_TriggerValue);
1656 DoMethod(string.integer_string, MUIM_Notify, MUIA_String_Integer,
1657 MUIV_EveryTime, string.strings[i], 3, MUIM_NoNotifySet,
1658 MUIA_String_Integer, MUIV_TriggerValue);
1660 DoMethod(string.accept_all_check, MUIM_Notify, MUIA_Selected,
1661 MUIV_EveryTime, app, 3, MUIM_CallHook, &hook_standard,
1662 ChangeStringAccept);
1663 DoMethod(string.strings[4], MUIM_Notify, MUIA_String_Acknowledge,
1664 MUIV_EveryTime, string.plaintext_string, 3, MUIM_NoNotifySet,
1665 MUIA_String_Contents, MUIV_TriggerValue);
1666 DoMethod(string.plaintext_string, MUIM_Notify,
1667 MUIA_String_Acknowledge, MUIV_EveryTime, string.strings[4], 3,
1668 MUIM_NoNotifySet, MUIA_String_Contents, MUIV_TriggerValue);
1670 DoMethod(wheel, MUIM_Notify, WHEEL_Hue, MUIV_EveryTime, app, 2,
1671 MUIM_CallHook, &hook_wheel);
1672 DoMethod(wheel, MUIM_Notify, WHEEL_Saturation, MUIV_EveryTime, app,
1673 2, MUIM_CallHook, &hook_wheel);
1674 DoMethod(r_slider, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime,
1675 app, 2, MUIM_CallHook, &hook_slider);
1676 DoMethod(g_slider, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime,
1677 app, 2, MUIM_CallHook, &hook_slider);
1678 DoMethod(b_slider, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime,
1679 app, 2, MUIM_CallHook, &hook_slider);
1681 DoMethod(save_button, MUIM_Notify, MUIA_Pressed, FALSE, app, 3,
1682 MUIM_CallHook, &hook_standard, save_function);
1684 DoMethod(quit_item, MUIM_Notify, MUIA_Menuitem_Trigger,
1685 MUIV_EveryTime, app, 2, MUIM_Application_ReturnID,
1686 MUIV_Application_ReturnID_Quit);
1687 DoMethod(about_item, MUIM_Notify, MUIA_Menuitem_Trigger,
1688 MUIV_EveryTime, app, 3, MUIM_CallHook, &hook_standard,
1689 about_function);
1691 /* Notifications for color objects */
1692 DoMethod(colorfield, MUIM_Notify, MUIA_Colorfield_Red,
1693 MUIV_EveryTime, colorfield2, 3, MUIM_Set, MUIA_Colorfield_Red,
1694 MUIV_TriggerValue);
1695 DoMethod(colorfield, MUIM_Notify, MUIA_Colorfield_Green,
1696 MUIV_EveryTime, colorfield2, 3, MUIM_Set, MUIA_Colorfield_Green,
1697 MUIV_TriggerValue);
1698 DoMethod(colorfield, MUIM_Notify, MUIA_Colorfield_Blue,
1699 MUIV_EveryTime, colorfield2, 3, MUIM_Set, MUIA_Colorfield_Blue,
1700 MUIV_TriggerValue);
1701 DoMethod(coloradjust, MUIM_Notify, MUIA_Coloradjust_Red,
1702 MUIV_EveryTime, colorfield, 3, MUIM_Set, MUIA_Colorfield_Red,
1703 MUIV_TriggerValue);
1704 DoMethod(coloradjust, MUIM_Notify, MUIA_Coloradjust_Green,
1705 MUIV_EveryTime, colorfield, 3, MUIM_Set, MUIA_Colorfield_Green,
1706 MUIV_TriggerValue);
1707 DoMethod(coloradjust, MUIM_Notify, MUIA_Coloradjust_Blue,
1708 MUIV_EveryTime, colorfield, 3, MUIM_Set, MUIA_Colorfield_Blue,
1709 MUIV_TriggerValue);
1710 DoMethod(colorfield, MUIM_Notify, MUIA_Colorfield_Pen,
1711 MUIV_EveryTime, colorfield_pen, 3, MUIM_Set,
1712 MUIA_String_Integer, MUIV_TriggerValue);
1713 DoMethod(colorfield_pen, MUIM_Notify, MUIA_String_Acknowledge,
1714 MUIV_EveryTime, app, 3, MUIM_CallHook, &hook_standard,
1715 changepen_function);
1716 DoMethod(colorfield_reset_button, MUIM_Notify, MUIA_Pressed, FALSE,
1717 colorfield, 3, MUIM_Set, MUIA_Colorfield_RGB, default_color);
1719 /* Notifications for pen objects */
1720 DoMethod(pendisplay, MUIM_Notify, MUIA_Pendisplay_Pen,
1721 MUIV_EveryTime, pendisplay_pen, 3, MUIM_NoNotifySet,
1722 MUIA_String_Integer, MUIV_TriggerValue);
1723 DoMethod(pendisplay_pen, MUIM_Notify, MUIA_String_Acknowledge,
1724 MUIV_EveryTime, app, 3, MUIM_CallHook, &hook_standard,
1725 ChangePendisplayPen);
1726 DoMethod(pendisplay, MUIM_Notify, MUIA_Pendisplay_Spec,
1727 MUIV_EveryTime, pendisplay_spec, 3, MUIM_Set,
1728 MUIA_String_Contents, MUIV_TriggerValue);
1729 DoMethod(colorfield, MUIM_Notify, MUIA_Colorfield_RGB,
1730 MUIV_EveryTime, pendisplay, 3, MUIM_Set,
1731 MUIA_Pendisplay_RGBcolor, MUIV_TriggerValue);
1732 DoMethod(pendisplay, MUIM_Notify, MUIA_Pendisplay_RGBcolor,
1733 MUIV_EveryTime, poppen, 3, MUIM_Set, MUIA_Pendisplay_RGBcolor,
1734 MUIV_TriggerValue);
1735 DoMethod(pendisplay_spec, MUIM_Notify, MUIA_String_Contents,
1736 MUIV_EveryTime, pendisplay, 3, MUIM_Set, MUIA_Pendisplay_Spec,
1737 MUIV_TriggerValue);
1738 DoMethod(reference_check, MUIM_Notify, MUIA_Selected, TRUE,
1739 pendisplay2, 3, MUIM_Set, MUIA_Pendisplay_Reference, pendisplay);
1740 DoMethod(reference_check, MUIM_Notify, MUIA_Selected, FALSE,
1741 pendisplay2, 3, MUIM_Set, MUIA_Pendisplay_Reference, NULL);
1742 DoMethod(shine_button, MUIM_Notify, MUIA_Pressed, FALSE, pendisplay,
1743 2, MUIM_Pendisplay_SetMUIPen, MPEN_SHINE);
1744 DoMethod(shadow_button, MUIM_Notify, MUIA_Pressed, FALSE, pendisplay,
1745 2, MUIM_Pendisplay_SetMUIPen, MPEN_SHADOW);
1746 DoMethod(yellow_button, MUIM_Notify, MUIA_Pressed, FALSE, pendisplay,
1747 4, MUIM_Pendisplay_SetRGB, 0xffffffff, 0xffffffff, 0);
1749 /* list */
1750 set(showdropmarks_check, MUIA_Selected, TRUE);
1751 for (i = 0; i < LIST_COUNT; i++)
1753 DoMethod(lists[i], MUIM_Notify, MUIA_Listview_DoubleClick,
1754 MUIV_EveryTime, lists[i], 3, MUIM_Set, MUIA_Disabled, TRUE);
1755 DoMethod(sort_button, MUIM_Notify, MUIA_Pressed, FALSE,
1756 lists[i], 1, MUIM_List_Sort);
1757 DoMethod(clear_button, MUIM_Notify, MUIA_Pressed, FALSE,
1758 lists[i], 1, MUIM_List_Clear);
1759 DoMethod(fill_button, MUIM_Notify, MUIA_Pressed, FALSE,
1760 lists[i], 4, MUIM_List_Insert, fruits, -1,
1761 MUIV_List_Insert_Bottom);
1762 DoMethod(enable_button, MUIM_Notify, MUIA_Pressed, FALSE,
1763 lists[i], 3, MUIM_Set, MUIA_Disabled, FALSE);
1764 DoMethod(dragsortable_check, MUIM_Notify, MUIA_Selected,
1765 MUIV_EveryTime, lists[i], 3, MUIM_Set,
1766 MUIA_List_DragSortable, MUIV_TriggerValue);
1767 DoMethod(showdropmarks_check, MUIM_Notify, MUIA_Selected,
1768 MUIV_EveryTime, lists[i], 3, MUIM_Set,
1769 MUIA_List_ShowDropMarks, MUIV_TriggerValue);
1770 DoMethod(quiet_check, MUIM_Notify, MUIA_Selected,
1771 MUIV_EveryTime, lists[i], 3, MUIM_Set, MUIA_List_Quiet,
1772 MUIV_TriggerValue);
1775 set(showheadings_check, MUIA_Selected, TRUE);
1776 DoMethod(format_string, MUIM_Notify, MUIA_String_Acknowledge,
1777 MUIV_EveryTime, multi_lists[1], 3, MUIM_Set, MUIA_List_Format,
1778 MUIV_TriggerValue);
1779 for (i = 0; i < MULTI_LIST_COUNT; i++)
1781 DoMethod(showheadings_check, MUIM_Notify, MUIA_Selected,
1782 MUIV_EveryTime, multi_lists[i], 3, MUIM_Set,
1783 MUIA_List_Title, MUIV_TriggerValue);
1784 DoMethod(multi_lists[i], MUIM_Notify, MUIA_Listview_ClickColumn,
1785 MUIV_EveryTime, column_string, 3, MUIM_Set,
1786 MUIA_String_Integer, MUIV_TriggerValue);
1788 DoMethod(column_string, MUIM_Notify, MUIA_String_Contents,
1789 MUIV_EveryTime, column_text, 3, MUIM_Set, MUIA_Text_Contents,
1790 MUIV_TriggerValue);
1792 DoMethod(listview, MUIM_Notify, MUIA_Listview_DoubleClick, TRUE,
1793 popobject, 2, MUIM_Popstring_Close, TRUE);
1795 /* The callbacks of the buttons within the list page */
1796 DoMethod(list_add_button, MUIM_Notify, MUIA_Pressed, FALSE, app, 3,
1797 MUIM_CallHook, &hook_standard, add_function);
1798 DoMethod(list_remove_button, MUIM_Notify, MUIA_Pressed, FALSE,
1799 list2, 2, MUIM_List_Remove, MUIV_List_Remove_Active);
1800 DoMethod(list_clear_button, MUIM_Notify, MUIA_Pressed, FALSE, list2,
1801 1, MUIM_List_Clear);
1803 /* numeric */
1804 for (i = 0; i < NUMERIC_COUNT; i++)
1806 DoMethod(min_string, MUIM_Notify, MUIA_String_Integer,
1807 MUIV_EveryTime, numerics[i], 3, MUIM_Set, MUIA_Numeric_Min,
1808 MUIV_TriggerValue);
1809 DoMethod(max_string, MUIM_Notify, MUIA_String_Integer,
1810 MUIV_EveryTime, numerics[i], 3, MUIM_Set, MUIA_Numeric_Max,
1811 MUIV_TriggerValue);
1813 DoMethod(slider_button, MUIM_Notify, MUIA_Pressed, FALSE,
1814 numerics[HRSLIDER], 3, MUIM_Set, MUIA_Slider_Horiz, FALSE);
1816 /* radio */
1817 DoMethod(country_radio[0], MUIM_Notify, MUIA_Radio_Active,
1818 MUIV_EveryTime, country_radio[1], 3, MUIM_NoNotifySet,
1819 MUIA_Radio_Active, MUIV_TriggerValue);
1820 DoMethod(country_radio[1], MUIM_Notify, MUIA_Radio_Active,
1821 MUIV_EveryTime, country_radio[0], 3, MUIM_NoNotifySet,
1822 MUIA_Radio_Active, MUIV_TriggerValue);
1824 #if defined(TEST_ICONLIST)
1825 /* iconlist */
1826 DoMethod(volume_iconlist, MUIM_Notify, MUIA_IconList_DoubleClick,
1827 TRUE, volume_iconlist, 3, MUIM_CallHook, &hook_standard,
1828 volume_doubleclicked);
1829 DoMethod(drawer_iconlist, MUIM_Notify, MUIA_IconList_DoubleClick,
1830 TRUE, drawer_iconlist, 3, MUIM_CallHook, &hook_standard,
1831 drawer_doubleclicked);
1832 #endif
1834 set(wnd, MUIA_Window_Open, TRUE);
1835 set(wnd, MUIA_Window_ScreenTitle, "Zune Test application");
1837 /* Set pen fields */
1838 set(colorfield_pen, MUIA_String_Integer,
1839 XGET(colorfield, MUIA_Colorfield_Pen));
1841 char pen_str[10];
1842 nnset(pendisplay_pen, MUIA_String_Integer,
1843 XGET(pendisplay, MUIA_Pendisplay_Pen));
1845 struct MUI_PenSpec *pen_spec = NULL;
1846 GET(pendisplay, MUIA_Pendisplay_Spec, &pen_spec);
1847 strncpy(pen_str, pen_spec->buf, 10);
1848 set(pendisplay_spec, MUIA_String_Contents, pen_str);
1850 while ((LONG) DoMethod(app, MUIM_Application_NewInput,
1851 &sigs) != MUIV_Application_ReturnID_Quit)
1853 if (sigs)
1855 sigs = Wait(sigs | SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_D);
1856 if (sigs & SIGBREAKF_CTRL_C)
1857 break;
1858 if (sigs & SIGBREAKF_CTRL_D)
1859 break;
1863 MUI_DisposeObject(app);
1865 if (context_menu)
1866 MUI_DisposeObject(context_menu);
1867 CloseLibrary(ColorWheelBase);
1868 MUI_DeleteCustomClass(CL_DropText);
1870 CloseLibrary(MUIMasterBase);
1871 return 0;