home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_SERIALPREFSGAD_C
- #define __INC_SERIALPREFSGAD_C
- /*******************************************************************
- $CRT 18 Oct 1996 : hp
-
- $AUT Holger Papajewski
- $DAT >>SerialPrefsGad.c<< 31 Oct 1996 18:18:30 - (C) ProDAD
- *******************************************************************/
-
- //##private
-
- /***********************************************************
- pOS programing example - Copyright (C) 1995-97 proDAD
-
- This code was written as an easy to understand example,
- how to program pOS features. It is provided 'as-is',
- without any express or implied warranty.
-
- Permission is hereby granted to use, copy and modify
- this source code for any purpose, without fee, subject
- to the following conditions:
-
- (1) This notice may not be removed or altered from any
- source distribution.
-
- (2) Altered source versions must be plainly marked as
- such, and must not be misrepresented as being
- the original source code.
-
- (3) If only executable code is distributed, then the
- accompanying documentation have to state that
- "this software is based in part on examples of
- the pOS developer packet".
-
- (4) Permission for use of this code is granted only
- if the user accepts full responsibility for any
- undesirable consequences. proDAD accept NO LIABILITY
- for damages of any kind.
-
- ©proDAD
- ***********************************************************/
-
- #include "ABC:hs/prog.h"
-
- #include "p:pExec/Class.h"
- #include "p:pExec/Memory.h"
- #include "p:pDOS/DosBase.h"
- #include "p:pDOS/ArgTags.h"
- #include "p:pIntui/Tags.h"
- #include "p:pIntui/IObj.h"
- #include "p:pIntui/IClass.h"
- #include "p:pIntui/GClass.h"
- #include "p:pIntui/OClass.h"
- #include "p:pIntui/Tags.h"
- #include "p:pIntui/IntuMsg.h"
- #include "p:pIntui/FraClass.h"
- #include "p:pGadget/Gadget.h"
- #include "p:pGadget/PropGad.h"
- #include "p:pLayer/Rect.h"
- #include "p:pScreen/DrawInfo.h"
- #include "p:Device/IEvent.h"
- #include "p:pPrefs/PrefsTags.h"
- #include "p:pLocale/Catalog.h"
- #include "p:pLocale/LocTags.h"
- #include "p:proto/pLibExt.h"
- #include "p:proto/pExec2.h"
- #include "p:proto/pDOS2.h"
- #include "p:proto/pIntui2.h"
- #include "p:proto/pUtil2.h"
- #include "p:proto/pGFX2.h"
- #include "p:proto/pGadget2.h"
- #include "p:proto/pLocale2.h"
-
-
- #include "p://pOSPrg/SysCatalog/Sys_Cat.h"
-
-
-
- #ifdef _____ME_____
- #include "grund/inc_string.h"
- #include "grund/inc_limits.h"
- #include "grund/inc_stdio.h"
- #include "grund/inc_stdlib.h"
- #else
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <string.h>
- #include <limits.h>
- #include <stdio.h>
- #include <stdlib.h>
- #ifdef __cplusplus
- }
- #endif
- #endif
-
-
-
- #include "ABC:SerialPrefsGad.h"
-
-
-
-
- /*\
- *** ReadArgs-Template & Argumente
- \*/
- CHAR gb_DosArgsTmpl[] = "BAUTRATE/K/N,BUFFER/K/N,PROTOCOL/K,PARITY/K,DATABITS/K,STOPBITS/K";
- CHAR *gb_DefSaveProto[] = {"XonXoff","RtsCts","None",NULL};
- CHAR *gb_DefSaveParit[] = {"None","Even","Odd","Bit1","Bit0",NULL};
-
- /*----------------------------------
- Serial Prefs Load Funktion
- -----------------------------------*/
- BOOL SerialLoad_func(_R_A0 SerialData *obj,_R_A1 pOS_FileHandle *fh )
- {
- BOOL Ret=FALSE;
-
- pOS_DosArgs *Args;
- UWORD Cnt;
- ULONG *Val;
- ULONG Ops[6] = {9600,4096,(ULONG)"None",(ULONG)"None",(ULONG)"8",(ULONG)"1"};
-
-
- if( Args = pOS_ReadDosArgs( gb_DosArgsTmpl,
- Ops, sizeof(Ops)/sizeof(ULONG),
- ARGTAG_Arguments, (ULONG)"",
- ARGTAG_FH, (ULONG)fh,
- ARGTAG_SearchLable, (ULONG)"SerialDefPrefs",
- TAG_DONE )) {
-
- /* Bautrate */
- if( Ops[0] ) {
- Val=obj->sd_BautRates;
- Cnt=0;
- while( *Val && *Val < *((ULONG*)Ops[0])) { Cnt++; Val++; }
- if( *Val )
- pOS_SetGadgetAttrs(NULL,obj->sd_BautGad,PRGADTAG_Top,Cnt,TAG_DONE);
- }
-
- /* Buffer */
- if( Ops[1] ) {
- Val=obj->sd_Buffers;
- Cnt=0;
- while( *Val && *Val < *((ULONG*)Ops[1])) { Cnt++; Val++; }
- if( *Val )
- pOS_SetGadgetAttrs(NULL,obj->sd_BufGad,PRGADTAG_Top,Cnt,TAG_DONE);
- }
-
- /* Protocol */
- if( Ops[2] ) {
- Cnt=0;
- while(gb_DefSaveProto[Cnt] && stricmp((CHAR*)Ops[2],gb_DefSaveProto[Cnt]))
- Cnt++;
- if( gb_DefSaveProto[Cnt] )
- pOS_SetGadgetAttrs(NULL,obj->sd_ProtoGad,MXGADTAG_Active,Cnt,TAG_DONE);
- }
-
- /* Parity */
- if( Ops[3] ) {
- Cnt=0;
- while(gb_DefSaveParit[Cnt] && stricmp((CHAR*)Ops[3],gb_DefSaveParit[Cnt]))
- Cnt++;
- if( gb_DefSaveParit[Cnt] )
- pOS_SetGadgetAttrs(NULL,obj->sd_ParityGad,MXGADTAG_Active,Cnt,TAG_DONE);
- }
-
- /* DataBits */
- if( Ops[4] ) {
- Cnt=0;
- while(obj->sd_DataBits[Cnt] && stricmp((CHAR*)Ops[4],obj->sd_DataBits[Cnt]))
- Cnt++;
- if( obj->sd_DataBits[Cnt] )
- pOS_SetGadgetAttrs(NULL,obj->sd_DataBitGad,MXGADTAG_Active,Cnt,TAG_DONE);
- }
-
- /* StopBits */
- if( Ops[5] ) {
- Cnt=0;
- while(obj->sd_StopBits[Cnt] && stricmp((CHAR*)Ops[5],obj->sd_StopBits[Cnt]))
- Cnt++;
- if( obj->sd_StopBits[Cnt] )
- pOS_SetGadgetAttrs(NULL,obj->sd_StopBitGad,MXGADTAG_Active,Cnt,TAG_DONE);
- }
-
- Ret=TRUE;
-
- pOS_DeleteDosArgs( Args );
- }
-
- return( Ret );
- }
-
-
- /*----------------------------------
- Serial Prefs Save Funktion
- -----------------------------------*/
- BOOL SerialSave_func(_R_A0 SerialData *obj,_R_A1 pOS_FileHandle *fh,
- _R_D0 ULONG flags )
- {
- BOOL Ret = FALSE;
- ULONG Val;
-
- ULONG Args[6];
-
- pOS_GetGadgetAttr(obj->sd_Window,obj->sd_BautGad,PRGADTAG_Top,&Val);
- Args[0] = (ULONG)&obj->sd_BautRates[Val];
-
- pOS_GetGadgetAttr(obj->sd_Window,obj->sd_BufGad,PRGADTAG_Top,&Val);
- Args[1] = (ULONG)&obj->sd_Buffers[Val];
-
- pOS_GetGadgetAttr(obj->sd_Window,obj->sd_ProtoGad,MXGADTAG_Active,&Val);
- Args[2] = (ULONG)gb_DefSaveProto[Val];
-
- pOS_GetGadgetAttr(obj->sd_Window,obj->sd_ParityGad,MXGADTAG_Active,&Val);
- Args[3] = (ULONG)gb_DefSaveParit[Val];
-
- pOS_GetGadgetAttr(obj->sd_Window,obj->sd_DataBitGad,MXGADTAG_Active,&Val);
- Args[4] = (ULONG)obj->sd_DataBits[Val];
-
- pOS_GetGadgetAttr(obj->sd_Window,obj->sd_StopBitGad,MXGADTAG_Active,&Val);
- Args[5] = (ULONG)obj->sd_StopBits[Val];
-
- pOS_TagItem TL[] = { };
-
- Ret = pOS_WriteDosArgs( gb_DosArgsTmpl, Args,
- sizeof(Args)/sizeof(ULONG), NULL,
- ARGTAG_FH, (ULONG)fh,
- ARGTAG_SearchLable, (ULONG)"SerialDefPrefs",
- TAG_DONE);
-
- return( Ret );
- }
-
-
- /*----------------------------------
- Serial Prefs Reset Funktion
- -----------------------------------*/
- VOID SerialReset_func(_R_A0 SerialData *obj )
- {
- pOS_SetGadgetAttrs(NULL,obj->sd_BautGad,PRGADTAG_Top,2,TAG_DONE);
- pOS_SetGadgetAttrs(NULL,obj->sd_BufGad,PRGADTAG_Top,2,TAG_DONE);
- pOS_SetGadgetAttrs(NULL,obj->sd_ProtoGad,MXGADTAG_Active,2,TAG_DONE);
- pOS_SetGadgetAttrs(NULL,obj->sd_ParityGad,MXGADTAG_Active,0,TAG_DONE);
- pOS_SetGadgetAttrs(NULL,obj->sd_DataBitGad,MXGADTAG_Active,1,TAG_DONE);
- pOS_SetGadgetAttrs(NULL,obj->sd_StopBitGad,MXGADTAG_Active,0,TAG_DONE);
- }
-
-
-
- /*----------------------------------
- -----------------------------------*/
- VOID InitSerialTags( SerialData *obj, const pOS_TagItem *tl )
- {
- pOS_TagItem *ti;
-
- while( ti = pOS_NextTagItem( &tl )) {
- switch( ti->ti_Tag ) {
- // -----
- case PRFSERTAG_AvailBautRates:
- obj->sd_BautRates = (ULONG*)ti->ti_Data;
- break;
- // -----
- case PRFSERTAG_AvailBufferSizes:
- obj->sd_Buffers = (ULONG*)ti->ti_Data;
- break;
- // -----
- case PRFSERTAG_AvailProtocols:
- obj->sd_Protocols = (CHAR**)ti->ti_Data;
- break;
- // -----
- case PRFSERTAG_AvailParities:
- obj->sd_Parities = (CHAR**)ti->ti_Data;
- break;
- // -----
- case PRFSERTAG_AvailDataBits:
- obj->sd_DataBits = (CHAR**)ti->ti_Data;
- break;
- // -----
- case PRFSERTAG_AvailStopBits:
- obj->sd_StopBits = (CHAR**)ti->ti_Data;
- break;
- // -----
- default:
- break;
- }
- }
- }
-
-
-
- /*----------------------------------
- -----------------------------------*/
- VOID SetSerialTags( SerialData *obj, const pOS_TagItem *tl,
- pOS_Window *win )
- {
- ww_w("SerialPrefsGad:SetSerialTags");
- ww_rp(obj);
- ww_rp(tl);
- ww_end();
-
- pOS_TagItem *ti;
-
- while( ti = pOS_NextTagItem( &tl )) {
- switch( ti->ti_Tag ) {
- PRFSERTAG_BautRate:
- pOS_SetGadgetAttrs(win,obj->sd_BautGad,PRGADTAG_Top,ti->ti_Data);
- break;
-
- PRFSERTAG_BufferSize:
- pOS_SetGadgetAttrs(win,obj->sd_BufGad,PRGADTAG_Top,ti->ti_Data);
- break;
-
- PRFSERTAG_Protocol:
- pOS_SetGadgetAttrs(win,obj->sd_ProtoGad,MXGADTAG_Active,ti->ti_Data);
- break;
-
- PRFSERTAG_Parity:
- pOS_SetGadgetAttrs(win,obj->sd_ParityGad,MXGADTAG_Active,ti->ti_Data);
- break;
-
- PRFSERTAG_DataBits:
- pOS_SetGadgetAttrs(win,obj->sd_DataBitGad,MXGADTAG_Active,ti->ti_Data);
- break;
-
- PRFSERTAG_StopBits:
- pOS_SetGadgetAttrs(win,obj->sd_StopBitGad,MXGADTAG_Active,ti->ti_Data);
- break;
-
- default:
- break;
- }
- }
- }
-
-
-
-
- /*----------------------------------
- -----------------------------------*/
- ULONG GetSerialTags( SerialData *obj, ULONG id, ULONG *var )
- {
- ww_w("SerialPrefsGad:GetSerialTags");
- ww_rp(obj);
- ww_endN(FALSE);
-
- ULONG ret=0;
-
- switch( id ) {
- PRFSERTAG_BautRate:
- ret=pOS_GetGadgetAttr(obj->sd_Window,obj->sd_BautGad,PRGADTAG_Top,var);
- break;
-
- PRFSERTAG_BufferSize:
- ret=pOS_GetGadgetAttr(obj->sd_Window,obj->sd_BufGad,PRGADTAG_Top,var);
- break;
-
- PRFSERTAG_Protocol:
- ret=pOS_GetGadgetAttr(obj->sd_Window,obj->sd_ProtoGad,MXGADTAG_Active,var);
- break;
-
- PRFSERTAG_Parity:
- ret=pOS_GetGadgetAttr(obj->sd_Window,obj->sd_ParityGad,MXGADTAG_Active,var);
- break;
-
- PRFSERTAG_DataBits:
- ret=pOS_GetGadgetAttr(obj->sd_Window,obj->sd_DataBitGad,MXGADTAG_Active,var);
- break;
-
- PRFSERTAG_StopBits:
- ret=pOS_GetGadgetAttr(obj->sd_Window,obj->sd_StopBitGad,MXGADTAG_Active,var);
- break;
-
- default:
- break;
- }
-
- return( ret );
- }
-
-
- /*----------------------------------
- -----------------------------------*/
- ULONG SerialDispatcher( _R_LB pOS_ExecBase *exec,_R_A0 const pOS_Class *cl,
- _R_A1 SerialData *obj,_R_A2 pOS_GadgetMethod *mth)
- {
- ULONG ret=0;
-
- switch( mth->imth_Method ) {
- // -----
- case ICLMTH_New:
- ret = pOS_DoAbsMethodA(cl,obj,(pOS_Method*)mth);
- if( ret != pOS_CLASSERR ) {
- const pOS_TagItem *Tl =mth->imth_U.imth_New.imnw_Tags;
- const pOS_DrawInfo *Dri=(pOS_DrawInfo*)pOS_FindTagData(ICLTAG_DrawInfo,Tl,NULL);
-
- ww_w("SerialPrefsGad:Dispatcher_New");
- ww_rp(Dri);
- ww_endN(pOS_CLASSERR);
-
- /* Zeiger auf ObjData in SpecialInfo merken */
- pOS_Gadget *Gad=(pOS_Gadget*)pOS_GetObjectRootAdr(cl,obj);
- Gad->gad_SpecialInfo = obj;
- /* Zeiger auf Prefs-Funktionen merken */
- obj->sd_Load_func = SerialLoad_func;
- obj->sd_Save_func = SerialSave_func;
- obj->sd_Reset_func= SerialReset_func;
-
- InitSerialTags( obj, Tl );
- obj->sd_Catalog=pOS_OpenCatalog(NULL,"sys/sys.catalog",
- LOCTAG_BuiltInLanguage,"english",TAG_DONE);
-
- UWORD Cnt;
- ULONG *ul_Poi;
- pOS_Gadget *Grp1=NULL;
- pOS_Gadget *Grp2=NULL;
- pOS_Gadget *PropGrp=NULL;
-
- PropGrp = (pOS_Gadget*)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri, ICLTAG_Gwk, 1, TAG_DONE );
-
- if( ul_Poi = obj->sd_BautRates ) {
- Cnt=0;
- while( *ul_Poi ) { Cnt++; ul_Poi++; }
-
- obj->sd_BautGad = (pOS_Gadget*)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GPropClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_Gwk, 1,
- ICLTAG_UpdateGadget, TRUE,
- ICLTAG_RelVerify, TRUE,
- ICLTAG_GadBorderType, GADBORTYP_Bevel1UpBox,
- PRGADTAG_Flags, PRGADF_FreeHoriz,
- PRGADTAG_Total, Cnt,
- PRGADTAG_Visible, 1,
- PRGADTAG_Top, 0,
- PRGADTAG_IntArray, obj->sd_BautRates,
- PRGADTAG_CrtTxtObj, TRUE,
- PRGADTAG_Fmt, (ULONG)"%ld",
- TAG_DONE);
-
- pOS_SetGadgetAttrs( NULL,PropGrp,
- GRPGADTAG_AddGadget, obj->sd_BautGad, TAG_DONE );
- }
-
- if( ul_Poi = obj->sd_Buffers ) {
- Cnt=0;
- while( *ul_Poi ) { Cnt++; ul_Poi++; }
-
- obj->sd_BufGad = (pOS_Gadget*)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GPropClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_Gwk, 1,
- ICLTAG_UpdateGadget, TRUE,
- ICLTAG_RelVerify, TRUE,
- ICLTAG_GadBorderType, GADBORTYP_Bevel1UpBox,
- PRGADTAG_Flags, PRGADF_FreeHoriz,
- PRGADTAG_Total, Cnt,
- PRGADTAG_Visible, 1,
- PRGADTAG_Top, 0,
- PRGADTAG_IntArray, obj->sd_Buffers,
- PRGADTAG_CrtTxtObj, TRUE,
- PRGADTAG_Fmt, (ULONG)"%ld",
- TAG_DONE);
-
- pOS_SetGadgetAttrs( NULL,PropGrp,
- GRPGADTAG_AddGadget, obj->sd_BufGad, TAG_DONE );
- }
-
- if( obj->sd_Protocols ) {
- obj->sd_ProtoGad = (pOS_Gadget*)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GMXClass],0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- MXGADTAG_StrLabels, (ULONG)obj->sd_Protocols,
- TAG_DONE);
- }
-
- if( obj->sd_Parities ) {
- obj->sd_ParityGad = (pOS_Gadget*)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GMXClass],0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- MXGADTAG_StrLabels, (ULONG)obj->sd_Parities,
- TAG_DONE);
- }
-
- if( obj->sd_DataBits ) {
- obj->sd_DataBitGad = (pOS_Gadget*)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GMXClass],0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- MXGADTAG_StrLabels, (ULONG)obj->sd_DataBits,
- TAG_DONE);
- }
-
- if( obj->sd_StopBits ) {
- obj->sd_StopBitGad = (pOS_Gadget*)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GMXClass],0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- MXGADTAG_StrLabels, (ULONG)obj->sd_StopBits,
- TAG_DONE);
- }
-
-
- Grp1 = (pOS_Gadget*)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_Horiz, TRUE,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GTxtBoxClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_FrameType, IFRACLTYP_OnlyBg,
- ICLTAG_GadBorderType, GADBORTYP_None,
- ICLTAG_RenderLayMode, IOBLAY_Right,
- IOBJTAG_StaticString, (ULONG)pOS_GetCatalogStr(
- obj->sd_Catalog,MSG_Sys_BaudRate,"Baud Rate:"),
- TAG_DONE),
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GTxtBoxClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_FrameType, IFRACLTYP_OnlyBg,
- ICLTAG_GadBorderType, GADBORTYP_None,
- ICLTAG_RenderLayMode, IOBLAY_Right,
- IOBJTAG_StaticString, (ULONG)pOS_GetCatalogStr(
- obj->sd_Catalog,MSG_Sys_BufferSize,"Buffer Size:"),
- TAG_DONE),
- TAG_DONE),
- GRPGADTAG_AddGadget, (ULONG)PropGrp,
- TAG_DONE);
-
- Grp2 = (pOS_Gadget*)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_Horiz, TRUE,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GTxtBoxClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_FrameType, IFRACLTYP_OnlyBg,
- ICLTAG_GadBorderType, GADBORTYP_None,
- IOBJTAG_StaticString, (ULONG)pOS_GetCatalogStr(
- obj->sd_Catalog,MSG_Sys_Protocols,"Protocols"),
- TAG_DONE),
- GRPGADTAG_AddGadget, (ULONG)obj->sd_ProtoGad,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- "gadget.class", 0, ICLTAG_DrawInfo, Dri,
- ICLTAG_Gwk, 5, TAG_DONE),
- TAG_DONE),
-
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GBarClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri, TAG_DONE ),
-
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GTxtBoxClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_FrameType, IFRACLTYP_OnlyBg,
- ICLTAG_GadBorderType, GADBORTYP_None,
- IOBJTAG_StaticString, (ULONG)pOS_GetCatalogStr(
- obj->sd_Catalog,MSG_Sys_Parity,"Parity"),
- TAG_DONE),
- GRPGADTAG_AddGadget, (ULONG)obj->sd_ParityGad,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- "gadget.class", 0, ICLTAG_DrawInfo, Dri,
- ICLTAG_Gwk, 5, TAG_DONE),
- TAG_DONE),
-
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GBarClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri, TAG_DONE ),
-
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GTxtBoxClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_FrameType, IFRACLTYP_OnlyBg,
- ICLTAG_GadBorderType, GADBORTYP_None,
- IOBJTAG_StaticString, (ULONG)pOS_GetCatalogStr(
- obj->sd_Catalog,MSG_Sys_DataBits,"Data Bits"),
- TAG_DONE),
- GRPGADTAG_AddGadget, (ULONG)obj->sd_DataBitGad,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- "gadget.class", 0, ICLTAG_DrawInfo, Dri,
- ICLTAG_Gwk, 5, TAG_DONE),
- TAG_DONE),
-
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GBarClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri, TAG_DONE ),
-
-
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject( NULL,
- Dri->dri_Names[SCRNAM_GGroupClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- Dri->dri_Names[SCRNAM_GTxtBoxClass], 0,
- ICLTAG_DrawInfo, (ULONG)Dri,
- ICLTAG_FrameType, IFRACLTYP_OnlyBg,
- ICLTAG_GadBorderType, GADBORTYP_None,
- IOBJTAG_StaticString, (ULONG)pOS_GetCatalogStr(
- obj->sd_Catalog,MSG_Sys_StopBits,"Stop Bits"),
- TAG_DONE),
- GRPGADTAG_AddGadget, (ULONG)obj->sd_StopBitGad,
- GRPGADTAG_AddGadget, (ULONG)pOS_NewIObject(NULL,
- "gadget.class", 0, ICLTAG_DrawInfo, Dri,
- ICLTAG_Gwk, 5, TAG_DONE),
- TAG_DONE),
-
- TAG_DONE);
-
- pOS_SetAbsObjectData(cl,obj,
- ICLTAG_DrawInfo, (ULONG)Dri,
- GRPGADTAG_AddGadget, (ULONG)Grp1,
- GRPGADTAG_AddGadget, (ULONG)Grp2,
- TAG_DONE);
-
- SetSerialTags( obj, Tl, NULL);
- }
- break;
- // -----
- case ICLMTH_Dispose:
- pOS_CloseCatalog( obj->sd_Catalog );
- ret = pOS_DoAbsMethodA( cl, obj, (pOS_Method*)mth );
- break;
- // -----
- case GCLMTH_Add:
- obj->sd_Window = mth->imth_U.imth_Add.imad_Info->ici_Window;
- ret = pOS_DoAbsMethodA( cl, obj, (pOS_Method*)mth );
- break;
-
- // -----
- case GCLMTH_Rem:
- obj->sd_Window = NULL;
- ret = pOS_DoAbsMethodA( cl, obj, (pOS_Method*)mth );
- break;
- // -----
- case ICLMTH_Set:
- SetSerialTags(obj,mth->imth_U.imth_Set.imst_Tags,
- mth->imth_U.imth_Set.imst_Info ?
- mth->imth_U.imth_Set.imst_Info->ici_Window : NULL );
- ret = pOS_DoAbsMethodA(cl,obj,(pOS_Method*)mth);
- break;
- // -----
- case ICLMTH_Get:
- ret = GetSerialTags(obj,mth->imth_U.imth_Get.imgt_ID,
- mth->imth_U.imth_Get.imgt_Variable );
- if( !ret ) ret = pOS_DoAbsMethodA(cl,obj,(pOS_Method*)mth);
- break;
- // -----
- default:
- ret = pOS_DoAbsMethodA(cl,obj,(pOS_Method*)mth);
- break;
-
- }
-
- return(ret);
- }
-
- #endif
-