2 Copyright © 2002-2015, The AROS Development Team.
8 #define INTUITION_NO_INLINE_STDARG
10 #include <exec/types.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
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"
42 #define MULTI_LIST_COUNT 2
45 #define NUMERIC_MAX 100
47 static const ULONG default_color
[] = {155 << 24, 180 << 24, 255 << 24};
48 static const struct MUI_PenSpec default_penspec
= {"m0"};
49 static const TEXT list_format
[] = "BAR,BAR,";
66 struct Library
*MUIMasterBase
;
67 struct Library
*ColorWheelBase
;
82 Object
*colorfield
, *colorfield2
, *colorfield_reset_button
, *colorfield_pen
;
84 Object
*pendisplay
, *pendisplay2
, *pendisplay_pen
, *pendisplay_spec
,
85 *reference_check
, *shine_button
, *shadow_button
, *yellow_button
, *poppen
;
88 Object
*filename_string
;
92 Object
*drawer_iconlist
;
93 Object
*volume_iconlist
;
95 AROS_UFH0(void, repeat_function
)
99 printf("MUI_Timer\n");
104 AROS_UFH0(void, wheel_function
)
108 nnset(r_slider
, MUIA_Numeric_Value
, (XGET(wheel
,
109 WHEEL_Red
) >> 24) & 0xff);
110 nnset(g_slider
, MUIA_Numeric_Value
, (XGET(wheel
,
111 WHEEL_Green
) >> 24) & 0xff);
112 nnset(b_slider
, MUIA_Numeric_Value
, (XGET(wheel
,
113 WHEEL_Blue
) >> 24) & 0xff);
118 AROS_UFH0(void, slider_function
)
122 struct ColorWheelRGB cw
;
123 ULONG red
= XGET(r_slider
, MUIA_Numeric_Value
);
124 ULONG green
= XGET(g_slider
, MUIA_Numeric_Value
);
125 ULONG blue
= XGET(b_slider
, MUIA_Numeric_Value
);
127 cw
.cw_Red
= (red
<< 24) | (red
<< 16) | (red
<< 8) | red
;
128 cw
.cw_Green
= (green
<< 24) | (green
<< 16) | (green
<< 8) | green
;
129 cw
.cw_Blue
= (blue
<< 24) | (blue
<< 16) | (blue
<< 8) | blue
;
131 nnset(wheel
, WHEEL_RGB
, &cw
);
132 set(hue_gauge
, MUIA_Gauge_Current
, XGET(wheel
, WHEEL_Hue
));
137 AROS_UFH0(void, objects_function
)
141 Object
*new_obj
= MUI_MakeObject(MUIO_Button
, "Button");
144 DoMethod(group
, MUIM_Group_InitChange
);
145 DoMethod(group
, OM_ADDMEMBER
, new_obj
);
146 DoMethod(group
, MUIM_Group_ExitChange
);
152 AROS_UFH0(void, about_function
)
156 static Object
*about_wnd
;
160 about_wnd
= AboutmuiObject
, MUIA_Aboutmui_Application
, app
, End
;
164 set(about_wnd
, MUIA_Window_Open
, TRUE
);
169 AROS_UFH0(void, changepen_function
)
175 GET(colorfield_pen
, MUIA_String_Integer
, &pen
);
177 SET(colorfield
, MUIA_Colorfield_Pen
, pen
);
182 AROS_UFH0(void, ChangePendisplayPen
)
186 DoMethod(pendisplay
, MUIM_Pendisplay_SetColormap
,
187 XGET(pendisplay_pen
, MUIA_String_Integer
));
192 AROS_UFH3(void, display_function
,
193 AROS_UFHA(struct Hook
*, h
, A0
),
194 AROS_UFHA(char **, strings
, A2
),
195 AROS_UFHA(struct list_entry
*, entry
, A1
))
199 static char buf
[100];
203 sprintf(buf
, "%ld", (long)*(strings
- 1));
205 strings
[1] = entry
->column1
;
206 strings
[2] = entry
->column2
;
210 strings
[0] = "Number";
211 strings
[1] = "Column 1";
212 strings
[2] = "Column 2";
218 AROS_UFH3(void, display2_function
,
219 AROS_UFHA(struct Hook
*, h
, A0
),
220 AROS_UFHA(char **, strings
, A2
),
221 AROS_UFHA(struct list_entry
*, entry
, A1
))
225 static char buf
[100];
229 sprintf(buf
, "line num: %ld id: %p", (long)*(strings
- 1), entry
);
234 strings
[0] = "Number";
240 AROS_UFH0(void, save_function
)
244 char *text
= (char *)XGET(editor_text
, MUIA_String_Contents
);
245 char *filename
= (char *)XGET(filename_string
, MUIA_String_Contents
);
248 if (!strlen(filename
))
251 if ((fh
= Open(filename
, MODE_NEWFILE
)))
253 Write(fh
, text
, strlen(text
));
262 AROS_UFH0(void, add_function
)
266 DoMethod(list2
, MUIM_List_InsertSingle
, id
++,
267 MUIV_List_Insert_Bottom
);
272 #if defined(TEST_ICONLIST)
273 /* IconList callbacks */
274 void volume_doubleclicked(void)
277 struct IconList_Entry
*ent
= (void *)MUIV_IconList_NextIcon_Start
;
279 DoMethod(volume_iconlist
, MUIM_IconList_NextIcon
,
280 MUIV_IconList_NextIcon_Selected
, &ent
);
281 if ((IPTR
) ent
== MUIV_IconList_NextIcon_End
)
284 strcpy(buf
, ent
->label
);
286 set(drawer_iconlist
, MUIA_IconDrawerList_Drawer
, buf
);
289 void drawer_doubleclicked(void)
291 struct IconList_Entry
*ent
= (void *)MUIV_IconList_NextIcon_Start
;
293 DoMethod(drawer_iconlist
, MUIM_IconList_NextIcon
,
294 MUIV_IconList_NextIcon_Selected
, &ent
);
295 if ((IPTR
) ent
== MUIV_IconList_NextIcon_End
)
297 set(drawer_iconlist
, MUIA_IconDrawerList_Drawer
,
298 ent
->ile_IconEntry
->ie_IconNode
.ln_Name
);
302 static IPTR
create_balance_column(void)
304 return (IPTR
) VGroup
,
305 Child
, RectangleObject
,
308 Child
, BalanceObject
,
310 Child
, RectangleObject
,
313 Child
, BalanceObject
,
315 Child
, RectangleObject
,
318 Child
, BalanceObject
,
320 Child
, RectangleObject
,
323 Child
, BalanceObject
,
325 Child
, RectangleObject
,
331 /* The custom class */
340 struct Library
*KeymapBase
;
344 __saveds __asm IPTR
dispatcher(register __a0
struct IClass
*cl
,
345 register __a2 Object
*obj
, register __a1 Msg msg
)
347 AROS_UFH3S(IPTR
, dispatcher
,
348 AROS_UFHA(Class
*, cl
, A0
),
349 AROS_UFHA(Object
*, obj
, A2
), AROS_UFHA(Msg
, msg
, A1
))
354 switch (msg
->MethodID
)
357 return MUIV_DragQuery_Accept
;
360 struct DropText_Data
*data
=
361 (struct DropText_Data
*)INST_DATA(cl
, obj
);
364 sprintf(buf
, "%ld times", (long)data
->times
);
365 /* no MUIM_SetAsString yet */
366 set(obj
, MUIA_Text_Contents
, buf
);
370 return DoSuperMethodA(cl
, obj
, (Msg
) msg
);
375 struct MUI_CustomClass
*CL_DropText
;
377 #define DropTextObject BOOPSIOBJMACRO_START(CL_DropText->mcc_Class)
381 static struct Hook hook_standard
;
383 AROS_UFH3(void, hook_func_standard
,
384 AROS_UFHA(struct Hook
*, h
, A0
),
385 AROS_UFHA(void *, dummy
, A2
), AROS_UFHA(void **, funcptr
, A1
))
389 void (*func
) (ULONG
*) = (void (*)(ULONG
*))(*funcptr
);
392 func((ULONG
*) funcptr
+ 1);
399 Object
*wnd
, *second_wnd
;
401 Object
*about_button
;
403 Object
*repeat_button
;
404 Object
*objects_button
;
405 Object
*about_item
, *quit_item
;
406 Object
*context_menu
;
407 Object
*popobject
, *listview
;
408 Object
*lists
[LIST_COUNT
];
409 Object
*list_add_button
, *list_remove_button
, *list_clear_button
;
410 Object
*dragsortable_check
, *showdropmarks_check
, *quiet_check
;
411 Object
*sort_button
, *clear_button
, *fill_button
, *enable_button
;
412 Object
*multi_lists
[MULTI_LIST_COUNT
];
413 Object
*format_string
;
414 Object
*column_string
;
416 Object
*showheadings_check
;
417 Object
*numerics
[NUMERIC_COUNT
];
418 Object
*min_string
, *max_string
;
419 Object
*slider_button
;
420 Object
*country_radio
[2];
423 static char *pages
[] =
424 {"General", "Text", "Boopsi", "Color", "Edit", "List", "Gauges",
426 #if defined(TEST_ICONLIST)
430 static char *color_pages
[] =
431 {"Palette", "Colors", "Pens", NULL
};
432 static char *list_pages
[] =
433 {"Single Column (1)", "Single Column (2)", "Multicolumn", NULL
};
434 static char **radio_entries1
= pages
;
435 static char *radio_entries2
[] =
436 {"Paris", "Pataya", "London", "New York", "Reykjavik", NULL
};
437 static char *fruits
[] = {"Strawberry", "Apple", "Banana", "Orange",
438 "Grapefruit", "Kumquat", "Plum", "Raspberry", "Apricot", "Grape",
439 "Peach", "Lemon", "Lime", "Date", "Pineapple", "Blueberry", "Papaya",
440 "Cranberry", "Gooseberry", "Pear", "Fig", "Coconut", "Melon",
443 static struct list_entry entry1
= {"Testentry1", "Col2: Entry1"};
444 static struct list_entry entry2
= {"Entry2", "Col2: Entry2"};
445 static struct list_entry entry3
= {"Entry3", "Col2: Entry3"};
446 static struct list_entry entry4
= {"Entry4", "Col2: Entry4"};
447 static struct list_entry entry5
= {"Entry5", "Col2: Entry5"};
448 static struct list_entry entry6
= {"Entry6", "Col2: Entry6"};
450 static struct list_entry
*entries
[] =
451 {&entry1
, &entry2
, &entry3
, &entry4
, &entry5
, &entry6
, NULL
};
454 struct Hook hook_wheel
;
455 struct Hook hook_slider
;
456 struct Hook hook_objects
;
457 struct Hook hook_display
;
458 struct Hook hook_display2
;
460 hook_standard
.h_Entry
= (HOOKFUNC
) hook_func_standard
;
462 MUIMasterBase
= (struct Library
*)OpenLibrary("muimaster.library", 0);
464 hook
.h_Entry
= (HOOKFUNC
) repeat_function
;
465 hook_wheel
.h_Entry
= (HOOKFUNC
) wheel_function
;
466 hook_slider
.h_Entry
= (HOOKFUNC
) slider_function
;
467 hook_objects
.h_Entry
= (HOOKFUNC
) objects_function
;
468 hook_display
.h_Entry
= (HOOKFUNC
) display_function
;
469 hook_display2
.h_Entry
= (HOOKFUNC
) display2_function
;
471 context_menu
= MenuitemObject
,
472 MUIA_Family_Child
, MenuitemObject
,
473 MUIA_Menuitem_Title
, "Menutest",
474 MUIA_Family_Child
, about_item
= MenuitemObject
,
475 MUIA_Menuitem_Title
, "First Test Entry", End
,
476 MUIA_Family_Child
, quit_item
= MenuitemObject
,
477 MUIA_Menuitem_Title
, "Second Test Entry", End
,
481 /* should check the result in a real program! */
482 CL_DropText
= MUI_CreateCustomClass(NULL
, MUIC_Text
, NULL
,
483 sizeof(struct DropText_Data
), dispatcher
);
484 ColorWheelBase
= OpenLibrary("gadgets/colorwheel.gadget", 0);
486 pendisplay
= PendisplayObject
, MUIA_Pendisplay_Spec
, &default_penspec
, End
;
488 app
= ApplicationObject
,
489 MUIA_Application_Menustrip
, MenuitemObject
,
490 MUIA_Family_Child
, MenuitemObject
,
491 MUIA_Menuitem_Title
, "Project",
492 MUIA_Family_Child
, about_item
= MenuitemObject
,
493 MUIA_Menuitem_Title
, "About...",
494 MUIA_Menuitem_Shortcut
, "?",
496 MUIA_Family_Child
, MenuitemObject
,
497 MUIA_Menuitem_Title
, (SIPTR
)-1,
499 MUIA_Family_Child
, quit_item
= MenuitemObject
,
500 MUIA_Menuitem_Title
, "Quit",
501 MUIA_Menuitem_Shortcut
, "Q",
506 SubWindow
, wnd
= WindowObject
,
507 MUIA_Window_Title
, "test",
508 MUIA_Window_Activate
, TRUE
,
510 WindowContents
, VGroup
,
511 Child
, RegisterGroup(pages
),
512 //MUIA_Background, "5:SYS:Prefs/Presets/Backdrops/StuccoBlue.pic",
517 GroupFrameT("A horizontal group"),
519 GroupFrameT("A column group"),
520 Child
, repeat_button
= TextObject
,
523 MUIA_Background
, MUII_ButtonBack
,
524 MUIA_Text_PreParse
, "\33c",
525 MUIA_Text_Contents
, "Repeat",
526 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
531 MUIA_Background
, MUII_ButtonBack
,
532 MUIA_Text_PreParse
, "\33c",
533 MUIA_Text_Contents
, "Drag Me",
534 MUIA_Draggable
, TRUE
,
535 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
537 Child
, open_button
= TextObject
,
540 MUIA_Background
, MUII_ButtonBack
,
541 MUIA_Text_PreParse
, "\33c",
542 MUIA_Text_Contents
, "Open Window",
543 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
546 MUIA_ContextMenu
, context_menu
,
549 MUIA_Background
, MUII_ButtonBack
,
550 MUIA_Text_PreParse
, "\33c",
551 MUIA_Text_Contents
, "Press Right",
552 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
554 Child
, objects_button
= TextObject
,
557 MUIA_Background
, MUII_ButtonBack
,
558 MUIA_Text_PreParse
, "\33c",
559 MUIA_Text_Contents
, "Add Objects",
560 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
565 Child
, MUI_MakeObject(MUIO_Checkmark
,
569 Child
, MUI_MakeObject(MUIO_Label
,
576 Child
, group
= VGroup
,
577 GroupFrameT("A vertical group"),
578 Child
, DropTextObject
,
582 MUIA_Background
, MUII_ButtonBack
,
583 MUIA_Text_PreParse
, "\33c",
584 MUIA_Text_Contents
, "Drop Here",
586 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
590 MUIA_Background
, MUII_MARKHALFSHINE
,
592 MUIA_Text_PreParse
, "\33c",
593 MUIA_Text_Contents
, "Pattern",
595 Child
, MUI_NewObject(MUIC_Popimage
, TAG_DONE
),
597 Child
, ScrollgroupObject
,
598 GroupFrameT("A scroll group"),
599 MUIA_Scrollgroup_Contents
, VGroupV
,
604 "Line1\nLine2\nLine3\nLine4\n"
605 "Line5\nLine6\nLine7\nLine8\n"
607 "Line9\nLine10\nLine11\n",
610 Child
, MUI_MakeObject(MUIO_Button
,
612 Child
, MUI_MakeObject(MUIO_Button
,
618 Child
, popobject
= PopobjectObject
,
619 MUIA_Popstring_String
,
620 MUI_MakeObject(MUIO_String
, NULL
, 200),
621 MUIA_Popstring_Button
, PopButton(MUII_PopUp
),
622 MUIA_Popobject_Object
, VGroup
,
624 MUIA_Text_Contents
, "test",
626 Child
, listview
= ListviewObject
,
627 MUIA_Listview_List
, ListObject
,
629 MUIA_List_DisplayHook
, &hook_display
,
630 MUIA_List_Format
, ",,",
631 MUIA_List_SourceArray
, entries
,
632 MUIA_List_Title
, TRUE
,
639 MUIA_Cycle_Entries
, pages
,
641 Child
, ScrollbarObject
,
642 MUIA_Group_Horiz
, TRUE
,
643 MUIA_Prop_Visible
, 100,
644 MUIA_Prop_Entries
, 300,
652 MUIA_Background
, "2:cfffffff,cfffffff,10000000",
654 MUIA_Text_Contents
, "\33cHello World!\n"
655 "This is a text object\n\33lLeft \33bbold\33n\n"
658 Child
, RectangleObject
,
660 /* Seems to be not supported properly as orginal MUI
661 doesn't allow to alter the height of the window */
662 MUIA_Rectangle_HBar
, TRUE
,
663 MUIA_Rectangle_BarTitle
,"Enter a string",
668 MUIA_String_AdvanceOnCR
, TRUE
,
675 Child
, wheel
= BoopsiObject
, /* MUI/Boopsi tags mixed */
677 /* boopsi objects don't know */
678 /* their sizes, so we help */
679 /* keep important values */
680 /* during window resize */
681 MUIA_Boopsi_ClassID
, "colorwheel.gadget",
682 MUIA_Boopsi_MinWidth
, 30,
683 MUIA_Boopsi_MinHeight
, 30,
684 MUIA_Boopsi_Remember
, WHEEL_Saturation
,
685 MUIA_Boopsi_Remember
, WHEEL_Hue
,
686 /* this magic fills in the screen pointer */
687 MUIA_Boopsi_TagScreen
, WHEEL_Screen
,
690 GA_Top
, 0, /* MUI will automatically */
691 GA_Width
, 0, /* fill in the correct values */
693 ICA_TARGET
, ICTARGET_IDCMP
,
694 /* needed for notification */
695 WHEEL_Saturation
, 0, /* start in the center */
697 /* use this because it defaults to FALSE
698 for boopsi gadgets but the colorwheel
699 doesn't bother about redrawing its
703 Child
, r_slider
= SliderObject
,
704 MUIA_Group_Horiz
, TRUE
,
706 MUIA_Numeric_Max
, 255,
708 Child
, g_slider
= SliderObject
,
709 MUIA_Group_Horiz
, TRUE
,
711 MUIA_Numeric_Max
, 255,
713 Child
, b_slider
= SliderObject
,
714 MUIA_Group_Horiz
, TRUE
,
716 MUIA_Numeric_Max
, 255,
718 Child
, hue_gauge
= GaugeObject
,
720 MUIA_Gauge_Horiz
, TRUE
,
722 MUIA_Gauge_Divide
, 1<<24,
723 MUIA_Gauge_InfoText
, "Hue: %ld",
728 Child
, RegisterGroup(color_pages
),
729 Child
, VGroup
, GroupFrameT("Palette"),
730 Child
, PaletteObject
,
734 Child
, VGroup
, GroupFrameT("Colorfield"),
737 Child
, colorfield
= ColorfieldObject
,
738 MUIA_Colorfield_RGB
, default_color
,
739 MUIA_Colorfield_Pen
, 253,
741 Child
, colorfield2
= ColorfieldObject
,
742 MUIA_Colorfield_Red
, default_color
[0],
743 MUIA_Colorfield_Green
, default_color
[1],
744 MUIA_Colorfield_Blue
, default_color
[2],
747 Child
, colorfield_reset_button
=
748 MUI_MakeObject(MUIO_Button
,
752 MUI_MakeObject(MUIO_Label
, "Pen:", 0),
753 Child
, colorfield_pen
= StringObject
,
758 Child
, VGroup
, GroupFrameT("Coloradjust"),
759 Child
, coloradjust
= ColoradjustObject
,
760 MUIA_Coloradjust_RGB
, default_color
,
766 Child
, VGroup
, GroupFrameT("Pendisplay"),
769 Child
, pendisplay2
= PendisplayObject
,
770 MUIA_Pendisplay_RGBcolor
,
777 MUIO_Label
, "Pen:", 0),
779 Child
, pendisplay_pen
=
780 StringObject
, StringFrame
,
783 Child
, reference_check
=
784 MUI_MakeObject(MUIO_Checkmark
,
786 Child
, MUI_MakeObject(MUIO_Label
,
791 MUIO_Label
, "Penspec:", 0),
792 Child
, pendisplay_spec
= StringObject
,
797 Child
, shine_button
=
798 MUI_MakeObject(MUIO_Button
,
800 Child
, shadow_button
=
801 MUI_MakeObject(MUIO_Button
,
803 Child
, yellow_button
=
804 MUI_MakeObject(MUIO_Button
,
808 Child
, VGroup
, GroupFrameT("Poppen"),
809 Child
, poppen
= PoppenObject
,
813 Child
, VGroup
, GroupFrameT("Penadjust"),
814 Child
, PenadjustObject
,
822 Child
, editor_text
= StringObject
,
826 ASLFR_DoSaveMode
, TRUE
,
827 MUIA_Popstring_String
, filename_string
=
828 MUI_MakeObject(MUIO_String
, NULL
, 200),
829 MUIA_Popstring_Button
, PopButton(MUII_PopFile
),
832 MUI_MakeObject(MUIO_Button
, "Save"),
836 Child
, RegisterGroup(list_pages
),
838 Child
, ColGroup(LIST_COUNT
),
839 Child
, VGroup
, GroupFrameT("No Multiselect"),
840 Child
, lists
[0] = ListviewObject
,
844 MUIA_List_Title
, "Fruits",
845 MUIA_List_SourceArray
, fruits
,
846 MUIA_ShortHelp
, "Default scroller",
848 MUIA_Listview_MultiSelect
,
849 MUIV_Listview_MultiSelect_None
,
854 GroupFrameT("Default Multiselect"),
855 Child
, lists
[1] = ListviewObject
,
859 MUIA_List_SourceArray
, fruits
,
860 MUIA_ShortHelp
, "Left scroller",
862 MUIA_Listview_ScrollerPos
,
863 MUIV_Listview_ScrollerPos_Left
,
868 GroupFrameT("Shifted Multiselect"),
869 Child
, lists
[2] = ListviewObject
,
873 MUIA_List_SourceArray
, fruits
,
874 MUIA_ShortHelp
, "Right scroller",
876 MUIA_Listview_MultiSelect
,
877 MUIV_Listview_MultiSelect_Shifted
,
878 MUIA_Listview_ScrollerPos
,
879 MUIV_Listview_ScrollerPos_Right
,
884 GroupFrameT("Unconditional Multiselect"),
885 Child
, lists
[3] = ListviewObject
,
889 MUIA_List_SourceArray
, fruits
,
890 MUIA_ShortHelp
, "No scroller",
892 MUIA_Listview_MultiSelect
,
893 MUIV_Listview_MultiSelect_Always
,
894 MUIA_Listview_ScrollerPos
,
895 MUIV_Listview_ScrollerPos_None
,
900 GroupFrameT("Read Only"),
901 Child
, lists
[4] = ListviewObject
,
905 MUIA_List_SourceArray
, fruits
,
906 MUIA_ShortHelp
, "Default scroller",
908 MUIA_Listview_Input
, FALSE
,
913 Child
, RectangleObject
,
915 MUIA_Rectangle_HBar
, TRUE
,
916 MUIA_Rectangle_BarTitle
, "List Controls",
920 MUI_MakeObject(MUIO_Button
, "Sort"),
921 Child
, clear_button
=
922 MUI_MakeObject(MUIO_Button
, "Clear"),
924 MUI_MakeObject(MUIO_Button
, "Fill"),
925 Child
, enable_button
=
926 MUI_MakeObject(MUIO_Button
, "Enable"),
930 Child
, dragsortable_check
=
931 MUI_MakeObject(MUIO_Checkmark
, NULL
),
932 Child
, MUI_MakeObject(MUIO_Label
,
937 Child
, showdropmarks_check
=
938 MUI_MakeObject(MUIO_Checkmark
, NULL
),
939 Child
, MUI_MakeObject(MUIO_Label
,
940 "Show drop marks", 0),
945 MUI_MakeObject(MUIO_Checkmark
,NULL
),
946 Child
, MUI_MakeObject(MUIO_Label
,
953 Child
, ListviewObject
,
954 MUIA_Listview_List
, list2
= ListObject
,
956 MUIA_List_DisplayHook
, &hook_display2
,
960 Child
, list_add_button
=
961 MUI_MakeObject(MUIO_Button
,"_Add"),
962 Child
, list_remove_button
=
963 MUI_MakeObject(MUIO_Button
,"_Remove"),
964 Child
, list_clear_button
=
965 MUI_MakeObject(MUIO_Button
,"_Clear"),
969 Child
, ColGroup(LIST_COUNT
/ 2),
970 Child
, VGroup
, GroupFrameT("Standard Format"),
971 Child
, multi_lists
[0] = ListviewObject
,
975 MUIA_List_DisplayHook
,
977 MUIA_List_Format
, list_format
,
978 MUIA_List_SourceArray
, entries
,
979 MUIA_List_Title
, TRUE
,
981 MUIA_Listview_MultiSelect
,
982 MUIV_Listview_MultiSelect_None
,
986 Child
, VGroup
, GroupFrameT("Custom Format"),
987 Child
, multi_lists
[1] = ListviewObject
,
991 MUIA_List_DisplayHook
,
993 MUIA_List_Format
, list_format
,
994 MUIA_List_SourceArray
, entries
,
995 MUIA_List_Title
, TRUE
,
997 MUIA_Listview_MultiSelect
,
998 MUIV_Listview_MultiSelect_None
,
1003 Child
, RectangleObject
,
1005 MUIA_Rectangle_HBar
, TRUE
,
1006 MUIA_Rectangle_BarTitle
, "List Controls",
1009 Child
, MUI_MakeObject(MUIO_Label
, "Format:", 0),
1010 Child
, format_string
= StringObject
,
1012 MUIA_String_Contents
, list_format
,
1015 Child
, showheadings_check
=
1016 MUI_MakeObject(MUIO_Checkmark
, NULL
),
1017 Child
, MUI_MakeObject(MUIO_Label
,
1018 "Show column headings", 0),
1021 Child
, MUI_MakeObject(MUIO_Label
,
1022 "Clicked column:", 0),
1023 Child
, column_string
= StringObject
,
1026 Child
, column_text
= TextObject
,
1028 MUIA_Text_Contents
, "N/A",
1041 MUIA_Gauge_InfoText
, "%ld %%",
1042 MUIA_Gauge_Horiz
, TRUE
,
1043 MUIA_Gauge_Current
, 25,
1052 MUIA_Gauge_InfoText
, "%ld %%",
1053 MUIA_Gauge_Horiz
, TRUE
,
1054 MUIA_Gauge_Current
, 50,
1063 MUIA_Gauge_InfoText
, "%ld %%",
1064 MUIA_Gauge_Horiz
, TRUE
,
1065 MUIA_Gauge_Current
, 75,
1075 MUIA_Gauge_InfoText
, "%ld %%",
1076 MUIA_Gauge_Current
, 25,
1080 MUIA_Gauge_InfoText
, "%ld %%",
1081 MUIA_Gauge_Current
, 50,
1085 MUIA_Gauge_InfoText
, "%ld %%",
1086 MUIA_Gauge_Current
, 75,
1095 GroupFrameT("Horizontal Sliders"),
1096 Child
, MUI_MakeObject(MUIO_Label
, "Normal:", 0),
1097 Child
, numerics
[HNSLIDER
] = SliderObject
,
1098 MUIA_Slider_Horiz
, TRUE
,
1099 MUIA_Numeric_Min
, NUMERIC_MIN
,
1100 MUIA_Numeric_Max
, NUMERIC_MAX
,
1103 Child
, MUI_MakeObject(MUIO_Label
, "Reverse:", 0),
1104 Child
, numerics
[HRSLIDER
] = SliderObject
,
1105 MUIA_Numeric_Reverse
, TRUE
,
1106 MUIA_Numeric_Min
, NUMERIC_MIN
,
1107 MUIA_Numeric_Max
, NUMERIC_MAX
,
1110 Child
, MUI_MakeObject(MUIO_Label
, "Quiet:", 0),
1111 Child
, numerics
[HQSLIDER
] = SliderObject
,
1112 MUIA_Slider_Quiet
, TRUE
,
1113 MUIA_Numeric_Min
, NUMERIC_MIN
,
1114 MUIA_Numeric_Max
, NUMERIC_MAX
,
1119 GroupFrameT("Vertical Sliders"),
1120 Child
, MUI_MakeObject(MUIO_Label
, "Normal", 0),
1121 Child
, MUI_MakeObject(MUIO_Label
, "Reverse", 0),
1122 Child
, MUI_MakeObject(MUIO_Label
, "Quiet", 0),
1123 Child
, numerics
[VNSLIDER
] = SliderObject
,
1124 MUIA_Slider_Horiz
, FALSE
,
1125 MUIA_Numeric_Min
, NUMERIC_MIN
,
1126 MUIA_Numeric_Max
, NUMERIC_MAX
,
1129 Child
, numerics
[VRSLIDER
] = SliderObject
,
1130 MUIA_Slider_Horiz
, FALSE
,
1131 MUIA_Numeric_Reverse
, TRUE
,
1132 MUIA_Numeric_Min
, NUMERIC_MIN
,
1133 MUIA_Numeric_Max
, NUMERIC_MAX
,
1136 Child
, numerics
[VQSLIDER
] = SliderObject
,
1137 MUIA_Slider_Horiz
, FALSE
,
1138 MUIA_Slider_Quiet
, TRUE
,
1139 MUIA_Numeric_Min
, NUMERIC_MIN
,
1140 MUIA_Numeric_Max
, NUMERIC_MAX
,
1145 GroupFrameT("Numeric Buttons"),
1146 Child
, MUI_MakeObject(MUIO_Label
, "Normal:", 0),
1147 Child
, numerics
[NNUMERICBUTTON
] =
1148 NumericbuttonObject
,
1149 MUIA_Numeric_Min
, NUMERIC_MIN
,
1150 MUIA_Numeric_Max
, NUMERIC_MAX
,
1153 Child
, MUI_MakeObject(MUIO_Label
, "Reverse:", 0),
1154 Child
, numerics
[RNUMERICBUTTON
] =
1155 NumericbuttonObject
,
1156 MUIA_Numeric_Reverse
, TRUE
,
1157 MUIA_Numeric_Min
, NUMERIC_MIN
,
1158 MUIA_Numeric_Max
, NUMERIC_MAX
,
1163 GroupFrameT("Knobs"),
1164 Child
, MUI_MakeObject(MUIO_Label
, "Normal", 0),
1165 Child
, MUI_MakeObject(MUIO_Label
, "Reverse", 0),
1166 Child
, numerics
[NKNOB
] = KnobObject
,
1167 MUIA_Numeric_Min
, NUMERIC_MIN
,
1168 MUIA_Numeric_Max
, NUMERIC_MAX
,
1171 Child
, numerics
[RKNOB
] = KnobObject
,
1172 MUIA_Numeric_Reverse
, TRUE
,
1173 MUIA_Numeric_Min
, NUMERIC_MIN
,
1174 MUIA_Numeric_Max
, NUMERIC_MAX
,
1179 Child
, MUI_MakeObject(MUIO_Label
,
1180 "Minimum Value:", 0),
1181 Child
, min_string
= (Object
*)StringObject
,
1183 MUIA_String_Accept
, (IPTR
)"-0123456789",
1184 MUIA_String_Integer
, NUMERIC_MIN
,
1187 Child
, MUI_MakeObject(MUIO_Label
,
1188 "Maximum Value:", 0),
1189 Child
, max_string
= (Object
*)StringObject
,
1191 MUIA_String_Accept
, (IPTR
)"-0123456789",
1192 MUIA_String_Integer
, NUMERIC_MAX
,
1195 Child
, slider_button
= TextObject
,
1197 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
1199 MUIA_Background
, MUII_ButtonBack
,
1200 MUIA_Text_PreParse
, "\33c",
1202 "Change Slider Orientations",
1204 Child
, MUI_MakeObject(MUIO_Label
, "", 0),
1213 MUIA_Radio_Entries
, radio_entries1
,
1215 Child
, country_radio
[0] = RadioObject
,
1217 MUIA_Radio_Entries
, radio_entries2
,
1218 MUIA_Radio_Active
, 1,
1224 MUIA_Radio_Entries
, radio_entries1
,
1226 Child
, country_radio
[1] = RadioObject
,
1228 MUIA_Radio_Entries
, radio_entries2
,
1229 MUIA_Radio_Active
, 1,
1234 #if defined(TEST_ICONLIST)
1237 Child
, volume_iconlist
=
1238 MUI_NewObject(MUIC_IconVolumeList
, GroupFrame
,
1240 Child
, drawer_iconlist
=
1241 MUI_NewObject(MUIC_IconDrawerList
, GroupFrame
,
1242 MUIA_IconDrawerList_Drawer
, "SYS:",
1249 Child
, create_balance_column(),
1250 Child
, BalanceObject
,
1253 Child
, create_balance_column(),
1254 Child
, BalanceObject
,
1257 Child
, create_balance_column(),
1258 Child
, BalanceObject
,
1261 Child
, create_balance_column(),
1262 Child
, BalanceObject
,
1265 Child
, create_balance_column(),
1272 Child
, about_button
= TextObject
,
1274 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
1276 MUIA_Background
, MUII_ButtonBack
,
1277 MUIA_Text_PreParse
, "\33c",
1278 MUIA_Text_Contents
, "About",
1280 Child
, quit_button
= TextObject
,
1282 MUIA_InputMode
, MUIV_InputMode_RelVerify
,
1284 MUIA_Background
, MUII_ButtonBack
,
1285 MUIA_ControlChar
, 'q',
1286 MUIA_Text_HiChar
, 'q',
1287 MUIA_Text_PreParse
, "\33c",
1288 MUIA_Text_Contents
, "Quit",
1294 SubWindow
, second_wnd
= WindowObject
,
1295 MUIA_Window_Title
, "Second window",
1296 WindowContents
, VGroup
,
1297 Child
, DropTextObject
,
1298 MUIA_Text_Contents
, "Drop here",
1299 MUIA_Dropable
, TRUE
,
1310 DoMethod(wnd
, MUIM_Notify
, MUIA_Window_CloseRequest
, TRUE
, app
, 2,
1311 MUIM_Application_ReturnID
, MUIV_Application_ReturnID_Quit
);
1312 DoMethod(second_wnd
, MUIM_Notify
, MUIA_Window_CloseRequest
, TRUE
,
1313 second_wnd
, 3, MUIM_Set
, MUIA_Window_Open
, FALSE
);
1314 DoMethod(open_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, second_wnd
,
1315 3, MUIM_Set
, MUIA_Window_Open
, TRUE
);
1316 DoMethod(about_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, app
, 2,
1317 MUIM_Application_AboutMUI
, NULL
);
1318 DoMethod(quit_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, app
, 2,
1319 MUIM_Application_ReturnID
, MUIV_Application_ReturnID_Quit
);
1320 DoMethod(objects_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, app
, 2,
1321 MUIM_CallHook
, &hook_objects
);
1322 DoMethod(repeat_button
, MUIM_Notify
, MUIA_Timer
, MUIV_EveryTime
,
1323 app
, 2, MUIM_CallHook
, &hook
);
1325 DoMethod(wheel
, MUIM_Notify
, WHEEL_Hue
, MUIV_EveryTime
, app
, 2,
1326 MUIM_CallHook
, &hook_wheel
);
1327 DoMethod(wheel
, MUIM_Notify
, WHEEL_Saturation
, MUIV_EveryTime
, app
,
1328 2, MUIM_CallHook
, &hook_wheel
);
1329 DoMethod(r_slider
, MUIM_Notify
, MUIA_Numeric_Value
, MUIV_EveryTime
,
1330 app
, 2, MUIM_CallHook
, &hook_slider
);
1331 DoMethod(g_slider
, MUIM_Notify
, MUIA_Numeric_Value
, MUIV_EveryTime
,
1332 app
, 2, MUIM_CallHook
, &hook_slider
);
1333 DoMethod(b_slider
, MUIM_Notify
, MUIA_Numeric_Value
, MUIV_EveryTime
,
1334 app
, 2, MUIM_CallHook
, &hook_slider
);
1336 DoMethod(save_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, app
, 3,
1337 MUIM_CallHook
, &hook_standard
, save_function
);
1339 DoMethod(quit_item
, MUIM_Notify
, MUIA_Menuitem_Trigger
,
1340 MUIV_EveryTime
, app
, 2, MUIM_Application_ReturnID
,
1341 MUIV_Application_ReturnID_Quit
);
1342 DoMethod(about_item
, MUIM_Notify
, MUIA_Menuitem_Trigger
,
1343 MUIV_EveryTime
, app
, 3, MUIM_CallHook
, &hook_standard
,
1346 /* Notifications for color objects */
1347 DoMethod(colorfield
, MUIM_Notify
, MUIA_Colorfield_Red
,
1348 MUIV_EveryTime
, colorfield2
, 3, MUIM_Set
, MUIA_Colorfield_Red
,
1350 DoMethod(colorfield
, MUIM_Notify
, MUIA_Colorfield_Green
,
1351 MUIV_EveryTime
, colorfield2
, 3, MUIM_Set
, MUIA_Colorfield_Green
,
1353 DoMethod(colorfield
, MUIM_Notify
, MUIA_Colorfield_Blue
,
1354 MUIV_EveryTime
, colorfield2
, 3, MUIM_Set
, MUIA_Colorfield_Blue
,
1356 DoMethod(coloradjust
, MUIM_Notify
, MUIA_Coloradjust_Red
,
1357 MUIV_EveryTime
, colorfield
, 3, MUIM_Set
, MUIA_Colorfield_Red
,
1359 DoMethod(coloradjust
, MUIM_Notify
, MUIA_Coloradjust_Green
,
1360 MUIV_EveryTime
, colorfield
, 3, MUIM_Set
, MUIA_Colorfield_Green
,
1362 DoMethod(coloradjust
, MUIM_Notify
, MUIA_Coloradjust_Blue
,
1363 MUIV_EveryTime
, colorfield
, 3, MUIM_Set
, MUIA_Colorfield_Blue
,
1365 DoMethod(colorfield
, MUIM_Notify
, MUIA_Colorfield_Pen
,
1366 MUIV_EveryTime
, colorfield_pen
, 3, MUIM_Set
,
1367 MUIA_String_Integer
, MUIV_TriggerValue
);
1368 DoMethod(colorfield_pen
, MUIM_Notify
, MUIA_String_Acknowledge
,
1369 MUIV_EveryTime
, app
, 3, MUIM_CallHook
, &hook_standard
,
1370 changepen_function
);
1371 DoMethod(colorfield_reset_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1372 colorfield
, 3, MUIM_Set
, MUIA_Colorfield_RGB
, default_color
);
1374 /* Notifications for pen objects */
1375 DoMethod(pendisplay
, MUIM_Notify
, MUIA_Pendisplay_Pen
,
1376 MUIV_EveryTime
, pendisplay_pen
, 3, MUIM_NoNotifySet
,
1377 MUIA_String_Integer
, MUIV_TriggerValue
);
1378 DoMethod(pendisplay_pen
, MUIM_Notify
, MUIA_String_Acknowledge
,
1379 MUIV_EveryTime
, app
, 3, MUIM_CallHook
, &hook_standard
,
1380 ChangePendisplayPen
);
1381 DoMethod(pendisplay
, MUIM_Notify
, MUIA_Pendisplay_Spec
,
1382 MUIV_EveryTime
, pendisplay_spec
, 3, MUIM_Set
,
1383 MUIA_String_Contents
, MUIV_TriggerValue
);
1384 DoMethod(colorfield
, MUIM_Notify
, MUIA_Colorfield_RGB
,
1385 MUIV_EveryTime
, pendisplay
, 3, MUIM_Set
,
1386 MUIA_Pendisplay_RGBcolor
, MUIV_TriggerValue
);
1387 DoMethod(pendisplay
, MUIM_Notify
, MUIA_Pendisplay_RGBcolor
,
1388 MUIV_EveryTime
, poppen
, 3, MUIM_Set
, MUIA_Pendisplay_RGBcolor
,
1390 DoMethod(pendisplay_spec
, MUIM_Notify
, MUIA_String_Contents
,
1391 MUIV_EveryTime
, pendisplay
, 3, MUIM_Set
, MUIA_Pendisplay_Spec
,
1393 DoMethod(reference_check
, MUIM_Notify
, MUIA_Selected
, TRUE
,
1394 pendisplay2
, 3, MUIM_Set
, MUIA_Pendisplay_Reference
, pendisplay
);
1395 DoMethod(reference_check
, MUIM_Notify
, MUIA_Selected
, FALSE
,
1396 pendisplay2
, 3, MUIM_Set
, MUIA_Pendisplay_Reference
, NULL
);
1397 DoMethod(shine_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, pendisplay
,
1398 2, MUIM_Pendisplay_SetMUIPen
, MPEN_SHINE
);
1399 DoMethod(shadow_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, pendisplay
,
1400 2, MUIM_Pendisplay_SetMUIPen
, MPEN_SHADOW
);
1401 DoMethod(yellow_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, pendisplay
,
1402 4, MUIM_Pendisplay_SetRGB
, 0xffffffff, 0xffffffff, 0);
1405 set(showdropmarks_check
, MUIA_Selected
, TRUE
);
1406 for (i
= 0; i
< LIST_COUNT
; i
++)
1408 DoMethod(lists
[i
], MUIM_Notify
, MUIA_Listview_DoubleClick
,
1409 MUIV_EveryTime
, lists
[i
], 3, MUIM_Set
, MUIA_Disabled
, TRUE
);
1410 DoMethod(sort_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1411 lists
[i
], 1, MUIM_List_Sort
);
1412 DoMethod(clear_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1413 lists
[i
], 1, MUIM_List_Clear
);
1414 DoMethod(fill_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1415 lists
[i
], 4, MUIM_List_Insert
, fruits
, -1,
1416 MUIV_List_Insert_Bottom
);
1417 DoMethod(enable_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1418 lists
[i
], 3, MUIM_Set
, MUIA_Disabled
, FALSE
);
1419 DoMethod(dragsortable_check
, MUIM_Notify
, MUIA_Selected
,
1420 MUIV_EveryTime
, lists
[i
], 3, MUIM_Set
,
1421 MUIA_List_DragSortable
, MUIV_TriggerValue
);
1422 DoMethod(showdropmarks_check
, MUIM_Notify
, MUIA_Selected
,
1423 MUIV_EveryTime
, lists
[i
], 3, MUIM_Set
,
1424 MUIA_List_ShowDropMarks
, MUIV_TriggerValue
);
1425 DoMethod(quiet_check
, MUIM_Notify
, MUIA_Selected
,
1426 MUIV_EveryTime
, lists
[i
], 3, MUIM_Set
, MUIA_List_Quiet
,
1430 set(showheadings_check
, MUIA_Selected
, TRUE
);
1431 DoMethod(format_string
, MUIM_Notify
, MUIA_String_Acknowledge
,
1432 MUIV_EveryTime
, multi_lists
[1], 3, MUIM_Set
, MUIA_List_Format
,
1434 for (i
= 0; i
< MULTI_LIST_COUNT
; i
++)
1436 DoMethod(showheadings_check
, MUIM_Notify
, MUIA_Selected
,
1437 MUIV_EveryTime
, multi_lists
[i
], 3, MUIM_Set
,
1438 MUIA_List_Title
, MUIV_TriggerValue
);
1439 DoMethod(multi_lists
[i
], MUIM_Notify
, MUIA_Listview_ClickColumn
,
1440 MUIV_EveryTime
, column_string
, 3, MUIM_Set
,
1441 MUIA_String_Integer
, MUIV_TriggerValue
);
1443 DoMethod(column_string
, MUIM_Notify
, MUIA_String_Contents
,
1444 MUIV_EveryTime
, column_text
, 3, MUIM_Set
, MUIA_Text_Contents
,
1447 DoMethod(listview
, MUIM_Notify
, MUIA_Listview_DoubleClick
, TRUE
,
1448 popobject
, 2, MUIM_Popstring_Close
, TRUE
);
1450 /* The callbacks of the buttons within the list page */
1451 DoMethod(list_add_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, app
, 3,
1452 MUIM_CallHook
, &hook_standard
, add_function
);
1453 DoMethod(list_remove_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1454 list2
, 2, MUIM_List_Remove
, MUIV_List_Remove_Active
);
1455 DoMethod(list_clear_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
, list2
,
1456 1, MUIM_List_Clear
);
1459 for (i
= 0; i
< NUMERIC_COUNT
; i
++)
1461 DoMethod(min_string
, MUIM_Notify
, MUIA_String_Integer
,
1462 MUIV_EveryTime
, numerics
[i
], 3, MUIM_Set
, MUIA_Numeric_Min
,
1464 DoMethod(max_string
, MUIM_Notify
, MUIA_String_Integer
,
1465 MUIV_EveryTime
, numerics
[i
], 3, MUIM_Set
, MUIA_Numeric_Max
,
1468 DoMethod(slider_button
, MUIM_Notify
, MUIA_Pressed
, FALSE
,
1469 numerics
[HRSLIDER
], 3, MUIM_Set
, MUIA_Slider_Horiz
, FALSE
);
1472 DoMethod(country_radio
[0], MUIM_Notify
, MUIA_Radio_Active
,
1473 MUIV_EveryTime
, country_radio
[1], 3, MUIM_NoNotifySet
,
1474 MUIA_Radio_Active
, MUIV_TriggerValue
);
1475 DoMethod(country_radio
[1], MUIM_Notify
, MUIA_Radio_Active
,
1476 MUIV_EveryTime
, country_radio
[0], 3, MUIM_NoNotifySet
,
1477 MUIA_Radio_Active
, MUIV_TriggerValue
);
1479 #if defined(TEST_ICONLIST)
1481 DoMethod(volume_iconlist
, MUIM_Notify
, MUIA_IconList_DoubleClick
,
1482 TRUE
, volume_iconlist
, 3, MUIM_CallHook
, &hook_standard
,
1483 volume_doubleclicked
);
1484 DoMethod(drawer_iconlist
, MUIM_Notify
, MUIA_IconList_DoubleClick
,
1485 TRUE
, drawer_iconlist
, 3, MUIM_CallHook
, &hook_standard
,
1486 drawer_doubleclicked
);
1489 set(wnd
, MUIA_Window_Open
, TRUE
);
1490 set(wnd
, MUIA_Window_ScreenTitle
, "Zune Test application");
1492 /* Set pen fields */
1493 set(colorfield_pen
, MUIA_String_Integer
,
1494 XGET(colorfield
, MUIA_Colorfield_Pen
));
1497 nnset(pendisplay_pen
, MUIA_String_Integer
,
1498 XGET(pendisplay
, MUIA_Pendisplay_Pen
));
1500 struct MUI_PenSpec
*pen_spec
;
1501 GET(pendisplay
, MUIA_Pendisplay_Spec
, &pen_spec
);
1502 strncpy(pen_str
, pen_spec
->buf
, 10);
1503 set(pendisplay_spec
, MUIA_String_Contents
, pen_str
);
1505 while ((LONG
) DoMethod(app
, MUIM_Application_NewInput
,
1506 &sigs
) != MUIV_Application_ReturnID_Quit
)
1510 sigs
= Wait(sigs
| SIGBREAKF_CTRL_C
| SIGBREAKF_CTRL_D
);
1511 if (sigs
& SIGBREAKF_CTRL_C
)
1513 if (sigs
& SIGBREAKF_CTRL_D
)
1518 MUI_DisposeObject(app
);
1521 MUI_DisposeObject(context_menu
);
1522 CloseLibrary(ColorWheelBase
);
1523 MUI_DeleteCustomClass(CL_DropText
);
1525 CloseLibrary(MUIMasterBase
);