/* ** Panel */ #include "include/config.h" #include "include/gui.h" #include "include/panel.h" #include "include/download.h" #include "include/info.h" #include "include/share.h" #include "include/msg.h" #include "include/chat.h" #include "include/about.h" #include "include/prefs.h" #include "pix/logo.h" #include "pix/infoicon.h" #include "pix/msgicon.h" #include "pix/chaticon.h" #include "pix/dlicon.h" #include "pix/shareicon.h" #include "pix/prficon.h" #include "amster_Cat.h" ULONG panel_new(struct IClass *cl, Object *obj, struct opSet *msg); extern struct Hook handleHook; MUIF panel_dispatch(REG(a0) struct IClass *cl,REG(a2) Object *obj,REG(a1) Msg msg) { u_long tmp; struct paneldata *data = INST_DATA(cl,obj);; switch(msg->MethodID) { case OM_NEW: return(panel_new(cl,obj,(APTR)msg)); case PANEL_OPENABOUT: set(data->logo,MUIA_Selected,FALSE); set(gui->awin,MUIA_Window_Open,TRUE); return(NULL); case PANEL_OPENDEBUG: GetAttr(MUIA_Selected,data->infoicon,&tmp); if(tmp!=TRUE) set(data->infoicon,MUIA_Selected,TRUE); set(gui->iwin,MUIA_Window_Open,TRUE); return(NULL); case PANEL_CLOSEDEBUG: GetAttr(MUIA_Selected,data->infoicon,&tmp); if(tmp!=FALSE) set(data->infoicon,MUIA_Selected,FALSE); set(gui->iwin,MUIA_Window_Open,FALSE); return(NULL); case PANEL_OPENDL: GetAttr(MUIA_Selected,data->dlicon,&tmp); if(tmp!=TRUE) set(data->dlicon,MUIA_Selected,TRUE); set(gui->dwin,MUIA_Window_Open,TRUE); return(NULL); case PANEL_CLOSEDL: GetAttr(MUIA_Selected,data->dlicon,&tmp); if(tmp!=FALSE) set(data->dlicon,MUIA_Selected,FALSE); set(gui->dwin,MUIA_Window_Open,FALSE); return(NULL); case PANEL_OPENSHARE: GetAttr(MUIA_Selected,data->shareicon,&tmp); if(tmp!=TRUE) set(data->shareicon,MUIA_Selected,TRUE); DoMethod(gui->shwin,SHARE_OPEN); return(NULL); case PANEL_CLOSESHARE: GetAttr(MUIA_Selected,data->shareicon,&tmp); if(tmp!=FALSE) set(data->shareicon,MUIA_Selected,FALSE); DoMethod(gui->shwin,SHARE_CLOSE); return(NULL); case PANEL_OPENPRF: GetAttr(MUIA_Selected,data->prficon,&tmp); if(tmp!=TRUE) set(data->prficon,MUIA_Selected,TRUE); DoMethod(gui->swin,PRF_OPEN); return(NULL); case PANEL_CLOSEPRF: GetAttr(MUIA_Selected,data->prficon,&tmp); if(tmp!=FALSE) set(data->prficon,MUIA_Selected,FALSE); DoMethod(gui->swin,(ULONG)(((muimsg)msg)->arg1)); return(NULL); case PANEL_OPENMSG: DoMethod(gui->mwin,MSG_OPEN); return(NULL); case PANEL_NEWCHAT: { Object *win; win = NewObject(gui->chat_mcc->mcc_Class,NULL,TAG_DONE); if(!win) return(0); DoMethod(gui->app,OM_ADDMEMBER,win); set(win,MUIA_Window_Open,TRUE); return(0); } case PANEL_DISPOSECHAT: { Object *win; win = (Object *)(((muimsg)msg)->arg1); if(!win) return(0); set(win,MUIA_Window_Open,FALSE); DoMethod(gui->app,OM_REMMEMBER,win); MUI_DisposeObject(win); return(0); } } return(DoSuperMethodA(cl,obj,msg)); } ULONG panel_new(struct IClass *cl, Object *obj, struct opSet *msg) { struct paneldata *data; Object *logo,*infoicon,*msgicon,*chaticon,*dlicon,*shareicon,*prficon; if (obj = (Object *)DoSuperNew(cl,obj, Child, VGroup, Child, logo = BodychunkObject, MUIA_FixWidth, LOGO_WIDTH, MUIA_FixHeight, LOGO_HEIGHT, MUIA_Bitmap_Width, LOGO_WIDTH, MUIA_Bitmap_Height, LOGO_HEIGHT, MUIA_Bodychunk_Depth, LOGO_DEPTH, MUIA_Bodychunk_Body, (ULONG *)logo_body, MUIA_Bodychunk_Compression, LOGO_COMPRESSION, MUIA_Bodychunk_Masking, LOGO_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)logo_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_Immediate, MUIA_ShowSelState, FALSE, End, Child, VSpace(0), Child, infoicon = BodychunkObject, ImageButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_FixWidth, INFOICON_WIDTH, MUIA_FixHeight, INFOICON_HEIGHT, MUIA_Bitmap_Width, INFOICON_WIDTH, MUIA_Bitmap_Height, INFOICON_HEIGHT, MUIA_Bodychunk_Depth, INFOICON_DEPTH, MUIA_Bodychunk_Body, (ULONG *)infoicon_body, MUIA_Bodychunk_Compression, INFOICON_COMPRESSION, MUIA_Bodychunk_Masking, INFOICON_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)infoicon_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_Toggle, End, Child, VSpace(0), Child, msgicon = BodychunkObject, ImageButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_FixWidth, MSGICON_WIDTH, MUIA_FixHeight, MSGICON_HEIGHT, MUIA_Bitmap_Width, MSGICON_WIDTH, MUIA_Bitmap_Height, MSGICON_HEIGHT, MUIA_Bodychunk_Depth, MSGICON_DEPTH, MUIA_Bodychunk_Body, (ULONG *)msgicon_body, MUIA_Bodychunk_Compression, MSGICON_COMPRESSION, MUIA_Bodychunk_Masking, MSGICON_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)msgicon_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_RelVerify, End, Child, chaticon = BodychunkObject, ImageButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_FixWidth, CHATICON_WIDTH, MUIA_FixHeight, CHATICON_HEIGHT, MUIA_Bitmap_Width, CHATICON_WIDTH, MUIA_Bitmap_Height, CHATICON_HEIGHT, MUIA_Bodychunk_Depth, CHATICON_DEPTH, MUIA_Bodychunk_Body, (ULONG *)chaticon_body, MUIA_Bodychunk_Compression, CHATICON_COMPRESSION, MUIA_Bodychunk_Masking, CHATICON_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)chaticon_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_RelVerify, End, Child, VSpace(0), Child, dlicon = BodychunkObject, ImageButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_FixWidth, DLICON_WIDTH, MUIA_FixHeight, DLICON_HEIGHT, MUIA_Bitmap_Width, DLICON_WIDTH, MUIA_Bitmap_Height, DLICON_HEIGHT, MUIA_Bodychunk_Depth, DLICON_DEPTH, MUIA_Bodychunk_Body, (ULONG *)dlicon_body, MUIA_Bodychunk_Compression, DLICON_COMPRESSION, MUIA_Bodychunk_Masking, DLICON_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)dlicon_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_Toggle, End, Child, shareicon = BodychunkObject, ImageButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_FixWidth, SHAREICON_WIDTH, MUIA_FixHeight, SHAREICON_HEIGHT, MUIA_Bitmap_Width, SHAREICON_WIDTH, MUIA_Bitmap_Height, SHAREICON_HEIGHT, MUIA_Bodychunk_Depth, SHAREICON_DEPTH, MUIA_Bodychunk_Body, (ULONG *)shareicon_body, MUIA_Bodychunk_Compression, SHAREICON_COMPRESSION, MUIA_Bodychunk_Masking, SHAREICON_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)shareicon_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_Toggle, End, Child, VSpace(0), Child, prficon = BodychunkObject, ImageButtonFrame, MUIA_Background, MUII_ButtonBack, MUIA_FixWidth, PRFICON_WIDTH, MUIA_FixHeight, PRFICON_HEIGHT, MUIA_Bitmap_Width, PRFICON_WIDTH, MUIA_Bitmap_Height, PRFICON_HEIGHT, MUIA_Bodychunk_Depth, PRFICON_DEPTH, MUIA_Bodychunk_Body, (ULONG *)prficon_body, MUIA_Bodychunk_Compression, PRFICON_COMPRESSION, MUIA_Bodychunk_Masking, PRFICON_MASKING, MUIA_Bitmap_SourceColors, (ULONG *)prficon_colors, MUIA_Bitmap_Transparent, 0, MUIA_InputMode, MUIV_InputMode_Toggle, End, Child, VSpace(0), End, TAG_MORE, msg->ops_AttrList)) { data = INST_DATA(cl,obj); data->logo = logo; data->infoicon = infoicon; data->dlicon = dlicon; data->shareicon = shareicon; data->prficon = prficon; DoMethod(logo,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENABOUT); DoMethod(infoicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENDEBUG); DoMethod(infoicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSEDEBUG); DoMethod(dlicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENDL); DoMethod(dlicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSEDL); DoMethod(shareicon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENSHARE); DoMethod(shareicon,MUIM_Notify,MUIA_Selected,FALSE,obj,1,PANEL_CLOSESHARE); DoMethod(prficon,MUIM_Notify,MUIA_Selected,TRUE,obj,1,PANEL_OPENPRF); DoMethod(prficon,MUIM_Notify,MUIA_Selected,FALSE,obj,2,PANEL_CLOSEPRF,PRF_CANCEL); DoMethod(msgicon,MUIM_Notify,MUIA_Pressed,FALSE,obj,1,PANEL_OPENMSG); DoMethod(chaticon,MUIM_Notify,MUIA_Pressed,FALSE,obj,1,PANEL_NEWCHAT); return((ULONG)obj); } return(0); }