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

📄 ui_panel.c

📁 seismic software,very useful
💻 C
📖 第 1 页 / 共 3 页
字号:
	double atof();	int i, daxis, dtics;	XtVaGetValues (ui->l_title,XmNvalue,&svalue,NULL);	strcpy (data->title,svalue);	for (i=0; i<4; i++) {		daxis = 0;		dtics = 0;		XtVaGetValues (ui->l_label[i],XmNvalue,&svalue,NULL);		strcpy (view->map[i]->axis->label,svalue);		XtVaGetValues (ui->l_first[i],XmNvalue,&svalue,NULL);		if (view->map[i]->axis->first != atof(svalue)) {			view->map[i]->axis->first = atof(svalue);			daxis = 1;			}		XtVaGetValues (ui->l_delta[i],XmNvalue,&svalue,NULL);		if (view->map[i]->axis->delta != atof(svalue)) {			view->map[i]->axis->delta = atof(svalue);			daxis = 1;			}		XtVaGetValues (ui->l_tic0[i],XmNvalue,&svalue,NULL);		if (view->map[i]->tic0 != atof(svalue)) {			view->map[i]->tic0 = atof(svalue);			dtics = 1;			}		XtVaGetValues (ui->l_dtic[i],XmNvalue,&svalue,NULL);		if (view->map[i]->dtic != atof(svalue)) {			view->map[i]->dtic = atof(svalue);			dtics = 1;			}		XtVaGetValues (ui->l_tic2[i],XmNvalue,&svalue,NULL);		if (view->map[i]->tic2 != atof(svalue)) {			view->map[i]->tic2 = atof(svalue);			dtics = 1;			}		if (daxis) {			AxisSetValues (view->map[i]->axis);			MapSetTics (view->map[i]);			}		}	ViewDrawAll ();	ColorbarDraw ();	UILabelReset ();	}UILabelClose ()	{	XtPopdown (ui->l_shell);	}/********************************* TRANSPARENT PANEL ******************************//* initialize transparency control panel */UITranspInit ()	{	Widget widget, parent;	extern UITranspLow(), UITranspHigh(), UITranspGradient();	extern UITranspRate(), ViewDrawAll(), UITranspClose();	if (ui->t_shell) return;	ui->t_shell = XtVaCreatePopupShell ("transparent",xmDialogShellWidgetClass,ui->main,		XmNtitle, CS("TRANSPARANCY PARAMETERS"),		NULL);	ui->t_base = XtVaCreateWidget ("base",xmRowColumnWidgetClass,ui->t_shell,		XmNorientation, XmVERTICAL,		NULL);	 XtVaCreateManagedWidget ("TRANSP PARAMETERS:",xmLabelWidgetClass,ui->t_base,NULL);	widget = XtVaCreateManagedWidget ("low_transp",xmScaleWidgetClass,ui->t_base,		XmNvalue, RENDER_LOW_TRANSP,		XmNshowValue, True,		XmNtitleString, CS("MIN TRANSPARENCY"),		XmNorientation, XmHORIZONTAL,		NULL);	XtAddCallback (widget,XmNvalueChangedCallback,(XtCallbackProc)UITranspLow,NULL);	widget = XtVaCreateManagedWidget ("high_transp",xmScaleWidgetClass,ui->t_base,		XmNvalue, RENDER_HIGH_TRANSP,		XmNshowValue, True,		XmNtitleString, CS("MAX TRANSPARENCY"),		XmNorientation, XmHORIZONTAL,		NULL);	XtAddCallback (widget,XmNvalueChangedCallback,(XtCallbackProc)UITranspHigh,NULL);	widget = XtVaCreateManagedWidget ("vol_transp",xmScaleWidgetClass,ui->t_base,		XmNvalue, RENDER_VOL_TRANSP,		XmNshowValue, True,		XmNtitleString, CS("TRANSPARENCY"),		XmNorientation, XmHORIZONTAL,		NULL);	XtAddCallback (widget,XmNvalueChangedCallback,(XtCallbackProc)UITranspGradient,NULL);	widget = XmVaCreateSimpleRadioBox (ui->t_base, "rate",1,(XtCallbackProc)UITranspRate,		XmVaRADIOBUTTON, CS("Draw Altogether"), NULL, NULL, NULL,		XmVaRADIOBUTTON, CS("Draw Tenth Chunks"), NULL, NULL, NULL,		XmVaRADIOBUTTON, CS("Draw Each Plane"), NULL, NULL, NULL,		NULL);	XtManageChild (widget);	XtVaCreateManagedWidget ("line",xmSeparatorWidgetClass, ui->t_base, NULL);	widget = XtVaCreateManagedWidget ("DRAW", xmPushButtonWidgetClass, ui->t_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)ViewDrawAll,NULL);	widget = XtVaCreateManagedWidget ("CLOSE", xmPushButtonWidgetClass, ui->t_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)UITranspClose,NULL);	XtManageChild (ui->t_base);	XtManageChild (ui->t_shell);	}UITranspRaise ()	{	UITranspInit ();	ui->shell = ui->t_shell;	XtPopup (ui->t_shell,XtGrabNone);	}UITranspClose ()	{	XtPopdown (ui->t_shell);	ui->shell = 0;	}UITranspLow (widget,client,data)Widget widget;XtPointer client;XmScaleCallbackStruct *data;	{	RenderSetLow (data->value);	}UITranspHigh (widget,client,data)Widget widget;XtPointer client;XmScaleCallbackStruct *data;	{	RenderSetHigh (data->value);	}UITranspGradient (widget,client,data)Widget widget;XtPointer client;XmScaleCallbackStruct *data;	{	RenderSetGradient (data->value);	}UITranspRate (widget,item)Widget widget;int item;	{	ViewSetTranspRate (item);	}UIFenceInit ()	{	Widget widget;	extern UIFenceOpacity(), UIFenceFront(), UIFenceSide(), UIFenceTop();	extern ViewDrawAll(), UIFenceClose();	if (ui->f_shell) return;	ui->f_shell = XtVaCreatePopupShell ("fence",xmDialogShellWidgetClass,ui->main,		XmNtitle, CS("FENCE PARAMETERS"),		NULL);	ui->f_base = XtVaCreateWidget ("base",xmRowColumnWidgetClass,ui->f_shell,		XmNorientation, XmVERTICAL,		NULL);	XtVaCreateManagedWidget ("FENCE PARAMETERS:",xmLabelWidgetClass,ui->f_base,NULL);	widget = XtVaCreateManagedWidget ("TOGGLE FRONT", xmPushButtonWidgetClass, ui->f_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)UIFenceFront,NULL);	widget = XtVaCreateManagedWidget ("TOGGLE SIDE", xmPushButtonWidgetClass, ui->f_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)UIFenceSide,NULL);	widget = XtVaCreateManagedWidget ("TOGGLE TOP", xmPushButtonWidgetClass, ui->f_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)UIFenceTop,NULL);	widget = XtVaCreateManagedWidget ("transp",xmScaleWidgetClass,ui->f_base,		XmNorientation, XmHORIZONTAL,		XmNvalue, 0,		XmNtitleString, CS("TRANSPARENCY"),		XmNshowValue, True,		NULL);	XtAddCallback (widget,XmNvalueChangedCallback,(XtCallbackProc)UIFenceOpacity,NULL);	XtVaCreateManagedWidget ("line",xmSeparatorWidgetClass, ui->f_base, NULL);	widget = XtVaCreateManagedWidget ("DRAW", xmPushButtonWidgetClass, ui->f_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)ViewDrawAll,NULL);	widget = XtVaCreateManagedWidget ("CLOSE", xmPushButtonWidgetClass, ui->f_base, NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)UIFenceClose,NULL);	XtManageChild (ui->f_base);	XtManageChild (ui->f_shell);	}UIFenceRaise ()	{	UIFenceInit ();	ui->shell = ui->f_shell;	XtPopup (ui->f_shell,XtGrabNone);	}UIFenceClose ()	{	XtPopdown (ui->f_shell);	ui->shell = 0;	}UIFenceFront ()	{	ViewToggleFence(DRAW_FRONT);	}UIFenceSide ()	{	ViewToggleFence(DRAW_SIDE);	}UIFenceTop ()	{	ViewToggleFence(DRAW_TOP);	}UIFenceOpacity (widget,client,data)Widget widget;XtPointer client;XmScaleCallbackStruct *data;	{	RenderSetFenceTransp (data->value);	}UIInfoInit ()	{	Widget widget;	extern int UIInfoClose();	extern char *help;	ui->i_shell = XtVaCreatePopupShell ("text",xmDialogShellWidgetClass,ui->main,		XmNtitle, CS("HELP INFOMATION"),		NULL);	ui->i_base = XtVaCreateWidget ("base", xmRowColumnWidgetClass,ui->i_shell,		XmNorientation, XmVERTICAL,		NULL);	XtVaCreateManagedWidget ("HELP INFORMATION:",xmLabelWidgetClass,ui->i_base,NULL);	ui->i_text = XmCreateScrolledText (ui->i_base, "textw", NULL, NULL);	XtVaSetValues (ui->i_text,		XmNvalue, help,		XmNcolumns, 80,		XmNrows, 30,		XmNeditMode, XmMULTI_LINE_EDIT,		XmNeditable, False,		NULL);	XtManageChild (ui->i_text);	XtVaCreateManagedWidget ("line", xmSeparatorWidgetClass, ui->i_base,NULL);	widget = XtVaCreateManagedWidget ("CLOSE", xmPushButtonWidgetClass, ui->i_base,		NULL);	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)UIInfoClose,NULL);	XtManageChild (ui->i_base);	XtManageChild (ui->i_shell);	}UIInfo (text)char *text;	{	extern char *help;	if (ui->i_shell == 0) UIInfoInit ();	DrawWatch (1);	XtVaSetValues (ui->i_text,XmNtopCharacter,(int)(text-help),NULL);	XtPopup (ui->i_shell,XtGrabNone);	DrawWatch (0);	}UIInfoClose ()	{	XtPopdown (ui->i_shell);	}UISyzeRaise ()	{	UISyzeInit ();	UISyzeReset ();	XtPopup (ui->z_shell,XtGrabNone);	}UISyzeInit ()	{	Widget parent;	if (ui->z_shell) return;	ui->z_shell = XtVaCreatePopupShell ("syze",xmDialogShellWidgetClass,ui->main,		XmNtitle, CS("SIZE PARAMETERS"),		NULL);	ui->z_base = XtVaCreateWidget ("z_base",xmRowColumnWidgetClass,ui->z_shell,		XmNorientation, XmVERTICAL,		NULL);#undef LABEL#define	LABEL(name,var) ui->var = XtVaCreateManagedWidget (name,xmLabelWidgetClass,parent,NULL);#undef BUTTON#define BUTTON(name,callback) {\	Widget widget;\	extern callback();\	widget = XtVaCreateManagedWidget (name,xmPushButtonWidgetClass, parent, NULL);\	XtAddCallback (widget,XmNactivateCallback,(XtCallbackProc)callback,NULL);\	}#undef SLIDER#define SLIDER(name,var) \	ui->var = XtVaCreateManagedWidget (name, xmScaleWidgetClass, parent,\		XmNtitleString, CS(name),\		XmNwidth, 250,\		XmNshowValue, True,\		XmNorientation, XmHORIZONTAL,\		NULL);	parent = ui->z_base;	SLIDER("DOWN: min",z_min[AXIS_DOWN]);	SLIDER("DOWN: max",z_max[AXIS_DOWN]);	SLIDER("DOWN: frame",z_frame[AXIS_DOWN]);	SLIDER("DOWN: pixels",z_pixels[AXIS_DOWN]);	XtVaCreateManagedWidget ("line", xmSeparatorWidgetClass, ui->z_base,NULL);	SLIDER("ACROSS: min",z_min[AXIS_ACROSS]);	SLIDER("ACROSS: max",z_max[AXIS_ACROSS]);	SLIDER("ACROSS: frame",z_frame[AXIS_ACROSS]);	SLIDER("ACROSS: pixels",z_pixels[AXIS_ACROSS]);	XtVaCreateManagedWidget ("line", xmSeparatorWidgetClass, ui->z_base,NULL);	SLIDER("DEEP: min",z_min[AXIS_DEEP]);	SLIDER("DEEP: max",z_max[AXIS_DEEP]);	SLIDER("DEEP: frame",z_frame[AXIS_DEEP]);	SLIDER("DEEP: pixels",z_pixels[AXIS_DEEP]);	XtVaCreateManagedWidget ("line", xmSeparatorWidgetClass, ui->z_base,NULL);	BUTTON("DRAW",UISyzeDraw);	BUTTON("RESTORE",UISyzeReset);	BUTTON("INITIAL",UISyzeInitial);	BUTTON("CLOSE",UISyzeClose);	XtManageChild (ui->z_base);	}UISyzeReset ()	{	int imap;	extern View view;	Map map;	Axis axis;	string svalue;	if (!ui->z_shell) return;	for (imap=1; imap<4; imap++) {		map = ViewMap(view,imap);		axis = MapAxis(map);		sprintf (svalue,"%s:%s:MINIMUM",MapName(map),AxisLabel(axis));		XtVaSetValues (ui->z_min[imap],/*			XmNtitleString, CS(svalue),*/			XmNdecimalPoints, AxisPrec(axis),			XmNminimum, AxisScaledValue(axis,0),			XmNmaximum, AxisScaledValue(axis,AxisSize(axis)-1),			XmNvalue, AxisScaledValue(axis,map->first),			NULL);		sprintf (svalue,"%s:%s:MAXIMUM",MapName(map),AxisLabel(axis));		XtVaSetValues (ui->z_max[imap],/*			XmNtitleString, CS(svalue),*/			XmNdecimalPoints, AxisPrec(axis),			XmNminimum, AxisScaledValue(axis,0),			XmNmaximum, AxisScaledValue(axis,AxisSize(axis)-1),			XmNvalue, AxisScaledValue(axis,map->last),			NULL);		sprintf (svalue,"%s:%s:FRAME",MapName(map),AxisLabel(axis));		XtVaSetValues (ui->z_frame[imap],/*			XmNtitleString, CS(svalue),*/			XmNdecimalPoints, AxisPrec(axis),			XmNminimum, AxisScaledValue(axis,0),			XmNmaximum, AxisScaledValue(axis,AxisSize(axis)-1),			XmNvalue, AxisScaledValue(axis,map->frame),			NULL);		sprintf (svalue,"%s:%s:PIXELS",MapName(map),AxisLabel(axis));		XtVaSetValues (ui->z_pixels[imap],/*			XmNtitleString, CS(svalue),*/			XmNminimum, 1,			XmNmaximum, 1000,			XmNvalue, MapSize(map),			NULL);		}	}UISyzeClose ()	{	XtPopdown (ui->z_shell);	}UISyzeInitial ()	{	int imap;	extern View view;	Axis axis;	if (!ui->z_shell) return;	for (imap=1; imap<4; imap++) {		axis = MapAxis(ViewMap(view,imap));		XtVaSetValues (ui->z_min[imap],XmNvalue,AxisScaledValue(axis,0),NULL);		XtVaSetValues (ui->z_max[imap],XmNvalue,AxisScaledValue(axis,AxisSize(axis)-1),NULL);		XtVaSetValues (ui->z_frame[imap],XmNvalue,AxisScaledValue(axis,0),NULL);		}	}		UISyzeDraw ()	{	int imap, min, max, frame, pixels;	extern View view;	Map map;	Axis axis;	for (imap=1; imap<4; imap++) {		XtVaGetValues (ui->z_min[imap],XmNvalue,&min,NULL);		XtVaGetValues (ui->z_max[imap],XmNvalue,&max,NULL);		XtVaGetValues (ui->z_frame[imap],XmNvalue,&frame,NULL);		XtVaGetValues (ui->z_pixels[imap],XmNvalue,&pixels,NULL);		map = ViewMap (view,imap);		axis = MapAxis (map);		MapSet (map,			axis,			pixels,			AxisScaledIndex (axis,min),			AxisScaledIndex (axis,max),			AxisScaledIndex (axis,min),			AxisScaledIndex (axis,max),			map->dframe);		MapSetFrame (map,AxisScaledIndex (axis,frame));		}	ViewDrawAll ();	}

⌨️ 快捷键说明

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