home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 10
/
Fresh_Fish_10_2352.bin
/
new
/
dev
/
gui
/
guicreator
/
demos
/
videothek
/
videothek.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-07-04
|
36KB
|
786 lines
/*************************************************************************/
/* */
/* Includes */
/* */
/*************************************************************************/
#include "Videothek_Includes.h"
#include "Videothek.h"
/*************************************************************************/
/* */
/* Variables and Structures */
/* */
/*************************************************************************/
extern struct IntuitionBase *IntuitionBase;
extern struct GfxBase *GfxBase;
extern struct Library *GadToolsBase ;
extern struct Library *AslBase ;
extern struct Library *DataTypesBase;
/*************************************************************************/
/* */
/* Defines */
/* */
/*************************************************************************/
#define RASTERX (GfxBase->DefaultFont->tf_XSize)
#define RASTERY (GfxBase->DefaultFont->tf_YSize/2+4)
#define XSIZE(x) ((x)*RASTERX)
#define YSIZE(x) ((x)*RASTERY)
#define XPOS(x) (XSIZE(x)+customscreen->WBorLeft)
#define YPOS(x) (YSIZE(x)+customscreen->BarHeight+1)
#define ERROR_NO_WINDOW_OPENED 1001L
#define ERROR_NO_PUBSCREEN_LOCKED 1002L
#define ERROR_NO_GADGETS_CREATED 1003L
#define ERROR_NO_VISUALINFO 1004L
#define ERROR_NO_PICTURE_LOADED 1005L
#define ERROR_NO_GADGETLIST_CREATED 1006L
#define ERROR_NO_WINDOW_MENU 1007L
/// struct HauptfensterData
struct HauptfensterData
{
BOOL gd_Disabled_Listview;
struct List *gd_Labels_Listview;
UWORD gd_Selected_Listview;
UWORD gd_Top_Listview;
BOOL gd_Disabled_Neu;
BOOL gd_Disabled_Aendern;
BOOL gd_Disabled_Loeschen;
BOOL gd_Disabled_ListeLoeschen;
BOOL gd_Disabled_Drucken;
BOOL gd_Disabled_Speichern;
};
///
/// struct EintragData
struct EintragData
{
BOOL gd_Disabled_Filmtitel;
char gd_String_Filmtitel[40];
BOOL gd_Disabled_Kassette;
ULONG gd_Number_Kassette;
BOOL gd_Disabled_Minuten;
ULONG gd_Number_Minuten;
BOOL gd_Disabled_Quelle;
UWORD gd_Active_Quelle;
STRPTR *gd_Labels_Quelle;
BOOL gd_Disabled_Art;
UWORD gd_Active_Art;
STRPTR *gd_Labels_Art;
BOOL gd_Disabled_Weiter;
};
///
/*************************************************************************/
/* */
/* Routines to handle gadgets */
/* */
/*************************************************************************/
/// HandleGadgetsHauptfenster()
void HandleGadgetsHauptfenster(struct Window *win,struct Gadget *wingads[],ULONG gadgetid,ULONG messagecode,struct HauptfensterData *gadgetdata,APTR userdata)
{
switch(gadgetid)
{
case LVID_Listview:
ListviewClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_Neu:
NeuClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_Aendern:
AendernClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_Loeschen:
LoeschenClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_ListeLoeschen:
ListeLoeschenClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_Drucken:
DruckenClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_Speichern:
SpeichernClicked(win,wingads,gadgetid,messagecode,userdata);
break;
};
}
///
/// HandleGadgetsEintrag()
void HandleGadgetsEintrag(struct Window *win,struct Gadget *wingads[],ULONG gadgetid,ULONG messagecode,struct EintragData *gadgetdata,APTR userdata)
{
switch(gadgetid)
{
case STID_Filmtitel:
FilmtitelClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case INID_Kassette:
KassetteClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case INID_Minuten:
MinutenClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case CYID_Quelle:
QuelleClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case CYID_Art:
ArtClicked(win,wingads,gadgetid,messagecode,userdata);
break;
case BTID_Weiter:
WeiterClicked(win,wingads,gadgetid,messagecode,userdata);
break;
};
}
///
/*************************************************************************/
/* */
/* Routines to create gadgets */
/* */
/*************************************************************************/
/// CreateGadgetsHauptfenster()
struct Gadget *CreateGadgetsHauptfenster(struct Gadget **gadgetlist,struct NewGadget newgad[],struct Gadget *wingads[],struct HauptfensterData *gadgetdata)
{
struct Gadget *gadget=CreateContext(gadgetlist);
if (gadget)
{
wingads[LVID_Listview]=gadget=CreateGadget(LISTVIEW_KIND,gadget,&newgad[LVID_Listview],GA_Disabled,gadgetdata->gd_Disabled_Listview,GTLV_Labels,gadgetdata->gd_Labels_Listview,GTLV_ReadOnly,FALSE,GTLV_Selected,gadgetdata->gd_Selected_Listview,GTLV_ShowSelected,NULL,GTLV_Top,gadgetdata->gd_Top_Listview,LAYOUTA_Spacing,0,TAG_END);
wingads[LAID_Gadget2]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[LAID_Gadget2],GT_Underscore,'_',GTTX_Border,FALSE,TAG_END);
wingads[BTID_Neu]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_Neu],GA_Disabled,gadgetdata->gd_Disabled_Neu,GT_Underscore,'_',TAG_END);
wingads[BTID_Aendern]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_Aendern],GA_Disabled,gadgetdata->gd_Disabled_Aendern,GT_Underscore,'_',TAG_END);
wingads[BTID_Loeschen]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_Loeschen],GA_Disabled,gadgetdata->gd_Disabled_Loeschen,GT_Underscore,'_',TAG_END);
wingads[BTID_ListeLoeschen]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_ListeLoeschen],GA_Disabled,gadgetdata->gd_Disabled_ListeLoeschen,GT_Underscore,'_',TAG_END);
wingads[BTID_Drucken]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_Drucken],GA_Disabled,gadgetdata->gd_Disabled_Drucken,GT_Underscore,'_',TAG_END);
wingads[BTID_Speichern]=gadget=CreateGadget(BUTTON_KIND,gadget,&newgad[BTID_Speichern],GA_Disabled,gadgetdata->gd_Disabled_Speichern,GT_Underscore,'_',TAG_END);
return gadget;
}
else return NULL;
}
///
/// CreateGadgetsEintrag()
struct Gadget *CreateGadgetsEintrag(struct Gadget **gadgetlist,struct NewGadget newgad[],struct Gadget *wingads[],struct EintragData *gadgetdata)
{
struct Gadget *gadget=CreateContext(gadgetlist);
if (gadget)
{
wingads[LAID_Gadget9]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[LAID_Gadget9],GT_Underscore,'_',GTTX_Border,FALSE,TAG_END);
wingads[LAID_Gadget10]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[LAID_Gadget10],GT_Underscore,'_',GTTX_Border,FALSE,TAG_END);
wingads[LAID_Gadget11]=gadget=CreateGadget(TEXT_KIND,gadget,&newgad[LAID_Gadget11],GT_Underscore,'_',GTTX_Border,FALSE,TAG_END);
wingads[STID_Filmtitel]=gadget=CreateGadget(STRING_KIND,gadget,&newgad[STID_Filmtitel],GA_Disabled,gadgetdata->gd_Disabled_Filmtitel,GA_TabCycle,TRUE,GTST_MaxChars,40,GTST_String,gadgetdata->gd_String_Filmtitel,GA_TabCycle,TRUE,STRINGA_ExitHelp,TRUE,STRINGA_Justification,GACT_STRINGLEFT,STRINGA_ReplaceMode,FALSE,TAG_END);
wingads[INID_Kassette]=gadget=CreateGadget(INTEGER_KIND,gadget,&newgad[INID_Kassette],GA_Disabled,gadgetdata->gd_Disabled_Kassette,GA_TabCycle,TRUE,GTIN_MaxChars,4,GTIN_Number,gadgetdata->gd_Number_Kassette,STRINGA_ExitHelp,TRUE,STRINGA_Justification,GACT_STRINGCENTER,STRINGA_ReplaceMode,TRUE,TAG_END);
wingads[INID_Minut