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

📄 test3.c

📁 安装DDD之前
💻 C
📖 第 1 页 / 共 2 页
字号:
/* $Header: /cvsroot/lesstif/lesstif/test/Xm/label/test3.c,v 1.11 2002/05/01 15:39:21 amai Exp $ */#include <stdlib.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include <Xm/Xm.h>#include <Xm/MainW.h>#include <Xm/ArrowB.h>#include <Xm/LabelG.h>#include <Xm/Label.h>#include <Xm/PushBG.h>#include <Xm/Form.h>#include <Xm/Frame.h>#include <Xm/RowColumn.h>#include <Xm/CascadeB.h>#include <Xm/ToggleBG.h>#include <Xm/BulletinB.h>#include <Xm/PushB.h>#include <Xm/Scale.h>#include <Xm/Text.h>#include "../../common/Test.h"#define SCREEN_NUMBER           0#define MAX_SWITCH              8#define SWITCH_MASK          0x80#define MAX_LED                10#define LED_WIDTH              10#define LED_HEIGHT             20#define LED_DISTANCE            5#define LED_HEIGHT_OFFSET       5#define MAX_ADC              4999           /* in milli Volt */unsigned char     ICTP_IO_switch_state = 0;  void exit_proc(Widget w,XtPointer client_data,XtPointer call_data);void toggled_proc(Widget w,XtPointer client_data,XtPointer call_data);void test_proc(Widget w,XtPointer client_data,XtPointer call_data);Widget              led, lcd, off_switches[MAX_SWITCH],on_switches[MAX_SWITCH];Widget              adc_slider;Widget              test_switch_box[MAX_SWITCH];Widget              on_off_box[MAX_SWITCH];Widget              leds[MAX_LED];Pixel               red_color_pixel;Pixmap              led_off_pixmap,led_on_pixmap;static char *FallBack[] = {		"*.geometrySlop: 2",		NULL};intmain(int argc, char **argv){  int               i;  char              number_string[5];  XtAppContext      theApp;  Widget            toplevel,main_window,form;  Widget            menu_bar,file_button,file_menu,quit_button;  Widget            lcd_label,lcd_frame;  Widget            led_label;  Widget            switch_label[MAX_SWITCH];  Widget            switches_label,switch_box,switch_on_label,switch_off_label;  Widget            led_frame,led_column;  Widget            adc_label;  Display           *display;  Window            root_window;  GC                graphics_context;  XGCValues         values;  unsigned long     value_mask;  Font              label_font;  XColor            closest_color,exact_color;  Arg               args[5];     XmString          label_string,dummy_string;     toplevel = XtVaAppInitialize(&theApp, "ICTP_examples", NULL, 0,			       &argc, argv, FallBack, NULL);  XtSetArg(args[0],XtNtitle,"Simulator for Prof. Ang\'s I/O board");    XtSetValues(toplevel,args,1);  display     = XtDisplay(toplevel);  root_window = DefaultRootWindow(display);  label_font = XLoadFont(display,			 "-adobe-courier-medium-o-normal--10-100-*-*-m-60-*-*");  value_mask = GCForeground | GCBackground | GCFont;  values.foreground = BlackPixel(display,SCREEN_NUMBER);  values.background = WhitePixel(display,SCREEN_NUMBER);  values.font = label_font;  graphics_context = XCreateGC(display,root_window,value_mask,&values);  XAllocNamedColor(display,DefaultColormap(display,SCREEN_NUMBER),"red",                   &closest_color,&exact_color);  red_color_pixel = closest_color.pixel;  XtSetArg(args[0],XmNshowSeparator,TRUE);  main_window = XtCreateManagedWidget("main_window",xmMainWindowWidgetClass,                                       toplevel,args,1);  form = XtVaCreateManagedWidget("form",xmFormWidgetClass,                                 main_window,                                 XmNwidth,180,NULL);/*  create pulldown menu*/  file_menu = XmCreatePulldownMenu(main_window,                                   "file_menu",args,(Cardinal) 0);  label_string = XmStringCreateLtoR("Quit",XmSTRING_DEFAULT_CHARSET);  XtSetArg(args[0],XmNlabelString,label_string);  quit_button = XtCreateManagedWidget("quit_button",xmPushButtonWidgetClass,				       file_menu,args,1);  XtAddCallback(quit_button,XmNactivateCallback,exit_proc,NULL);  XmStringFree(label_string);  menu_bar = XmCreateMenuBar(main_window,"menu_bar",args,(Cardinal)NULL);  label_string = XmStringCreateLtoR("File",XmSTRING_DEFAULT_CHARSET);  XtSetArg(args[0],XmNlabelString,label_string);  XtSetArg(args[1],XmNsubMenuId,file_menu);  file_button =  XtCreateManagedWidget("file_button",                                       xmCascadeButtonWidgetClass,                                       menu_bar,args,2);  XmStringFree(label_string);  XtSetArg(args[0],XmNmenuBar,menu_bar);  XtSetValues(main_window,args,1);  XtSetArg(args[0],XmNworkWindow,form);  XtSetValues(main_window,args,1);  XtManageChild(menu_bar);  label_string = XmStringCreateLtoR("LCD Panel",				     XmSTRING_DEFAULT_CHARSET);    lcd_label = XtVaCreateManagedWidget("lcd_label", 				      xmLabelGadgetClass,                                      form,				      XmNtopAttachment,XmATTACH_FORM,				      XmNtopOffset,30,				      XmNleftAttachment,XmATTACH_FORM,				      XmNleftOffset,30,				      XmNlabelString,label_string,                                      NULL);  XmStringFree(label_string);    lcd_frame = XtVaCreateManagedWidget("lcd_frame", xmFrameWidgetClass,form,				       XmNtopAttachment,XmATTACH_WIDGET,                                       XmNtopWidget,lcd_label,				       XmNleftAttachment,XmATTACH_FORM,				       XmNleftOffset,30,				       XmNshadowType,XmSHADOW_IN,				       NULL);  label_string = XmStringCreateLtoR("Welcome        ",				     XmSTRING_DEFAULT_CHARSET);    lcd =      XtVaCreateManagedWidget("lcd", 				      xmLabelGadgetClass,                                      lcd_frame,				      XmNlabelString,label_string,				     /*XmNfontList,				      "adobe-*-*-*-*-*-24-*-*-*-*-*-*-*-",*/                                      NULL);  XmStringFree(label_string);  label_string = XmStringCreateLtoR("LED Panel",				     XmSTRING_DEFAULT_CHARSET);    led_label = XtVaCreateManagedWidget("led_label", 				      xmLabelGadgetClass,                                      form,				      XmNtopAttachment,XmATTACH_FORM,				      XmNtopOffset,30,				      XmNleftAttachment,XmATTACH_WIDGET, 				      XmNleftWidget,lcd_frame,				      XmNleftOffset,30,				      XmNlabelString,label_string,                                      NULL);  XmStringFree(label_string);      led_off_pixmap = XCreatePixmap(display,		             root_window,		             LED_WIDTH,			     LED_HEIGHT+2*LED_HEIGHT_OFFSET,		             DefaultDepth(display,SCREEN_NUMBER));  led_on_pixmap = XCreatePixmap(display,		             root_window,		             LED_WIDTH,			     LED_HEIGHT+2*LED_HEIGHT_OFFSET,		             DefaultDepth(display,SCREEN_NUMBER));  XSetForeground(display,graphics_context,WhitePixel(display,SCREEN_NUMBER));    XFillRectangle(display,led_off_pixmap,graphics_context,		   0,0,		   LED_WIDTH,		   LED_HEIGHT+2*LED_HEIGHT_OFFSET);  XSetForeground(display,graphics_context,red_color_pixel);    XFillRectangle(display,led_on_pixmap,graphics_context,		   0,0,		   LED_WIDTH,		   LED_HEIGHT+2*LED_HEIGHT_OFFSET);  XSetForeground(display,graphics_context,BlackPixel(display,SCREEN_NUMBER));  led_frame = XtVaCreateManagedWidget("led_frame", xmFrameWidgetClass,form,				       XmNtopAttachment,XmATTACH_WIDGET,                                       XmNtopWidget,led_label,				       XmNleftAttachment,XmATTACH_WIDGET,				       XmNleftWidget,lcd_frame,				       XmNleftOffset,30,				       XmNshadowType,XmSHADOW_OUT,				       NULL);  led_column = XtVaCreateManagedWidget("led_clumn", xmRowColumnWidgetClass,				       led_frame,				       XmNorientation,XmHORIZONTAL,				       NULL);  for (i=0;i<MAX_LED;i++)    leds[i] = XtVaCreateManagedWidget("led", xmLabelWidgetClass,led_column,				       XmNlabelType,XmPIXMAP,				       XmNlabelPixmap,led_off_pixmap,				       XmNborderWidth,2,				       NULL);  label_string = XmStringCreateLtoR("Switches",				     XmSTRING_DEFAULT_CHARSET);    switches_label = XtVaCreateManagedWidget("switches_label", 				      xmLabelGadgetClass,                                      form,				      XmNtopAttachment,XmATTACH_WIDGET,				      XmNtopWidget,lcd_frame,				      XmNtopOffset,30,				      XmNleftAttachment,XmATTACH_FORM,				      XmNleftOffset,30,				      XmNlabelString,label_string,                                      NULL);  XmStringFree(label_string);  switch_box = XtVaCreateManagedWidget( "switch_box",				       xmFormWidgetClass,form,				       XmNtopAttachment,XmATTACH_WIDGET,                                       XmNtopWidget,switches_label,				       XmNleftAttachment,XmATTACH_FORM,				       XmNleftWidget,lcd_frame,				       XmNleftOffset,30,                                       XmNorientation,XmVERTICAL,				       NULL);  sprintf(number_string," %1d",MAX_SWITCH);  label_string = XmStringCreateLtoR(number_string,				     XmSTRING_DEFAULT_CHARSET);  dummy_string = XmStringCreateLtoR("",				     XmSTRING_DEFAULT_CHARSET);  switch_label[0] = XtVaCreateManagedWidget( "switch_label",				       xmLabelGadgetClass,switch_box,                                       XmNlabelString,label_string,				       NULL);    on_off_box[0] = XtVaCreateManagedWidget( "on_off_box",				       xmRowColumnWidgetClass,switch_box,				       XmNtopAttachment,XmATTACH_WIDGET,				       XmNtopWidget,switch_label[0],                                       XmNradioBehavior,TRUE,                                       XmNorientation,XmVERTICAL,				       XmNpacking,XmPACK_TIGHT,                                       NULL);  on_switches[0] = XtVaCreateManagedWidget( "on_switches",				       xmToggleButtonGadgetClass,on_off_box[0],                                       XmNlabelString,dummy_string,				       NULL);  XtAddCallback(on_switches[0],XmNvalueChangedCallback,test_proc,NULL);  off_switches[0] = XtVaCreateManagedWidget( "off_switches",				       xmToggleButtonGadgetClass,on_off_box[0],				       XmNset,TRUE,                                            XmNlabelString,dummy_string,				       NULL);  XtAddCallback(off_switches[0],XmNvalueChangedCallback,test_proc,NULL);  for (i=1;i<MAX_SWITCH;i++) {

⌨️ 快捷键说明

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