//铸入型起重棒: |4 i a8 Y2 }
/* These include files are needed for the following template code. */
# G9 ^5 T, E, ?) v9 m5 p0 D#include <stdio.h>
7 R) r- V% L; [3 ~- `#include <uf.h>3 d( }. B7 R! m0 D0 [4 d/ d5 f
#include <uf_defs.h>1 L$ P- ?7 C8 ^: M4 I2 c7 X
#include <uf_exit.h>
% |3 r- n I6 Q" P% H5 d9 _#include <uf_ui.h>
9 g2 Q* T/ K4 I/ t' L/ y#include <uf_styler.h>. k5 c6 z, D) O$ [3 |
#include <uf_mb.h>
|0 v, A, T; H- @ r#include "CCHF.h"
# f+ f2 ~) t, O" v, d3 p& f! j' Q#include <uf_modl.h>
' [0 z9 j/ ^4 ^6 [$ F& [#include <uf_obj.h>
# G6 ~, W' c% a9 q0 P9 `5 q#include <math.h> /* The following definition defines the number of callback entries */+ W) _( y! g/ g: X9 U- h2 T
/* in the callback structure: */
' j6 V' ~) { T, ~! C/* UF_STYLER_callback_info_t CCHF_cbs */8 ^+ v2 l8 s7 |% ~. u
#define CCHF_CB_COUNT ( 6 + 1 ) /* Add 1 for the terminator */ /*--------------------------------------------------------------------------. T+ ^, q `, W9 y
The following structure defines the callback entries used by the! a/ U& E3 }2 S1 u; C$ ~
styler file. This structure MUST be passed into the user function,7 u- A' `; h4 J1 b/ K1 t9 ?8 K
UF_STYLER_create_dialog along with CCHF_CB_COUNT." c) s4 y) K( R/ t& u3 H {; C
--------------------------------------------------------------------------*/! Z$ S; P* D/ h, D9 V; a+ m
static UF_STYLER_callback_info_t CCHF_cbs[CCHF_CB_COUNT] =, R1 I+ G( M0 i' l% ^$ p
{
9 D! b. B5 p! n% _+ J- O% d! }/ ^{UF_STYLER_DIALOG_INDEX, UF_STYLER_CONSTRUCTOR_CB , 0, CCHF_con_cb},. ]% V" x0 C+ z, f
{UF_STYLER_DIALOG_INDEX, UF_STYLER_OK_CB , 0, CCHF_apply_cb},
6 h/ l' H. C1 h0 e% A2 I{UF_STYLER_DIALOG_INDEX, UF_STYLER_APPLY_CB , 0, CCHF_apply_cb},
, }/ F: d& [6 d! O' H1 d{UF_STYLER_DIALOG_INDEX, UF_STYLER_CANCEL_CB , 0, CCHF_cancel_cb},
8 d1 t; E2 P7 `+ @+ T9 v7 B0 B{CCHF_TYPE , UF_STYLER_VALUE_CHANGED_CB, 0, CCHF_type_cb},2 E9 Y- B2 T6 u) h
{CCHF_OPTION_D , UF_STYLER_ACTIVATE_CB , 0, CCHF_D_cb},& \' O7 M. S& W( n5 Q" I
{UF_STYLER_NULL_OBJECT, UF_STYLER_NO_CB, 0, 0 }9 _$ z: P! ?4 m
};
. G8 y* _6 |. y. Y4 p3 ustatic UF_MB_styler_actions_t actions[] = {7 W4 [3 D0 i8 r; k3 @
{ "CCHF.dlg", NULL, CCHF_cbs, UF_MB_STYLER_IS_NOT_TOP },
4 J( [7 V1 m$ G4 l0 V2 D{ NULL, NULL, NULL, 0 } /* This is a NULL terminated list */; v* b5 z4 H6 ~1 g' W7 o+ V
}; char * strings_D[6]={"25","32","36","40","50","70"};7 O' O" R! A! @
char * D;
5 U, R" x% S9 G7 R0 b& u+ jint user_click=0;
" c5 l9 Z8 X2 W o* ~4 ~" pint cancel_click=0;$ C: A q& ^" X _
int type,D_int; extern void ufusr (char *param, int *retcode, int rlen) _7 o3 o( r3 i" A
{ u+ Q5 u& v) Y
int response = 0;4 E/ d" z9 l8 Q( ^3 D
int error_code = 0; int choice;
5 A6 K, z1 Q9 K$ ~+ Qint defalt[2];1 J, [5 Q/ v$ z7 p. X. d8 \) b+ G
double point1[3],point2[3],point3[3],point4[3],point5[3],point6[3];( |0 Z9 e: B4 t* n, c9 F2 S b8 {
double direction[3]={0,1,0};
# O# j, w' g- w; m P+ O0 S// int i; char * D1, * D2, * T, * A, * B, * C, * E;0 ? ^* T" `' g+ D' r/ Y- d0 r7 \
char * R1;* g% [/ P: V$ o3 j
char * block_len[3];
$ L4 w& j( W, M+ O! W9 rUF_FEATURE_SIGN sign = UF_NULLSIGN; //建立一个新的目标体
" E) E: ^6 O8 |" r$ [! SUF_FEATURE_SIGN sign1 = UF_NEGATIVE; //减去目标实体
1 a& o/ ~+ H ?3 q; hUF_FEATURE_SIGN sign2 = UF_POSITIVE; //加目标实体' l! r# y! [' U8 a
tag_t cyl1_obj,cyl1_fea,cyl2_obj,cyl3_obj,cyl4_obj,cyl5_obj,blk_obj;
% m5 G0 R; r4 @+ J4 otag_t blend1_tag,blend2_tag,blend3_tag,blend4_tag; uf_list_p_t edge_list,object_list; if ( ( UF_initialize() ) != 0 )
3 u- X3 C. C% \return; if ( ( error_code = UF_STYLER_create_dialog ( "CCHF.dlg",
" c( G7 L4 x( d1 u* UCCHF_cbs, /* Callbacks from dialog */
% ?* \) A z3 k0 c ?2 KCCHF_CB_COUNT, /* number of callbacks*/) z+ H9 h0 a% G+ _( _
NULL, /* This is your client data */, C( G& [; }9 t
&response ) ) != 0 )
7 \' X) l) K* o. x0 R{
. f- r, ]# M( t+ J- Vchar fail_message[133]; /* Get the user function fail message based on the fail code.*/+ C$ J% O2 L% e' j/ _# s
UF_get_fail_message(error_code, fail_message);8 m% x8 p& G; Z' Y
UF_UI_set_status (fail_message);; P7 [0 O0 L! U! d, s6 @- ` k
printf ( "%s\n", fail_message );" p, K* |. j, _" s$ r' Y$ x$ K# l
} if(cancel_click==1)
2 z- ~& {- @7 x) ?/ R9 |# k5 n' U{+ Q6 |; W+ e: u4 N& a1 W) n: D
UF_terminate();
. s: C J: O$ u& ]* t, ] {return;
|. E6 o9 R _$ s% s. e' m} switch(D_int)% c4 W. f7 f1 k( {; t
{7 f; i5 K n! M. }2 [
case 0:
2 [4 ]& I+ u! I$ C4 P" l% u% zD1="46";: o( f) h* P% D! ?3 j
D2="36";
% o7 K/ A; |* r( h. AT="12.6";
, ~" m: S; L% XA="25";' w ` Z$ X; u
B="30";
F' J/ A' N" S' q; bC="15";' `. c2 @ q" w9 ~- C c! k
E="16.6";
& E* Q* Z3 N4 vif(type==1): h. J p2 f2 H; ]" k
{
6 ^1 t* z% P7 e7 t6 u. ?2 K8 tD1="60"; x' d' j* ^/ n8 g. {+ v
}
. ^& U3 ^9 U7 |& U0 d2 L' R) B- \break;
$ C: |4 A# p O" a acase 1:
" N8 F! ]0 C* Q* R* mD1="55";
: U+ f; y$ J: Z0 l" s5 b# xD2="42";
/ t/ L! |+ i- s. t: g# yT="13.1";
1 k5 p' x Z7 b% f3 ^" o7 cA="30";
7 T7 Q/ e6 S$ [0 t" W* eB="40";" t! z0 S" D* E/ U
C="20";
: V) y0 q8 u; q, GE="16.8";
1 ` F' z: V4 H5 w/ R% ^# p8 b5 Bif(type==1)8 @# u+ A8 `1 {. s% X3 ^( F
{
* f" c: K' S- u3 D& ]8 yD1="70";
/ A1 s/ {, W# y7 A. O}
3 w p8 b4 k3 N! [; ~# `break;1 _+ J2 g( N% j* J, n1 P
case 2:
: T/ r; a/ s u4 H# ?# QD1="60";
4 V+ D8 t. q) k {8 u6 k2 ED2="46";
x1 I, G2 |# Y' J4 K- O' b/ p9 O6 j, ZT="18.5";6 f S- g x, \% m2 F; @0 M
A="35";- x @9 r" L' F3 H! _$ D
B="45";7 A% _& m8 @% a/ J! o+ H
C="25";
$ U) L: A- q7 e& e* O! t% JE="17";7 \" a9 z7 C, d0 h( E
if(type==1)
4 i; a" r e+ `7 M! O{! V* V* b/ }* }+ ^
D1="80";/ t8 _7 Y5 j+ Z- W9 i5 Y
}
: ^0 g1 Z# v2 S% B5 n: x4 H* Mbreak;0 C! e1 D0 Z/ S- _7 f: Q" \
case 3:4 j9 X W* A6 \$ p
D1="70";+ K- D+ {( }7 z+ t# F- c. D: [" W% e
D2="55";
% y' d( M5 p5 v; y/ B$ j& t) @T="18.9";8 f/ M T0 i+ ^5 h$ \2 F* V
A="35";
# A% a& i# i$ |$ |. K3 N pB="60";7 o7 M3 h6 a+ o6 Y' f# r
C="30";
" | R2 \ |4 |' FE="17.4";
, r7 R, F" f* W( N0 Nif(type==1)& M- Z, O3 p' ]0 B: J& G) c5 C
{
! l8 ^/ n2 q6 b8 G4 }( V5 Z- g6 gD1="90";
5 G1 z4 f9 |+ Z: l+ D& R: ?}
: w' b) I: C; C# h4 w0 a5 zbreak;
4 u- k* }/ T, j' M! F* C: i) g& G5 v: @case 4:! b- }5 u2 f7 ^3 z+ I
D1="90";
" }0 ~6 ?0 H, a) K' Z* t2 ^% ?D2="70";" `4 E3 H( w$ F# }; F
T="25.2";
. x- J o( P6 O3 \# VA="35";
) [# T& ~+ z$ i# Y' YB="70";
, V: _% N2 W$ x# @- ^. OC="40";7 \& \6 v, F& ?; N
E="18.1";
- I; a) u# _# d8 F: B5 W3 o1 lif(type==1)
: o" m5 s4 l1 f. n! w{1 H) Y R: Q |( {& u* ]
D1="120";7 F4 _; ?) ]5 X1 L5 M8 P% M
} O* f' [" ]8 t( f: }
break;
( ^- {) f9 A* _/ }5 Q8 Kcase 5:% W& S3 R4 X2 O! r [/ U \
D1="120";
2 v P! x5 j" k$ y `6 WD2="100";
; L- q9 y ~0 C/ e, nT="31.1";" t) S" Y. Q0 r
A="40";
; s/ H" P2 h4 } @' SB="80";
" D( V8 n0 k1 m9 s gC="40";; y" K, t6 l, X& E6 C4 P
E="19.4";0 L& R" o8 |4 }* z
if(type==1)
/ E6 v8 x3 J3 e& m4 L& L& T{$ @% S$ p$ T& }/ f: @4 `4 M
D1="140";
9 z/ U6 x/ ?$ K' [}
0 |) a9 }) y" L( e6 z* R/ vbreak;2 S* A2 @& r v" o
default:& a3 a, o9 d+ n% f0 ^
break;( l4 A- `9 c% T/ x5 v( V
} if (user_click==1)
( A' d4 P3 _& l2 \& z1 ~7 b3 N{
0 Q' n7 G& _1 I3 z/ ?: b6 {/ Qchoice = uc1616("指定插入点", defalt, 0, point1);$ `7 ]' z6 x- [
if(choice == 2) //判断退出对话框4 s: q) a: S2 C. m3 J, q, d
{& W( `8 _: ?% N* K/ f, Y) |; y% ^
UF_terminate();
# c9 h) ?7 H L, vreturn;: H# R# }8 g V! K3 O
} R1="2";
: C7 O) p! r& J! c/ q/ k% Bif(type==1)4 T% }3 C0 D, `8 C# v: A5 P
{5 D! m' V+ Z$ T0 ` C, l' y0 u% J
R1="4";
$ h( F. ?7 Z; R0 W; _, A}
# ?7 [+ t4 s! y& V# m; Y//cyl1
1 F3 |# P& x& Y1 J2 z* gUF_MODL_create_cyl1 (sign,point1,T,D1,direction,&cyl1_obj);5 \# Z( G5 M& E7 n2 h$ O
UF_MODL_ask_feat_body(cyl1_obj,&cyl1_fea);
2 u, _+ t. l/ \7 Q; R. C. h7 S; [UF_OBJ_set_color (cyl1_fea, 9); //设置实体颜色 UF_MODL_create_list(&edge_list);0 b, R4 l# m$ M( F
UF_MODL_ask_feat_edges (cyl1_obj, &edge_list);
$ C* O/ O9 q3 |9 o5 VUF_MODL_create_blend (R1, edge_list, 0, 0, 0, 0.5, &blend1_tag); //倒圆角cyl1
0 r4 I( B; V! dUF_MODL_delete_list(&edge_list);
* ^% V& w( a, i//cyl2
. r1 s7 n) E( W& a& w9 O$ I7 {4 Qpoint2[0]=point1[0];: C0 ?2 i% G u5 X: D3 w9 l
point2[1]=point1[1]+atof(T);% u2 s% V1 o1 J% j
point2[2]=point1[2];
* `5 b- s O" p2 {+ BUF_MODL_create_cyl1 (sign2,point2,A,D,direction,&cyl2_obj);: B Z: d5 W3 d; |0 c! g3 e6 R
//cyl3
! h z! L1 S0 Z0 f( Fpoint3[0]=point1[0];
7 k: J3 ?, Q/ f! S2 [4 Spoint3[1]=point2[1]+atof(A);
$ s; [& |) a7 h0 r% x/ rpoint3[2]=point1[2];
' C" V/ p6 z4 v9 Y" JUF_MODL_create_cyl1 (sign2,point3,B,D2,direction,&cyl3_obj);2 C& K4 O/ Q" m& A2 c5 x G
//cyl4
) ?$ \ j0 x- d/ Z" s. y% zpoint4[0]=point1[0];
6 s) S& X- p. L# e% \% `point4[1]=point3[1]+atof(B);: s' t0 S( r) a. Z
point4[2]=point1[2];! \9 ?1 V) F. @8 P& `: z5 F" C
UF_MODL_create_cyl1 (sign2,point4,C,D,direction,&cyl4_obj);
1 a8 S9 i! k' j( ^//cyl5
: ~9 {# d4 q0 ]/ F" I+ s N- _point5[0]=point1[0];! D5 O/ @% `3 i5 j# T0 z4 s
point5[1]=point4[1]+atof(C);
( s2 \" W, s$ Z0 q6 i1 k" _point5[2]=point1[2];
1 ^$ V& I; m% g+ ?4 dUF_MODL_create_cyl1 (sign2,point5,E,D2,direction,&cyl5_obj);+ i7 [! Z: S0 Z0 `6 u
//倒圆角
; @ Z/ f# ~3 }/ g* NUF_MODL_create_list(&edge_list);
4 e% [; J. n+ [UF_MODL_ask_feat_edges (cyl2_obj, &edge_list);
9 n1 Y/ F2 ?, B1 V( hUF_MODL_create_blend ("5", edge_list, 0, 0, 0, 0.5, &blend2_tag); //倒圆角cyl2
3 q# N7 B3 ?4 e0 x9 M# e8 iUF_MODL_delete_list(&edge_list); UF_MODL_create_list(&edge_list);
! u7 X: f+ U" O: K- D- x9 h$ H' U) fUF_MODL_ask_feat_edges (cyl4_obj, &edge_list);4 V) F2 k9 b# X4 @" P/ A
UF_MODL_create_blend ("3", edge_list, 0, 0, 0, 0.5, &blend3_tag); //倒圆角cyl4
, n! _% v' m, ^UF_MODL_delete_list(&edge_list); UF_MODL_create_list(&edge_list);
1 A( U5 P/ v( c6 D5 T8 }5 a& GUF_MODL_ask_feat_edges (cyl5_obj, &edge_list);
" f- b% m, [7 j' E$ z# bUF_MODL_create_blend ("3", edge_list, 0, 0, 0, 0.5, &blend4_tag); //倒圆角cyl56 M. Q2 ^ T9 K' }5 l; S
UF_MODL_delete_list(&edge_list);( S, D+ o. T% `; Y" R+ c
//减体用blk
6 J" e8 X0 {0 h0 H2 |block_len[0] = D2;% P/ p! g; x/ t; y
block_len[1] = D2;
, _& E1 j" ?# u. T7 B. L vblock_len[2] = D2;
2 y6 m6 O& i) V: b' Spoint6[0]=point1[0]+atof(D)/2;% x3 ?' B* K. [% A, n6 U5 o+ ~) `
point6[1]=point5[1]-8;
8 ]) g2 |" o! v' X2 Z1 J' qpoint6[2]=point1[2]-atof(D2)/2;
V% g; ~; T; T; f# _2 s, u, fUF_MODL_create_block1 (sign1, point6, block_len, &blk_obj);
! _& f3 f/ G' u# t) S+ X//消参9 L) N4 c+ k8 L- G* X+ y
UF_MODL_create_list(&object_list);
' l& v- [3 x+ D' A T; hUF_MODL_put_list_item(object_list, cyl1_fea);
. F5 ^% q$ |1 a( N8 b CUF_MODL_delete_object_parms (object_list);, E2 _+ c; d) T( i$ i7 ~1 ?) T1 j% h0 t
UF_MODL_delete_list(&object_list);
% V' w3 h* h6 }1 G8 }2 I} UF_terminate();* V0 R4 S6 \$ H/ U
return;1 P) M# ]* z( x5 M6 D$ y
}
! `* z6 r& X" `% k! T5 a u" a4 yextern int ufusr_ask_unload (void)
& s* y( l2 y) l* [, E( [3 B{! H4 P9 W4 k, J }; G2 \
/* unload immediately after application exits*/1 t6 M) n, K. n
return ( UF_UNLOAD_IMMEDIATELY ); /*via the unload selection dialog... */
) e+ i6 m/ M; c1 l1 D% ^- y& N! L/*return ( UF_UNLOAD_SEL_DIALOG ); */
: X( R1 E3 C) a8 S/*when ug terminates... */, M$ X# V/ e& M1 x; [
/*return ( UF_UNLOAD_UG_TERMINATE ); */
, l$ K* |, K/ L) R( r} extern void ufusr_cleanup (void)
- M8 Y% `0 f$ v- W. L{
. N7 t/ ]: O9 P5 N0 w6 M! Qreturn;' N- b2 l5 A1 W0 k& X) s, ^/ v% u
}
# k: p9 G% e# r+ {+ hint CCHF_con_cb ( int dialog_id,1 w/ f4 ?. ~. n8 f) O g( L
void * client_data,4 x, W' q% Y$ D6 a) S
UF_STYLER_item_value_type_p_t callback_data)3 L5 {8 }7 @; N5 W
{) g3 o# N7 f. x$ j& e% i& v
/* Make sure User Function is available. */( F% B! t3 n4 S# ]
UF_STYLER_item_value_type_t data; if ( UF_initialize() != 0)
( y3 L6 {, E' A+ Areturn ( UF_UI_CB_CONTINUE_DIALOG ); /* ---- Enter your callback code here ----- */
1 _3 t' z! _' c7 M9 i2 i9 ~2 cdata.item_id = CCHF_OPTION_D;
( O) q$ L# E5 M( _8 m# Kdata.item_attr = UF_STYLER_SUBITEM_VALUES;2 O' p1 g6 l, Z3 W3 e
data.count = 6;$ I% p k1 V* [4 }
data.value.strings = strings_D;. O* Y# G. R( x) L9 x
UF_STYLER_set_value(dialog_id,&data); data.item_id = CCHF_WIDE_STRING;
0 {( m" J( {5 v! U0 vdata.item_attr = UF_STYLER_VALUE;
& E* S0 a* c3 y: Qdata.value.string = "三住标准/材质:S25C";
& n( E3 g5 H% `* BUF_STYLER_set_value(dialog_id,&data); D="25";
8 R. c F6 V7 S6 O7 e/ P9 [+ X6 |type=0;
% ~8 U3 _- j* t% t+ u7 uD_int=0; UF_terminate (); /* Callback acknowledged, do not terminate dialog */2 d& ?) z% L( o& Y# U* w* Y
return (UF_UI_CB_CONTINUE_DIALOG);
7 m/ o- {% d3 f; W/* A return value of UF_UI_CB_EXIT_DIALOG will not be accepted */
& i! @( D# c5 W! z/* for this callback type. You must continue dialog construction.*/ } int CCHF_apply_cb ( int dialog_id,
9 o2 n8 x8 c9 v& Z' Avoid * client_data,2 b/ S# N% G" Q" @
UF_STYLER_item_value_type_p_t callback_data)
% m" Z# p a q3 v{ `8 S3 W8 s0 C7 y7 A
/* Make sure User Function is available. */
& S3 t0 }# ]& G% q8 C9 m: a4 L2 Fif ( UF_initialize() != 0), m) O9 d) {: a# d6 b1 ?# l
return ( UF_UI_CB_CONTINUE_DIALOG ); /* ---- Enter your callback code here ----- */
" Q6 d" f, K( `$ [7 m, x3 quser_click=1; UF_terminate (); /* Callback acknowledged, terminate dialog */! }0 [5 b3 ]# M) i) u6 t
/* It is STRONGLY recommended that you exit your */" R0 B) i; m) R8 ?
/* callback with UF_UI_CB_EXIT_DIALOG in a ok callback.*/1 Y: j+ N5 c' G' @+ m$ h( S: M
/* return ( UF_UI_CB_EXIT_DIALOG ); */
; j' g9 ^6 Q7 D8 u4 o# p6 O R5 greturn (UF_UI_CB_EXIT_DIALOG); } int CCHF_cancel_cb ( int dialog_id,
8 |4 U1 j. E# {( q5 xvoid * client_data,
( O# Y: D& W& a4 G* U0 tUF_STYLER_item_value_type_p_t callback_data)
* q6 p% m2 R. F( J* N/ e% _{) b: H" ], i. m$ J
/* Make sure User Function is available. */" O N4 F% j6 V J6 R
if ( UF_initialize() != 0)
3 }0 E$ @, Q* i5 Freturn ( UF_UI_CB_CONTINUE_DIALOG ); /* ---- Enter your callback code here ----- */
. ^0 h" F& v( Y6 l. p& H% F$ \6 `3 ccancel_click=1; UF_terminate (); /* Callback acknowledged, terminate dialog */: k4 u2 S) `' \( ]
/* It is STRONGLY recommended that you exit your */
$ ^! v8 |" o2 h6 Q/* callback with UF_UI_CB_EXIT_DIALOG in a cancel call */1 M3 Z& N% }. [# p
/* back rather than UF_UI_CB_CONTINUE_DIALOG. */# @- v* l- x/ a9 S: A. k8 B
return ( UF_UI_CB_EXIT_DIALOG ); } int CCHF_type_cb ( int dialog_id,
1 B# `6 B% ^4 C; X8 U* c1 {" g! }9 ~void * client_data,. K5 T/ B5 d2 l. M& u# S; p/ Z% C
UF_STYLER_item_value_type_p_t callback_data)
! ~' F& ^1 _2 r/ s; Z$ j{
/ [4 t. i# X9 o% j7 L$ a2 V/* Make sure User Function is available. */
4 {$ a3 q$ f8 }' [# _UF_STYLER_item_value_type_t data; if ( UF_initialize() != 0)2 f/ _6 q- R2 p+ g" M$ V9 v
return ( UF_UI_CB_CONTINUE_DIALOG ); /* ---- Enter your callback code here ----- */3 p0 }' z; R3 V0 b! A+ q
data.item_id = CCHF_TYPE;
2 i+ S6 i- r* ~" U- I, ddata.item_attr = UF_STYLER_VALUE;
x0 _4 A1 n- n6 BUF_STYLER_ask_value(dialog_id,&data); type=data.value.integer; UF_terminate (); /* Callback acknowledged, do not terminate dialog */
0 q1 A, `# b9 m: Wreturn (UF_UI_CB_CONTINUE_DIALOG); /* or Callback acknowledged, terminate dialog. */
: E `4 H* B E( l0 \/* return ( UF_UI_CB_EXIT_DIALOG ); */ } int CCHF_D_cb ( int dialog_id,
o1 o, Z2 I" n- n, O) Lvoid * client_data,. W* ]5 C: h; R, e2 X5 p
UF_STYLER_item_value_type_p_t callback_data)
; A9 b& r- R5 s0 g" Q{
+ b% D/ V! t; @ \/* Make sure User Function is available. */9 h8 q, S6 r7 ?8 k9 ?/ E; z+ r* z
UF_STYLER_item_value_type_t data; if ( UF_initialize() != 0)
% Q' T7 y3 J; b8 i, H5 Qreturn ( UF_UI_CB_CONTINUE_DIALOG ); /* ---- Enter your callback code here ----- */7 W) |1 S* s$ H6 s$ Y- B4 a3 c
data.item_id = CCHF_OPTION_D;1 [# m1 B2 X3 p# s
data.item_attr = UF_STYLER_VALUE;5 W( `' B& d A7 S$ j$ y/ l
UF_STYLER_ask_value(dialog_id,&data); D_int=data.value.integer;) \( o. U; s8 v9 o. i2 a
D=strings_D[D_int]; UF_terminate (); /* Callback acknowledged, do not terminate dialog */% D: _( i8 x% y( {! {, p; F
return (UF_UI_CB_CONTINUE_DIALOG); /* or Callback acknowledged, terminate dialog. */8 |; G! C% y6 E; u# x5 f* t3 _
/* return ( UF_UI_CB_EXIT_DIALOG ); */ } 9 |4 ]4 ~/ ]5 L* _9 p4 ?" M
* U4 Q( g# i) r- Z8 F% Y& }
|