#pragma +
// Name:						Window-Klassen
// Programmtyp:			Hilfsroutine für
//								Fakturierprogramm
//	Programmiersprache:	C++ (AT&T Standard 3.0)
// Computersystem:		Commodore AMIGA
// Betriebssystem:		AMIGA OS3.0 oder höher
// Autor:					Manfred Tremmel
// © Copyright:			1997-2000 by MT Graphic & Design
// Version:					V1.08
//
//    Copyright (C) 1997-2000 Manfred Tremmel
//
//    This program is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program; if not, write to the Free Software
//    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA

// Includes:
#include <new.h>
#include <intuition/intuition.h>
#include <iostream.h>
#include <stdio.h>

#include "MTList.h"
#include "MTLocale.h"
#include "MTScreen.h"
#include "MTWindow.h"
#include "Datenbank.h"
#include "MT-Rechnung.h"
#include "MTAuswert.h"
#include "MTWinPrefs.h"
#include "Adressen.h"
#include "Artikel.h"
#include "Laender.h"
#include "Versand.h"
#include "Inventur.h"
#include "Konten.h"
#include "KontenPos.h"
#include "Buchen.h"
#include "RechnungArtikel.h"
#include "Rechnung.h"
#include "ARechnung.h"
#include "ERechnung.h"
#include "Einstellungen.h"
#include "MTWinNavi.h"
#include "MTWinRech.h"
#include "MTWinARech.h"
#include "MTWinERech.h"
#include "LocaleStrings.h"
#include "MTEditHook.h"

// Surface-Pointer
extern APTR	surface;

extern Prefs				*MyPrefsPTR;
extern Adress				*MyAdressPTR;
extern Kunden				*MyKundenPTR;
extern Mitarbeiter		*MyMitarbeiterPTR;
extern Niederlassung		*MyNiederlassungPTR;
extern Lieferanten		*MyLieferantPTR;
extern Artikel				*MyArtikelPTR;
extern ARechnung			*MyARechnungPTR;
extern ERechnung			*MyERechnungPTR;
extern Laender				*MyLaenderPTR;
extern Versand				*MyVersandPTR;
extern OpenLocaleClass	*MyLocalePTR;
extern FillAppStrings	*MyAppStringsPTR;
extern Inventur			*MyInventurPTR;
extern Konten				*MyKontenPTR;
extern KontenPos			*MyKontenPosPTR;
extern Buchen				*MyBuchenPTR;

extern BOOL					Nochmal;

MTPref_Gadget::MTPref_Gadget(MTWindow *Win) : MTAuswert( Win )
{
	MTWindow *ZWWin;

	GetIt = ThisWindow->ThisScreen->FindWindow( NAVIGATOR_WINDOW );
	SMWechsel = FALSE;

	First_LV[0]			= 0;
	Select_LV[0]		= 0;
	First_LV[1]			= 0;
	Select_LV[1]		= 0;
	First_LV[2]			= 0;
	Select_LV[2]		= 0;
	First_LV[3]			= 0;
	Select_LV[3]		= 0;
	First_LV[4]			= 0;
	Select_LV[4]		= 0;

	UmrechKarte			= 0;

	if( MyPrefsPTR->Daten->AutoBestellen )
	{
		if( (ZWWin = ThisWindow->ThisScreen->FindWindow( ERECHNUNG )) != 0 )
			((MTERech_Gadget *)ZWWin->FirstAuswert)->Bestellautomatik( MyPrefsPTR->Daten->AutoBestellen );
	}

	if( MyPrefsPTR->Daten->AutoMahnen )
	{
		if( (ZWWin = ThisWindow->ThisScreen->FindWindow( ARECHNUNG )) != 0 )
			((MTARech_Gadget *)ZWWin->FirstAuswert)->Mahnautomatik( MyPrefsPTR->Daten->AutoMahnen );
	}

	MerkDB[0]											= MyAdressPTR;
	MerkDB[1]											= MyKundenPTR;
	MerkDB[2]											= MyMitarbeiterPTR;
	MerkDB[3]											= MyNiederlassungPTR;
	MerkDB[4]											= MyLieferantPTR;
	MerkDB[5]											= MyArtikelPTR;
	MerkDB[6]											= MyARechnungPTR;
	MerkDB[7]											= MyERechnungPTR;
	MerkDB[8]											= MyLaenderPTR;
	MerkDB[9]											= MyVersandPTR;
	MerkDB[10]											= MyInventurPTR;
	MerkDB[11]											= MyKontenPTR;
	MerkDB[12]											= MyBuchenPTR;
	AktDB_Pos											= 0;
	AktSuchVorgabe										= 0;
	SuchTextFeld[0]									= 0;

	ThisWindow->ThisScreen->WinPosSave			= MyPrefsPTR->Daten->WinPosSave;
	MyLocalePTR->Jahr_vier							= MyPrefsPTR->Daten->Jahr_vier;
};


void MTPref_Gadget::FillWindow()
{
	class MTAuswert *AktAuswert = NULL;

	if( ThisWindow->BezWin )
		AktAuswert = ThisWindow->BezWin->FirstAuswert;

	switch( MyMitarbeiterPTR->UserDaten.Ber_Prefs )
	{
		case 0:
			Gesperrt = TRUE;
			SetGadgetAttrs( GetIt->gads[NAV_HINWEIS], GetIt->Win, NULL, WARGSA_Format, AppStrings[MSG_FEHL_Sperre2], TAG_DONE );
			break;
		case 1:
			Gesperrt = TRUE;
			SetGadgetAttrs( GetIt->gads[NAV_HINWEIS], GetIt->Win, NULL, WARGSA_Format, AppStrings[MSG_FEHL_Sperre1], TAG_DONE );
			break;
		default:
			Gesperrt = FALSE;
			SetGadgetAttrs( GetIt->gads[NAV_HINWEIS], GetIt->Win, NULL, WARGSA_Format, "", TAG_DONE );
			break;
	}

	SetGadgetAttrs( ThisWindow->gads[PRE_GRUPPEN], ThisWindow->Win, NULL, WGROUPA_ActivePage, ThisWindow->Karte, TAG_DONE );

	switch( ThisWindow->Karte )
	{
		case 0:
			FillEbene1();
			break;
		case 1:
			FillEbene2();
			break;
		case 2:
			FillEbene3();
			break;
		case 3:
			FillEbene4();
			break;
		case 4:
			FillEbene5();
			break;
		case 5:
			FillEbene6();
			break;
		case 6:
			FillEbene7();
			break;
		case 7:
			FillEbene8();
			break;
		case 8:
			FillEbene9();
			break;
		case 9:
			FillEbene10();
			break;
	}
};

void MTPref_Gadget::FillEbene1()
{
	ULONG		Merker;

	SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, GA_DISABLED, Gesperrt, TAG_DONE);

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_MWST_SATZ],	ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_MWST_BEZ],		ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_MWST_RECH],	ThisWindow->Win, NULL, WMXA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_VST],	ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_UST],	ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_VERSAND_E],	ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUSATZ_E],		ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_VERSAND_A],	ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUSATZ_A],		ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ARTIKEL_MWST],ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_MWST_SATZ],	ThisWindow->Win, NULL, WSTRINGA_String, MyPrefsPTR->MWST[(Select_LV[0])], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_MWST_BEZ],		ThisWindow->Win, NULL, WSTRINGA_String, MyPrefsPTR->Daten->MWSt_Bez[(Select_LV[0])], GA_DISABLED, Gesperrt, TAG_DONE );
		Merker = MyPrefsPTR->Daten->MWSt_Typ[(Select_LV[0])];
		SetGadgetAttrs( ThisWindow->gads[PRE_MWST_RECH],	ThisWindow->Win, NULL, WMXA_Active, Merker, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_VST],	ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->MWSt_Konto_VSt[(Select_LV[0])]), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_UST],	ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->MWSt_Konto_USt[(Select_LV[0])]), GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_VERSAND_E],	ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleMWSt, WCYCLEA_Active, MyPrefsPTR->Daten->MWSt_Versand_E,	GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUSATZ_E],		ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleMWSt, WCYCLEA_Active, MyPrefsPTR->Daten->MWSt_Zusatz_E,	GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_VERSAND_A],	ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleMWSt, WCYCLEA_Active, MyPrefsPTR->Daten->MWSt_Versand_A,	GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUSATZ_A],		ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleMWSt, WCYCLEA_Active, MyPrefsPTR->Daten->MWSt_Zusatz_A,	GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ARTIKEL_MWST],ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleMWSt, WCYCLEA_Active, MyPrefsPTR->Daten->MWSt_Artikel,	GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST],		ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->MWStList->MyList,
																											WLISTVIEWA_Top, First_LV[0],
																											WLISTVIEWA_Selected, Select_LV[0],
																											GA_DISABLED, Gesperrt,
																											TAG_DONE);
	}
};

void MTPref_Gadget::FillEbene2()
{
	struct List *PubscreenList;
	struct PubScreenNode *PubNode;

	PubScreens[0] = '-';
	PubScreens[1] = 0;
	if( (PubscreenList = LockPubScreenList()) != 0 )
	{
		if( (PubNode = (PubScreenNode *)PubscreenList->lh_Head) != 0 )
		{
			i = 0;
			j = 0;
			while( PubNode->psn_Node.ln_Succ )
			{
				i++;
				if( MyPrefsPTR->Daten->ScreenPubName[0] == 0 &&
					 strcmp(ThisWindow->ThisScreen->PubScreenMerker, PubNode->psn_Node.ln_Name) == 0 );
				else
				{
					strcat(PubScreens, "\n");
					strcat(PubScreens, PubNode->psn_Node.ln_Name);
				}
				if( strcmp(MyPrefsPTR->Daten->ScreenPubName, PubNode->psn_Node.ln_Name) == 0 )
					j = i;

				PubNode = (PubScreenNode *)PubNode->psn_Node.ln_Succ;
			}
		}
		UnlockPubScreenList();
	}

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_PUBSELECT], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SSELECT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_STYPE], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_WIN_SAVE], ThisWindow->Win, NULL, WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA_PROZ], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_NR_LAENGE], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_JAHR_VS], ThisWindow->Win, NULL, WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_DRANDX], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_DRANDY], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		if( *MyPrefsPTR->Daten->ScreenPubName == 0 )
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_STYPE], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_KARTEN], ThisWindow->Win, NULL, WGROUPA_ActivePage, 0, TAG_DONE );
		}
		else
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_STYPE], ThisWindow->Win, NULL, WCYCLEA_Active, 1, GA_DISABLED, Gesperrt, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_KARTEN], ThisWindow->Win, NULL, WGROUPA_ActivePage, 1, TAG_DONE );
		}
		SetGadgetAttrs( ThisWindow->gads[PRE_PUBSELECT], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)PubScreens, WCYCLEA_Active, j, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SSELECT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_WIN_SAVE], ThisWindow->Win, NULL, WCHECKBOXA_Checked, MyPrefsPTR->Daten->WinPosSave, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA], ThisWindow->Win, NULL, WINTEGERA_Long, MyPrefsPTR->Daten->Nachkomma, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA_PROZ], ThisWindow->Win, NULL, WINTEGERA_Long, MyPrefsPTR->Daten->Nachkomma_Prozent, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_NR_LAENGE], ThisWindow->Win, NULL, WINTEGERA_Long, MyPrefsPTR->Daten->Nr_Laenge, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_JAHR_VS], ThisWindow->Win, NULL, WCHECKBOXA_Checked, MyPrefsPTR->Daten->Jahr_vier, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_DRANDX], ThisWindow->Win, NULL, WINTEGERA_Long, MyPrefsPTR->Daten->Druckrand_X, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_DRANDY], ThisWindow->Win, NULL, WINTEGERA_Long, MyPrefsPTR->Daten->Druckrand_Y, GA_DISABLED, Gesperrt, TAG_DONE );

	}

	SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA_M], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA_P], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA_PROZ_M], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_NACHKOMMA_PROZ_P], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_NR_LAENGE_M], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_NR_LAENGE_P], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
};

void MTPref_Gadget::FillEbene3()
{
	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		*Buffer = 0;
		SetGadgetAttrs( ThisWindow->gads[PRE_ART_ARECH], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ART_ERECH], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KUNDENNR], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_WSYMBOL], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_WKURS], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_WAEHRUNG], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)Buffer, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KLIMIT], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_SD_FRAGE], ThisWindow->Win, NULL, WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_VERSAND_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZUSATZ_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZAHLUNG_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ABGESCHR_EIN],		ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_SKONTO_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_VERSAND_AUS],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZAHLUNG_AUS],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ABGESCHR_AUS],		ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_SKONTO_AUS],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_WAEHR_DIFF],			ThisWindow->Win, NULL, WCYCLEA_Labels, "", GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_ART_ARECH], ThisWindow->Win, NULL, WCYCLEA_Active, (UWORD)MyPrefsPTR->Daten->ARechArt, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ART_ERECH], ThisWindow->Win, NULL, WCYCLEA_Active, (UWORD)MyPrefsPTR->Daten->ERechArt, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KUNDENNR], ThisWindow->Win, NULL, WCYCLEA_Active, (UWORD)MyPrefsPTR->Daten->KundNr, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_WSYMBOL], ThisWindow->Win, NULL, WSTRINGA_String, MyPrefsPTR->Daten->Waehrung2_Symbol, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( (STRPTR)Buffer, MyPrefsPTR->Daten->Umrechnungskurs, 6);
		SetGadgetAttrs( ThisWindow->gads[PRE_WKURS], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_WAEHRUNG], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleWaehrung, WCYCLEA_Active, MyPrefsPTR->Daten->Waehrung_KZ, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatMoney( Buffer, MyPrefsPTR->Daten->KreditLimit, MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
		SetGadgetAttrs( ThisWindow->gads[PRE_KLIMIT], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_SD_FRAGE], ThisWindow->Win, NULL, WCHECKBOXA_Checked, MyPrefsPTR->Daten->SchnellDruckFragen, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_VERSAND_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Versand_Ein), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZUSATZ_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Zusatz_Ein), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZAHLUNG_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Zahlung_Ein), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ABGESCHR_EIN],		ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Abgeschrieben_Ein), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_SKONTO_EIN],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Skonto_Ein), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_VERSAND_AUS],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Versand_Aus), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZAHLUNG_AUS],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Zahlung_Aus), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ABGESCHR_AUS],		ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Abgeschrieben_Aus), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_SKONTO_AUS],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Skonto_Aus), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_WAEHR_DIFF],			ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Waehr_Diff), GA_DISABLED, Gesperrt, TAG_DONE );
	}
};

void MTPref_Gadget::FillEbene4()
{
	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_ABST], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM_TAGE1], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM_TAGE2], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM_TAGE3], ThisWindow->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KASSE_VERSAND], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KASSE_ZUSATZ], ThisWindow->Win, NULL, WSTRINGFIELDA_Text, "", GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_NEGBEST], ThisWindow->Win, NULL, WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );

		for(i = 0; i < 5; DokumentNr[i++] = 0);
	}
	else
	{
		if( *MyPrefsPTR->Daten->Bestelldokument )
			DokumentNr[0] = MyPrefsPTR->DruDockList[7]->SucheNode( MyPrefsPTR->Daten->Bestelldokument ) + 1;
		else
			DokumentNr[0] = 0;

		for(i = 0; i < 3; i++)
		{
			if( *MyPrefsPTR->Daten->Mahndokument[i] )
				DokumentNr[i+1] = MyPrefsPTR->DruDockList[6]->SucheNode( MyPrefsPTR->Daten->Mahndokument[i] ) + 1;
			else
				DokumentNr[i+1] = 0;
		}

		if( *MyPrefsPTR->Daten->Kassenbon )
			DokumentNr[4] = MyPrefsPTR->DruDockList[6]->SucheNode( MyPrefsPTR->Daten->Kassenbon ) + 1;
		else
			DokumentNr[4] = 0;

		if( DokumentNr[0] == 0 )
			 MyPrefsPTR->Daten->Bestelldokument[0]	= 0;
		if( DokumentNr[1] == 0 )
			 MyPrefsPTR->Daten->Mahndokument[0][0]	= 0;
		if( DokumentNr[2] == 0 )
			 MyPrefsPTR->Daten->Mahndokument[1][0]	= 0;
		if( DokumentNr[3] == 0 )
			 MyPrefsPTR->Daten->Mahndokument[2][0]	= 0;
		if( DokumentNr[4] == 0 )
			 MyPrefsPTR->Daten->Kassenbon[0]			= 0;

		SetGadgetAttrs( ThisWindow->gads[PRE_ABST], ThisWindow->Win, NULL, WCYCLEA_Active, MyPrefsPTR->Daten->AutoBestellen, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM], ThisWindow->Win, NULL, WCYCLEA_Active, MyPrefsPTR->Daten->AutoMahnen, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM_TAGE1], ThisWindow->Win, NULL, WINTEGERA_Long, (ULONG)MyPrefsPTR->Daten->MahnNachTagen[0], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM_TAGE2], ThisWindow->Win, NULL, WINTEGERA_Long, (ULONG)MyPrefsPTR->Daten->MahnNachTagen[1], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_AM_TAGE3], ThisWindow->Win, NULL, WINTEGERA_Long, (ULONG)MyPrefsPTR->Daten->MahnNachTagen[2], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KASSE_VERSAND], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyVersandPTR->CycleVersand, WCYCLEA_Active, MyPrefsPTR->Daten->KassenVersandart, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KASSE_ZUSATZ], ThisWindow->Win, NULL, WSTRINGFIELDA_Text, MyPrefsPTR->Daten->Kassentext, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_NEGBEST], ThisWindow->Win, NULL, WCHECKBOXA_Checked, MyPrefsPTR->Daten->NegativBestand, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	SetGadgetAttrs( ThisWindow->gads[PRE_ABST_FORM], ThisWindow->Win, NULL, WCYCLEA_Active, DokumentNr[0], GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_AM_FORM1], ThisWindow->Win, NULL, WCYCLEA_Active, DokumentNr[1], GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_AM_FORM2], ThisWindow->Win, NULL, WCYCLEA_Active, DokumentNr[2], GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_AM_FORM3], ThisWindow->Win, NULL, WCYCLEA_Active, DokumentNr[3], GA_DISABLED, Gesperrt, TAG_DONE );
	SetGadgetAttrs( ThisWindow->gads[PRE_KASSE_FORM], ThisWindow->Win, NULL, WCYCLEA_Active, DokumentNr[4], GA_DISABLED, Gesperrt, TAG_DONE );
};

void MTPref_Gadget::FillEbene5()
{
	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		*Buffer = 0;
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_FELD1], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)Buffer, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_EBENE1], ThisWindow->Win, NULL, WGROUPA_ActivePage, 0, TAG_DONE );
		SuchEbene[0] = 0;
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VGL1], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_UNDODER1], ThisWindow->Win, NULL, WMXA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_SU_FELD2], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)Buffer, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_EBENE2], ThisWindow->Win, NULL, WGROUPA_ActivePage, 0, TAG_DONE );
		SuchEbene[1] = 0;
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VGL2], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_UNDODER2], ThisWindow->Win, NULL, WMXA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_SU_FELD3], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)Buffer, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_EBENE3], ThisWindow->Win, NULL, WGROUPA_ActivePage, 0, TAG_DONE );
		SuchEbene[2] = 0;
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VGL3], ThisWindow->Win, NULL, WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SUCH_DB], ThisWindow->Win, NULL, WMXA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VORGABE], ThisWindow->Win, NULL, WMXA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		for( i = 0; i < 3; i++ )
		{
			switch( MerkDB[AktDB_Pos]->Such_DB_Typ[(MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][i])] )
			{
				case 0:
				case 1:
				case 2:
				case 3:
					if( MerkDB[AktDB_Pos]->Such_DB_Feld[(MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][i])] )
					{
						SuchEbene[i]	= 1;
						SetGadgetAttrs( ThisWindow->gads[(SuchTextFeld[i])], ThisWindow->Win, NULL, WSTRINGA_Hook, &Dummy_edh, TAG_DONE );
					}
					else
						SuchEbene[i]	= 0;
					break;
				case 4:
				case 5:
				case 6:
				case 7:
				case 8:
				case 9:
				case 10:
					if( MerkDB[AktDB_Pos]->Such_DB_CS[(MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][i])] )
						SuchEbene[i]	= 2;
					else
					{
						SuchEbene[i]	= 1;
						SetGadgetAttrs( ThisWindow->gads[(SuchTextFeld[i])], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosNegZahl_edh, TAG_DONE );
					}
					break;
				default:
					SuchEbene[i]		= 1;
					SetGadgetAttrs( ThisWindow->gads[(SuchTextFeld[i])], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosNegZahlNK_edh, TAG_DONE );
					break;
			}
		}

		SetGadgetAttrs( ThisWindow->gads[PRE_SU_FELD1], ThisWindow->Win, NULL,	WCYCLEA_Labels, (ULONG)MerkDB[AktDB_Pos]->Such_DB_Felder_String,
																										WCYCLEA_Active, MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][0],
																										GA_DISABLED, Gesperrt, TAG_DONE );
		switch( SuchEbene[0] )
		{
			case 1:
				SetGadgetAttrs( ThisWindow->gads[PRE_SU_TEXT1], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->SuchText[AktDB_Pos][AktSuchVorgabe][0],
																												GA_DISABLED, Gesperrt, TAG_DONE );
				break;
			case 2:
				SetGadgetAttrs( ThisWindow->gads[PRE_SU_CYCLE1], ThisWindow->Win, NULL,	WCYCLEA_Labels, (ULONG)MerkDB[AktDB_Pos]->Such_DB_CS[(MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][0])],
																												WCYCLEA_Active, MyPrefsPTR->Daten->SuchWert[AktDB_Pos][AktSuchVorgabe][0],
																												GA_DISABLED, Gesperrt, TAG_DONE );
				break;
		}
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_EBENE1], ThisWindow->Win, NULL, WGROUPA_ActivePage, SuchEbene[0], TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VGL1], ThisWindow->Win, NULL, WCYCLEA_Active, MyPrefsPTR->Daten->VGLFeld[AktDB_Pos][AktSuchVorgabe][0], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_UNDODER1], ThisWindow->Win, NULL, WMXA_Active, MyPrefsPTR->Daten->Verknuepf[AktDB_Pos][AktSuchVorgabe][0], GA_DISABLED, Gesperrt, TAG_DONE );


		SetGadgetAttrs( ThisWindow->gads[PRE_SU_FELD2], ThisWindow->Win, NULL,	WCYCLEA_Labels, (ULONG)MerkDB[AktDB_Pos]->Such_DB_Felder_String,
																										WCYCLEA_Active, MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][1],
																										GA_DISABLED, Gesperrt, TAG_DONE );
		switch( SuchEbene[1] )
		{
			case 1:
				SetGadgetAttrs( ThisWindow->gads[PRE_SU_TEXT2], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->SuchText[AktDB_Pos][AktSuchVorgabe][1],
																												GA_DISABLED, Gesperrt, TAG_DONE );
				break;
			case 2:
				SetGadgetAttrs( ThisWindow->gads[PRE_SU_CYCLE2], ThisWindow->Win, NULL,	WCYCLEA_Labels, (ULONG)MerkDB[AktDB_Pos]->Such_DB_CS[(MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][1])],
																												WCYCLEA_Active, MyPrefsPTR->Daten->SuchWert[AktDB_Pos][AktSuchVorgabe][1],
																												GA_DISABLED, Gesperrt, TAG_DONE );
				break;
		}
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_EBENE2], ThisWindow->Win, NULL, WGROUPA_ActivePage, SuchEbene[1], TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VGL2], ThisWindow->Win, NULL, WCYCLEA_Active, MyPrefsPTR->Daten->VGLFeld[AktDB_Pos][AktSuchVorgabe][1], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_UNDODER2], ThisWindow->Win, NULL, WMXA_Active, MyPrefsPTR->Daten->Verknuepf[AktDB_Pos][AktSuchVorgabe][1], GA_DISABLED, Gesperrt, TAG_DONE );


		SetGadgetAttrs( ThisWindow->gads[PRE_SU_FELD3], ThisWindow->Win, NULL,	WCYCLEA_Labels, (ULONG)MerkDB[AktDB_Pos]->Such_DB_Felder_String,
																										WCYCLEA_Active, MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][2],
																										GA_DISABLED, Gesperrt, TAG_DONE );
		switch( SuchEbene[2] )
		{
			case 1:
				SetGadgetAttrs( ThisWindow->gads[PRE_SU_TEXT3], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->SuchText[AktDB_Pos][AktSuchVorgabe][2],
																												GA_DISABLED, Gesperrt, TAG_DONE );
				break;
			case 2:
				SetGadgetAttrs( ThisWindow->gads[PRE_SU_CYCLE3], ThisWindow->Win, NULL,	WCYCLEA_Labels, (ULONG)MerkDB[AktDB_Pos]->Such_DB_CS[(MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][2])],
																												WCYCLEA_Active, MyPrefsPTR->Daten->SuchWert[AktDB_Pos][AktSuchVorgabe][2],
																												GA_DISABLED, Gesperrt, TAG_DONE );
				break;
		}
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_EBENE3], ThisWindow->Win, NULL, WGROUPA_ActivePage, SuchEbene[2], TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VGL3], ThisWindow->Win, NULL, WCYCLEA_Active, MyPrefsPTR->Daten->VGLFeld[AktDB_Pos][AktSuchVorgabe][2], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SUCH_DB], ThisWindow->Win, NULL, WMXA_Active, AktDB_Pos, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_SU_VORGABE], ThisWindow->Win, NULL, WMXA_Active, AktSuchVorgabe, GA_DISABLED, Gesperrt, TAG_DONE );
	}
};

void MTPref_Gadget::FillEbene6()
{
	SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB],		ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, GA_DISABLED, Gesperrt, TAG_DONE);

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		*Buffer = 0;
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_TYP],	ThisWindow->Win, NULL,	WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BEZ],	ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_VON],	ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BIS],	ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZUAB_EIN],	ThisWindow->Win, NULL, WCYCLEA_Labels, "", WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZUAB_AUS],	ThisWindow->Win, NULL, WCYCLEA_Labels, "", WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB],	ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->ZuAbList->MyList,
																										WLISTVIEWA_Top, First_LV[1],
																										WLISTVIEWA_Selected, Select_LV[1],
																										GA_DISABLED, Gesperrt,
																										TAG_DONE);
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_TYP],	ThisWindow->Win, NULL,	WCYCLEA_Active, MyPrefsPTR->Daten->ZuAbTyp[Select_LV[1]], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BEZ],	ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ZuAbBezeich[Select_LV[1]], GA_DISABLED, Gesperrt, TAG_DONE );

		if( MyPrefsPTR->Daten->ZuAbTyp[Select_LV[1]] == 0 ||
			 MyPrefsPTR->Daten->ZuAbTyp[Select_LV[1]] == 5 )
		{
			MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->ZuAb_Limit_Von[Select_LV[1]], MyPrefsPTR->Daten->Nachkomma_Prozent );
			MyLocalePTR->FormatNumber( &Buffer[40], MyPrefsPTR->Daten->ZuAb_Limit_Bis[Select_LV[1]], MyPrefsPTR->Daten->Nachkomma_Prozent );
			SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_VON], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BIS], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
		}
		else
		{
			MyLocalePTR->FormatMoney( Buffer, MyPrefsPTR->Daten->ZuAb_Limit_Von[Select_LV[1]], MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
			MyLocalePTR->FormatMoney( &Buffer[40], MyPrefsPTR->Daten->ZuAb_Limit_Bis[Select_LV[1]], MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
			SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_VON], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosWaehr_edh, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BIS], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosWaehr_edh, TAG_DONE );
		}
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_VON],	ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BIS],	ThisWindow->Win, NULL,	WSTRINGA_String, &Buffer[40], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZUAB_EIN],	ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_ZuAb_Ein[Select_LV[1]]), GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KONTO_ZUAB_AUS],	ThisWindow->Win, NULL, WCYCLEA_Labels, MyKontenPosPTR->CycleKonto, WCYCLEA_Active, MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_ZuAb_Aus[Select_LV[1]]), GA_DISABLED, Gesperrt, TAG_DONE );
	}

	if( MyPrefsPTR->Daten->ZuAbBelegt < 50 )
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_NEU],	ThisWindow->Win, NULL,	GA_DISABLED, Gesperrt, TAG_DONE );
	else
		SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_NEU],	ThisWindow->Win, NULL,	GA_DISABLED, TRUE, TAG_DONE );
};

void MTPref_Gadget::FillEbene7()
{
	SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, GA_DISABLED, Gesperrt, TAG_DONE);

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP],	ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP_SORT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP],ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->ArtGrpList->MyList,
																										WLISTVIEWA_Top, First_LV[2],
																										WLISTVIEWA_Selected, Select_LV[2],
																										GA_DISABLED, Gesperrt,
																										TAG_DONE);
		if( MyPrefsPTR->Daten->ArtikelGruppeBelegt == 0 )
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP],	ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, TRUE, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP_SORT], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
		}
		else
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP],	ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ArtikelGruppe[Select_LV[2]], GA_DISABLED, Gesperrt, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP_SORT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
		}
	}

	if( MyPrefsPTR->Daten->ArtikelGruppeBelegt < 100 )
		SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP_NEU], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	else
		SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP_NEU], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
};

void MTPref_Gadget::FillEbene8()
{
	ULONG ZuAbMerkTab[]		= {PRE_UMR_ZUAB1, PRE_UMR_ZUAB2, PRE_UMR_ZUAB3, PRE_UMR_ZUAB4, PRE_UMR_ZUAB5, PRE_UMR_ZUAB6};
	ULONG ZuAbMerkWertTab[]	= {PRE_UMR_ZUABWERT1, PRE_UMR_ZUABWERT2, PRE_UMR_ZUABWERT3, PRE_UMR_ZUABWERT4, PRE_UMR_ZUABWERT5, PRE_UMR_ZUABWERT6};

	SetGadgetAttrs( ThisWindow->gads[PRE_UMR_EBENE], ThisWindow->Win, NULL, WGROUPA_ActivePage, UmrechKarte, TAG_DONE );

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_KH], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_KL], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_HK], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_HL], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_LK], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_LH], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );

		for( i = 0; i < 6; i++ )
		{
			SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkTab[i])], ThisWindow->Win, NULL, WCYCLEA_Labels, "", WCYCLEA_Active, 0, GA_DISABLED, Gesperrt, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkWertTab[i])], ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		}

		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDEN1], ThisWindow->Win, NULL,	WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDEN2], ThisWindow->Win, NULL,	WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDEN3], ThisWindow->Win, NULL,	WCHECKBOXA_Checked, FALSE, GA_DISABLED, Gesperrt, TAG_DONE );

		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON1], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON2], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON3], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON4], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS1], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS2], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS3], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS4], ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU1], ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU2], ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU3], ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU4], ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_KH], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_KH, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_KL], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_KL, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_HK], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_HK, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_HL], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_HL, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_LK], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_LK, GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_LH], ThisWindow->Win, NULL,		WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_LH, GA_DISABLED, Gesperrt, TAG_DONE );

		for( i = 0; i < 6; i++ )
		{
			SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkTab[i])], ThisWindow->Win, NULL, WCYCLEA_Labels, MyPrefsPTR->CycleZuAb, WCYCLEA_Active, MyPrefsPTR->Daten->Umrech_ZuAb[i], GA_DISABLED, Gesperrt, TAG_DONE );

			if( MyPrefsPTR->Daten->Umrech_ZuAb[i] == 0)
				SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkWertTab[i])], ThisWindow->Win, NULL, WSTRINGA_String, "", GA_DISABLED, TRUE, TAG_DONE );
			else
			{
				switch( MyPrefsPTR->Daten->ZuAbTyp[(MyPrefsPTR->Daten->Umrech_ZuAb[i] - 1)] )
				{
					case 0:
					case 5:
						MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_ZuAbWert[i], MyPrefsPTR->Daten->Nachkomma_Prozent );
						SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkWertTab[i])], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
						break;
					default:
						MyLocalePTR->FormatMoney( Buffer, MyPrefsPTR->Daten->Umrech_ZuAbWert[i], MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
						SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkWertTab[i])], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosWaehr_edh, TAG_DONE );
						break;
				}
				SetGadgetAttrs( ThisWindow->gads[(ZuAbMerkWertTab[i])], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
			}
		}

		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDEN1], ThisWindow->Win, NULL,	WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_Runden[0], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDEN2], ThisWindow->Win, NULL,	WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_Runden[1], GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDEN3], ThisWindow->Win, NULL,	WCHECKBOXA_Checked, MyPrefsPTR->Daten->Umrech_Runden[2], GA_DISABLED, Gesperrt, TAG_DONE );

		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenVon[0], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON1], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenVon[1], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON2], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenVon[2], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON3], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenVon[3], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON4], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );

		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenBis[0], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS1], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenBis[1], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS2], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenBis[2], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS3], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenBis[3], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS4], ThisWindow->Win, NULL,	WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );

		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenZu[0], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU1], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenZu[1], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU2], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenZu[2], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU3], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
		MyLocalePTR->FormatNumber( Buffer, MyPrefsPTR->Daten->Umrech_RundenZu[3], MyLocalePTR->Thislocale->loc_MonFracDigits );
		SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU4], ThisWindow->Win, NULL, WSTRINGA_String, Buffer, GA_DISABLED, Gesperrt, TAG_DONE );
	}
};

void MTPref_Gadget::FillEbene9()
{
	SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME],	ThisWindow->Win, NULL,		WLISTVIEWA_List, NULL, GA_DISABLED, Gesperrt, TAG_DONE);

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_ME],	ThisWindow->Win, NULL,		WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_ME_SORT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME],ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->MEList->MyList,
																									WLISTVIEWA_Top, First_LV[3],
																									WLISTVIEWA_Selected, Select_LV[3],
																									GA_DISABLED, Gesperrt,
																									TAG_DONE);
		if( MyPrefsPTR->Daten->ME_Belegt == 0 )
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_ME],	ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, TRUE, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_ME_SORT], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
		}
		else
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_ME],	ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ME[Select_LV[3]], GA_DISABLED, Gesperrt, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_ME_SORT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
		}
	}

	if( MyPrefsPTR->Daten->ME_Belegt < 30 )
		SetGadgetAttrs( ThisWindow->gads[PRE_ME_NEU], ThisWindow->Win, NULL,	GA_DISABLED, Gesperrt, TAG_DONE );
	else
		SetGadgetAttrs( ThisWindow->gads[PRE_ME_NEU], ThisWindow->Win, NULL,	GA_DISABLED, TRUE, TAG_DONE );
};

void MTPref_Gadget::FillEbene10()
{
	SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT],	ThisWindow->Win, NULL,		WLISTVIEWA_List, NULL, GA_DISABLED, Gesperrt, TAG_DONE);

	if( MyMitarbeiterPTR->UserDaten.Ber_Prefs == 0 )
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT],	ThisWindow->Win, NULL,		WSTRINGA_String, "", GA_DISABLED, Gesperrt, TAG_DONE );
		SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT_SORT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	}
	else
	{
		SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT], ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->KundKatList->MyList,
																											WLISTVIEWA_Top, First_LV[4],
																											WLISTVIEWA_Selected, Select_LV[4],
																											GA_DISABLED, Gesperrt,
																											TAG_DONE);
		if( MyPrefsPTR->Daten->KundKat_Belegt == 0 )
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT],	ThisWindow->Win, NULL,	WSTRINGA_String, "", GA_DISABLED, TRUE, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT_SORT], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
		}
		else
		{
			SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT],	ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->KundKat[Select_LV[4]], GA_DISABLED, Gesperrt, TAG_DONE );
			SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT_SORT], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
		}
	}

	if( MyPrefsPTR->Daten->KundKat_Belegt < 100 )
		SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT_NEU], ThisWindow->Win, NULL, GA_DISABLED, Gesperrt, TAG_DONE );
	else
		SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT_NEU], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
};


// Gadget-Auswertung
WORD MTPref_Gadget::MTAuswertung( struct IntuiMessage* imsg, WORD DONE )
{
	BOOL		UpDate = FALSE;
	BOOL		FillEbene = FALSE;
	ULONG		Merker;
	DOUBLE	DoubleMerker;

	switch( imsg->Class )
	{
		// ein Button wurde betätigt (genaugenommen losgelassen)
		case IDCMP_IDCMPUPDATE:
			if( imsg->Code	== 0xffff )
				IconNummer = imsg->Qualifier;
			else
				IconNummer = GetTagData(GA_ID,0,(struct TagItem *)imsg->IAddress);
			switch( IconNummer )
			{
				// Karteireiter
				case PRE_GRUPPEN:
					GetAttr( WGROUPA_ActivePage, ThisWindow->gads[IconNummer], (ULONG *)&ThisWindow->Karte );
					FillWindow();
					break;

				// Mehrwertsteuer Liste
				case PRE_LV_MWST:
					Select_LV[0] = GetTagData(WLISTVIEWA_Selected,0,(struct TagItem *)imsg->IAddress);
					GetAttr(WLISTVIEWA_Top, ThisWindow->gads[IconNummer], (ULONG *)&First_LV[0] );
					FillEbene	= TRUE;
					break;
				// Mehrwertsteuresatz
				case PRE_MWST_SATZ:
					UpDate		= DoubleAuswert( &MyPrefsPTR->Daten->MWSt[(Select_LV[0])], MyPrefsPTR->Daten->Nachkomma_Prozent );
					break;
				// Mehrwertsteurbezeichnung
				case PRE_MWST_BEZ:
					UpDate = TextAuswert( MyPrefsPTR->Daten->MWSt_Bez[(Select_LV[0])] );
					break;
				// Mehrwertsteurtyp
				case PRE_MWST_RECH:
					GetAttr(WMXA_Active, ThisWindow->gads[IconNummer], (ULONG *)&Merker );
					MyPrefsPTR->Daten->MWSt_Typ[(Select_LV[0])] = Merker;
					UpDate = TRUE;
					break;
				// Mehrwertsteuer-Vorsteuerkonto
				case PRE_KONTO_VST:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->MWSt_Konto_VSt[(Select_LV[0])]);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->MWSt_Konto_VSt[(Select_LV[0])]	= MyKontenPosPTR->FromCycle( i );
					break;
				// Mehrwertsteuer-Umsatzsteuerkonto
				case PRE_KONTO_UST:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->MWSt_Konto_USt[(Select_LV[0])]);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->MWSt_Konto_USt[(Select_LV[0])]	= MyKontenPosPTR->FromCycle( i );
					break;

				// Screenmodewechsel
				case PRE_SSELECT:
					if( ThisWindow->ThisScreen->MTRequestScreenMode() )
					{
						*MyPrefsPTR->Daten->ScreenPubName	 	= 0;
						MyPrefsPTR->Daten->ScreenDisplayID		= ThisWindow->ThisScreen->ScreenDisplayID;
						MyPrefsPTR->Daten->ScreenDisplayDepth	= ThisWindow->ThisScreen->ScreenDisplayDepth;
						MyPrefsPTR->Daten->ScreenWidth			= ThisWindow->ThisScreen->ScreenWidth;
						MyPrefsPTR->Daten->ScreenHight			= ThisWindow->ThisScreen->ScreenHight;
						MyPrefsPTR->Daten->ScreenOverscanType	= ThisWindow->ThisScreen->ScreenOverscanType;
						MyPrefsPTR->Daten->ScreenAutoScroll		= ThisWindow->ThisScreen->ScreenAutoScroll;
						UpDate		= TRUE;
						SMWechsel	= TRUE;
					}
					break;
				// PublicScreenWechsel
				case PRE_PUBSELECT:
					if( GetAttr(WCYCLEA_Active, ThisWindow->gads[IconNummer], (ULONG *)&LongWert ) )
					{
						if( LongWert == 0 )
							MyPrefsPTR->Daten->ScreenPubName[0]	= 0;
						else
							MyAppStringsPTR->GetCycleWert( PubScreens, MyPrefsPTR->Daten->ScreenPubName, LongWert );
						UpDate		= TRUE;
						SMWechsel	= TRUE;
					}
					break;
				// Druckrand geändert
				case PRE_DRANDX:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->Druckrand_X );
					break;
				// Druckrand geändert
				case PRE_DRANDY:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->Druckrand_Y );
					break;
				case PRE_VERSAND_E:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->MWSt_Versand_E );
					break;
				case PRE_ZUSATZ_E:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->MWSt_Zusatz_E );
					break;
				case PRE_VERSAND_A:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->MWSt_Versand_A );
					break;
				case PRE_ZUSATZ_A:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->MWSt_Zusatz_A );
					break;
				case PRE_ARTIKEL_MWST:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->MWSt_Artikel );
					break;
				case PRE_NACHKOMMA:
				case PRE_NACHKOMMA_M:
				case PRE_NACHKOMMA_P:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->Nachkomma );
					break;
				case PRE_NACHKOMMA_PROZ:
				case PRE_NACHKOMMA_PROZ_M:
				case PRE_NACHKOMMA_PROZ_P:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->Nachkomma_Prozent );
					break;
				case PRE_NR_LAENGE:
				case PRE_NR_LAENGE_M:
				case PRE_NR_LAENGE_P:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->Nr_Laenge );
					break;
				case PRE_WSYMBOL:
					UpDate = TextAuswert( MyPrefsPTR->Daten->Waehrung2_Symbol );
					if( UpDate )
					{
						sprintf(MyPrefsPTR->CycleWaehrung,	AppStrings[MSG_Waehrung],
																		MyLocalePTR->Thislocale->loc_MonIntCS,
																		MyLocalePTR->Thislocale->loc_MonIntCS,
																		MyPrefsPTR->Daten->Waehrung2_Symbol,
																		MyPrefsPTR->Daten->Waehrung2_Symbol);
						SetGadgetAttrs(	ThisWindow->gads[PRE_WAEHRUNG], ThisWindow->Win, NULL,
												WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleWaehrung,
												WCYCLEA_Active, MyPrefsPTR->Daten->Waehrung_KZ, TAG_DONE );
					}
					break;
				case PRE_WKURS:
					DoubleMerker = MyPrefsPTR->Daten->Umrechnungskurs;
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrechnungskurs, 6 );
					if( UpDate )
					{
						if( MyPrefsPTR->Daten->Umrechnungskurs == 0.0 )
						{
							DisplayBeep(ThisWindow->ThisScreen->ThisScreen);
							ActivateGadget( ThisWindow->gads[IconNummer], ThisWindow->Win, NULL);
							MyPrefsPTR->Daten->Umrechnungskurs = DoubleMerker;
							MyLocalePTR->FormatNumber( (STRPTR)Buffer, MyPrefsPTR->Daten->Umrechnungskurs, 6);
							SetGadgetAttrs( ThisWindow->gads[IconNummer], ThisWindow->Win, NULL, WSTRINGA_String, (STRPTR)Buffer, TAG_DONE );
						}
					}
					break;
				case PRE_WAEHRUNG:
					i = MyKundenPTR->Daten->Waehrung_KZ;
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->Waehrung_KZ );
					if( UpDate )
					{
						MyPrefsPTR->Daten->KreditLimit = MyPrefsPTR->WaehrungUmrechnen(
															MyPrefsPTR->Daten->MWSt[MyPrefsPTR->Daten->MWSt_Artikel],
															MyPrefsPTR->Daten->KreditLimit,
															i, MyPrefsPTR->Daten->Waehrung_KZ,
															MyPrefsPTR->Daten->MWSt_Typ[MyPrefsPTR->Daten->MWSt_Artikel]);
						for( j = 0; j < 6; j++ )
						{
							if( MyPrefsPTR->Daten->Umrech_ZuAb[j] )
							{
								switch( MyPrefsPTR->Daten->ZuAbTyp[(MyPrefsPTR->Daten->Umrech_ZuAb[j] - 1)] )
								{
									case 0:
									case 5:
										break;
									default:
										MyPrefsPTR->Daten->Umrech_ZuAbWert[j] = MyPrefsPTR->WaehrungUmrechnen(
															MyPrefsPTR->Daten->MWSt[MyPrefsPTR->Daten->MWSt_Artikel],
															MyPrefsPTR->Daten->Umrech_ZuAbWert[j],
															i, MyPrefsPTR->Daten->Waehrung_KZ,
															MyPrefsPTR->Daten->MWSt_Typ[MyPrefsPTR->Daten->MWSt_Artikel]);

										break;
								}
							}
						}
						for( j = 0; j < MyPrefsPTR->Daten->ZuAbBelegt; j++ )
						{
							switch( MyPrefsPTR->Daten->ZuAbTyp[j] )
							{
								case 0:
								case 5:
									break;
								default:
									MyPrefsPTR->Daten->ZuAb_Limit_Von[j] = MyPrefsPTR->WaehrungUmrechnen(
														MyPrefsPTR->Daten->MWSt[MyPrefsPTR->Daten->MWSt_Artikel],
														MyPrefsPTR->Daten->ZuAb_Limit_Von[j],
														i, MyPrefsPTR->Daten->Waehrung_KZ,
														MyPrefsPTR->Daten->MWSt_Typ[MyPrefsPTR->Daten->MWSt_Artikel]);
									MyPrefsPTR->Daten->ZuAb_Limit_Bis[j] = MyPrefsPTR->WaehrungUmrechnen(
														MyPrefsPTR->Daten->MWSt[MyPrefsPTR->Daten->MWSt_Artikel],
														MyPrefsPTR->Daten->ZuAb_Limit_Bis[j],
														i, MyPrefsPTR->Daten->Waehrung_KZ,
														MyPrefsPTR->Daten->MWSt_Typ[MyPrefsPTR->Daten->MWSt_Artikel]);
									break;
							}
						}

						MyLocalePTR->FormatMoney( Buffer, MyPrefsPTR->Daten->KreditLimit, MyPrefsPTR->WaehrungPTR[LongWert] );
						SetGadgetAttrs( ThisWindow->gads[PRE_KLIMIT], ThisWindow->Win, NULL, WSTRINGA_String, (STRPTR)Buffer, TAG_DONE );
					}
					break;
				case PRE_JAHR_VS:
					MyPrefsPTR->Daten->Jahr_vier	 		= !MyPrefsPTR->Daten->Jahr_vier;
					MyLocalePTR->Jahr_vier					= MyPrefsPTR->Daten->Jahr_vier;
					UpDate = TRUE;
					break;
				case PRE_WIN_SAVE:
					MyPrefsPTR->Daten->WinPosSave		 	= !MyPrefsPTR->Daten->WinPosSave;
					ThisWindow->ThisScreen->WinPosSave	= MyPrefsPTR->Daten->WinPosSave;
					UpDate = TRUE;
					break;
				case PRE_KLIMIT:
					UpDate = MoneyAuswert(	&MyPrefsPTR->Daten->KreditLimit,
													MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
					break;
				case PRE_ABST:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->AutoBestellen );
					break;
				case PRE_AM:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->AutoMahnen );
					break;
				case PRE_ABST_FORM:
					UpDate = CycleAuswert( &DokumentNr[0] );
					if( UpDate )
					{
						if( DokumentNr[0] )
							strncpy( MyPrefsPTR->Daten->Bestelldokument, MyPrefsPTR->DruDockList[7]->SucheNode( DokumentNr[0] - 1 ), 29 );
						else
							MyPrefsPTR->Daten->Bestelldokument[0] = 0;
					}
					break;
				case PRE_AM_FORM1:
				case PRE_AM_FORM2:
				case PRE_AM_FORM3:
					switch( IconNummer )
					{
						case PRE_AM_FORM1:
							i = 0;
							break;
						case PRE_AM_FORM2:
							i = 1;
							break;
						case PRE_AM_FORM3:
							i = 2;
							break;
					}
					UpDate = CycleAuswert( &DokumentNr[i+1] );
					if( UpDate )
					{
						if( DokumentNr[i+1] )
							strncpy( MyPrefsPTR->Daten->Mahndokument[i], MyPrefsPTR->DruDockList[6]->SucheNode( DokumentNr[i+1] - 1 ), 29 );
						else
							MyPrefsPTR->Daten->Mahndokument[i][0] = 0;
					}
					break;
				case PRE_AM_TAGE1:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->MahnNachTagen[0] );
					break;
				case PRE_AM_TAGE2:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->MahnNachTagen[1] );
					break;
				case PRE_AM_TAGE3:
					UpDate = LongAuswert( &MyPrefsPTR->Daten->MahnNachTagen[2] );
					break;
				case PRE_NEGBEST:
					MyPrefsPTR->Daten->NegativBestand = !MyPrefsPTR->Daten->NegativBestand;
					UpDate = TRUE;
					break;
				case PRE_KASSE_FORM:
					UpDate = CycleAuswert( &DokumentNr[4] );
					if( UpDate )
					{
						if( DokumentNr[4] )
							strncpy( MyPrefsPTR->Daten->Kassenbon, MyPrefsPTR->DruDockList[6]->SucheNode( DokumentNr[4] - 1 ), 31 );
						else
							MyPrefsPTR->Daten->Kassenbon[0]	= 0;
					}
					break;
				case PRE_KASSE_VERSAND:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->KassenVersandart );
					break;
				case PRE_KASSE_ZUSATZ:
					UpDate = TextFeldAuswert( MyPrefsPTR->Daten->Kassentext );
					break;

				case PRE_ART_ARECH:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->ARechArt );
					break;
				case PRE_ART_ERECH:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->ERechArt );
					break;
				case PRE_KUNDENNR:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->KundNr );
					break;
				case PRE_SD_FRAGE:
					MyPrefsPTR->Daten->SchnellDruckFragen = !MyPrefsPTR->Daten->SchnellDruckFragen;
					UpDate = TRUE;
					break;
				case PRE_KONTO_VERSAND_EIN:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Versand_Ein);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Versand_Ein			= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_ZUSATZ_EIN:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Zusatz_Ein);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Zusatz_Ein				= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_ZAHLUNG_EIN:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Zahlung_Ein);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Zahlung_Ein			= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_ABGESCHR_EIN:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Abgeschrieben_Ein);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Abgeschrieben_Ein	= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_SKONTO_EIN:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Skonto_Ein);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Skonto_Ein				= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_VERSAND_AUS:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Versand_Aus);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Versand_Aus			= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_ZAHLUNG_AUS:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Zahlung_Aus);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Zahlung_Aus			= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_ABGESCHR_AUS:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Abgeschrieben_Aus);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Abgeschrieben_Aus	= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_SKONTO_AUS:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Skonto_Aus);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Skonto_Aus				= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_WAEHR_DIFF:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_Waehr_Diff);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_Waehr_Diff				= MyKontenPosPTR->FromCycle( i );
					break;


				case PRE_SUCH_DB:
					GetAttr(WMXA_Active, ThisWindow->gads[IconNummer], (ULONG *)&AktDB_Pos );
					AktSuchVorgabe	= 0;
					FillEbene		= TRUE;
					break;
				case PRE_SU_VORGABE:
					GetAttr(WMXA_Active, ThisWindow->gads[IconNummer], (ULONG *)&AktSuchVorgabe );
					FillEbene		= TRUE;
					break;
				case PRE_SU_FELD1:
					UpDate 			= CycleAuswert( &MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][0] );
					FillEbene		= UpDate;
					break;
				case PRE_SU_FELD2:
					UpDate			= CycleAuswert( &MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][1] );
					FillEbene		= UpDate;
					break;
				case PRE_SU_FELD3:
					UpDate			= CycleAuswert( &MyPrefsPTR->Daten->SuchFeld[AktDB_Pos][AktSuchVorgabe][2] );
					FillEbene		= UpDate;
					break;
				case PRE_SU_TEXT1:
					UpDate = TextAuswert( MyPrefsPTR->Daten->SuchText[AktDB_Pos][AktSuchVorgabe][0] );
					break;
				case PRE_SU_TEXT2:
					UpDate = TextAuswert( MyPrefsPTR->Daten->SuchText[AktDB_Pos][AktSuchVorgabe][1] );
					break;
				case PRE_SU_TEXT3:
					UpDate = TextAuswert( MyPrefsPTR->Daten->SuchText[AktDB_Pos][AktSuchVorgabe][2] );
					break;
				case PRE_SU_CYCLE1:
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->SuchWert[AktDB_Pos][AktSuchVorgabe][0] = i;
					break;
				case PRE_SU_CYCLE2:
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->SuchWert[AktDB_Pos][AktSuchVorgabe][1] = i;
					break;
				case PRE_SU_CYCLE3:
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->SuchWert[AktDB_Pos][AktSuchVorgabe][2] = i;
					break;
				case PRE_SU_VGL1:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->VGLFeld[AktDB_Pos][AktSuchVorgabe][0] );
					break;
				case PRE_SU_VGL2:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->VGLFeld[AktDB_Pos][AktSuchVorgabe][1] );
					break;
				case PRE_SU_VGL3:
					UpDate = CycleAuswert( &MyPrefsPTR->Daten->VGLFeld[AktDB_Pos][AktSuchVorgabe][2] );
					break;
				case PRE_SU_UNDODER1:
					GetAttr(WMXA_Active, ThisWindow->gads[IconNummer], (ULONG *)&i );
					if( MyPrefsPTR->Daten->Verknuepf[AktDB_Pos][AktSuchVorgabe][0] != i )
					{
						MyPrefsPTR->Daten->Verknuepf[AktDB_Pos][AktSuchVorgabe][0] = i;
						UpDate = TRUE;
					}
					break;
				case PRE_SU_UNDODER2:
					GetAttr(WMXA_Active, ThisWindow->gads[IconNummer], (ULONG *)&i );
					if( MyPrefsPTR->Daten->Verknuepf[AktDB_Pos][AktSuchVorgabe][1] != i )
					{
						MyPrefsPTR->Daten->Verknuepf[AktDB_Pos][AktSuchVorgabe][1] = i;
						UpDate = TRUE;
					}
					break;
				case PRE_LV_ZUAB:
					Select_LV[1] = GetTagData(WLISTVIEWA_Selected,0,(struct TagItem *)imsg->IAddress);
					GetAttr(WLISTVIEWA_Top, ThisWindow->gads[IconNummer], (ULONG *)&First_LV[1] );
					FillEbene	= TRUE;
					break;
				case PRE_ZUAB_NEU:
					if( MyPrefsPTR->Daten->ZuAbBelegt < 50 )
					{
						Select_LV[1]	= MyPrefsPTR->Daten->ZuAbBelegt++;
						UpDate			= TRUE;
						FillEbene		= TRUE;
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB], ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
						MyPrefsPTR->ZuAbList->NeuerNode("");
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB], ThisWindow->Win, NULL,
																		WLISTVIEWA_Visible, Select_LV[1], TAG_DONE);
						GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_ZUAB], (ULONG *)&First_LV[1] );
					}
					ActivateGadget( ThisWindow->gads[PRE_ZUAB_BEZ], ThisWindow->Win, NULL);
					break;
				case PRE_ZUAB_TYP:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->ZuAbTyp[Select_LV[1]] );
					FillEbene	= UpDate;
					break;
				case PRE_ZUAB_BEZ:
					UpDate		= TextAuswert( MyPrefsPTR->Daten->ZuAbBezeich[Select_LV[1]] );
					break;
				case PRE_ZUAB_VON:
					switch( MyPrefsPTR->Daten->ZuAbTyp[Select_LV[1]] )
					{
						case 0:
						case 5:
							UpDate = DoubleAuswert( &MyPrefsPTR->Daten->ZuAb_Limit_Von[Select_LV[1]], MyPrefsPTR->Daten->Nachkomma_Prozent );
							break;
						default:
							UpDate = MoneyAuswert( &MyPrefsPTR->Daten->ZuAb_Limit_Von[Select_LV[1]],
															MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
							break;
					}
					break;
				case PRE_ZUAB_BIS:
					switch( MyPrefsPTR->Daten->ZuAbTyp[Select_LV[1]] )
					{
						case 0:
						case 5:
							UpDate = DoubleAuswert( &MyPrefsPTR->Daten->ZuAb_Limit_Bis[Select_LV[1]], MyPrefsPTR->Daten->Nachkomma_Prozent );
							break;
						default:
							UpDate = MoneyAuswert( &MyPrefsPTR->Daten->ZuAb_Limit_Bis[Select_LV[1]],
															MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
							break;
					}
					break;
				case PRE_KONTO_ZUAB_EIN:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_ZuAb_Ein[(Select_LV[1])]);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_ZuAb_Ein[(Select_LV[1])]	= MyKontenPosPTR->FromCycle( i );
					break;
				case PRE_KONTO_ZUAB_AUS:
					i = MyKontenPosPTR->ToCycle(MyPrefsPTR->Daten->Konto_ZuAb_Aus[(Select_LV[1])]);
					UpDate = CycleAuswert( &i );
					MyPrefsPTR->Daten->Konto_ZuAb_Aus[(Select_LV[1])]	= MyKontenPosPTR->FromCycle( i );
					break;

				case PRE_LV_ARTGRP:
					Select_LV[2] = GetTagData(WLISTVIEWA_Selected,0,(struct TagItem *)imsg->IAddress);
					GetAttr(WLISTVIEWA_Top, ThisWindow->gads[IconNummer], (ULONG *)&First_LV[2] );
					SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ArtikelGruppe[Select_LV[2]], TAG_DONE );
					break;
				case PRE_ARTGRP_NEU:
					if( MyPrefsPTR->Daten->ArtikelGruppeBelegt < 100 )
					{
						Select_LV[2]	= MyPrefsPTR->Daten->ArtikelGruppeBelegt++;
						UpDate			= TRUE;
						if( Select_LV[2] > 0 )
						{
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP], ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
							MyPrefsPTR->ArtGrpList->NeuerNode("");
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[2], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_ARTGRP], (ULONG *)&First_LV[2] );
						}

						SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP], ThisWindow->Win, NULL,	WSTRINGA_String, "", TAG_DONE );

						if( MyPrefsPTR->Daten->ArtikelGruppeBelegt >= 100 )
							SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP_NEU], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
					}
					ActivateGadget( ThisWindow->gads[PRE_ARTGRP], ThisWindow->Win, NULL);
					break;
				case PRE_ARTGRP_SORT:
					WZ_LockWindows( surface );
					if( MyPrefsPTR->Daten->ArtikelGruppeBelegt > 1 )
					{
						UBYTE Positionsmerker[101], i, j, k;
						TEXT Wert[20];
						for( i = 0; i <= MyPrefsPTR->Daten->ArtikelGruppeBelegt; i++ )
						{
							Positionsmerker[i] = i;
						}

						i = MyPrefsPTR->Daten->ArtikelGruppeBelegt;
						BOOL Fertig = FALSE;


						while ((i > 1) && (Fertig != TRUE))
						{
							Fertig = TRUE;
							for (j = 1; j < i; j++)
							{
								if( strcmp(MyPrefsPTR->Daten->ArtikelGruppe[j-1], MyPrefsPTR->Daten->ArtikelGruppe[j]) > 0 )
								{
									k = Positionsmerker[j + 1];
									strcpy( Wert, MyPrefsPTR->Daten->ArtikelGruppe[j] );
									Positionsmerker[j + 1] = Positionsmerker[j];
									strcpy( MyPrefsPTR->Daten->ArtikelGruppe[j], MyPrefsPTR->Daten->ArtikelGruppe[j - 1] );
									Positionsmerker[j] = k;
									strcpy( MyPrefsPTR->Daten->ArtikelGruppe[j - 1], Wert );
									Fertig = FALSE;
								}
							}
							i--;
						}
						Fertig = TRUE;
						for( i = 0; (i <= MyPrefsPTR->Daten->ArtikelGruppeBelegt) && Fertig; i++ )
						{
							if( Positionsmerker[i] != i )
								Fertig = FALSE;
						}
						if( !Fertig )
						{
							UBYTE Positionsmerker2[101];

							for( i = 0; i <= MyPrefsPTR->Daten->ArtikelGruppeBelegt; i++ )
							{
								Positionsmerker2[(Positionsmerker[i])] = i;
							}

							MyArtikelPTR->GetFirstElement();
							for( ULONG l = 1; l <= MyArtikelPTR->ElementeVorhanden(); l++ )
							{
								if( MyArtikelPTR->Daten->ArtikelGruppe != Positionsmerker2[MyArtikelPTR->Daten->ArtikelGruppe] )
								{
									MyArtikelPTR->Daten->ArtikelGruppe = Positionsmerker2[MyArtikelPTR->Daten->ArtikelGruppe];
									MyArtikelPTR->UpDateElement();
								}
								MyArtikelPTR->GetNextElement();
							}

							UpDate			= TRUE;
							Select_LV[2]	= 0;
							First_LV[2]		= 0;
							FillWindow();
						}
					}
					WZ_UnlockWindows( surface );
					break;
				case PRE_ARTGRP:
					UpDate = TextAuswert( MyPrefsPTR->Daten->ArtikelGruppe[Select_LV[2]] );
					break;

				// Karteireiter Umrechnungsseite
				case PRE_UMR_EBENE:
					GetAttr( WGROUPA_ActivePage, ThisWindow->gads[IconNummer], (ULONG *)&UmrechKarte );
					UpDate = TRUE;
					break;
				// Umrechnung Kunden- -> Händlerpreis
				case PRE_UMR_KH:
					MyPrefsPTR->Daten->Umrech_KH 	= !MyPrefsPTR->Daten->Umrech_KH;
					UpDate = TRUE;
					break;
				// Umrechnung Kunden- -> Lieferantenpreis
				case PRE_UMR_KL:
					MyPrefsPTR->Daten->Umrech_KL 	= !MyPrefsPTR->Daten->Umrech_KL;
					UpDate = TRUE;
					break;
				// Umrechnung Händler- -> Kundenpreis
				case PRE_UMR_HK:
					MyPrefsPTR->Daten->Umrech_HK 	= !MyPrefsPTR->Daten->Umrech_HK;
					UpDate = TRUE;
					break;
				// Umrechnung Händler- -> Lieferantenpreis
				case PRE_UMR_HL:
					MyPrefsPTR->Daten->Umrech_HL 	= !MyPrefsPTR->Daten->Umrech_HL;
					UpDate = TRUE;
					break;
				// Umrechnung Lieferanten- -> Kundenpreis
				case PRE_UMR_LK:
					MyPrefsPTR->Daten->Umrech_LK 	= !MyPrefsPTR->Daten->Umrech_LK;
					UpDate = TRUE;
					break;
				// Umrechnung Lieferanten- -> Händlerpreis
				case PRE_UMR_LH:
					MyPrefsPTR->Daten->Umrech_LH 	= !MyPrefsPTR->Daten->Umrech_LH;
					UpDate = TRUE;
					break;

				// Zu-/Abschläge für die Umrechnung
				case PRE_UMR_ZUAB1:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAb[0] );
					FillEbene	= UpDate;
					break;
				case PRE_UMR_ZUAB2:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAb[1] );
					FillEbene	= UpDate;
					break;
				case PRE_UMR_ZUAB3:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAb[2] );
					FillEbene	= UpDate;
					break;
				case PRE_UMR_ZUAB4:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAb[3] );
					FillEbene	= UpDate;
					break;
				case PRE_UMR_ZUAB5:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAb[4] );
					FillEbene	= UpDate;
					break;
				case PRE_UMR_ZUAB6:
					UpDate		= CycleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAb[5] );
					FillEbene	= UpDate;
					break;
				case PRE_UMR_ZUABWERT1:
				case PRE_UMR_ZUABWERT2:
				case PRE_UMR_ZUABWERT3:
				case PRE_UMR_ZUABWERT4:
				case PRE_UMR_ZUABWERT5:
				case PRE_UMR_ZUABWERT6:
					switch( IconNummer )
					{
						case PRE_UMR_ZUABWERT1:
							i = 0;
							break;
						case PRE_UMR_ZUABWERT2:
							i = 1;
							break;
						case PRE_UMR_ZUABWERT3:
							i = 2;
							break;
						case PRE_UMR_ZUABWERT4:
							i = 3;
							break;
						case PRE_UMR_ZUABWERT5:
							i = 4;
							break;
						case PRE_UMR_ZUABWERT6:
							i = 5;
							break;
					}
					if( MyPrefsPTR->Daten->Umrech_ZuAb[i] )
					{
						switch( MyPrefsPTR->Daten->ZuAbTyp[(MyPrefsPTR->Daten->Umrech_ZuAb[i] - 1)] )
						{
							case 0:
							case 5:
								UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_ZuAbWert[i], MyPrefsPTR->Daten->Nachkomma_Prozent );
								break;
							default:
								UpDate = MoneyAuswert( &MyPrefsPTR->Daten->Umrech_ZuAbWert[i],
																MyPrefsPTR->WaehrungPTR[MyPrefsPTR->Daten->Waehrung_KZ] );
								break;
						}
					}
					break;

				// Runden der kalkulierten Lieferantenpreise
				case PRE_UMR_RUNDEN1:
					MyPrefsPTR->Daten->Umrech_Runden[0]	= !MyPrefsPTR->Daten->Umrech_Runden[0];
					UpDate = TRUE;
					break;
				// Runden der kalkulierten Händlerpreise
				case PRE_UMR_RUNDEN2:
					MyPrefsPTR->Daten->Umrech_Runden[1]	= !MyPrefsPTR->Daten->Umrech_Runden[1];
					UpDate = TRUE;
					break;
				// Runden der kalkulierten Lieferantenpreise
				case PRE_UMR_RUNDEN3:
					MyPrefsPTR->Daten->Umrech_Runden[2]	= !MyPrefsPTR->Daten->Umrech_Runden[2];
					UpDate = TRUE;
					break;
				// Runden Bereichsfestlegung von
				case PRE_UMR_RUNDVON1:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenVon[0], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung von
				case PRE_UMR_RUNDVON2:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenVon[1], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung von
				case PRE_UMR_RUNDVON3:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenVon[2], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung von
				case PRE_UMR_RUNDVON4:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenVon[3], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung bis
				case PRE_UMR_RUNDBIS1:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenBis[0], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung bis
				case PRE_UMR_RUNDBIS2:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenBis[1], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung bis
				case PRE_UMR_RUNDBIS3:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenBis[2], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung bis
				case PRE_UMR_RUNDBIS4:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenBis[3], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung zu (Ergebnis)
				case PRE_UMR_RUNDZU1:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenZu[0], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung zu (Ergebnis)
				case PRE_UMR_RUNDZU2:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenZu[1], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung zu (Ergebnis)
				case PRE_UMR_RUNDZU3:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenZu[2], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;
				// Runden Bereichsfestlegung zu (Ergebnis)
				case PRE_UMR_RUNDZU4:
					UpDate = DoubleAuswert( &MyPrefsPTR->Daten->Umrech_RundenZu[3], MyLocalePTR->Thislocale->loc_MonFracDigits );
					break;

				// Listview der Mengeineinheiten
				case PRE_LV_ME:
					Select_LV[3] = GetTagData(WLISTVIEWA_Selected,0,(struct TagItem *)imsg->IAddress);
					GetAttr(WLISTVIEWA_Top, ThisWindow->gads[IconNummer], (ULONG *)&First_LV[3] );
					SetGadgetAttrs( ThisWindow->gads[PRE_ME], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ME[Select_LV[3]], TAG_DONE );
					break;
				case PRE_ME_NEU:
					if( MyPrefsPTR->Daten->ME_Belegt < 30 )
					{
						Select_LV[3]	= MyPrefsPTR->Daten->ME_Belegt++;
						UpDate			= TRUE;
						if( Select_LV[3] > 0 )
						{
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
							MyPrefsPTR->MEList->NeuerNode("");
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[3], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_ME], (ULONG *)&First_LV[3] );
						}

						SetGadgetAttrs( ThisWindow->gads[PRE_ME], ThisWindow->Win, NULL,	WSTRINGA_String, "", TAG_DONE );

						if( MyPrefsPTR->Daten->ME_Belegt >= 30 )
							SetGadgetAttrs( ThisWindow->gads[PRE_ME_NEU], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
					}
					ActivateGadget( ThisWindow->gads[PRE_ME], ThisWindow->Win, NULL);
					break;
				case PRE_ME_SORT:
					WZ_LockWindows( surface );
					if( MyPrefsPTR->Daten->ME_Belegt > 1 )
					{
						UBYTE Positionsmerker[30], i, j, k;
						TEXT Wert[15];
						for( i = 0; i < MyPrefsPTR->Daten->ME_Belegt; i++ )
						{
							Positionsmerker[i] = i;
						}

						i = MyPrefsPTR->Daten->ME_Belegt;
						BOOL Fertig = FALSE;


						while ((i > 1) && (Fertig != TRUE))
						{
							Fertig = TRUE;
							for (j = 1; j < i; j++)
							{
								if( strcmp(MyPrefsPTR->Daten->ME[j-1], MyPrefsPTR->Daten->ME[j]) > 0 )
								{
									k = Positionsmerker[j];
									strcpy( Wert, MyPrefsPTR->Daten->ME[j] );
									Positionsmerker[j] = Positionsmerker[j - 1];
									strcpy( MyPrefsPTR->Daten->ME[j], MyPrefsPTR->Daten->ME[j - 1] );
									Positionsmerker[j - 1] = k;
									strcpy( MyPrefsPTR->Daten->ME[j - 1], Wert );
									Fertig = FALSE;
								}
							}
							i--;
						}
						Fertig = TRUE;
						for( i = 0; (i < MyPrefsPTR->Daten->ME_Belegt) && Fertig; i++ )
						{
							if( Positionsmerker[i] != i )
								Fertig = FALSE;
						}
						if( !Fertig )
						{
							UBYTE Positionsmerker2[30];

							for( i = 0; i < MyPrefsPTR->Daten->ME_Belegt; i++ )
							{
								Positionsmerker2[(Positionsmerker[i])] = i;
							}

							MyArtikelPTR->GetFirstElement();
							for( ULONG l = 1; l <= MyArtikelPTR->ElementeVorhanden(); l++ )
							{
								if( MyArtikelPTR->Daten->Mengeneinheit != Positionsmerker2[MyArtikelPTR->Daten->Mengeneinheit] )
								{
									MyArtikelPTR->Daten->Mengeneinheit = Positionsmerker2[MyArtikelPTR->Daten->Mengeneinheit];
									MyArtikelPTR->UpDateElement();
								}
								MyArtikelPTR->GetNextElement();
							}

							UpDate			= TRUE;
							Select_LV[3]	= 0;
							First_LV[3]		= 0;
							FillWindow();
						}
					}
					WZ_UnlockWindows( surface );
					break;
				case PRE_ME:
					UpDate = TextAuswert( MyPrefsPTR->Daten->ME[Select_LV[3]] );
					break;

				case PRE_LV_KUNDKAT:
					Select_LV[4] = GetTagData(WLISTVIEWA_Selected,0,(struct TagItem *)imsg->IAddress);
					GetAttr(WLISTVIEWA_Top, ThisWindow->gads[IconNummer], (ULONG *)&First_LV[4] );
					SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->KundKat[Select_LV[4]], TAG_DONE );
					break;
				case PRE_KUNDKAT_NEU:
					if( MyPrefsPTR->Daten->KundKat_Belegt < 100 )
					{
						Select_LV[4]	= MyPrefsPTR->Daten->KundKat_Belegt++;
						UpDate			= TRUE;
						if( Select_LV[4] > 0 )
						{
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
							MyPrefsPTR->KundKatList->NeuerNode("");
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[4], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_KUNDKAT], (ULONG *)&First_LV[4] );
						}

						SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT], ThisWindow->Win, NULL,	WSTRINGA_String, "", TAG_DONE );

						if( MyPrefsPTR->Daten->KundKat_Belegt >= 100 )
							SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT_NEU], ThisWindow->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
					}
					ActivateGadget( ThisWindow->gads[PRE_KUNDKAT], ThisWindow->Win, NULL);
					break;
				case PRE_KUNDKAT_SORT:
					WZ_LockWindows( surface );
					if( MyPrefsPTR->Daten->KundKat_Belegt > 1 )
					{
						UBYTE Positionsmerker[101], i, j, k;
						TEXT Wert[20];
						for( i = 0; i <= MyPrefsPTR->Daten->KundKat_Belegt; i++ )
						{
							Positionsmerker[i] = i;
						}

						i = MyPrefsPTR->Daten->KundKat_Belegt;
						BOOL Fertig = FALSE;


						while ((i > 1) && (Fertig != TRUE))
						{
							Fertig = TRUE;
							for (j = 1; j < i; j++)
							{
								if( strcmp(MyPrefsPTR->Daten->KundKat[j-1], MyPrefsPTR->Daten->KundKat[j]) > 0 )
								{
									k = Positionsmerker[j + 1];
									strcpy( Wert, MyPrefsPTR->Daten->KundKat[j] );
									Positionsmerker[j + 1] = Positionsmerker[j];
									strcpy( MyPrefsPTR->Daten->KundKat[j], MyPrefsPTR->Daten->KundKat[j - 1] );
									Positionsmerker[j] = k;
									strcpy( MyPrefsPTR->Daten->KundKat[j - 1], Wert );
									Fertig = FALSE;
								}
							}
							i--;
						}
						Fertig = TRUE;
						for( i = 0; (i <= MyPrefsPTR->Daten->KundKat_Belegt) && Fertig; i++ )
						{
							if( Positionsmerker[i] != i )
								Fertig = FALSE;
						}
						if( !Fertig )
						{
							UBYTE Positionsmerker2[101];

							for( i = 0; i <= MyPrefsPTR->Daten->KundKat_Belegt; i++ )
							{
								Positionsmerker2[(Positionsmerker[i])] = i;
							}

							MyKundenPTR->GetFirstElement();
							for( ULONG l = 1; l <= MyKundenPTR->ElementeVorhanden(); l++ )
							{
								UpDate = FALSE;
								for(i = 0; i < 3; i++ )
								{
									if( MyKundenPTR->Daten->KundKat[i] != Positionsmerker2[MyKundenPTR->Daten->KundKat[i]] )
									{
										MyKundenPTR->Daten->KundKat[i]	= Positionsmerker2[MyKundenPTR->Daten->KundKat[i]];
										UpDate = TRUE;
									}
								}
								if( UpDate )
									MyKundenPTR->UpDateElement();
								MyKundenPTR->GetNextElement();
							}

							UpDate			= TRUE;
							Select_LV[4]	= 0;
							First_LV[4]		= 0;
							FillWindow();
						}
					}
					WZ_UnlockWindows( surface );
					break;
				case PRE_KUNDKAT:
					UpDate = TextAuswert( MyPrefsPTR->Daten->KundKat[Select_LV[4]] );
					break;
			}
			if( UpDate )
			{
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB], ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP], ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME],	ThisWindow->Win, NULL,		WLISTVIEWA_List, NULL, TAG_DONE);
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);

				MyPrefsPTR->UpDateElement();

				SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT],	ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->KundKatList->MyList,
																												WLISTVIEWA_Top, First_LV[4],
																												WLISTVIEWA_Selected, Select_LV[4],
																												TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME],	ThisWindow->Win, NULL,		WLISTVIEWA_List, &MyPrefsPTR->MEList->MyList,
																												WLISTVIEWA_Top, First_LV[3],
																												WLISTVIEWA_Selected, Select_LV[3],
																												TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP], ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->ArtGrpList->MyList,
																												WLISTVIEWA_Top, First_LV[2],
																												WLISTVIEWA_Selected, Select_LV[2],
																												TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB],	ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->ZuAbList->MyList,
																												WLISTVIEWA_Top, First_LV[1],
																												WLISTVIEWA_Selected, Select_LV[1],
																												TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST],	ThisWindow->Win, NULL,	WLISTVIEWA_List, &MyPrefsPTR->MWStList->MyList,
																												WLISTVIEWA_Top, First_LV[0],
																												WLISTVIEWA_Selected, Select_LV[0],
																												TAG_DONE );
				if( GetIt )
				{
					if( MyPrefsPTR->UnDoUsed > 0 )
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[9] = FALSE;
					else
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[9] = TRUE;
					if( MyPrefsPTR->ReDoUsed > 0 )
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[10] = FALSE;
					else
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[10] = TRUE;

					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperren();
				}
			}
			if( FillEbene )
				FillWindow();
			break;
		// Window Aktiviert
		case IDCMP_ACTIVEWINDOW:
			if( SuchTextFeld[0] == 0 )
			{
				SetGadgetAttrs( ThisWindow->gads[PRE_ABST_FORM], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleDruDocksE, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_AM_FORM1], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleDruDocksA, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_AM_FORM2], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleDruDocksA, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_AM_FORM3], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleDruDocksA, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_TYP], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)AppStrings[MSG_ZuAbTyp], TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_KASSE_FORM], ThisWindow->Win, NULL, WCYCLEA_Labels, (ULONG)MyPrefsPTR->CycleDruDocksA, TAG_DONE );
//				SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST],	ThisWindow->Win, NULL, WLISTVIEWA_Columns, 2, TAG_DONE);

				SetGadgetAttrs( ThisWindow->gads[PRE_MWST_SATZ], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_WKURS], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_KLIMIT], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosWaehr_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON1], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON2], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON3], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDVON4], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS1], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS2], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS3], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDBIS4], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU1], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosNegZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU2], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosNegZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU3], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosNegZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_UMR_RUNDZU4], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosNegZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_VON], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SetGadgetAttrs( ThisWindow->gads[PRE_ZUAB_BIS], ThisWindow->Win, NULL, WSTRINGA_Hook, &PosZahlNK_edh, TAG_DONE );
				SuchTextFeld[0]	= PRE_SU_TEXT1;
				SuchTextFeld[1]	= PRE_SU_TEXT2;
				SuchTextFeld[2]	= PRE_SU_TEXT3;
			}

			if( Switch == FALSE )
			{
				Switch = TRUE;
			}
			FillWindow();

			if( ThisWindow->BezWin )
			{
				ThisWindow->BezWin->BezWin = ThisWindow;
				if( GetIt )
				{
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[0]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[1]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[2]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[3]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[4]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[5]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[6]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[7]		= TRUE;
					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[8]		= TRUE;

					if( MyPrefsPTR->UnDoUsed > 0 )
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[9]	= FALSE;
					else
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[9]	= TRUE;
					if( MyPrefsPTR->ReDoUsed > 0 )
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[10]	= FALSE;
					else
						((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[10]	= TRUE;

					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperrkennzeichen[11]		= TRUE;

					((MTNav_Gadget *)(GetIt->FirstAuswert))->Sperren();

					SetGadgetAttrs( GetIt->gads[NAV_NUMMER], GetIt->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, TRUE, TAG_DONE );
					SetGadgetAttrs( GetIt->gads[NAV_MAX], GetIt->Win, NULL, WARGSA_Format, "", TAG_DONE );
				}
			}
			break;
		// Window schliessen
		case IDCMP_CLOSEWINDOW:
			Switch = FALSE;
			if( ThisWindow->BezWin )
			{
				ThisWindow->BezWin->BezWin = NULL;
				if( GetIt )
				{
					((MTNav_Gadget *)(GetIt->FirstAuswert))->AlleSperren();
				}

				if( SMWechsel )
				{
					Nochmal = TRUE;
					DONE = 2;
					SMWechsel = FALSE
				}
			}
			break;
		// Tastatureingabe (nicht ASCII)
		case IDCMP_RAWKEY:
			switch( imsg->Code )
			{
				case 76:
				case 77:
					switch( ThisWindow->Karte )
					{
						case 0:
							if( imsg->Code == 76 )
							{
								if( Select_LV[0] > 0 )
									Select_LV[0]--;
							}
							else
							{
								if( Select_LV[0] < 9 )
									Select_LV[0]++;
							}
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[0], WLISTVIEWA_Selected, Select_LV[0], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_MWST], (ULONG *)&First_LV[0] );
							FillWindow();
							break;
						case 5:
							if( imsg->Code == 76 )
							{
								if( Select_LV[1] > 0 )
									Select_LV[1]--;
							}
							else
							{
								if( (Select_LV[1] + 1) < MyPrefsPTR->Daten->ZuAbBelegt )
									Select_LV[1]++;
							}
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[1], WLISTVIEWA_Selected, Select_LV[1], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_ZUAB], (ULONG *)&First_LV[1] );
							FillWindow();
							break;
						case 6:
							if( imsg->Code == 76 )
							{
								if( Select_LV[2] > 0 )
									Select_LV[2]--;
							}
							else
							{
								if( (Select_LV[2] + 1) < MyPrefsPTR->Daten->ArtikelGruppeBelegt )
									Select_LV[2]++;
							}
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[2], WLISTVIEWA_Selected, Select_LV[2], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_ARTGRP], (ULONG *)&First_LV[2] );
							SetGadgetAttrs( ThisWindow->gads[PRE_ARTGRP], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ArtikelGruppe[Select_LV[2]], TAG_DONE );
							break;
						case 8:
							if( imsg->Code == 76 )
							{
								if( Select_LV[3] > 0 )
									Select_LV[3]--;
							}
							else
							{
								if( (Select_LV[3] + 1) < MyPrefsPTR->Daten->ME_Belegt )
									Select_LV[3]++;
							}
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[3], WLISTVIEWA_Selected, Select_LV[3], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_ARTGRP], (ULONG *)&First_LV[3] );
							SetGadgetAttrs( ThisWindow->gads[PRE_ME], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->ME[Select_LV[3]], TAG_DONE );
							break;
						case 9:
							if( imsg->Code == 76 )
							{
								if( Select_LV[4] > 0 )
									Select_LV[4]--;
							}
							else
							{
								if( (Select_LV[4] + 1) < MyPrefsPTR->Daten->KundKat_Belegt )
									Select_LV[4]++;
							}
							SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT], ThisWindow->Win, NULL,
																			WLISTVIEWA_Visible, Select_LV[4], WLISTVIEWA_Selected, Select_LV[4], TAG_DONE);
							GetAttr(WLISTVIEWA_Top, ThisWindow->gads[PRE_LV_KUNDKAT], (ULONG *)&First_LV[4] );
							SetGadgetAttrs( ThisWindow->gads[PRE_KUNDKAT], ThisWindow->Win, NULL,	WSTRINGA_String, MyPrefsPTR->Daten->KundKat[Select_LV[4]], TAG_DONE );
							break;
					}
					break;
			}
			if( ( imsg->Qualifier & IEQUALIFIER_LSHIFT ) ||
				 ( imsg->Qualifier & IEQUALIFIER_RSHIFT ) ||
				 ( imsg->Qualifier & IEQUALIFIER_LALT ) ||
				 ( imsg->Qualifier & IEQUALIFIER_RALT ))
			{	
				if( imsg->Code > 79 &&
					 imsg->Code < 90 )
				{
					class MTAuswert *AktAuswert = NULL;

					if( ThisWindow->BezWin )
						AktAuswert = ThisWindow->BezWin->FirstAuswert;
					while( AktAuswert )
					{
						DONE = AktAuswert->MTAuswertung( imsg, DONE );
						AktAuswert = AktAuswert->NextAusw;
					}
				}
			}
			break;
		case IDCMP_VANILLAKEY:
			if( !ThisWindow->Fehler )
			{
				switch( imsg->Code )
				{
					case (ULONG)'u':
					case (ULONG)'U':
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_MWST],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_ZUAB], ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_ARTGRP], ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_ME],	ThisWindow->Win, NULL,		WLISTVIEWA_List, NULL, TAG_DONE);
						SetGadgetAttrs( ThisWindow->gads[PRE_LV_KUNDKAT],	ThisWindow->Win, NULL,	WLISTVIEWA_List, NULL, TAG_DONE);

						if( imsg->Code == (ULONG)'u' )
							MyPrefsPTR->UnDo();
						else
							MyPrefsPTR->ReDo();
						FillWindow();
						if( GetIt )
						{
							if( MyPrefsPTR->UnDoUsed > 0 )
								SetGadgetAttrs( GetIt->gads[UNDO], GetIt->Win, NULL, GA_DISABLED, FALSE, TAG_DONE );
							else
								SetGadgetAttrs( GetIt->gads[UNDO], GetIt->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
							if( MyPrefsPTR->ReDoUsed > 0 )
								SetGadgetAttrs( GetIt->gads[REDO], GetIt->Win, NULL, GA_DISABLED, FALSE, TAG_DONE );
							else
								SetGadgetAttrs( GetIt->gads[REDO], GetIt->Win, NULL, GA_DISABLED, TRUE, TAG_DONE );
						}
						break;
					case 27:
						DONE	= 1;
						if( GetIt && ThisWindow->BezWin )
						{
							ThisWindow->BezWin->BezWin = NULL;
							((MTNav_Gadget *)(GetIt->FirstAuswert))->AlleSperren();
							SetGadgetAttrs( GetIt->gads[NAV_NUMMER], GetIt->Win, NULL, WINTEGERA_Long, 0, GA_DISABLED, TRUE, TAG_DONE );
							SetGadgetAttrs( GetIt->gads[NAV_MAX], GetIt->Win, NULL, WARGSA_Format, "", TAG_DONE );
						}
						break;
				}
			}
			break;
	}
	return DONE;
};

