ULONG RGOM_RegisterUI(SW_IDATA *idata, SWP_RegUI *UI) { Object *g; LONG x; if (!idata->RegWin) { idata->RegWin = WindowObject, MUIA_Window_Title, "Registration", MUIA_Window_ID, MAKE_ID('r','g','s','r'), WindowContents, VGroup, Child, ScrollgroupObject, MUIA_Scrollgroup_FreeHoriz, FALSE, MUIA_Scrollgroup_Contents, VirtgroupObject, VirtualFrame, Child, g = ColGroup(3), GroupFrameT("Registration Information"), End, End, End, Child, HGroup, GroupFrame, Child, idata->B_Generate = SimpleButton("_Generate"), Child, idata->B_Cancel = SimpleButton("_Cancel"), End, End, End; if (!idata->RegWin) return FAILURE; for (x=0; RG_ParseTable[x].Keyword; x++) { DoMethod(g, OM_ADDMEMBER, Label2(RG_ParseTable[x].Keyword)); DoMethod(g, OM_ADDMEMBER, idata->Gads[x] =String("", SWF_CryptLineSize)); set(idata->Gads[x], MUIA_CycleChain, 1); set(idata->Gads[x], MUIA_String_AdvanceOnCR, 1); DoMethod(g, OM_ADDMEMBER, Label2(RG_ParseTable[x].Required ? "Req" : "Opt")); } set(idata->B_Generate, MUIA_CycleChain, 1); set(idata->B_Cancel, MUIA_CycleChain, 1); DoMethod(idata->B_Generate, MUIM_Notify, MUIA_Pressed, FALSE, UI->App, 6, MUIM_CallHook, &RGOM_Hook_Generate, idata, UI->Prog, UI->Cost1, UI->Cost2); SW_NOTIFYSINGLE(idata->B_Cancel, MUIA_Pressed, FALSE, idata->RegWin, MUIA_Window_Open, FALSE); SW_NOTIFYCLOSEWIN(idata->RegWin); DoMethod(UI->App, OM_ADDMEMBER, idata->RegWin); } if (!idata->RegWin) return FAILURE; set(idata->RegWin, MUIA_Window_Open, TRUE); return SUCCESS; }
int main(void) { Object *wnd; Object *img; Object *a, *b, *c, *d; app = ApplicationObject, SubWindow, wnd = WindowObject, MUIA_Window_Title, "col", MUIA_Window_Activate, TRUE, WindowContents, d = HGroup, GroupFrameT("Background"), Child, c = VGroup, Child, a = PopimageObject, End, Child, b = MakeLabel("Window"), End, Child, VGroup, Child, PopimageObject, End, Child, MakeLabel("Requester"), End, End, End, End; if (app) { ULONG sigs = 0; DoMethod(wnd, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); set(wnd, MUIA_Window_Open, TRUE); printf("%d[%p] %d[%p] %d[%p] %d\n", _maxwidth(a), a, _maxwidth(b), b, _maxwidth(c), c, _maxwidth(d)); while((LONG) DoMethod(app, MUIM_Application_NewInput, &sigs) != MUIV_Application_ReturnID_Quit) { if (sigs) { sigs = Wait(sigs | SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_D); if (sigs & SIGBREAKF_CTRL_C) break; } } set(wnd, MUIA_Window_Open, FALSE); MUI_DisposeObject(app); } return 0; }
BOOPSI_DISPATCHER_END int main(void) { SetTaskPri(FindTask(NULL), 15); struct MUI_CustomClass *mcc; if((ps = OpenLibrary("poseidon.library", 4))) { if((mcc = MUI_CreateCustomClass(NULL, "Area.mui", NULL, sizeof(struct InstData), classdispatcher))) { mybug(-1,("mui custon class at %p\n", mcc)); Object *app, *window, *tick1, *custom; app = ApplicationObject, SubWindow, window = WindowObject, MUIA_Window_Title, "PS3Eye", MUIA_Window_Activate, TRUE, WindowContents, HGroup, Child, HGroup, MUIA_Weight, 100, Child, custom = NewObject(mcc->mcc_Class, NULL, TAG_DONE), End, Child, VGroup, MUIA_Weight, 1, MUIA_Group_SameWidth, TRUE, GroupFrameT("Configuration"), Child, HGroup, Child, tick1 = MUI_MakeObject(MUIO_Checkmark, NULL), Child, MUI_MakeObject(MUIO_Label,"640x480", 0), End, Child, (IPTR) VSpace(0), End, End, End, End; if(app) { ULONG sigs = 0; DoMethod(tick1, MUIM_Notify, MUIA_Selected, TRUE, (IPTR)custom, 3, MUIM_Set, MUIA_Resolution, TRUE); DoMethod(tick1, MUIM_Notify, MUIA_Selected, FALSE, (IPTR)custom, 3, MUIM_Set, MUIA_Resolution, FALSE); DoMethod(window, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); set(window, MUIA_Window_Open, TRUE); while((LONG)DoMethod(app, MUIM_Application_NewInput, &sigs) != (LONG)MUIV_Application_ReturnID_Quit) { if(sigs) { sigs = Wait(sigs | SIGBREAKF_CTRL_C); if(sigs & SIGBREAKF_CTRL_C) break; } } MUI_DisposeObject(app); } MUI_DeleteCustomClass(mcc); } CloseLibrary(ps); } mybug(-1,("Exiting\n")); return 0; }
/* /// "nGUITask()" */ AROS_UFH0(void, nGUITask) { AROS_USERFUNC_INIT struct Task *thistask; struct AROSXClassBase *arosxb; struct AROSXClassController *arosxc; struct Library *MUIBase; struct Library *PsdBase; struct Library *AROSXBase; struct AROSXClassConfigGUI *gui; thistask = FindTask(NULL); arosxc = thistask->tc_UserData; arosxb = arosxc->arosxb; struct AROSX_GAMEPAD *arosx_gamepad; arosx_gamepad = &arosxc->arosx_gamepad; /* TODO: Make use of OpenLibrary/CloseLibrary to keep track of lib open count... */ ++arosxb->Library.lib_OpenCnt; struct AROSX_EventHook *arosx_eventhook; struct MsgPort *arosx_eventport; if(gui = AllocVec(sizeof(struct AROSXClassConfigGUI), MEMF_CLEAR|MEMF_ANY)) { if(AROSXBase = OpenLibrary("arosx.library", 0)) { mybug(-1,("[AROSXClass GUI] arosx.library openened\n")); arosx_eventport = CreateMsgPort(); arosx_eventhook = AROSX_AddEventHandler(arosx_eventport, (((1<<arosxc->id))<<28)); /* Set to listen every controller */ //arosx_eventhook = AROSX_AddEventHandler(arosx_eventport, (0xf<<28)); if((MUIMasterBase = OpenLibrary(MUIMASTER_NAME, MUIMASTER_VMIN))) { if((ps = OpenLibrary("poseidon.library", 4))) { gui->App = ApplicationObject, MUIA_Application_Title , (IPTR)libname, MUIA_Application_Version , (IPTR)VERSION_STRING, MUIA_Application_Copyright , (IPTR)"©2018-2019 The AROS Development Team", MUIA_Application_Author , (IPTR)"The AROS Development Team", MUIA_Application_Description, (IPTR)"Settings for the arosx.class", MUIA_Application_Base , (IPTR)"AROSX", MUIA_Application_HelpFile , (IPTR)"HELP:Poseidon.guide", MUIA_Application_Menustrip , (IPTR)MenustripObject, Child, (IPTR)MenuObjectT((IPTR)"Project"), Child, (IPTR)(gui->AboutMI = MenuitemObject, MUIA_Menuitem_Title, (IPTR)"About...", MUIA_Menuitem_Shortcut, (IPTR)"?", End), End, Child, (IPTR)MenuObjectT((IPTR)"Settings"), Child, (IPTR)(gui->UseMI = MenuitemObject, MUIA_Menuitem_Title, (IPTR)"Save", MUIA_Menuitem_Shortcut, (IPTR)"S", End), Child, (IPTR)MenuitemObject, MUIA_Menuitem_Title, (IPTR)NM_BARLABEL, End, Child, (IPTR)(gui->MUIPrefsMI = MenuitemObject, MUIA_Menuitem_Title, (IPTR)"MUI Settings", MUIA_Menuitem_Shortcut, (IPTR)"M", End), End, End, SubWindow, (IPTR)(gui->MainWindow = WindowObject, MUIA_Window_ID , MAKE_ID('M','A','I','N'), MUIA_Window_Title, (IPTR)arosxc->name, MUIA_HelpNode, (IPTR)libname, WindowContents, (IPTR)VGroup, Child, (IPTR)(gui->GamepadGroupObject = ColGroup(2), GroupFrameT("Gamepad"), MUIA_Disabled, TRUE, Child, (IPTR)HGroup, Child, (IPTR)(gui->GamepadObject_button_a = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_b = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_x = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_y = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_ls = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_rs = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_left_thumb = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_right_thumb = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_dpad_left = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_dpad_right = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_dpad_up = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_dpad_down = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_back = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), Child, (IPTR)(gui->GamepadObject_button_start = ImageObject, MUIA_Image_FontMatch, TRUE, MUIA_Selected, FALSE, MUIA_ShowSelState, FALSE, MUIA_Image_Spec, MUII_RadioButton, MUIA_Frame, MUIV_Frame_None, End), End, Child, (IPTR)(gui->GamepadObject_left_trigger = GaugeObject, GaugeFrame, MUIA_Gauge_Max, 0xff, MUIA_Gauge_InfoText, (IPTR)"%lx", MUIA_Gauge_Horiz, TRUE, MUIA_Gauge_Current, 0, End), Child, (IPTR)(gui->GamepadObject_right_trigger = GaugeObject, GaugeFrame, MUIA_Gauge_Max, 0xff, MUIA_Gauge_InfoText, (IPTR)"%lx", MUIA_Gauge_Horiz, TRUE, MUIA_Gauge_Current, 0, End), Child, (IPTR)(gui->GamepadObject_left_stick_x = GaugeObject, GaugeFrame, MUIA_Gauge_Max, 0xffff, MUIA_Gauge_InfoText, (IPTR)"%lx", MUIA_Gauge_Horiz, TRUE, MUIA_Gauge_Current, 0, End), Child, (IPTR)(gui->GamepadObject_left_stick_y = GaugeObject, GaugeFrame, MUIA_Gauge_Max, 0xffff, MUIA_Gauge_InfoText, (IPTR)"%lx", MUIA_Gauge_Horiz, TRUE, MUIA_Gauge_Current, 0, End), Child, (IPTR)(gui->GamepadObject_right_stick_x = GaugeObject, GaugeFrame, MUIA_Gauge_Max, 0xffff, MUIA_Gauge_InfoText, (IPTR)"%lx", MUIA_Gauge_Horiz, TRUE, MUIA_Gauge_Current, 0, End), Child, (IPTR)(gui->GamepadObject_right_stick_y = GaugeObject, GaugeFrame, MUIA_Gauge_Max, 0xffff, MUIA_Gauge_InfoText, (IPTR)"%lx", MUIA_Gauge_Horiz, TRUE, MUIA_Gauge_Current, 0, End), End), Child, (IPTR)VSpace(0), Child, (IPTR)HGroup, MUIA_Group_SameWidth, TRUE, Child, (IPTR)(gui->UseObj = TextObject, ButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_CycleChain, 1, MUIA_InputMode, MUIV_InputMode_RelVerify, MUIA_Text_Contents, (IPTR)"\33c Save ", End), Child, (IPTR)(gui->CloseObj = TextObject, ButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_CycleChain, 1, MUIA_InputMode, MUIV_InputMode_RelVerify, MUIA_Text_Contents, (IPTR)"\33c Use ", End), End, End, End), End; if(gui->App) { DoMethod(gui->MainWindow, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, gui->App, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(gui->UseObj, MUIM_Notify, MUIA_Pressed, FALSE, gui->App, 2, MUIM_Application_ReturnID, ID_STORE_CONFIG); DoMethod(gui->CloseObj, MUIM_Notify, MUIA_Pressed, FALSE, gui->App, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(gui->AboutMI, MUIM_Notify, MUIA_Menuitem_Trigger, MUIV_EveryTime, gui->App, 2, MUIM_Application_ReturnID, ID_ABOUT); DoMethod(gui->UseMI, MUIM_Notify, MUIA_Menuitem_Trigger, MUIV_EveryTime, gui->App, 2, MUIM_Application_ReturnID, ID_STORE_CONFIG); DoMethod(gui->MUIPrefsMI, MUIM_Notify, MUIA_Menuitem_Trigger, MUIV_EveryTime, gui->App, 2, MUIM_Application_OpenConfigWindow, 0); IPTR isopen = 0; IPTR iconify = 0; ULONG sigs; ULONG sigmask; LONG retid; get(gui->App, MUIA_Application_Iconified, &iconify); set(gui->MainWindow, MUIA_Window_Open, TRUE); get(gui->MainWindow, MUIA_Window_Open, &isopen); if((isopen || (!iconify))) { sigmask = (1UL<<arosx_eventport->mp_SigBit); do { retid = DoMethod(gui->App, MUIM_Application_NewInput, &sigs); switch(retid) { case ID_ABOUT: MUI_RequestA(gui->App, gui->MainWindow, 0, NULL, "Fabulous!", VERSION_STRING, NULL); break; } if(retid == MUIV_Application_ReturnID_Quit) { break; } if(sigs) { sigs = Wait(sigs | sigmask | SIGBREAKF_CTRL_C); if(sigs & SIGBREAKF_CTRL_C) { break; } if(sigs & (1UL<<arosx_eventport->mp_SigBit)) { mybug(-1,("(%d) I may have received an event...\n", arosxc->id)); struct AROSX_EventNote *en; while((en = (struct AROSX_EventNote *)GetMsg(arosx_eventport))) { mybug(-1,(" event %08lx\n", en->en_Event)); /* TODO: GUI is disabled until we get the first message even on wired controllers... */ if((arosxc->status.wireless)&&(arosxc->status.signallost)) { set(gui->GamepadGroupObject, MUIA_Disabled, TRUE); } else { set(gui->GamepadGroupObject, MUIA_Disabled, FALSE); set(gui->GamepadObject_button_a, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_A)); set(gui->GamepadObject_button_b, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_B)); set(gui->GamepadObject_button_x, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_X)); set(gui->GamepadObject_button_y, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_Y)); set(gui->GamepadObject_button_ls, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_LEFT_SHOULDER)); set(gui->GamepadObject_button_rs, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_RIGHT_SHOULDER)); set(gui->GamepadObject_left_thumb, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_LEFT_THUMB)); set(gui->GamepadObject_right_thumb, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_RIGHT_THUMB)); set(gui->GamepadObject_dpad_left, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_DPAD_LEFT)); set(gui->GamepadObject_dpad_right, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_DPAD_RIGHT)); set(gui->GamepadObject_dpad_up, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_DPAD_UP)); set(gui->GamepadObject_dpad_down, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_DPAD_DOWN)); set(gui->GamepadObject_button_back, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_BACK)); set(gui->GamepadObject_button_start, MUIA_Selected, (arosx_gamepad->Buttons & AROSX_GAMEPAD_START)); set(gui->GamepadObject_left_trigger, MUIA_Gauge_Current, (arosx_gamepad->LeftTrigger)); set(gui->GamepadObject_right_trigger, MUIA_Gauge_Current, (arosx_gamepad->RightTrigger)); if(arosx_gamepad->ThumbLX>=0x8000) { set(gui->GamepadObject_left_stick_x, MUIA_Gauge_Current, (arosx_gamepad->ThumbLX-0x8000)); } else { set(gui->GamepadObject_left_stick_x, MUIA_Gauge_Current, (0x8000+arosx_gamepad->ThumbLX)); } if(arosx_gamepad->ThumbLY>=0x8000) { set(gui->GamepadObject_left_stick_y, MUIA_Gauge_Current, (arosx_gamepad->ThumbLY-0x8000)); } else { set(gui->GamepadObject_left_stick_y, MUIA_Gauge_Current, (0x8000+arosx_gamepad->ThumbLY)); } if(arosx_gamepad->ThumbRX>=0x8000) { set(gui->GamepadObject_right_stick_x, MUIA_Gauge_Current, (arosx_gamepad->ThumbRX-0x8000)); } else { set(gui->GamepadObject_right_stick_x, MUIA_Gauge_Current, (0x8000+arosx_gamepad->ThumbRX)); } if(arosx_gamepad->ThumbRY>=0x8000) { set(gui->GamepadObject_right_stick_y, MUIA_Gauge_Current, (arosx_gamepad->ThumbRY-0x8000)); } else { set(gui->GamepadObject_right_stick_y, MUIA_Gauge_Current, (0x8000+arosx_gamepad->ThumbRY)); } } ReplyMsg((struct Message *)en); } } } } while(TRUE); set(gui->MainWindow, MUIA_Window_Open, FALSE); } if(gui->App) { MUI_DisposeObject(gui->App); gui->App = NULL; } if(MUIMasterBase) { CloseLibrary(MUIMasterBase); MUIMasterBase = NULL; } if(ps) { CloseLibrary(ps); ps = NULL; } } } } } AROSX_RemEventHandler(arosx_eventhook); CloseLibrary(AROSXBase); FreeVec(gui); Forbid(); arosxc->GUITask = NULL; --arosxb->Library.lib_OpenCnt; } AROS_USERFUNC_EXIT }
BOOL BuildGUI(char *screenname) { Object *MUISave, *MUIUse, *MUICancel; Object *page1,*page2; Object *MUITFreq,*MUITChannels,*MUITOutvol,*MUITMonvol,*MUITGain,*MUITInput,*MUITOutput,*MUITDebug,*MUITEcho,*MUITSurround,*MUITClipvol,*MUITCpu,*MUITACTime,*MUITScalemode; UpdateStrings(); MUIMasterBase = (void *)OpenLibrary("muimaster.library", MUIMASTER_VLATEST); if(MUIMasterBase == NULL) { Printf((char *) msgTextNoOpen, (ULONG) "muimaster.library", MUIMASTER_VLATEST); Printf("\n"); return FALSE; } page1 = HGroup, Child, VGroup, Child, MUIUnit = CycleObject, MUIA_CycleChain, 1, MUIA_Cycle_Entries, Units, MUIA_Cycle_Active, state.UnitSelected, End, Child, ListviewObject, MUIA_CycleChain, 1, MUIA_Listview_List, MUIList = ListObject, InputListFrame, MUIA_List_AutoVisible, TRUE, End, End, Child, HGroup, ReadListFrame, MUIA_Background, MUII_TextBack, Child, TextObject, MUIA_Text_Contents, msgProperties, MUIA_Text_SetMax, TRUE, End, Child, MUIInfos = TextObject, MUIA_Text_Contents, "\n\n\n\n\n\n", MUIA_Text_SetMin, FALSE, End, End, End, Child, BalanceObject, End, Child, VGroup, Child, HVSpace, Child, ColGroup(3), GroupFrameT(msgOptions), Child, MUITFreq = SpecialButton((STRPTR)msgOptFrequency), Child, MUIFreq = SpecialSlider(0,max(state.Frequencies-1,0),state.FreqSelected), Child, MUILFreq = SpecialLabel(getFreq()), Child, MUITChannels = SpecialButton((STRPTR)msgOptChannels), Child, MUIChannels = SpecialSlider(1,state.Channels,state.ChannelsSelected), Child, MUILChannels = SpecialLabel(getChannels()), Child, MUITOutvol = SpecialButton((STRPTR)msgOptVolume), Child, MUIOutvol = SpecialSlider(0,max(state.OutVols-1,0),state.OutVolSelected), Child, MUILOutvol = SpecialLabel(getOutVol()), Child, MUITMonvol = SpecialButton((STRPTR)msgOptMonitor), Child, MUIMonvol = SpecialSlider(0,max(state.MonVols-1,1),state.MonVolSelected), Child, MUILMonvol = SpecialLabel(getMonVol()), Child, MUITGain = SpecialButton((STRPTR)msgOptGain), Child, MUIGain = SpecialSlider(0,max(state.Gains-1,0),state.GainSelected), Child, MUILGain = SpecialLabel(getGain()), Child, MUITInput = SpecialButton((STRPTR)msgOptInput), Child, MUIInput = SpecialSlider(0,max(state.Inputs-1,0),state.InputSelected), Child, MUILInput = SpecialLabel(getInput()), Child, MUITOutput = SpecialButton((STRPTR)msgOptOutput), Child, MUIOutput = SpecialSlider(0,max(state.Outputs-1,0),state.OutputSelected), Child, MUILOutput = SpecialLabel(getOutput()), End, Child, MUIPlay = SimpleButton(msgButtonPlay), Child, HVSpace, End, End; page2 = VGroup, Child, HVSpace, Child, HGroup, Child, HVSpace, Child, ColGroup(2), GroupFrameT(msgGlobalOptions), Child, MUITDebug = SpecialButton((STRPTR)msgGlobOptDebugLevel), Child, MUIDebug = CycleObject, MUIA_CycleChain, 1, MUIA_Cycle_Entries, DebugLabels, MUIA_Cycle_Active, globalprefs.ahigp_DebugLevel, End, Child, MUITEcho = SpecialButton((STRPTR)msgGlobOptEcho), Child, MUIEcho = CycleObject, MUIA_CycleChain, 1, MUIA_Cycle_Entries, EchoLabels, MUIA_Cycle_Active, (globalprefs.ahigp_DisableEcho ? 2 : 0) | (globalprefs.ahigp_FastEcho ? 1 : 0), MUIA_Disabled, AHIBase->lib_Version >= 5, End, Child, MUITSurround = SpecialButton((STRPTR)msgGlobOptSurround), Child, MUISurround = CycleObject, MUIA_CycleChain, 1, MUIA_Cycle_Entries, SurroundLabels, MUIA_Cycle_Active, globalprefs.ahigp_DisableSurround, MUIA_Disabled, AHIBase->lib_Version >= 5, End, Child, MUITClipvol = SpecialButton((STRPTR)msgGlobOptMasterVol), Child, MUIClipvol = CycleObject, MUIA_CycleChain, 1, MUIA_Cycle_Entries, ClipMVLabels, MUIA_Cycle_Active, globalprefs.ahigp_ClipMasterVolume, MUIA_Disabled, AHIBase->lib_Version >= 5, End, Child, MUITCpu = SpecialButton((STRPTR)msgGlobOptCPULimit), Child, MUICpu = SliderObject, MUIA_CycleChain, 1, MUIA_Slider_Horiz, TRUE, MUIA_Numeric_Min, 0, MUIA_Numeric_Max, 100, MUIA_Numeric_Value,(globalprefs.ahigp_MaxCPU * 100 + 32768) / 65536, MUIA_Numeric_Format,"%ld%%", End, Child, MUITACTime = SpecialButton((STRPTR)msgGlobOptACTime), Child, MUIACTime = SliderObject, MUIA_CycleChain, 1, MUIA_Slider_Horiz, TRUE, MUIA_Numeric_Min, 0, MUIA_Numeric_Max, 100, MUIA_Numeric_Value,(globalprefs.ahigp_AntiClickTime * 1000 + 32768) >> 16, MUIA_Numeric_Format,"%ld ms", MUIA_Disabled, AHIBase->lib_Version <= 4, End, Child, MUITScalemode = SpecialButton((STRPTR)msgOptScalemode), Child, MUIScalemode = CycleObject, MUIA_CycleChain, 1, MUIA_Cycle_Entries, ScaleLabels, MUIA_Cycle_Active, globalprefs.ahigp_ScaleMode, MUIA_Disabled, AHIBase->lib_Version <= 4, End, End, Child, HVSpace, End, Child, HVSpace, End; MUIApp = ApplicationObject, MUIA_Application_Title, (char *) msgTextProgramName, MUIA_Application_Version, Version, MUIA_Application_Copyright, "©1996-2004 Martin Blom", MUIA_Application_Author, "Stéphane Barbaray/Martin Blom", MUIA_Application_Base, "AHI", MUIA_Application_HelpFile, HELPFILE, MUIA_Application_Menustrip, MUIMenu = MUI_MakeObject(MUIO_MenustripNM,Menus,0), MUIA_Application_SingleTask, TRUE, SubWindow, MUIWindow = WindowObject, MUIA_Window_Title, (char *) msgTextProgramName, MUIA_Window_ID , MAKE_ID('M','A','I','N'), MUIA_HelpNode, "AHI", WindowContents, VGroup, Child, RegisterGroup(PageNames), MUIA_CycleChain, 1, Child, page1, Child, page2, End, Child, HGroup, Child, MUISave = SimpleButton(msgButtonSave), Child, MUIUse = SimpleButton(msgButtonUse), Child, MUICancel = SimpleButton(msgButtonCancel), End, End, End, End; if( MUIApp != NULL ) { APTR item = (APTR)DoMethod(MUIMenu,MUIM_FindUData,ACTID_ICONS); if(item) { set(item, MUIA_Menuitem_Checked, SaveIcons); } DoMethod(MUIWindow, MUIM_MultiSet, MUIA_Text_PreParse,"\033l",MUILFreq,MUILChannels,MUILOutvol,MUILMonvol,MUILGain,MUILInput,MUILOutput,NULL); DoMethod(MUIWindow, MUIM_MultiSet, MUIA_CycleChain, 1, MUISave,MUIUse,MUICancel,NULL); DoMethod(MUITFreq, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIFreq); DoMethod(MUITChannels, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIChannels); DoMethod(MUITOutvol, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIOutvol); DoMethod(MUITMonvol, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIMonvol); DoMethod(MUITGain, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIGain); DoMethod(MUITInput, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIInput); DoMethod(MUITOutput, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIOutput); DoMethod(MUIPlay, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, ACTID_PLAY); DoMethod(MUITDebug, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIDebug); DoMethod(MUITEcho, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIEcho); DoMethod(MUITSurround, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUISurround); DoMethod(MUITClipvol, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIClipvol); DoMethod(MUITCpu, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUICpu); DoMethod(MUITACTime, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIACTime); DoMethod(MUITScalemode, MUIM_Notify, MUIA_Pressed, TRUE, MUIWindow, 3, MUIM_Set, MUIA_Window_ActiveObject, MUIScalemode); DoMethod(MUIWindow, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, MUIApp, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(MUISave, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, ACTID_SAVE); DoMethod(MUIUse, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, ACTID_USE); DoMethod(MUICancel, MUIM_Notify, MUIA_Pressed, FALSE, MUIApp, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit); DoMethod(MUIUnit, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_UNIT); DoMethod(MUIList, MUIM_Notify, MUIA_List_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_MODE); DoMethod(MUIDebug, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_DEBUG); DoMethod(MUISurround, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_SURROUND); DoMethod(MUIEcho, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_ECHO); DoMethod(MUICpu, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_CPULIMIT); DoMethod(MUIClipvol, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_CLIPMV); DoMethod(MUIACTime, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_ACTIME); DoMethod(MUIScalemode, MUIM_Notify, MUIA_Cycle_Active, MUIV_EveryTime, MUIApp, 2, MUIM_Application_ReturnID, ACTID_SCALEMODE); DoMethod(MUIFreq, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); DoMethod(MUIChannels, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); DoMethod(MUIOutvol, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); DoMethod(MUIMonvol, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); DoMethod(MUIGain, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); DoMethod(MUIInput, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); DoMethod(MUIOutput, MUIM_Notify, MUIA_Numeric_Value, MUIV_EveryTime, MUIV_Notify_Self, 3, MUIM_CallHook, &hookSlider, MUIV_TriggerValue); set(MUIWindow, MUIA_Window_Open, TRUE); GUINewUnit(); return TRUE; } return FALSE; }
STATIC VOID ProgressWindow_SubTask( STRPTR message ) { struct Library * MUIMasterBase; ENTER(); DBG_STRING(message); if((MUIMasterBase = OpenLibrary(MUIMASTER_NAME,MUIMASTER_VMIN))) { Object * app, * window; app = ApplicationObject, MUIA_Application_Title , "AmiNZB.WNDP", MUIA_Application_Base , "AmiNZB.WNDP", MUIA_Application_Version , ProgramVersionTag(), MUIA_Application_Description, ProgramDescription(), SubWindow, window = WindowObject, MUIA_Window_Borderless , TRUE, MUIA_Window_CloseGadget, FALSE, MUIA_Window_SizeGadget , FALSE, MUIA_Window_DepthGadget, FALSE, MUIA_Window_DragBar , FALSE, MUIA_Window_ScreenTitle, ProgramDescription(), WindowContents, VGroup, GroupFrameT(NULL), InnerSpacing(2,4), Child, TextObject, MUIA_Text_Contents, (ULONG)message, MUIA_Text_PreParse, "\033b\033c", MUIA_Font, MUIV_Font_Big, End, Child, BusyObject, End, End, End, End; if( app ) { DoMethod(window,MUIM_Notify,MUIA_Window_CloseRequest,TRUE, app,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit); set(window,MUIA_Window_Open,TRUE); if(xget( window, MUIA_Window_Open)) { ULONG sigs = 0; BOOL running = TRUE; struct Window * iWindow; if((iWindow = (struct Window *) xget( window, MUIA_Window_Window))) { ((struct Process *)FindTask(0))->pr_WindowPtr = iWindow; //SetWindowTitles( iWindow, NULL, ProgramDescription()); } do { switch(DoMethod(app,MUIM_Application_NewInput,&sigs)) { case MUIV_Application_ReturnID_Quit: //running = FALSE; DisplayBeep(NULL); break; default: break; } if(running && sigs) { sigs = Wait(sigs | SIGBREAKF_CTRL_C); if (sigs & SIGBREAKF_CTRL_C) break; } } while(running); set(window,MUIA_Window_Open,FALSE); } MUI_DisposeObject(app); } CloseLibrary(MUIMasterBase); } LEAVE(); }
int main(UNUSED int argc,char **argv) { int res; if ((IntuitionBase = (APTR)OpenLibrary("intuition.library",39)) != NULL && GETINTERFACE("main", IIntuition, IntuitionBase)) { if ((MUIMasterBase = OpenLibrary("muimaster.library",19)) != NULL && GETINTERFACE("main", IMUIMaster, MUIMasterBase)) { Object *app, *win, *sb, *appearance, *labelPos, *borderless, *sunny, *raised, *scaled, *update; if ((app = ApplicationObject, MUIA_Application_Title, "TheBar Demo4", MUIA_Application_Version, "$VER: TheBarDemo4 1.0 (24.6.2003)", MUIA_Application_Copyright, "Copyright 2003 by Alfonso Ranieri", MUIA_Application_Author, "Alfonso Ranieri <*****@*****.**>", MUIA_Application_Description, "TheBar example", MUIA_Application_Base, "THEBAREXAMPLE", MUIA_Application_UsedClasses, usedClasses, SubWindow, win = WindowObject, MUIA_Window_ID, MAKE_ID('M','A','I','N'), MUIA_Window_Title, "TheBar Demo4", WindowContents, VGroup, Child, sb = TheBarObject, MUIA_Group_Horiz, TRUE, MUIA_TheBar_IgnoreAppearance, TRUE, MUIA_TheBar_EnableKeys, TRUE, MUIA_TheBar_Buttons, buttons, MUIA_TheBar_StripBrush, &cbrush, MUIA_TheBar_StripCols, 16, MUIA_TheBar_StripRows, 3, MUIA_TheBar_StripHSpace, 0, MUIA_TheBar_StripVSpace, 0, End, Child, VGroup, GroupFrameT("Settings"), Child, HGroup, Child, Label2("Appearance"), Child, appearance = MUI_MakeObject(MUIO_Cycle,NULL,appearances), Child, Label2("Label pos"), Child, labelPos = MUI_MakeObject(MUIO_Cycle,NULL,labelPoss), End, Child, HGroup, Child, HSpace(0), Child, Label1("Borderless"), Child, borderless = MUI_MakeObject(MUIO_Checkmark,NULL), Child, HSpace(0), Child, Label1("Sunny"), Child, sunny = MUI_MakeObject(MUIO_Checkmark,NULL), Child, HSpace(0), Child, Label1("Raised"), Child, raised = MUI_MakeObject(MUIO_Checkmark,NULL), Child, HSpace(0), Child, Label1("Scaled"), Child, scaled = MUI_MakeObject(MUIO_Checkmark,NULL), Child, HSpace(0), End, End, Child, update = MUI_MakeObject(MUIO_Button,"_Update"), End, End, End) != NULL) { ULONG sigs = 0; LONG id; DoMethod(win,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,MUIV_Notify_Application,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit); DoMethod(update,MUIM_Notify,MUIA_Pressed,FALSE,app,2,MUIM_Application_ReturnID,TAG_USER); set(win,MUIA_Window_Open,TRUE); while ((id = DoMethod(app,MUIM_Application_NewInput,&sigs))!=MUIV_Application_ReturnID_Quit) { if (id==(LONG)TAG_USER) { IPTR appearanceV = 0, labelPosV = 0, borderlessV = 0, sunnyV = 0, raisedV = 0, scaledV = 0; get(appearance,MUIA_Cycle_Active,&appearanceV); get(labelPos,MUIA_Cycle_Active,&labelPosV); get(borderless,MUIA_Selected,&borderlessV); get(sunny,MUIA_Selected,&sunnyV); get(raised,MUIA_Selected,&raisedV); get(scaled,MUIA_Selected,&scaledV); SetAttrs(sb,MUIA_TheBar_ViewMode, appearanceV, MUIA_TheBar_LabelPos, labelPosV, MUIA_TheBar_Borderless, borderlessV, MUIA_TheBar_Sunny, sunnyV, MUIA_TheBar_Raised, raisedV, MUIA_TheBar_Scaled, scaledV, TAG_DONE); } if (sigs) { sigs = Wait(sigs | SIGBREAKF_CTRL_C); if (sigs & SIGBREAKF_CTRL_C) break; } } MUI_DisposeObject(app); res = RETURN_OK; } else { printf("%s: can't create application\n",argv[0]); res = RETURN_FAIL; } CLOSELIB(MUIMasterBase, IMUIMaster); } else { printf("%s: Can't open muimaster.library ver 19 or higher\n",argv[0]); res = RETURN_ERROR; } CLOSELIB(IntuitionBase, IIntuition); } else { printf("%s: Can't open intuition.library ver 39 or higher\n",argv[0]); res = RETURN_ERROR; } return res; }
static IPTR mNew(struct IClass *cl, Object *obj, struct opSet *msg) { struct data temp; struct URL_BrowserNode *bn; struct TagItem *attrs = msg->ops_AttrList; memset(&temp,0,sizeof(temp)); temp.browserList = (Object *)GetTagData(MUIA_BrowserEditWin_ListObj,(IPTR)NULL,attrs); if (!temp.browserList) return 0; bn = temp.bn = (struct URL_BrowserNode *)GetTagData(MUIA_BrowserEditWin_Browser,(IPTR)NULL,attrs); if (!bn) return 0; if((obj = (Object *)DoSuperNew(cl,obj, MUIA_HelpNode, "BWIN", MUIA_Window_ID, MAKE_ID('E','D','B','R'), MUIA_Window_Title, getString(MSG_Browser_WinTitle), MUIA_Window_ScreenTitle, getString(MSG_App_ScreenTitle), MUIA_Window_AllowTopMenus, FALSE, WindowContents, VGroup, Child, ColGroup(2), GroupFrameT(getString(MSG_Edit_Definitions)), Child, olabel2(MSG_Edit_Name), Child, temp.name = ostring(NAME_LEN,MSG_Edit_Name,MSG_Edit_Name_Help), Child, olabel2(MSG_Edit_Path), Child, temp.path = opopph(syms,names,PATH_LEN,MSG_Edit_Path,TRUE,MSG_Edit_Path_Help), Child, olabel2(MSG_Edit_Port), Child, temp.port = opopport(PORT_LEN,MSG_Edit_Port,MSG_Edit_Port_Help), End, Child, ColGroup(2), GroupFrameT(getString(MSG_Edit_ARexx)), Child, olabel2(MSG_Edit_Show), Child, temp.show = ostring(SHOWCMD_LEN,MSG_Edit_Show,MSG_Edit_Show_Help), Child, olabel2(MSG_Edit_Screen), Child, temp.toFront = ostring(TOFRONTCMD_LEN,MSG_Edit_Screen,MSG_Edit_Screen_Help), Child, olabel2(MSG_Edit_OpenURL), Child, temp.openURL = opopph(syms,names,OPENURLCMD_LEN,MSG_Edit_OpenURL,FALSE,MSG_Edit_OpenURL_Help), Child, olabel2(MSG_Edit_NewWin), Child, temp.openURLNW = opopph(syms,names,OPENURLWCMD_LEN,MSG_Edit_NewWin,FALSE,MSG_Edit_NewWin_Help), End, Child, ColGroup(3), Child, temp.use = obutton(MSG_Edit_Use,MSG_Edit_Use_Help), Child, RectangleObject, End, Child, temp.cancel = obutton(MSG_Edit_Cancel,MSG_Edit_Cancel_Help), End, End, TAG_MORE, attrs)) != NULL) { struct data *data = INST_DATA(cl,obj); CopyMem(&temp,data,sizeof(*data)); set(data->name,MUIA_String_Contents,bn->ubn_Name); set(data->path,MUIA_String_Contents,bn->ubn_Path); set(data->port,MUIA_String_Contents,bn->ubn_Port); set(data->show,MUIA_String_Contents,bn->ubn_ShowCmd); set(data->toFront,MUIA_String_Contents,bn->ubn_ToFrontCmd); set(data->openURL,MUIA_String_Contents,bn->ubn_OpenURLCmd); set(data->openURLNW,MUIA_String_Contents,bn->ubn_OpenURLWCmd); } return (IPTR)obj; }
int main(UNUSED int argc,char **argv) { int res; if ((IntuitionBase = (APTR)OpenLibrary("intuition.library",39)) != NULL && GETINTERFACE("main", IIntuition, IntuitionBase)) { if ((MUIMasterBase = OpenLibrary("muimaster.library",19)) != NULL && GETINTERFACE("main", IMUIMaster, MUIMasterBase)) { Object *app, *win, *mg, *sb, *viewMode, *buttonsPos, *labelPos, *borderless, *sunny, *raised, *scaled, *keys, *bspacer, *fixed, *free, *update, *rows, *cols, *s4, *h0, *rb, *rs, *ri; if ((app = ApplicationObject, MUIA_Application_Title, "TheBar Demo3", MUIA_Application_Version, "$VER: TheBarDemo3 1.0 (24.6.2003)", MUIA_Application_Copyright, "Copyright 2003 by Alfonso Ranieri", MUIA_Application_Author, "Alfonso Ranieri <*****@*****.**>", MUIA_Application_Description, "TheBar example", MUIA_Application_Base, "THEBAREXAMPLE", MUIA_Application_UsedClasses, usedClasses, SubWindow, win = WindowObject, MUIA_Window_ID, MAKE_ID('M','A','I','N'), MUIA_Window_Title, "TheBar Demo3", WindowContents, mg = VGroup, Child, sb = TheBarObject, MUIA_Group_Horiz, TRUE, MUIA_TheBar_IgnoreAppearance, TRUE, MUIA_TheBar_ViewMode, MUIV_TheBar_ViewMode_Gfx, MUIA_TheBar_Buttons, buttons, MUIA_TheBar_PicsDrawer, "PROGDIR:Pics", MUIA_TheBar_Pics, pics, MUIA_TheBar_SelPics, spics, MUIA_TheBar_DisPics, dpics, End, Child, VGroup, GroupFrameT("Appearance"), Child, ColGroup(2), Child, Label2("Rows"), Child, HGroup, Child, rows = MUI_MakeObject(MUIO_Radio,NULL,rowss), Child, HSpace(0), End, Child, Label2("Columns"), Child, HGroup, Child, cols = MUI_MakeObject(MUIO_Radio,NULL,colss), Child, HSpace(0), End, Child, Label2("ViewMode"), Child, viewMode = MUI_MakeObject(MUIO_Cycle,NULL,viewModes), Child, Label2("Buttons position"), Child, buttonsPos = MUI_MakeObject(MUIO_Cycle,NULL,buttonsPoss), Child, Label2("Label position"), Child, labelPos = MUI_MakeObject(MUIO_Cycle,NULL,labelPoss), End, Child, ScrollgroupObject, MUIA_Scrollgroup_FreeHoriz, FALSE, MUIA_Scrollgroup_Contents, VirtgroupObject, MUIA_Frame, MUIV_Frame_Virtual, Child, HGroup, Child, ColGroup(2), Child, borderless = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel1("Borderless"), Child, sunny = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel1("Sunny"), Child, raised = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel1("Raised"), Child, scaled = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel1("Scaled"), Child, keys = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel1("Enable keys"), Child, bspacer = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel1("Bar spacer"), Child, fixed = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Fixed"), Child, free = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Disable 0"), Child, h0 = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Hide 0"), Child, s4 = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Sleep 4"), Child, RectangleObject, MUIA_FixHeightTxt,"a",End, Child, RectangleObject, MUIA_FixHeightTxt,"a",End, Child, rb = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Remove Bars"), Child, rs = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Remove Spaces"), Child, ri = MUI_MakeObject(MUIO_Checkmark,NULL), Child, LLabel("Remove Images"), End, Child, HSpace(0), End, Child, VSpace(0), End, End, Child, update = MUI_MakeObject(MUIO_Button,"_Update"), End, End, End, End) != NULL) { ULONG sigs = 0; LONG id; set(rows,MUIA_Group_Horiz,TRUE); set(cols,MUIA_Group_Horiz,TRUE); set(viewMode,MUIA_Cycle_Active,1); set(s4,MUIA_Selected,TRUE); DoMethod(sb,MUIM_TheBar_SetAttr,4,MUIA_TheBar_Attr_Sleep,TRUE); DoMethod(win,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,MUIV_Notify_Application,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit); DoMethod(update,MUIM_Notify,MUIA_Pressed,FALSE,app,2,MUIM_Application_ReturnID,TAG_USER); set(win,MUIA_Window_Open,TRUE); while ((id = DoMethod(app,MUIM_Application_NewInput,&sigs))!=MUIV_Application_ReturnID_Quit) { if (id==(LONG)TAG_USER) { IPTR c = 0, r = 0, vm = 0, bp = 0, lp = 0, br = 0, su = 0, ra = 0, sc = 0, k = 0, bs = 0, fi = 0, fr = 0, hl0 = 0, sl4 = 0, rbl = 0, rsl = 0, ril = 0, rem = 0; get(rows,MUIA_Radio_Active,&r); if (r==4) r = 6; get(cols,MUIA_Radio_Active,&c); get(viewMode,MUIA_Cycle_Active,&vm); get(buttonsPos,MUIA_Cycle_Active,&bp); get(labelPos,MUIA_Cycle_Active,&lp); get(borderless,MUIA_Selected,&br); get(sunny,MUIA_Selected,&su); get(raised,MUIA_Selected,&ra); get(scaled,MUIA_Selected,&sc); get(keys,MUIA_Selected,&k); get(bspacer,MUIA_Selected,&bs); get(fixed,MUIA_Selected,&fi); get(free,MUIA_Selected,&fr); get(h0,MUIA_Selected,&hl0); get(s4,MUIA_Selected,&sl4); get(rb,MUIA_Selected,&rbl); get(rs,MUIA_Selected,&rsl); get(ri,MUIA_Selected,&ril); rem = 0; if (rbl) rem |= MUIV_TheBar_RemoveSpacers_Bar; if (rsl) rem |= MUIV_TheBar_RemoveSpacers_Button; if (ril) rem |= MUIV_TheBar_RemoveSpacers_Image; DoMethod(mg,MUIM_Group_InitChange); DoMethod(sb,MUIM_Group_InitChange); SetAttrs(sb,MUIA_TheBar_Columns, c, MUIA_TheBar_Rows, r, MUIA_TheBar_ViewMode, vm, MUIA_TheBar_Borderless, br, MUIA_TheBar_Sunny, su, MUIA_TheBar_Raised, ra, MUIA_TheBar_Scaled, sc, MUIA_TheBar_EnableKeys, k, MUIA_TheBar_BarSpacer, bs, MUIA_TheBar_RemoveSpacers,rem, MUIA_TheBar_LabelPos, lp, TAG_DONE); DoMethod(sb,MUIM_TheBar_SetAttr,0,MUIA_TheBar_Attr_Hide,hl0); DoMethod(sb,MUIM_TheBar_SetAttr,4,MUIA_TheBar_Attr_Sleep,sl4); DoMethod(sb,MUIM_TheBar_SetAttr,6,MUIA_TheBar_Attr_Disabled,fr); DoMethod(sb,MUIM_Group_ExitChange); DoMethod(mg,MUIM_Group_ExitChange); } if (sigs) { sigs = Wait(sigs | SIGBREAKF_CTRL_C); if (sigs & SIGBREAKF_CTRL_C) break; } } MUI_DisposeObject(app); res = RETURN_OK; } else { printf("%s: can't create application\n",argv[0]); res = RETURN_FAIL; } CLOSELIB(MUIMasterBase, IMUIMaster); } else { printf("%s: Can't open muimaster.library ver 19 or higher\n",argv[0]); res = RETURN_ERROR; } CLOSELIB(IntuitionBase, IIntuition); } else { printf("%s: Can't open intuition.library ver 39 or higher\n",argv[0]); res = RETURN_ERROR; } return res; }
void main( void ) { int Done = FALSE; ULONG sig; static STRPTR styleoptions[] = { "IRC", "Email", "HTML", NULL }; if( !( MUIMasterBase = OpenLibrary( MUIMASTER_NAME, 19 ) ) ) return; if( app = ApplicationObject, MUIA_Application_Title, "TextInputDemo", MUIA_Application_Version, "$VER: TextInput Demo 2.0", MUIA_Application_Copyright, "© 1997-99 by Oliver Wagner, All Rights Reserved", MUIA_Application_Author, "Oliver Wagner", MUIA_Application_Description, "Demo for Textinput.mcc", MUIA_Application_Base, "TEXTINPUT-DEMO", SubWindow, win = WindowObject, MUIA_Window_ID, 42, MUIA_Window_Title, "TextInput Demo", WindowContents, VGroup, Child, HGroup, Child, Label1( "Style:" ), Child, Cycle( styleoptions ), End, Child, HGroup, GroupFrameT( "Single line" ), Child, ColGroup( 2 ), Child, Label2( "Input:" ), Child, ti1 = TextinputObject, StringFrame, MUIA_CycleChain, 1, MUIA_ControlChar, 'a', MUIA_Textinput_Multiline, FALSE, MUIA_Textinput_Contents, C1, End, Child, Label2( "NoInput:" ), Child, ti2 = TextinputObject, TextFrame, MUIA_Background, MUII_TextBack, MUIA_Textinput_NoInput, TRUE, MUIA_Textinput_Contents, C1, End, End, End, Child, VGroup, GroupFrameT( "Multi line with scroll" ), Child, timl1 = TextinputscrollObject, StringFrame, MUIA_CycleChain, 1, MUIA_ControlChar, 'b', MUIA_Textinput_Multiline, TRUE, MUIA_Textinput_Contents, C2, End, Child, bt_get = SimpleButton( "Get contents (to shell window)" ), End, Child, HGroup, GroupFrameT( "NoInput multi line with Scroll" ), Child, timl2 = TextinputscrollObject, TextFrame, MUIA_Background,MUII_TextBack,MUIA_CycleChain, 1, MUIA_ControlChar, 'c', MUIA_Textinput_NoInput, TRUE, MUIA_Textinput_Multiline, TRUE, MUIA_Textinput_AutoExpand, TRUE, MUIA_Textinput_Contents, C2, MUIA_Textinput_MinVersion, 12, MUIA_Textinput_WordWrap, 60, End, End, Child, HGroup, GroupFrameT( "Old stringgadget" ), Child, String( C1, 256 ), End, End, End, End ) { DoMethod( win, MUIM_Notify, MUIA_Window_CloseRequest, TRUE, app, 2, MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit ); DoMethod( bt_get, MUIM_Notify, MUIA_Pressed, FALSE, app, 2, MUIM_Application_ReturnID, 2 ); DoMethod( ti1, MUIM_Notify, MUIA_String_Contents, MUIV_EveryTime, ti2, 3, MUIM_Set, MUIA_Text_Contents, MUIV_TriggerValue ); DoMethod( timl1, MUIM_Notify, MUIA_String_Contents, MUIV_EveryTime, timl2, 3, MUIM_Set, MUIA_Text_Contents, MUIV_TriggerValue ); DoMethod( ti1, MUIM_Notify, MUIA_String_Acknowledge, MUIV_EveryTime, ti1, 3, MUIM_Set, MUIA_Textinput_Contents, "" ); set( win, MUIA_Window_Open, TRUE ); while( !Done ) { LONG id; id = DoMethod( app, MUIM_Application_Input, &sig ); switch( id ) { case MUIV_Application_ReturnID_Quit: Done = TRUE; case 2: { char *p; get( timl1, MUIA_Textinput_Contents, &p ); PutStr( ">>>>>\n" ); PutStr( p ); PutStr( "<<<<<\n" ); } break; } if( sig ) if( Wait( sig | SIGBREAKF_CTRL_C ) & SIGBREAKF_CTRL_C ) Done = TRUE; } MUI_DisposeObject( app ); } CloseLibrary( MUIMasterBase ); }
static IPTR mNew(struct IClass *cl, Object *obj, struct opSet *msg) { struct data temp; memset(&temp,0,sizeof(temp)); if((obj = (Object *)DoSuperNew(cl,obj, MUIA_HelpNode, "WIN", MUIA_Window_ID, MAKE_ID('M', 'W', 'I', 'N'), MUIA_Window_Title, getString(MSG_Win_WinTitle), MUIA_Window_ScreenTitle, getString(MSG_App_ScreenTitle), WindowContents, VGroup, Child, temp.reg = RegisterObject, MUIA_Background, MUII_RegisterBack, MUIA_CycleChain, TRUE, MUIA_Register_Titles, tabs, /* Browsers */ Child, temp.browsers = appListObject, MUIA_AppList_Type, MUIV_AppList_Type_Browser, End, /* Mailers */ Child, temp.mailers = appListObject, MUIA_AppList_Type, MUIV_AppList_Type_Mailer, End, /* FTPs */ Child, temp.FTPs = appListObject, MUIA_AppList_Type, MUIV_AppList_Type_FTP, End, /* Miscellaneous */ Child, temp.misc = VGroup, MUIA_HelpNode, "MISCS", /* Defaults */ Child, VGroup, GroupFrameT(getString(MSG_Misc_Defaults)), Child, HGroup, Child, ColGroup(2), Child, temp.show = ocheckmark(MSG_Misc_Show,MSG_Misc_Show_Help), Child, ollabel1(MSG_Misc_Show), Child, temp.toFront = ocheckmark(MSG_Misc_Bring,MSG_Misc_Bring_Help), Child, ollabel1(MSG_Misc_Bring), Child, temp.newWin = ocheckmark(MSG_Misc_Open,MSG_Misc_Open_Help), Child, ollabel1(MSG_Misc_Open), Child, temp.launch = ocheckmark(MSG_Misc_Launch,MSG_Misc_Launch_Help), Child, ollabel1(MSG_Misc_Launch), End, Child, HSpace(0), End, Child, VSpace(0), End, /* Options */ Child, VGroup, GroupFrameT(getString(MSG_Misc_Options)), Child, HGroup, Child, ColGroup(2), Child, temp.prepend = ocheckmark(MSG_Misc_Prepend,MSG_Misc_Prepend_Help), Child, ollabel1(MSG_Misc_Prepend), Child, temp.mailto = ocheckmark(MSG_Misc_UseMailer,MSG_Misc_UseMailer_Help), Child, ollabel1(MSG_Misc_UseMailer), Child, temp.useFTP = ocheckmark(MSG_Misc_UseFTP,MSG_Misc_UseFTP_Help), Child, ollabel1(MSG_Misc_UseFTP), End, Child, HSpace(0), End, Child, VSpace(0), End, End, End, /* Buttons */ Child, HGroup, Child, temp.save = obutton(MSG_Win_Save,MSG_Win_Save_Help), Child, wspace(16), Child, temp.use = obutton(MSG_Win_Use,MSG_Win_Use_Help), Child, wspace(16), Child, temp.apply = obutton(MSG_Win_Apply,MSG_Win_Apply_Help), Child, wspace(16), Child, temp.cancel = obutton(MSG_Win_Cancel,MSG_Win_Cancel_Help), End, End, TAG_MORE, msg->ops_AttrList)) != NULL) { struct data *data = INST_DATA(cl,obj); /* init instance data */ CopyMem(&temp,data,sizeof(*data)); data->browserList = (Object *)xget(data->browsers, MUIA_AppList_ListObj); data->mailerList = (Object *)xget(data->mailers, MUIA_AppList_ListObj); data->FTPList = (Object *)xget(data->FTPs, MUIA_AppList_ListObj); /* buttons */ set(obj,MUIA_Window_DefaultObject,data->browserList); /* window notifies */ DoMethod(obj,MUIM_Notify,MUIA_Window_CloseRequest,TRUE,MUIV_Notify_Application,2, MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit); /* buttons notifies */ DoMethod(data->save,MUIM_Notify,MUIA_Pressed,FALSE,(IPTR)obj,2,MUIM_Win_StorePrefs,MUIV_Win_StorePrefs_Save); DoMethod(data->use,MUIM_Notify,MUIA_Pressed,FALSE,(IPTR)obj,2,MUIM_Win_StorePrefs,MUIV_Win_StorePrefs_Use); DoMethod(data->apply,MUIM_Notify,MUIA_Pressed,FALSE,(IPTR)obj,2,MUIM_Win_StorePrefs,MUIV_Win_StorePrefs_Apply); DoMethod(data->cancel,MUIM_Notify,MUIA_Pressed,FALSE,MUIV_Notify_Application,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit); } return (IPTR)obj; }
/// US_New // Creates user list window static struct US_ClassData *US_New(BOOL supervisor) { struct US_ClassData *data; ENTER(); if((data = calloc(1, sizeof(struct US_ClassData))) != NULL) { data->Supervisor = supervisor; data->GUI.WI = WindowObject, MUIA_Window_Title, tr(MSG_MA_MUsers), MUIA_Window_ScreenTitle, CreateScreenTitle(data->ScreenTitle, sizeof(data->ScreenTitle), tr(MSG_MA_MUsers)), MUIA_HelpNode, "Windows/Userswindow", MUIA_Window_ID, MAKE_ID('U','S','E','R'), WindowContents, VGroup, Child, NListviewObject, MUIA_CycleChain, TRUE, MUIA_NListview_NList, data->GUI.LV_USERS = UserListObject, End, End, Child, VGroup, GroupFrameT(tr(MSG_MA_Settings)), Child, ColGroup(2), Child, Label2(tr(MSG_US_UserName)), Child, data->GUI.ST_USER = MakeString(SIZE_NAME, tr(MSG_US_UserName)), Child, Label2(tr(MSG_US_Password)), Child, data->GUI.ST_PASSWD = MakePassString(tr(MSG_US_Password)), Child, Label2(tr(MSG_US_MailDirectory)), Child, data->GUI.PO_MAILDIR = PopaslObject, MUIA_Popasl_Type,ASL_FileRequest, MUIA_Popstring_String,data->GUI.ST_MAILDIR = MakeString(SIZE_PATH,tr(MSG_US_MailDirectory)), MUIA_Popstring_Button,PopButton(MUII_PopDrawer), ASLFR_DrawersOnly, TRUE, End, End, Child, VGroup, Child, MakeCheckGroup((Object **)&data->GUI.CH_USEADDR, tr(MSG_US_GlobalAddrBook)), Child, MakeCheckGroup((Object **)&data->GUI.CH_USEDICT, tr(MSG_US_GlobalDict)), Child, MakeCheckGroup((Object **)&data->GUI.CH_ROOT,tr(MSG_US_SuperVisor)), End, Child, VGroup, MUIA_ShowMe, supervisor, Child, MakeCheckGroup((Object **)&data->GUI.CH_CLONE, tr(MSG_US_CopyConfig)), End, End, Child, ColGroup(2), MUIA_ShowMe, supervisor, Child, data->GUI.BT_ADD = MakeButton(tr(MSG_US_AddUser)), Child, data->GUI.BT_DEL = MakeButton(tr(MSG_US_DelUser)), End, End, End; if(data->GUI.WI != NULL) { DoMethod(G->App, OM_ADDMEMBER, data->GUI.WI); SetHelp(data->GUI.ST_USER ,MSG_HELP_US_ST_USER); SetHelp(data->GUI.ST_MAILDIR,MSG_HELP_US_ST_MAILDIR); SetHelp(data->GUI.ST_PASSWD ,MSG_HELP_US_ST_PASSWD); SetHelp(data->GUI.CH_USEADDR,MSG_HELP_US_CH_USEADDR); SetHelp(data->GUI.CH_USEDICT,MSG_HELP_US_CH_USEDICT); SetHelp(data->GUI.CH_CLONE ,MSG_HELP_US_CH_CLONE); SetHelp(data->GUI.CH_ROOT ,MSG_HELP_US_CH_ROOT); SetHelp(data->GUI.BT_ADD ,MSG_HELP_US_BT_ADD); SetHelp(data->GUI.BT_DEL ,MSG_HELP_US_BT_DEL); DoMethod(data->GUI.LV_USERS, MUIM_Notify,MUIA_NList_Active, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_GetUSEntryHook); DoMethod(data->GUI.ST_USER, MUIM_Notify,MUIA_String_Contents, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.ST_MAILDIR,MUIM_Notify,MUIA_String_Contents, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.ST_PASSWD, MUIM_Notify,MUIA_String_Contents, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.CH_USEADDR,MUIM_Notify,MUIA_Selected, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.CH_USEDICT,MUIM_Notify,MUIA_Selected, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.CH_ROOT, MUIM_Notify,MUIA_Selected, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.CH_CLONE, MUIM_Notify,MUIA_Selected, MUIV_EveryTime,MUIV_Notify_Application,2,MUIM_CallHook,&US_PutUSEntryHook); DoMethod(data->GUI.BT_ADD, MUIM_Notify,MUIA_Pressed, FALSE ,MUIV_Notify_Application,2,MUIM_CallHook,&US_AddHook); DoMethod(data->GUI.BT_DEL, MUIM_Notify,MUIA_Pressed, FALSE ,MUIV_Notify_Application,2,MUIM_CallHook,&US_DelHook); DoMethod(data->GUI.WI, MUIM_Notify,MUIA_Window_CloseRequest,TRUE ,MUIV_Notify_Application,2,MUIM_CallHook,&US_CloseHook); } else { free(data); data = NULL; } } RETURN(data); return data; }