home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
bbs
/
jet_conf
/
lists.c
< prev
next >
Wrap
C/C++ Source or Header
|
1993-05-11
|
6KB
|
239 lines
/*
* LISTS.C
*
* handles LISTBOXES in jet_conf.prg;
*
*/
/*--- includes ---*/
#include "import.h"
#include <MGLOBAL.H>
#include <MYDIAL.H>
#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;
}