home *** CD-ROM | disk | FTP | other *** search
- /* ----------------------------------------------------------------- */
-
- /* window1.c - window 1 code */
-
- #include "general.h"
-
- #include "window.h"
-
- extern struct Image title;
-
- #define W1_COUNT 7
-
- UBYTE (*w1_list[])(void) = {
-
- CreateGadgetContext1,
- CreateGadgets1,
- CreateWindow1,
- CreateMenu1,
- CreateMenuLayout1,
- InstallMenu1,
- CreateFileRequest
-
- };
-
-
-
- /* ----------------------------------------------------------------- */
-
- static struct Window *s_window_p;
-
- static struct Menu *s_menu_p;
-
- static struct Gadget *s_gadgetlist_p;
-
- static struct Gadget *s_previous_gadget_p;
-
- struct FileRequester *s_file_requester_p;
-
- static STACK *s_resource_stack_p;
-
-
- /* ----------------------------------------------------------------- */
-
- UBYTE OpenWindow1(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- if(!(s_resource_stack_p=CreateStack(void *))) error_number=NO_STACK;
-
- else {
-
- /* attempt to allocate window resources... */
-
- error_number=AllocateResource(W1_COUNT,w1_list);
-
- if(!error_number)
-
- {
-
- g_handler_sigbit[1]=1<<s_window_p->UserPort->mp_SigBit;
-
- /* add (OR) signal bit to global port mask */
-
- g_port_mask|=g_handler_sigbit[1];
-
- if(g_handler_sigbit[3])
-
- DisableWindow1MenuItem(1,0);
-
- if(g_handler_sigbit[2])
-
- DisableWindow1MenuItem(1,1);
-
- }
-
- }
-
- return(error_number);
-
- } /* Logical end of this module */
-
- /* ----------------------------------------------------------------- */
-
- void CloseWindow1(void)
-
- {
-
- while(!PopStack(s_resource_stack_p,g_function1)) g_function1();
-
- KillStack(s_resource_stack_p);
-
-
- g_port_mask^=g_handler_sigbit[1]; /* remove signal bit from mask */
-
- g_handler_sigbit[1]=0; /* clear signal bit entry */
-
- s_window_p=NULL; /* to indicate closed window */
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- UBYTE CreateGadgetContext1(void)
-
- {
-
- UBYTE error_number=ALLOCATION_ERROR;
-
- s_gadgetlist_p=NULL;/* static so must set to zero each time */
-
- s_previous_gadget_p=CreateContext(&s_gadgetlist_p);
-
- if(s_previous_gadget_p)
-
- {
-
- g_function1=RemoveGadgets1;
-
- PushStack(s_resource_stack_p,g_function1);
-
- if(s_previous_gadget_p) error_number=NO_ERROR;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------------- */
-
- void RemoveGadgets1(void)
-
- {
-
- FreeGadgets(s_gadgetlist_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- UBYTE CreateGadgets1(void)
-
- {
-
- UBYTE error_number=ALLOCATION_ERROR;
-
- newgadget.ng_TextAttr=g_public_screen_p->Font;
-
- newgadget.ng_VisualInfo=g_visual_info_p;
-
- newgadget.ng_Width=g_w1_gadget1_width;
-
- newgadget.ng_Height=g_w1_gadget1_height;
-
- newgadget.ng_LeftEdge=g_w1_gadget1_x;
-
- newgadget.ng_TopEdge=g_w1_gadget1_y;
-
- newgadget.ng_GadgetText=NULL;
-
- s_previous_gadget_p=CreateGadget(LISTVIEW_KIND,s_previous_gadget_p,
- &newgadget,
- GTLV_Labels,g_database_list_p,
- GTLV_ShowSelected,NULL,
- LAYOUTA_Spacing,3,
- TAG_END);
-
- if(s_previous_gadget_p) error_number=NO_ERROR;
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------------- */
-
- UBYTE CreateWindow1(void)
-
- {
-
- UBYTE error_number=ALLOCATION_ERROR;
-
- s_window_p=OpenWindowTags(NULL,
- WA_MenuHelp,TRUE,
- WA_Gadgets,s_gadgetlist_p,
- WA_Left,g_w1_x, WA_Top,g_w1_y,
- WA_Width,g_w1_width, WA_Height,g_w1_height,
- WA_DragBar, TRUE,
- WA_DepthGadget, TRUE,
- WA_SizeGadget, TRUE,
- WA_CloseGadget, TRUE,
- WA_SmartRefresh, TRUE,
- WA_MinHeight,W1_MINIMUM_HEIGHT,
- WA_MaxHeight,g_public_screen_p->Height,
- WA_MinWidth,W1_MINIMUM_WIDTH,
- WA_MaxWidth,g_public_screen_p->Width,
-
- WA_IDCMP, LISTVIEWIDCMP^IDCMP_INTUITICKS /* BLOCKING TICKS */
- |IDCMP_CLOSEWINDOW|IDCMP_MENUPICK|
- IDCMP_REFRESHWINDOW|IDCMP_GADGETUP|
- IDCMP_CHANGEWINDOW|IDCMP_MENUHELP,
- WA_Title, W1_TITLE,
- WA_PubScreen, g_public_screen_p,
- TAG_END);
-
- if (s_window_p)
-
- {
-
- SetRast(s_window_p->RPort,3);
-
- RefreshWindowFrame(s_window_p);
-
- DrawImage(s_window_p->RPort,&title,g_w1_title_x,g_w1_title_y);
-
- GT_RefreshWindow(s_window_p,NULL);
-
- error_number=NO_ERROR;
-
- g_function1=KillWindow1;
-
- PushStack(s_resource_stack_p,g_function1);
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void KillWindow1(void)
-
- {
-
- CloseWindow(s_window_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- UBYTE CreateMenu1(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- if(!(s_menu_p=CreateMenus(menu1,TAG_END)))
-
- error_number=ALLOCATION_ERROR;
-
- else {
-
- g_function1=ReleaseMenu1;
-
- PushStack(s_resource_stack_p,g_function1);
-
- }
-
- return(error_number);
-
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void ReleaseMenu1(void)
-
- {
-
- FreeMenus(s_menu_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE CreateMenuLayout1(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- if(!(LayoutMenus(s_menu_p,g_visual_info_p,TAG_END)))
-
- error_number=ALLOCATION_ERROR;
-
- else {
-
-
- /* Function must be tested for success but
- no deallocation operations are needed! */
-
- }
-
- return(error_number);
-
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE InstallMenu1(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- if(!(SetMenuStrip(s_window_p,s_menu_p)))
-
- error_number=ALLOCATION_ERROR;
-
- else {
-
- g_function1=RemoveMenu1;
-
- PushStack(s_resource_stack_p,g_function1);
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void RemoveMenu1(void)
-
- {
-
- ClearMenuStrip(s_window_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE CreateFileRequest(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- if(!(s_file_requester_p=AllocAslRequestTags(ASL_FileRequest,
- ASL_LeftEdge,g_asl_x,
- ASL_TopEdge, g_asl_y,
- ASL_Width,g_asl_width,
- ASL_Height,g_asl_height,
- ASLFR_RejectIcons,TRUE,
- TAG_DONE
- )))
-
- error_number=ALLOCATION_ERROR;
-
- else {
-
- g_function1=RemoveFileRequest;
-
- PushStack(s_resource_stack_p,g_function1);
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void RemoveFileRequest(void)
-
- {
-
- FreeAslRequest(s_file_requester_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
-
-
- /* eventhandler1.c - event handling code for window 1 follows */
-
-
- /* ----------------------------------------------------------------- */
-
- UBYTE EventHandler1(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- struct Message *message_p;
-
- while (message_p=(struct Message *)GT_GetIMsg(s_window_p->UserPort))
-
- {
-
- error_number=IntuitionEvent1((struct IntuiMessage *)message_p);
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- UBYTE IntuitionEvent1(struct IntuiMessage *message_p)
-
- {
-
- UBYTE i,error_number=NO_ERROR;
-
- UWORD code;
-
- ULONG class;
-
- void *address;
-
- struct Node *node_p;
-
- class=message_p->Class;
-
- code= message_p->Code;
-
- address=message_p->IAddress;
-
- GT_ReplyIMsg(message_p);
-
- switch (class) {
-
- case IDCMP_CLOSEWINDOW:
-
- error_number=PROGRAM_EXIT; break;
-
-
- case IDCMP_MENUPICK:
-
- error_number=MenuEvent1(code); break;
-
-
- case IDCMP_MENUHELP:
-
- break;
-
-
- case IDCMP_GADGETUP:
-
- /* code = ordinal list number (first NODE is 0) */
-
- if (code)
-
- {
-
- node_p=g_database_list_p->lh_Head;
-
- for (i=0;i<code;i++)
-
- {
-
- node_p=node_p->ln_Succ; /* next node */
-
- }
-
- g_current_node_p=(struct ListNode *)node_p;
-
- g_new_node=*g_current_node_p; /* copy to editor window */
-
- DisplayListNode(g_current_node_p);
-
- }
-
- else DisplayBeep(NULL); /* 1st record selected */
-
- break;
-
-
- case IDCMP_REFRESHWINDOW:
-
- g_w1_height=s_window_p->Height;
-
- g_w1_width=s_window_p->Width;
-
- g_w1_gadget1_width=g_w1_width-3*g_offset-IMAGE_SIZE;
-
- g_w1_gadget1_height=g_w1_height-2*g_w1_gadget1_y;
-
- g_w1_title_x=g_w1_gadget1_x+g_w1_gadget1_width;
-
-
- error_number=REFRESH;
-
- break;
-
-
-
- case IDCMP_CHANGEWINDOW:
-
- g_w1_x=s_window_p->LeftEdge;
-
- g_w1_y=s_window_p->TopEdge;
-
- break;
-
-
- case IDCMP_INTUITICKS:
-
- break;
-
-
- default: break;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE MenuEvent1(UWORD code)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- UWORD menu_number;
-
- if (code!=MENUNULL)
-
- {
-
- menu_number=MENUNUM(code);
-
- switch(menu_number)
-
- {
-
- case 0: error_number=ProjectMenuHandler1(code);
-
- break;
-
- case 1: error_number=RecordMenuHandler1(code);
-
- break;
-
- case 2: error_number=OtherMenuHandler1(code);
-
- break;
-
-
- default: break;
-
- }
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE ProjectMenuHandler1(UWORD code)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- UWORD item_number,sub_item_number;
-
- item_number=ITEMNUM(code);
-
- sub_item_number=SUBNUM(code);
-
- switch (item_number)
-
- {
-
- case 0: /* NEW */
-
- if (g_handler_sigbit[2]) CloseWindow2();
-
- if (g_handler_sigbit[3]) CloseWindow3();
-
- RemoveListViewList();
-
- g_database_list_p=ClearList(g_database_list_p);
-
- g_database_list_p=CreateList(); /* new list header */
-
- g_current_node_p=NULL;
-
- g_filename_buffer[0]=NULL;
-
- SetHeaderDefaults(&g_database_header); /* for default display */
-
- SetDefaultFieldLabels();
-
- g_creating_flag=TRUE;
-
- CalculateNewRecordLayout();
-
- CalculateGadgetPositions(&g_database_header);
-
-
- OpenWindow2();
-
- break;
-
-
- case 1: /* LOAD */
-
- g_creating_flag=FALSE;
-
- if (GetFileName("LOAD FILE"))
-
- {
-
- SetDefaultFieldLabels();
-
- RemoveListViewList();
-
- g_database_list_p=ClearList(g_database_list_p);
-
- if(g_database_list_p=LoadFile(g_filename_buffer))
-
- {
-
- g_current_node_p=(struct ListNode *)
- g_database_list_p->lh_Head;
-
-
- g_current_node_p=(struct ListNode *)
-
- ((struct Node *)g_current_node_p)->ln_Succ;
-
- g_new_node=*g_current_node_p; /* copy of record data */
-
- SetGadgetLabels(g_database_list_p,
- g_database_header.dh_FieldCount);
-
- }
-
- else {
-
- SetHeaderDefaults(&g_database_header); /* for default display */
-
- ClearGlobalNewNode(g_database_header.dh_FieldCount);
-
- g_current_node_p=NULL;
-
- DisplayBeep(NULL);
-
- }
-
- CalculateGadgetPositions(&g_database_header);
-
- }
-
- error_number=REFRESH; /* do this regardless */
-
- break;
-
-
- case 3: /* SAVE */
-
- g_creating_flag=FALSE;
-
- if(!strlen(g_filename_buffer))
-
- GetFileName("SAVE AS FILE");
-
- error_number=SaveFile(g_filename_buffer);
-
- break;
-
-
-
- case 4: /* SAVE AS */
-
- g_creating_flag=FALSE;
-
- GetFileName("SAVE AS FILE");
-
- error_number=SaveFile(g_filename_buffer);
-
- break;
-
-
- case 6: error_number=PROGRAM_EXIT; break;
-
-
- default: DisplayBeep(NULL); break;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE RecordMenuHandler1(UWORD code)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- UWORD item_number;
-
- item_number=ITEMNUM(code);
-
- switch (item_number)
-
- {
-
- case 0: g_creating_flag=FALSE;
-
- error_number=OpenWindow3();
-
- break;
-
-
- case 1: g_creating_flag=FALSE;
-
- error_number=OpenWindow2();
-
- break;
-
-
- case 3: g_creating_flag=FALSE;
-
- if(!OpenClip())
-
- {
-
- WriteCurrentRecord(&g_database_header);
-
- CloseClip();
-
- }
-
- else DisplayBeep(NULL);
-
- break;
-
-
- case 5: g_creating_flag=FALSE;
-
- RemoveFromList();
-
- ClearDisplayReadOnly();
-
- ClearStringGadgets();
-
- break;
-
-
- default: break;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE OtherMenuHandler1(UWORD code)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- UWORD item_number;
-
- item_number=ITEMNUM(code);
-
- switch (item_number)
-
- {
-
- case 0: /* HELP */
-
- g_creating_flag=FALSE;
-
- break;
-
- default: break;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE AddToList(void)
-
- {
-
- UBYTE i,buffer[MAX_FIELD_SIZE],error_number=ALLOCATION_ERROR;
-
- WORD result=NULL;
-
- struct ListNode *memory_p;
-
- struct Node *node_p;
-
- if (IsListEmpty(g_database_list_p))
-
- { /* we will be storing field labels in this case! */
-
- if(memory_p=(struct ListNode *)
- AllocMem(sizeof(struct ListNode),MEMF_CLEAR))
-
-
- {
-
- *memory_p=g_new_node; /* copy new data */
-
- memory_p->ln_Node.ln_Name=&memory_p->ln_Field[0][0];
-
- buffer[0]=' ';
-
- strncpy(&buffer[1],&memory_p->ln_Field[0][0],
- g_database_header.dh_FieldSize);
-
- strncpy(&memory_p->ln_Field[0][0],&buffer[0],
- g_database_header.dh_FieldSize);
-
- AddHead(g_database_list_p,(struct Node *)memory_p);
-
- error_number=NO_ERROR;
-
- }
-
- }
-
- else {
-
- node_p=g_database_list_p->lh_Head;
-
- while(node_p)
-
- {
-
- result=stricmp(&g_new_node.ln_Field[0][0],
- &((struct ListNode *)node_p)->ln_Field[0][0]);
-
- if(result<0)
-
-
- {
-
- if(memory_p=(struct ListNode *)
- AllocMem(sizeof(struct ListNode),MEMF_CLEAR))
-
- {
-
- *memory_p=g_new_node; /* copy new data */
-
- memory_p->ln_Node.ln_Name=&memory_p->ln_Field[0][0];
-
- Insert(g_database_list_p,(struct Node *)memory_p,
- node_p->ln_Pred);
-
- node_p=NULL;
-
- error_number=NO_ERROR;
-
- }
-
- }
-
-
-
- if (result==0)
-
- {
-
- /* here we must ONLY copy my extra data
- exec node fields must be left alone */
-
- for (i=1;i<g_database_header.dh_FieldCount;i++)
- strncpy(&(((struct ListNode *)node_p)->ln_Field[i][0]),
- &g_new_node.ln_Field[i][0],
- g_database_header.dh_FieldSize);
-
- node_p=NULL;
-
- error_number=NO_ERROR;
-
- }
-
-
-
- if(result>0)
-
- {
-
- node_p=node_p->ln_Succ;
-
- if(!node_p->ln_Succ)
-
- {
-
- if(memory_p=(struct ListNode *)
- AllocMem(sizeof(struct ListNode),
- MEMF_CLEAR))
-
- {
-
- *memory_p=g_new_node; /* copy new data */
-
- memory_p->ln_Node.ln_Name=&memory_p->ln_Field[0][0];
-
- AddTail(g_database_list_p,(struct Node *)memory_p);
-
- node_p=NULL;
-
- error_number=NO_ERROR;
-
- }
-
- }
-
- }
-
-
- }/* end while */
-
- } /* end else */
-
- /* if (!error_number) error_number=REFRESH; */
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- UBYTE RemoveFromList(void)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
- RemoveListViewList();
-
- Remove((struct Node *)g_current_node_p); g_current_node_p=NULL;
-
- AddListViewList();
-
- ClearDisplayReadOnly();
-
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- struct List *ClearList(struct List *list_p)
-
- {
-
- struct Node *node_p;
-
- /* Deallocate all existing list nodes and list header */
-
- if(list_p)
-
- {
-
- while (node_p=RemHead(list_p))
-
- FreeMem(node_p,sizeof(struct ListNode));
-
- FreeMem(list_p,sizeof(struct List));
-
- }
-
- return(NULL);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- struct List *CreateList(void)
-
- {
-
- struct List *list_p;
-
- if (list_p=(struct List *) AllocMem(sizeof(struct List),MEMF_CLEAR))
-
- {
-
- NewList(list_p);
-
- }
-
- return(list_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE SaveFile(UBYTE *filename_p)
-
- {
-
- UBYTE i,error_number=BAD_FILE;
-
- FILE *fh;
-
- struct Node *node_p;
-
- if(fh=fopen(filename_p,"w"))
-
- {
-
- WriteDatabaseHeader(fh);
-
- node_p=g_database_list_p->lh_Head;
-
- while(node_p)
-
- {
-
- WriteRecordHeader(fh);
-
- for (i=0;i<g_database_header.dh_FieldCount;i++)
-
- {
-
- fputs(&(((struct ListNode *)node_p)->ln_Field[i][0]),fh);
-
- fputc('\n',fh);
-
- }
-
- fputc('\n',fh);
-
- node_p=node_p->ln_Succ;
-
- if(!node_p->ln_Succ) node_p=NULL;
-
- }
-
- fclose(fh);
-
- error_number=NO_ERROR;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void WriteDatabaseHeader(FILE *fh)
-
- {
-
- fwrite(&g_database_header,sizeof(struct DatabaseHeader),1,fh);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void WriteRecordHeader(FILE *fh)
-
- {
-
- fwrite(&g_descriptor,sizeof(struct RecordHeader),1,fh);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- struct List *LoadFile(UBYTE *filename_p)
-
- {
-
- UBYTE i,j,exit_flag=FALSE;
-
- BOOL loop_exit_flag;
-
- WORD c;
-
- struct List *list_p=NULL;
-
- struct ListNode *memory_p;
-
- FILE *fh;
-
- if(fh=fopen(filename_p,"r"))
-
- {
-
- if(!ReadDatabaseHeader(fh))
-
- {
-
- if (list_p=CreateList())
-
- {
-
- while(!exit_flag)
-
- {
-
- c=fgetc(fh);
-
- if(!feof(fh))
-
- {
-
- ungetc(c,fh);
-
- if (!ReadRecordHeader(fh))
-
- {
-
- if (memory_p=(struct ListNode *)
- AllocMem(sizeof(struct ListNode),MEMF_CLEAR))
-
- {
-
- for (i=0;i<g_database_header.dh_FieldCount;i++)
-
- {
-
- j=0;loop_exit_flag=FALSE;
-
- while(!loop_exit_flag)
-
- {
-
- c=fgetc(fh);
-
- if (c!=(WORD)'\n')
-
- memory_p->ln_Field[i][j++]=(UBYTE)c;
-
- else loop_exit_flag=TRUE;
-
- }
-
- memory_p->ln_Field[i][j]=NULL;
-
-
-
- }
-
- c=fgetc(fh); /* soak end of record '\n' character */
-
- memory_p->ln_Node.ln_Name=&memory_p->ln_Field[0][0];
-
- /* We now have a record in memory whose
- location is identified by memory_p */
-
- AddTail(list_p,(struct Node *)memory_p);
-
- }
-
- else exit_flag=TRUE; /* out of memeory */
-
- }
-
- }
-
- else exit_flag=TRUE;
-
- }
-
- }
-
- }
-
- fclose(fh);
-
- }
-
- return(list_p);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE ReadDatabaseHeader(FILE *fh)
-
- {
-
- UBYTE error_number=BAD_FILE;
-
- UWORD c,count;
-
- fread(&g_database_header,sizeof(struct DatabaseHeader),1,fh);
-
- if(g_database_header.dh_ID==FILE_ID)
-
- {
-
- count=g_database_header.dh_DatabaseHeaderDataSize-6;
-
- while(count--) c=fgetc(fh); /* skip any other header fields */
-
- error_number=NO_ERROR;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- UBYTE ReadRecordHeader(FILE *fh)
-
- {
-
- UBYTE error_number=BAD_FILE;
-
- UWORD c,count;
-
- fread(&g_descriptor,sizeof(struct RecordHeader),1,fh);
-
- if(g_descriptor.rh_ID==RECORD_ID)
-
- {
-
- count=g_descriptor.rh_RecordHeaderDataSize-6;
-
- while(count--) c=fgetc(fh); /* skip any other header fields */
-
- error_number=NO_ERROR;
-
- }
-
- return(error_number);
-
- }
-
- /* ----------------------------------------------------------------- */
-
-
- void EnableWindow1MenuItem(UWORD menu, UWORD item)
-
- {
-
- OnMenu(s_window_p,SHIFTMENU(menu)|SHIFTITEM(item));
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void DisableWindow1MenuItem(UWORD menu, UWORD item)
-
- {
-
- OffMenu(s_window_p,SHIFTMENU(menu)|SHIFTITEM(item));
-
- }
-
- /* ----------------------------------------------------------------- */
- BOOL GetFileName(UBYTE *hail_p)
-
- {
-
- BOOL error_flag;
-
- if(AslRequestTags(s_file_requester_p,
- ASL_Hail,hail_p,
- TAG_DONE))
-
- {
-
- error_flag=MakeFilename(s_file_requester_p,g_filename_buffer);
-
- }
-
- else DisplayBeep(NULL);
-
- return(error_flag);
-
- }
-
- /* ----------------------------------------------------------------- */
- void RemoveListViewList(void)
-
-
- {
-
- if(s_window_p) GT_SetGadgetAttrs(s_previous_gadget_p,
- s_window_p,NULL,
- GTLV_Labels,NULL,
- TAG_END);
-
- }
- /* ----------------------------------------------------------------- */
-
- void AddListViewList(void)
-
- {
-
- if(s_window_p) GT_SetGadgetAttrs(s_previous_gadget_p,
- s_window_p,NULL,
- GTLV_Labels,g_database_list_p,
- TAG_END);
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void DisplayListNode(struct ListNode *node_p)
-
- {
-
- UBYTE error_number=NO_ERROR;
-
-
- if (g_handler_sigbit[2])
-
- DisplayInEditor();
-
- if (g_handler_sigbit[3])
-
- DisplayReadOnly(node_p);
-
- if (!(g_handler_sigbit[2]|g_handler_sigbit[3]))
-
- {
-
- error_number=OpenWindow3();
-
- DisplayReadOnly(node_p);
-
- }
-
- }
-
- /* ----------------------------------------------------------------- */
-
- void ClearGlobalNewNode(UBYTE count)
-
-
- {
-
- UBYTE i;
-
- for (i=0;i<count;i++)
-
- {
-
- g_new_node.ln_Field[i][0]=NULL;
-
- }
-
- }
-
- /* ----------------------------------------------------------------- */
-