static void SetSelected(struct AHIAudioModeRequesterExt *req, BOOL all) { LONG sliderlevels,sliderlevel,selected; if(all) { //Set listview selected=GetSelected(req); GT_SetGadgetAttrs(req->listviewgadget, req->Window, NULL, ((selected == ~0) || (GadToolsBase->lib_Version >= 39) ? TAG_IGNORE : GTLV_Top),selected, (selected == ~0 ? TAG_IGNORE : GTLV_MakeVisible),selected, GTLV_Selected,selected, TAG_DONE); } //Set slider GetSliderAttrs(req,&sliderlevels,&sliderlevel); GT_SetGadgetAttrs(req->slidergadget, req->Window, NULL, GTSL_Max,sliderlevels-1, GTSL_Level, sliderlevel, GA_Disabled,!sliderlevels || (req->tempAudioID == AHI_DEFAULT_ID), TAG_DONE); UpdateInfoWindow(req); }
void tilesetRequesterRefresh(FrameworkWindow *tilesetRequester) { ProjectWindowData *projectData; TilesetRequesterData *data = tilesetRequester->data; TilesetRequesterGadgets *gadgets = tilesetRequester->gadgets->data; projectData = tilesetRequester->parent->parent->data; GT_SetGadgetAttrs(gadgets->tilesetListGadget, tilesetRequester->intuitionWindow, NULL, GTLV_Labels, ~0, TAG_END); freeNumberedList(data->tilesetNames); data->tilesetNames = newNumberedList(projectDataGetTilesetName, projectData, TILESETS); if(!data->tilesetNames) { fprintf(stderr, "tilesetRequesterRefresh: couldn't make tileset name list\n"); goto error; } GT_SetGadgetAttrs(gadgets->tilesetListGadget, tilesetRequester->intuitionWindow, NULL, GTLV_Labels, data->tilesetNames, TAG_END); GT_RefreshWindow(tilesetRequester->intuitionWindow, NULL); return; error: return; }
static void SetSelected(struct AHIAudioModeRequesterExt *req, BOOL all) { LONG sliderlevels,sliderlevel,selected; BOOL disabled = FALSE; ULONG top = GTLV_Top; ULONG makevisible = GTLV_MakeVisible; if(all) { //Set listview selected=GetSelected(req); if( selected == ~0 || GadToolsBase->lib_Version >= 39 ) { top = TAG_IGNORE; } if( selected == ~0 ) { makevisible = TAG_IGNORE; } GT_SetGadgetAttrs(req->listviewgadget, req->Window, NULL, top, selected, makevisible, selected, GTLV_Selected, selected, TAG_DONE); } //Set slider GetSliderAttrs(req,&sliderlevels,&sliderlevel); if( sliderlevels == 0 || req->tempAudioID == AHI_DEFAULT_ID ) { disabled = TRUE; } GT_SetGadgetAttrs(req->slidergadget, req->Window, NULL, GTSL_Max, sliderlevels-1, GTSL_Level, sliderlevel, GA_Disabled, disabled, TAG_DONE); UpdateInfoWindow(req); }
void processMsg(void) { struct IntuiMessage *msg; struct DropMessage *dm; int source,target; while(!ende) { WaitPort(win->UserPort); while((msg = GTD_GetIMsg(win->UserPort)) != 0) { imsg = *msg; if (imsg.Class == IDCMP_OBJECTDROP) { if ((dm = imsg.IAddress) != 0) { if (!dm->dm_Object.od_Owner && dm->dm_Target) { target = dm->dm_Target->GadgetID; switch(target) { case 1: case 2: source = dm->dm_Gadget->GadgetID; if (source < 3) { source--; target--; GT_SetGadgetAttrs(lvgad[0],win,NULL,GTLV_Labels,~0L,TAG_END); GT_SetGadgetAttrs(lvgad[1],win,NULL,GTLV_Labels,~0L,TAG_END); if (target) MoveTo(dm->dm_Object.od_Object,&list[source],dm->dm_SourceEntry,&list[target],dm->dm_TargetEntry); else { Remove(dm->dm_Object.od_Object); AddTail(&list[target],dm->dm_Object.od_Object); } GT_SetGadgetAttrs(lvgad[0],win,NULL,GTLV_Labels,&list[0],TAG_END); GT_SetGadgetAttrs(lvgad[1],win,NULL,GTLV_Labels,&list[1],TAG_END); } else { target--; GT_SetGadgetAttrs(lvgad[target],win,NULL,GTLV_Labels,~0L,TAG_END); if ((node = AllocMem(sizeof(struct Node),MEMF_CLEAR | MEMF_PUBLIC)) != 0) { node->ln_Name = in.in_Name; InsertAt(&list[target],node,dm->dm_TargetEntry); } GT_SetGadgetAttrs(lvgad[target],win,NULL,GTLV_Labels,&list[target],TAG_END); } break; case 3: DisplayBeep(NULL); break; case 4: case 5: source = dm->dm_Gadget->GadgetID-1; GT_SetGadgetAttrs(lvgad[source],win,NULL,GTLV_Labels,~0L,TAG_END); if (target == 4) { if ((node = AllocMem(sizeof(struct Node),MEMF_CLEAR | MEMF_PUBLIC)) != 0) { node->ln_Name = ((struct ImageNode *)dm->dm_Object.od_Object)->in_Name; AddTail(&list[source],node); } } else { Remove((struct Node *)dm->dm_Object.od_Object); FreeMem(dm->dm_Object.od_Object,sizeof(struct Node)); } GT_SetGadgetAttrs(lvgad[source],win,NULL,GTLV_Labels,&list[source],TAG_END); break; } } else if (!dm->dm_Object.od_Owner) { DisplayBeep(NULL); // unsupported drag?! } else if (!stricmp(dm->dm_Object.od_Owner,"dragtest")) { char t[256]; if (GTD_GetString(&dm->dm_Object,t,256)) ErrorRequest("I do not want a node from a clone of mine.\nEspecially, I don't like \"%s\".",t); } else if (!strcmp(dm->dm_Object.od_Owner,"intuition")) ErrorRequest("An object from a custom gadget?\nThat's nothing for me.",dm->dm_Object.od_Owner); else ErrorRequest("An object from %s?\nSounds interesting.",dm->dm_Object.od_Owner); } else DisplayBeep(NULL); } GTD_ReplyIMsg(msg); switch(imsg.Class) { case IDCMP_GADGETDOWN: break; case IDCMP_GADGETUP: switch(((struct Gadget *)imsg.IAddress)->GadgetID) { case 3: GT_SetGadgetAttrs(lvgad[0],win,NULL,GTLV_Labels,~0L,TAG_END); if ((node = AllocMem(sizeof(struct Node),MEMF_CLEAR | MEMF_PUBLIC)) != 0) { node->ln_Name = in.in_Name; AddTail(&list[0],node); } GT_SetGadgetAttrs(lvgad[0],win,NULL,GTLV_Labels,&list[0],TAG_END); break; } break; case IDCMP_CLOSEWINDOW: ende = TRUE; break; } } } }