⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test16.c

📁 安装DDD之前
💻 C
📖 第 1 页 / 共 5 页
字号:
/* $Header: /cvsroot/lesstif/lesstif/test/Xm/misc/test16.c,v 1.23 2002/05/03 12:03:41 amai Exp $ */#include <stdlib.h>#include <stdio.h>#include <ctype.h>#include <string.h>#ifdef LesstifVersion#       define DISPLAY#       define DESKTOP#       define PROTOCOL#       define SCREEN#       define SHELL#       define WORLD#elif XmVERSION > 1#       define DISPLAY#       define DESKTOP#       define SCREEN#else#       define DISPLAY#       define DESKTOP#       define PROTOCOL#       define SCREEN#       define SHELL#       define WORLD#endif#include <Xm/ArrowBP.h>#include <Xm/ArrowBGP.h>#include <Xm/BulletinBP.h>#include <Xm/CascadeBP.h>#include <Xm/CascadeBGP.h>#include <Xm/CommandP.h>#include <Xm/DesktopP.h>#include <Xm/DialogSP.h>#include <Xm/DialogSEP.h>#ifdef DISPLAY#include <Xm/DisplayP.h>#endif#ifdef SCREEN#include <Xm/ScreenP.h>#endif#ifdef SHELL#include <Xm/ShellEP.h>#endif#include <Xm/DragCP.h>#include <Xm/DragIconP.h>#include <Xm/DragOverSP.h>#include <Xm/DrawingAP.h>#include <Xm/DrawnBP.h>#include <Xm/DropSMgrP.h>#include <Xm/DropTransP.h>#include <Xm/ExtObjectP.h>#include <Xm/FileSBP.h>#include <Xm/FormP.h>#include <Xm/FrameP.h>#include <Xm/LabelP.h>#include <Xm/LabelGP.h>#include <Xm/ListP.h>#include <Xm/MainWP.h>#include <Xm/MenuShellP.h>#include <Xm/MessageBP.h>#include <Xm/PanedWP.h>#include <Xm/ProtocolsP.h>#include <Xm/PushBP.h>#include <Xm/PushBGP.h>#include <Xm/RowColumnP.h>#include <Xm/SashP.h>#include <Xm/ScaleP.h>#include <Xm/ScrollBarP.h>#include <Xm/ScrolledWP.h>#include <Xm/SelectioBP.h>#include <Xm/SeparatoGP.h>#include <Xm/SeparatorP.h>#include <Xm/ShellEP.h>#include <Xm/TearOffBP.h>#include <Xm/TextP.h>#include <Xm/TextFP.h>#include <Xm/ToggleBP.h>#include <Xm/ToggleBGP.h>#include <Xm/VendorSP.h>#include <Xm/VendorSEP.h>#ifdef WORLD#include <Xm/WorldP.h>#endif#include <Xm/XmP.h>static const char rcsid[] = "$Header: /cvsroot/lesstif/lesstif/test/Xm/misc/test16.c,v 1.23 2002/05/03 12:03:41 amai Exp $";typedef struct _SavedItem{        String class;        String name;        XtPointer addr;} SavedItem;static SavedItem *SavedActions = NULL;static int NumSavedActions = 0;/* Motif does not seem to have thisextern WidgetClass xmTextInnerObjectClass;*/static char *ClassRec2String(WidgetClass class);static void SaveItem(String class, String name, XtPointer addr){    NumSavedActions++;    SavedActions = (SavedItem *)XtRealloc((char *)SavedActions, NumSavedActions * sizeof(SavedItem));    SavedActions[NumSavedActions - 1].class = XtNewString(class);    SavedActions[NumSavedActions - 1].name  = XtNewString(name);    SavedActions[NumSavedActions - 1].addr  = addr;}static char *Resource2String(XtResource *resource){static char buf[1000];        if (strcmp("CallProc",resource->default_type) == 0)        {                sprintf(buf,"_Xm%sDefault", resource->resource_class);                SaveItem(resource->default_type,                        buf,                        resource->default_addr);                return(buf);        }        else if (strcmp("Pointer",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%s", resource->resource_name);                SaveItem(resource->default_type,                        buf,                        resource->default_addr);                return(buf);            }        }        else if (strcmp("Callback",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%s", resource->resource_name);                return(buf);            }        }        else if (strcmp("MenuWidget",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sMenuWidget", resource->resource_name);                return(buf);            }        }        else if (strcmp("XmString",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sXmString", resource->resource_name);                return(buf);            }        }        else if (strcmp("XmStringTable",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sXmStringTable", resource->resource_name);                return(buf);            }        }        else if (strcmp("StringTable",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sXmStringTable", resource->resource_name);                return(buf);            }        }        else if (strcmp("String",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"\"%s\"",resource->default_addr);                return(buf);            }        }        else if (strcmp("Boolean",resource->default_type) == 0)        {                return(resource->default_addr ? "True" : "False");        }        else if (strcmp("FontList",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sFontList /* FIX ME */",resource->resource_name);                return(buf);            }        }        else if (strcmp("Pixmap",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sPixmap /* FIX ME */",resource->resource_name);                return(buf);            }        }        else if (strcmp("Function",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sFunction",resource->resource_class);                SaveItem(resource->default_type,                        buf,                        resource->default_addr);                return(buf);            }        }        else if (strcmp("WidgetList",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sWidgetList /* FIX ME */",resource->resource_name);                return(buf);            }        }        else if (strcmp("WidgetClass",resource->default_type) == 0)        {            if (resource->default_addr == NULL)            {                    return("NULL");            }            else            {                sprintf(buf,"_Xm%sWidgetClass /* FIX ME */",resource->resource_name);                return(buf);            }        }        else if (strcmp("Orientation",resource->default_type) == 0)        {            if (resource->default_addr == (XtPointer)XmHORIZONTAL)            {                    return("XmHORIZONTAL");            }            else if (resource->default_addr == (XtPointer)XmVERTICAL)            {                    return("XmVERTICAL");            }            else            {                sprintf(buf,"_Xm%sOrientation /* FIX ME */",resource->resource_name);                return(buf);            }        }        else if (strcmp("Int",&resource->default_type[strlen(resource->default_type) - strlen("Int")]) == 0)        {                sprintf(buf,"%i",resource->default_addr);                return(buf);        }        else if (strcmp("Immediate",resource->default_type) == 0)        {                if (strcmp("Boolean",resource->resource_type) == 0)                {                        return(resource->default_addr ? "True" : "False");                }                else if (strcmp("WidgetClass",resource->resource_type) == 0)                {                    if (resource->default_addr == NULL)                    {                            return("NULL");                    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -