/* * LISTS.C * * handles LISTBOXES in jet_conf.prg; * */ /*--- includes ---*/ #include "import.h" #include #include #include "misc.h" #include "jet_conf.h" #include "resource.h" #include "special.h" #include "listbox.h" #include "export.h" #include "lists.h" /*--- defines ---*/ /*--- types ---*/ /*--- variables ---*/ /*--- prototypes ---*/ LOCAL VOID init_linklist( VOID ); LOCAL VOID ClearSelected( OBJECT *tree, WORD object ); /*--- functions ---*/ /**----------------------------------------------------------------------------- ** Funktionsname: GLOBAL VOID init_lists( VOID ) ** -> nichts. ** <- nichts. ** ** Die Funktion initialisiert die Listen in JET_CONF.PRG. **/ GLOBAL VOID init_lists( VOID ) { init_linklist( ); } /**----------------------------------------------------------------------------- ** Funktionsname: GLOBAL VOID hndl_linkbox( VOID ) ** -> nichts ** <- nichts ** ** Die Funktion bernimmt die Behandlung der Link-Box. **/ GLOBAL VOID hndl_linkbox( VOID ) { BOOLEAN ok; WORD rc = -1; DIALINFO di; open_dial( link_box, FALSE, NULL, &di ); dial_draw( &di ); while( rc != OK_LINK ) { rc = dial_do( &di, 0, NULL ); switch( rc ) { case LK_AKAS: (VOID) HndlDial( akas_box, 0, FALSE, NULL, &ok ); break; case LK_ROUTEAKAS: (VOID) HndlDial( raka_box, 0, FALSE, NULL, &ok ); break; case LK_TAS_ARCMODE: case LK_POP_ARCMODE: popup_select( link_box, LK_POP_ARCMODE, popup, POP_ARCTYPE, 0, 0, &ok ); break; case LK_CIR_ARCMODE: popup_select( link_box, LK_POP_ARCMODE, popup, POP_ARCTYPE, 0, -2, &ok ); break; case LK_TAS_PKTTP: case LK_POP_PKTTP: popup_select( link_box, LK_POP_PKTTP, popup, POP_PKTTYPE, 0, 0, &ok ); break; case LK_CIR_PKTTP: popup_select( link_box, LK_POP_PKTTP, popup, POP_PKTTYPE, 0, -2, &ok ); break; case LK_TAS_NETMT: case LK_POP_NETMT: popup_select( link_box, LK_POP_NETMT, popup, POP_INTL, 0, 0, &ok ); break; case LK_CIR_NETMT: popup_select( link_box, LK_POP_NETMT, popup, POP_INTL, 0, -2, &ok ); break; case LK_TAS_ECHOT: case LK_POP_ECHOT: popup_select( link_box, LK_POP_ECHOT, popup, POP_INTL, 0, 0, &ok ); break; case LK_CIR_ECHOT: popup_select( link_box, LK_POP_ECHOT, popup, POP_INTL, 0, -2, &ok ); break; case LK_TAS_INTLM: case LK_POP_INTLM: popup_select( link_box, LK_POP_INTLM, popup, POP_INTL, 0, 0, &ok ); break; case LK_CIR_INTLM: popup_select( link_box, LK_POP_INTLM, popup, POP_INTL, 0, -2, &ok ); break; case LK_TAS_CTRLM: case LK_POP_CTRLM: popup_select( link_box, LK_POP_CTRLM, popup, POP_OMODE, 0, 0, &ok ); break; case LK_CIR_CTRLM: popup_select( link_box, LK_POP_CTRLM, popup, POP_OMODE, 0, -2, &ok ); break; case LK_TAS_OUTBM: case LK_POP_OUTBM: popup_select( link_box, LK_POP_OUTBM, popup, POP_OUTBOUND, 0, 0, &ok ); break; case LK_CIR_OUTBM: popup_select( link_box, LK_POP_OUTBM, popup, POP_OUTBOUND, 0, -2, &ok ); break; } } ClearSelected( link_box, rc ); close_dial( FALSE, NULL, &di ); } /**----------------------------------------------------------------------------- ** Funktionsname: LOCAL VOID init_linklist( VOID ) ** -> nichts ** <- nichts ** ** Die Funktion initialisiert die Link-Listbox. **/ LOCAL VOID init_linklist( VOID ) { linklist.tree = lklb_box; linklist.itemlist = links; linklist.itemsize = sizeof( LINK_STRUCT ); linklist.indirect = 0; linklist.num_items = 0; linklist.first_item = 0; linklist.active = -1; linklist.sel_state = 1; linklist.root = LKROOT; linklist.items = LKITEMS; linklist.up = LKUP; linklist.down = LKDOWN; linklist.parent = LKPARENT; linklist.slider = LKSLIDER; linklist.func = NULL; listbox( &linklist, NULL, LIST_INIT ); } /**----------------------------------------------------------------------------- ** Funktionsname: GLOBAL VOID reset_linkbox( VOID ) ** -> nichts ** <- nichts ** ** Die Funktion setzt die Linkbox zurck. **/ GLOBAL VOID reset_linkbox( VOID ) { WORD i; BYTE *b_ptr; WORD edits[] = { LK_SYSOP, LK_PW, LK_AREAFIXPW, LK_GROUPS, LK_PASSIVEGRP, LK_PACKCMD, LK_AREACHAR, LK_DAREACHAR, LK_USEALIAS, LK_ALIASDOM, LK_AUTOCON, LK_REMOTEAF, LK_REMOTENM, LK_REMOTEPW, -1 }, checks[]= { LK_PASSIVE, LK_EXTRANETM, LK_CRASHOK, LK_ROUTENETM, LK_NOROUTE, LK_FORCEINTL, LK_DUMMYPKT, LK_NONOTIFY, LK_NOREADDR, LK_FWDREQST, LK_AUTOAREA, LK_AUTODAREA, -1 }, pops[] = { LK_POP_ARCMODE, LK_POP_PKTTP, LK_POP_NETMT, LK_POP_ECHOT, LK_POP_INTLM, LK_POP_CTRLM, LK_POP_OUTBM, -1 }, adrs[] = { AKA1, AKADOM1, AKAF1, AKAGRP1, AKA2, AKADOM2, AKAF2, AKAGRP2, AKA3, AKADOM3, AKAF3, AKAGRP3, AKA4, AKADOM4, AKAF4, AKAGRP4, AKA5, AKADOM5, AKAF5, AKAGRP5, -1 }; BYTE *stdt[] = { " ZIPmail", " FSC0039", " 4D", " 4D", " 3D", " 2D", " 5D" }; i=0; while( edits[i] != -1 ) { b_ptr = link_box[edits[i]].ob_spec.tedinfo->te_ptext; *b_ptr = '\0'; ++i; } i=0; while( checks[i] != -1 ) { link_box[checks[i]].ob_state &= ~SELECTED; ++i; } i=0; while( pops[i] != -1 ) { set_ptext( link_box, pops[i], stdt[i] ); ++i; } i=0; while( adrs[i] != -1 ) { b_ptr = akas_box[adrs[i]].ob_spec.tedinfo->te_ptext; *b_ptr = '\0'; b_ptr = raka_box[adrs[i]].ob_spec.tedinfo->te_ptext; *b_ptr = '\0'; ++i; } } /**----------------------------------------------------------------------------- ** Funktionsname: LOCAL VOID ClearSelected( OBJECT *tree, WORD object ) ** -> Tree und Objektnummer ** <- nichts ** ** Die Funktion l”scht den SELECTED-Status eines Objekts. **/ LOCAL VOID ClearSelected( OBJECT *tree, WORD object ) { tree[object].ob_state &= 0xFFFE; }