#define MUIC_DropGroup          1
#define MUIC_DropButton         2
#define MUIC_DropString         3
#define MUIC_DropRadio          4
#define MUIC_DropCycle          5
#define MUIC_DropListview       6
#define MUIC_DropCheckmark      7
#define MUIC_DropText           8
#define MUIC_DropGauge          9
#define MUIC_DropScale         10
#define MUIC_DropBalance       11
#define MUIC_DropImage         12
#define MUIC_DropSlider        13
#define MUIC_DropKnob          14
#define MUIC_DropLevelmeter    15
#define MUIC_DropNumericbutton 16

#define MUIGroup               100

#define DropGroupObject(title) NewObject(DropGrpClass->mcc_Class,NULL,\
                                 GroupFrame,\
                                 MUIA_Draggable, TRUE,\
                                 MUIA_UserData, MUIGroup,\
                                 MUIA_CycleChain, TRUE,\
                                 MUIA_ObjectID, "Group",\
                                 MUIA_FrameTitle, title

#define DropButtonObject(text) NewObject(DropButClass->mcc_Class,NULL,\
                                 ButtonFrame,\
                                 MUIA_Text_Contents, text,\
                                 MUIA_InputMode, MUIV_InputMode_None,\
                                 MUIA_Background, MUII_ButtonBack,\
                                 MUIA_UserData, NULL,\
                                 MUIA_ObjectID, "Button",\
                                 MUIA_CycleChain, TRUE,\
                                 MUIA_Draggable, TRUE, End
                              
#define DropStringObject(text) NewObject(DropStrClass->mcc_Class,NULL,\
                                 StringFrame,\
                                 MUIA_String_Contents, text,\
                                 MUIA_UserData, NULL,\
                                 MUIA_ObjectID, "String",\
                                 MUIA_CycleChain, TRUE,\
                                 MUIA_Draggable, TRUE, End
                              
#define DropRadioObject(array) NewObject(DropRadClass->mcc_Class,NULL,\
                                 MUIA_Radio_Entries, array,\
                                 MUIA_UserData, NULL,\
                                 MUIA_ObjectID, "Radio",\
                                 MUIA_CycleChain, TRUE,\
                                 MUIA_Draggable, TRUE, End
                              
#define DropCycleObject(array) NewObject(DropCycClass->mcc_Class,NULL,\
                                 MUIA_Cycle_Entries, array,\
                                 MUIA_UserData, NULL,\
                                 MUIA_InputMode, MUIV_InputMode_RelVerify,\
                                 MUIA_ObjectID, "Cycle",\
                                 MUIA_CycleChain, TRUE,\
                                 MUIA_Draggable, TRUE, End
                              
#define DropListviewObject NewObject(DropLstClass->mcc_Class,NULL,\
                             MUIA_Draggable, TRUE,\
                             MUIA_ObjectID, "Listview",\
                             MUIA_CycleChain, TRUE,\
                             MUIA_UserData, NULL,\
                             MUIA_Listview_Input, TRUE,\
                             MUIA_Listview_List, ListObject,\
                             InputListFrame, End, End
                                                             
#define DropCheckmarkObject NewObject(DropChkClass->mcc_Class,NULL,\
                              ImageButtonFrame,\
                              MUIA_InputMode, MUIV_InputMode_None,\
                              MUIA_Image_Spec, MUII_CheckMark,\
                              MUIA_Selected, FALSE,\
                              MUIA_Background, MUII_ButtonBack,\
                              MUIA_ShowSelState, FALSE,\
                              MUIA_UserData, NULL,\
                              MUIA_ObjectID, "Checkmark",\
                              MUIA_CycleChain, TRUE,\
                              MUIA_Draggable, TRUE, End

#define DropTextObject(text) NewObject(DropTxtClass->mcc_Class,NULL,\
                               MUIA_Text_Contents, text,\
                               MUIA_UserData, NULL,\
                               MUIA_ObjectID, "Text",\
                               MUIA_CycleChain, TRUE,\
                               MUIA_Draggable, TRUE, End

#define DropGaugeObject NewObject(DropGauClass->mcc_Class,NULL,\
                          MUIA_UserData, NULL,\
                          MUIA_ObjectID, "Gauge",\
                          MUIA_CycleChain, TRUE,\
                          MUIA_Frame, MUIV_Frame_Gauge,\
                          MUIA_Draggable, TRUE, End

#define DropScaleObject NewObject(DropSclClass->mcc_Class,NULL,\
                          MUIA_UserData, NULL,\
                          MUIA_ObjectID, "Scale",\
                          MUIA_CycleChain, TRUE,\
                          MUIA_Draggable, TRUE, End

#define DropBalanceObject NewObject(DropBalClass->mcc_Class,NULL,\
                            MUIA_UserData, NULL,\
                            MUIA_ObjectID, "Balance",\
                            MUIA_CycleChain, TRUE,\
                            MUIA_Draggable, TRUE, End
                            
#define DropImageObject NewObject(DropImgClass->mcc_Class,NULL,\
                          MUIA_InputMode, MUIV_InputMode_None,\
                          MUIA_Image_Spec, "5:images/default.iff",\
                          MUIA_Image_FreeHoriz, TRUE,\
                          MUIA_Image_FreeVert, TRUE,\
                          MUIA_UserData, NULL,\
                          MUIA_ObjectID, "Image",\
                          MUIA_CycleChain, TRUE,\
                          MUIA_Draggable, TRUE, End
                            
#define DropSliderObject NewObject(DropSldClass->mcc_Class,NULL,\
                           MUIA_Slider_Min, 1,\
                           MUIA_Slider_Max, 10,\
                           MUIA_Slider_Level, 1,\
                           MUIA_UserData, NULL,\
                           MUIA_ObjectID, "Slider",\
                           MUIA_CycleChain, TRUE,\
                           MUIA_Draggable, TRUE, End
                            
#define DropKnobObject NewObject(DropKnbClass->mcc_Class,NULL,\
                         MUIA_UserData, NULL,\
                         MUIA_ObjectID, "Knob",\
                         MUIA_CycleChain, TRUE,\
                         MUIA_Draggable, TRUE, End

#define DropLevelmeterObject NewObject(DropLvlClass->mcc_Class,NULL,\
                               MUIA_UserData, NULL,\
                               MUIA_ObjectID, "Levelmeter",\
                               MUIA_CycleChain, TRUE,\
                               MUIA_Draggable, TRUE, End

#define DropNumericbuttonObject NewObject(DropNmbClass->mcc_Class,NULL,\
                                  MUIA_UserData, NULL,\
                                  MUIA_ObjectID, "Numericbutton",\
                                  MUIA_CycleChain, TRUE,\
                                  MUIA_Draggable, TRUE, End

struct MUI_CustomClass *DropButClass, *DropStrClass, *DropGrpClass;
struct MUI_CustomClass *DropRadClass, *DropCycClass, *DropLstClass;
struct MUI_CustomClass *DropGauClass, *DropSclClass, *DropBalClass;
struct MUI_CustomClass *DropChkClass, *DropTxtClass, *DropImgClass;
struct MUI_CustomClass *DropKnbClass, *DropLvlClass, *DropNmbClass;
struct MUI_CustomClass *DropSldClass;

struct DropObjData
{ LONG dummy;
};
