home *** CD-ROM | disk | FTP | other *** search
- /* C code generated by: */
- /* Visual Arts Version 1.0 */
- /* Copyright 1994 Danny Y. Wong All rights reserved */
- /* Calgary, Alberta (CANADA) */
-
-
- struct VAobject {
- struct Window *va_Window;
- struct Gadget *va_Gadget;
- struct IntuiMessage *va_IntuiMsg;
- ULONG va_Flags;
- APTR va_UserData;
- };
-
- #define GetString(gad) (((struct StringInfo *)gad->SpecialInfo)->Buffer)
- #define GetUndoString(gad) (((struct StringInfo *)gad->SpecialInfo)->UndoBuffer)
- #define GetNumber(gad) (((struct StringInfo *)gad->SpecialInfo)->LongInt)
-
- extern int GetFileName(BOOL save, struct Window *window, char *title, char *path, char *dir, char *file);
- extern void SetRPortFill(struct Window *Wind, short Type);
- extern void ButtonSelected(struct Window *wind, struct Gadget *gad);
- extern struct Window *AppWindWnd;
- extern APTR VisualInfo;
- extern struct Screen *Scr;
- extern struct Gadget *AppWindGadgets[3];
- extern int AddNewNode(struct List *list, char name[255]);
- extern int DeleteNewNode(struct List *list, char name[255]);
- extern struct List *GetNewList(void);
- extern struct NameNode *FindNodeName(struct List *list, char name[255]);
- extern void FreeList(struct List *list);
-
- extern void CreateAppWindLists(void);
- struct NameNode
- {
- struct Node nn_Node;
- UBYTE nn_Data[255];
- };
- extern UBYTE *IconsLabels[];
-
- ULONG LinePatterns[6] = { 0xffff, 0x0cccc, 0xaaaa, 0x8888, 0x3333, 0xffff};
-
- struct List *AppWindLists[1];
-
- struct List *GetNewList(void)
- {
- struct List *list;
-
- if (!( list = AllocMem(sizeof(struct List), MEMF_CLEAR)))
- return(NULL);
- NewList(list);
- return(list);
- }
-
- int AddNewNode(struct List *list, char name[255])
- {
- struct NameNode *namenode;
-
- if (!( namenode = AllocMem(sizeof(struct NameNode), MEMF_CLEAR)))
- return(1L);
- strcpy(namenode->nn_Data, name);
- namenode->nn_Node.ln_Name=namenode->nn_Data;
- namenode->nn_Node.ln_Type=0;
- namenode->nn_Node.ln_Pri=0;
- AddTail((struct List *)list, (struct Node *)namenode);
- return(0L);
- }
-
- int DeleteNode(struct List *list, char name[255])
- {
- struct Node *node;
-
- node=FindName(list, name);
- if (node)
- {
- Remove(node);
- FreeMem((struct NameNode *)node, sizeof(struct NameNode));
- return(0L);
- }
- return(1L);
- }
-
- struct NameNode *FindNodeName(struct List *list, char name[255])
- {
- struct NameNode *worknode, *nextnode;
-
- worknode=(struct NameNode *)(list->lh_Head);
- while (nextnode=(struct NameNode *)(worknode->nn_Node.ln_Succ))
- {
- if (strcmp(worknode->nn_Data, name) == 0)
- return(worknode);
- worknode=nextnode;
- }
- return(NULL);
- }
-
- void FreeList(struct List *list)
- {
- struct NameNode *worknode, *nextnode;
-
- worknode=(struct NameNode *)(list->lh_Head);
- while (nextnode=(struct NameNode *)(worknode->nn_Node.ln_Succ))
- {
- FreeMem(worknode, sizeof(struct NameNode));
- worknode=nextnode;
- }
- FreeMem(list, sizeof(struct List));
- list=NULL;
- }
-
- void CreateAppWindLists(void)
- {
- short i;
-
- i=0;
- while (IconsLabels[i])
- AddNewNode(AppWindLists[0], IconsLabels[i++]);
-
- }
-
- /* gadget functions */
-
- int clearObj(struct VAobject VAObject)
- {
- //detach list first
-
- GT_SetGadgetAttrs(AppWindGadgets[ID_iconlist], AppWindWnd, NULL,
- GTLV_Labels, ~0, TAG_DONE);
-
- //free all the icon names and create a new list
- FreeList(AppWindLists[0]);
- AppWindLists[0]=GetNewList();
-
- //now attach the new list to the listview
- GT_SetGadgetAttrs(AppWindGadgets[ID_iconlist], AppWindWnd, NULL,
- GTLV_Labels, AppWindLists[0], TAG_DONE);
- return(1);
- }
- /* Button Clear */
-
- int okObj(struct VAobject VAObject)
- {
- return(-1L);
- }
- /* Button OK */
-
- int iconlistObj(struct VAobject VAObject)
- {
- return(1L);
- }
- /* ListView Program Names */
-
-