w_ljmail_msgmx_ch.srw 31 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132
  1. $PBExportHeader$w_ljmail_msgmx_ch.srw
  2. forward
  3. global type w_ljmail_msgmx_ch from w_publ_base
  4. end type
  5. type cb_add from uo_imflatbutton within w_ljmail_msgmx_ch
  6. end type
  7. type cb_del from uo_imflatbutton within w_ljmail_msgmx_ch
  8. end type
  9. type dw_revlist from u_dw_rbtnfilter within w_ljmail_msgmx_ch
  10. end type
  11. type cb_ok from uo_imflatbutton within w_ljmail_msgmx_ch
  12. end type
  13. type cb_cancel from uo_imflatbutton within w_ljmail_msgmx_ch
  14. end type
  15. type tv_1 from treeview within w_ljmail_msgmx_ch
  16. end type
  17. type sle_1 from singlelineedit within w_ljmail_msgmx_ch
  18. end type
  19. type sle_2 from singlelineedit within w_ljmail_msgmx_ch
  20. end type
  21. type lv_1 from listview within w_ljmail_msgmx_ch
  22. end type
  23. type cb_find from uo_imflatbutton within w_ljmail_msgmx_ch
  24. end type
  25. type cb_3 from uo_imflatbutton within w_ljmail_msgmx_ch
  26. end type
  27. type ln_bar from line within w_ljmail_msgmx_ch
  28. end type
  29. type ln_bar2 from line within w_ljmail_msgmx_ch
  30. end type
  31. end forward
  32. global type w_ljmail_msgmx_ch from w_publ_base
  33. integer width = 4037
  34. integer height = 2144
  35. string title = "选择龙嘉邮件收件人"
  36. boolean minbox = false
  37. windowtype windowtype = response!
  38. event ue_add_mail ( )
  39. cb_add cb_add
  40. cb_del cb_del
  41. dw_revlist dw_revlist
  42. cb_ok cb_ok
  43. cb_cancel cb_cancel
  44. tv_1 tv_1
  45. sle_1 sle_1
  46. sle_2 sle_2
  47. lv_1 lv_1
  48. cb_find cb_find
  49. cb_3 cb_3
  50. ln_bar ln_bar
  51. ln_bar2 ln_bar2
  52. end type
  53. global w_ljmail_msgmx_ch w_ljmail_msgmx_ch
  54. type variables
  55. long il_tv_handle
  56. long ll_lastrow = 0
  57. end variables
  58. forward prototypes
  59. public function boolean wf_cansee_cusarea (long arg_cusareaid)
  60. public function boolean wf_cansee_spttype (long arg_spttypeid)
  61. public function boolean wf_cus_haschild (long cusid)
  62. public function boolean wf_spt_haschild (long sptid)
  63. public function boolean wf_cansee_cus (long arg_cusid)
  64. public function boolean wf_cansee_spt (long arg_sptid)
  65. end prototypes
  66. event ue_add_mail();long ll_row
  67. if trim(sle_2.text) = '' then return
  68. if dw_revlist.Find('revaddress=~'' + trim(sle_2.text) + '~'', 1, dw_revlist.RowCount()) = 0 then
  69. ll_row = dw_revlist.insertrow(0)
  70. dw_revlist.object.sendid[ll_row] = 0
  71. dw_revlist.object.printid[ll_row] = 0
  72. dw_revlist.object.reltype[ll_row] = 3
  73. dw_revlist.object.relid[ll_row] = 0
  74. dw_revlist.object.revaddress[ll_row] = trim(sle_2.text)
  75. dw_revlist.object.revname[ll_row] = trim(sle_2.text)
  76. dw_revlist.object.dscrp[ll_row] = ''
  77. else
  78. MessageBox('提示', sle_2.text + '已存在!')
  79. end if
  80. end event
  81. public function boolean wf_cansee_cusarea (long arg_cusareaid);Long i
  82. Long ll_i
  83. Long ll_cnt
  84. // 如果没有权限,直接返回false
  85. Boolean haspower = False
  86. FOR i = LowerBound(sys_areaid) To UpperBound(sys_areaid)
  87. IF arg_cusareaid = sys_areaid[i] THEN
  88. haspower = True
  89. EXIT
  90. END IF
  91. NEXT
  92. IF Not haspower THEN RETURN False
  93. // 下级客户字段有内容,直接返回true
  94. SELECT COUNT(0)
  95. INTO :ll_cnt
  96. FROM u_cust
  97. WHERE (cusareaid = :arg_cusareaid) AND
  98. (inuse = 1) AND
  99. (ljmail <> '');
  100. IF sqlca.SQLCode <> 0 THEN
  101. RETURN False
  102. END IF
  103. IF ll_cnt > 0 THEN
  104. RETURN True
  105. END IF
  106. // 下级客户可视,直接返回true
  107. Long ll_cusid, arr_cusid[]
  108. ll_cnt = 0
  109. DECLARE cur1 CURSOR FOR
  110. SELECT cusid
  111. FROM u_cust
  112. WHERE inuse = 1 AND
  113. cusareaid = :arg_cusareaid;
  114. OPEN cur1;
  115. FETCH cur1 Into :ll_cusid;
  116. DO WHILE sqlca.SQLCode = 0
  117. ll_cnt++
  118. arr_cusid[ll_cnt] = ll_cusid
  119. FETCH cur1 Into :ll_cusid;
  120. LOOP
  121. CLOSE cur1;
  122. FOR ll_i = 1 To UpperBound(arr_cusid)
  123. IF wf_cansee_cus(arr_cusid[ll_i]) THEN RETURN True
  124. NEXT
  125. // 下级区域可视,直接返回true
  126. Long ll_cusareaid, arr_cusareaid[]
  127. ll_cnt = 0
  128. DECLARE cur2 CURSOR FOR
  129. SELECT cusareaid
  130. FROM u_cusarea
  131. Where parentid = :arg_cusareaid;
  132. OPEN cur2;
  133. FETCH cur2 Into :ll_cusareaid;
  134. DO WHILE sqlca.SQLCode = 0
  135. ll_cnt++
  136. arr_cusareaid[ll_cnt] = ll_cusareaid
  137. FETCH cur2 Into :ll_cusareaid;
  138. LOOP
  139. CLOSE cur2;
  140. FOR ll_i = 1 To UpperBound(arr_cusareaid)
  141. IF wf_cansee_cusarea(arr_cusareaid[ll_i]) THEN RETURN True
  142. NEXT
  143. RETURN False
  144. end function
  145. public function boolean wf_cansee_spttype (long arg_spttypeid);Long i
  146. Boolean haspower = False
  147. FOR i = LowerBound(sys_user_spttype) To UpperBound(sys_user_spttype)
  148. IF arg_spttypeid = sys_user_spttype[i] THEN
  149. haspower = True
  150. EXIT
  151. END IF
  152. NEXT
  153. IF Not haspower THEN RETURN False
  154. Long ll_cnt = 0
  155. Long ll_sptid, arr_sptid[]
  156. DECLARE cur1 CURSOR FOR
  157. SELECT sptid
  158. FROM u_spt
  159. WHERE spttypeid = :arg_spttypeid
  160. And inuse = 1;
  161. OPEN cur1;
  162. FETCH cur1 Into :ll_sptid;
  163. DO WHILE sqlca.SQLCode = 0
  164. ll_cnt++
  165. arr_sptid[ll_cnt] = ll_sptid
  166. FETCH cur1 Into :ll_sptid;
  167. LOOP
  168. CLOSE cur1;
  169. FOR i = 1 To ll_cnt
  170. IF wf_cansee_spt(arr_sptid[i]) THEN RETURN True
  171. NEXT
  172. RETURN False
  173. end function
  174. public function boolean wf_cus_haschild (long cusid);Long ll_count = 0
  175. SELECT count(0) INTO :ll_count
  176. FROM u_cust_rep
  177. Where (cusid = :cusid) And ljmail <> '';
  178. IF sqlca.SQLCode <> 0 THEN
  179. RETURN False
  180. END IF
  181. IF ll_count > 0 THEN
  182. RETURN True
  183. END IF
  184. RETURN False
  185. end function
  186. public function boolean wf_spt_haschild (long sptid);Long ll_count = 0
  187. SELECT count(0) INTO :ll_count
  188. FROM u_spt_rep
  189. WHERE (sptid = :sptid)
  190. And u_spt_rep.ljmail <> '';
  191. IF sqlca.SQLCode <> 0 THEN
  192. RETURN False
  193. END IF
  194. IF ll_count > 0 THEN RETURN True
  195. RETURN False
  196. end function
  197. public function boolean wf_cansee_cus (long arg_cusid);Long ll_cnt
  198. SELECT count(0)
  199. INTO :ll_cnt
  200. FROM u_cust_rep
  201. WHERE cusid = :arg_cusid
  202. And ljmail <> '';
  203. IF sqlca.SQLCode <> 0 THEN
  204. RETURN False
  205. END IF
  206. IF ll_cnt > 0 THEN RETURN True
  207. SELECT COUNT(0)
  208. INTO :ll_cnt
  209. FROM u_cust
  210. WHERE cusid = :arg_cusid AND
  211. ljmail <> '';
  212. IF sqlca.SQLCode <> 0 THEN
  213. RETURN False
  214. END IF
  215. IF ll_cnt > 0 THEN RETURN True
  216. RETURN False
  217. end function
  218. public function boolean wf_cansee_spt (long arg_sptid);Long ll_cnt
  219. SELECT count(0)
  220. INTO :ll_cnt
  221. FROM u_spt_rep
  222. WHERE sptid = :arg_sptid
  223. And ljmail <> '';
  224. IF sqlca.SQLCode <> 0 THEN
  225. RETURN False
  226. END IF
  227. IF ll_cnt > 0 THEN
  228. RETURN True
  229. END IF
  230. SELECT count(0)
  231. INTO :ll_cnt
  232. FROM u_spt
  233. WHERE sptid = :arg_sptid
  234. And ljmail <> '';
  235. IF sqlca.SQLCode <> 0 THEN
  236. RETURN False
  237. END IF
  238. IF ll_cnt > 0 THEN
  239. RETURN True
  240. END IF
  241. RETURN False
  242. end function
  243. on w_ljmail_msgmx_ch.create
  244. int iCurrent
  245. call super::create
  246. this.cb_add=create cb_add
  247. this.cb_del=create cb_del
  248. this.dw_revlist=create dw_revlist
  249. this.cb_ok=create cb_ok
  250. this.cb_cancel=create cb_cancel
  251. this.tv_1=create tv_1
  252. this.sle_1=create sle_1
  253. this.sle_2=create sle_2
  254. this.lv_1=create lv_1
  255. this.cb_find=create cb_find
  256. this.cb_3=create cb_3
  257. this.ln_bar=create ln_bar
  258. this.ln_bar2=create ln_bar2
  259. iCurrent=UpperBound(this.Control)
  260. this.Control[iCurrent+1]=this.cb_add
  261. this.Control[iCurrent+2]=this.cb_del
  262. this.Control[iCurrent+3]=this.dw_revlist
  263. this.Control[iCurrent+4]=this.cb_ok
  264. this.Control[iCurrent+5]=this.cb_cancel
  265. this.Control[iCurrent+6]=this.tv_1
  266. this.Control[iCurrent+7]=this.sle_1
  267. this.Control[iCurrent+8]=this.sle_2
  268. this.Control[iCurrent+9]=this.lv_1
  269. this.Control[iCurrent+10]=this.cb_find
  270. this.Control[iCurrent+11]=this.cb_3
  271. this.Control[iCurrent+12]=this.ln_bar
  272. this.Control[iCurrent+13]=this.ln_bar2
  273. end on
  274. on w_ljmail_msgmx_ch.destroy
  275. call super::destroy
  276. destroy(this.cb_add)
  277. destroy(this.cb_del)
  278. destroy(this.dw_revlist)
  279. destroy(this.cb_ok)
  280. destroy(this.cb_cancel)
  281. destroy(this.tv_1)
  282. destroy(this.sle_1)
  283. destroy(this.sle_2)
  284. destroy(this.lv_1)
  285. destroy(this.cb_find)
  286. destroy(this.cb_3)
  287. destroy(this.ln_bar)
  288. destroy(this.ln_bar2)
  289. end on
  290. event open;call super::open;s_sendmx_parm s_sendmx
  291. Long i, ll_row
  292. s_sendmx = Message.PowerObjectParm
  293. IF Not IsNull(s_sendmx) And IsValid(s_sendmx) THEN
  294. FOR i = 1 To UpperBound(s_sendmx.sendmx)
  295. ll_row = dw_revlist.InsertRow(0)
  296. dw_revlist.Object.sendid[ll_row] = 0
  297. dw_revlist.Object.printid[ll_row] = ll_row
  298. dw_revlist.Object.reltype[ll_row] = s_sendmx.sendmx[i].reltype
  299. dw_revlist.Object.relid[ll_row] = s_sendmx.sendmx[i].relid
  300. dw_revlist.Object.revaddress[ll_row] = s_sendmx.sendmx[i].revaddress
  301. dw_revlist.Object.revname[ll_row] = s_sendmx.sendmx[i].revname
  302. NEXT
  303. END IF
  304. end event
  305. event resize;call super::resize;ln_bar.endx = this.width
  306. ln_bar2.endx = this.width
  307. end event
  308. type cb_func from w_publ_base`cb_func within w_ljmail_msgmx_ch
  309. boolean visible = false
  310. integer x = 2245
  311. integer y = 1656
  312. end type
  313. type cb_exit from w_publ_base`cb_exit within w_ljmail_msgmx_ch
  314. boolean visible = false
  315. end type
  316. type cb_add from uo_imflatbutton within w_ljmail_msgmx_ch
  317. integer x = 1705
  318. integer y = 612
  319. integer taborder = 20
  320. boolean bringtotop = true
  321. string text = "添加"
  322. string normalpicname = "p4.ICO"
  323. integer picsize = 16
  324. toolbaralignment pic_align = alignatright!
  325. end type
  326. event clicked;call super::clicked;IF tv_1.Visible THEN
  327. tv_1.Trigger Event DoubleClicked(il_tv_handle)
  328. tv_1.SetFocus( )
  329. ELSE
  330. listviewitem l_lvi
  331. s_tv_data s_data
  332. Long ll_index = 0, ll_row
  333. ll_index = lv_1.FindItem(ll_index, DirectionAll!, False, True, False, False)
  334. DO While (ll_index > 0)
  335. IF lv_1.GetItem(ll_index, l_lvi) = 1 THEN
  336. s_data = l_lvi.Data
  337. IF Trim(s_data.mailAddress) = '' THEN GOTO ext
  338. IF dw_revlist.Find('relid=' + String(s_data.relid) + ' and reltype=' + String(s_data.reltype), 1, dw_revlist.RowCount()) = 0 THEN
  339. ll_row = dw_revlist.InsertRow(0)
  340. dw_revlist.Object.sendid[ll_row] = 0
  341. dw_revlist.Object.printid[ll_row] = 0
  342. dw_revlist.Object.reltype[ll_row] = s_data.reltype
  343. dw_revlist.Object.relid[ll_row] = s_data.relid
  344. dw_revlist.Object.revaddress[ll_row] = s_data.mailAddress
  345. dw_revlist.Object.revname[ll_row] = s_data.mailname
  346. dw_revlist.Object.dscrp[ll_row] = ''
  347. END IF
  348. END IF
  349. ext:
  350. ll_index = lv_1.FindItem(ll_index, DirectionDown!, False, True, False, False)
  351. LOOP
  352. END IF
  353. end event
  354. type cb_del from uo_imflatbutton within w_ljmail_msgmx_ch
  355. integer x = 1705
  356. integer y = 768
  357. integer taborder = 30
  358. boolean bringtotop = true
  359. string text = "删除"
  360. string normalpicname = "p1.ICO"
  361. integer picsize = 16
  362. end type
  363. event clicked;call super::clicked;long ll_row
  364. dw_revlist.setredraw(false)
  365. for ll_row = dw_revlist.RowCount() TO 1 Step -1
  366. if dw_revlist.IsSelected(ll_row) then
  367. dw_revlist.deleteRow(ll_row)
  368. end if
  369. next
  370. dw_revlist.setredraw(true)
  371. dw_revlist.setfocus( )
  372. end event
  373. type dw_revlist from u_dw_rbtnfilter within w_ljmail_msgmx_ch
  374. integer x = 2048
  375. integer y = 112
  376. integer width = 1952
  377. integer height = 1788
  378. integer taborder = 20
  379. boolean bringtotop = true
  380. string dataobject = "dw_email_sendmx_view"
  381. boolean hscrollbar = true
  382. boolean vscrollbar = true
  383. boolean hsplitscroll = true
  384. boolean rbutton_filter_use = true
  385. boolean titleclick_sort_use = true
  386. string cur_allowversion = "0"
  387. end type
  388. event doubleclicked;call super::doubleclicked;if row > 0 then
  389. dw_revlist.deleterow(row)
  390. end if
  391. end event
  392. event clicked;call super::clicked;long ll_i
  393. IF row > 0 THEN
  394. THIS.SetRow(row)
  395. IF KeyDown(keycontrol!) THEN
  396. THIS.SelectRow(row,NOT THIS.IsSelected(row))
  397. ll_lastrow = row
  398. ELSEIF KeyDown(keyshift!) THEN //按下SHIFT键
  399. IF ll_lastrow = 0 THEN //上次没选中任何行
  400. THIS.SelectRow(row,TRUE)
  401. ll_lastrow = row //ll_lastrow为实例变量,记录上次单击的行
  402. ELSE
  403. THIS.SelectRow(0,FALSE) //全都不选中
  404. IF row > ll_lastrow THEN
  405. FOR ll_i = ll_lastrow TO row
  406. THIS.SelectRow(ll_i,TRUE)
  407. NEXT
  408. ELSE
  409. FOR ll_i = ll_lastrow TO row STEP -1
  410. THIS.SelectRow(ll_i,TRUE)
  411. NEXT
  412. END IF
  413. END IF
  414. ELSE
  415. THIS.SelectRow(0,FALSE)
  416. THIS.SelectRow(row,TRUE)
  417. ll_lastrow = row
  418. END IF
  419. END IF
  420. end event
  421. type cb_ok from uo_imflatbutton within w_ljmail_msgmx_ch
  422. integer x = 3337
  423. integer y = 1952
  424. integer taborder = 30
  425. boolean bringtotop = true
  426. string normalpicname = "ok.bmp"
  427. integer picsize = 16
  428. end type
  429. event clicked;call super::clicked;s_sendmx_parm s_sendmx
  430. long i
  431. FOR i = 1 TO dw_revlist.RowCount()
  432. s_sendmx.sendmx[i].printid = i
  433. s_sendmx.sendmx[i].sendid = 0
  434. s_sendmx.sendmx[i].reltype = dw_revlist.Object.reltype[i]
  435. s_sendmx.sendmx[i].Relid = dw_revlist.Object.Relid[i]
  436. s_sendmx.sendmx[i].Revname = RightTrim(LeftTrim(dw_revlist.Object.Revname[i]))
  437. s_sendmx.sendmx[i].revaddress = RightTrim(LeftTrim(dw_revlist.Object.revaddress[i]))
  438. NEXT
  439. closewithreturn(parent, s_sendmx)
  440. end event
  441. type cb_cancel from uo_imflatbutton within w_ljmail_msgmx_ch
  442. integer x = 3680
  443. integer y = 1952
  444. integer taborder = 40
  445. boolean bringtotop = true
  446. string text = "取消"
  447. boolean cancel = true
  448. string normalpicname = "exit.bmp"
  449. integer picsize = 16
  450. end type
  451. event clicked;call super::clicked;close(parent)
  452. end event
  453. type tv_1 from treeview within w_ljmail_msgmx_ch
  454. integer y = 112
  455. integer width = 1659
  456. integer height = 1788
  457. integer taborder = 20
  458. boolean bringtotop = true
  459. integer textsize = -9
  460. fontcharset fontcharset = gb2312charset!
  461. fontpitch fontpitch = variable!
  462. string facename = "宋体"
  463. borderstyle borderstyle = stylelowered!
  464. string picturename[] = {"email_whitebook.bmp","email_colorbook.bmp","email_rep.bmp",""}
  465. long picturemaskcolor = 536870912
  466. long statepicturemaskcolor = 536870912
  467. end type
  468. event constructor;/****************************************************************
  469. * global type s_tv_data from structure
  470. * integer reltype
  471. * long relid
  472. * string mailname
  473. * string mailaddress
  474. * end type
  475. * reltype: 0: 通信录联系人
  476. * 1: 客户
  477. * 2: 供应商
  478. * 3: 手动
  479. * 4: 客户联系人
  480. * 5: 供应商联系人
  481. * 6: 员工
  482. * ---------------
  483. * 10: 通信录
  484. * 11: 客户区域
  485. * 12: 客户区域根目录
  486. * 13: 供应商类别
  487. * 14: 供应商类别根目录
  488. * 15: 部门
  489. * 16: 部门根目录
  490. * -------------------
  491. * -1: 根目录
  492. *
  493. *
  494. *
  495. *****************************************************************/
  496. Long tvi_hdl = 0
  497. Long ll_parent, ll_rep_hand, ll_cus_hand, ll_spt_hand
  498. ll_parent = This.InsertItemLast(0,'[双击添加]', 1)
  499. ll_rep_hand = This.InsertItemLast(ll_parent, '通讯录', 2)
  500. ll_cus_hand = This.InsertItemLast(ll_parent, '客户', 2)
  501. ll_spt_hand = This.InsertItemLast(ll_parent, '供应商', 2)
  502. TreeViewItem l_tvi
  503. s_tv_data s_data
  504. IF This.GetItem(ll_parent, l_tvi) = 1 THEN
  505. s_data.reltype = -1
  506. s_data.relid = 0
  507. s_data.mailname = ''
  508. s_data.mailAddress = ''
  509. l_tvi.Data = s_data
  510. This.SetItem(ll_parent, l_tvi)
  511. END IF
  512. IF This.GetItem(ll_rep_hand, l_tvi) = 1 THEN
  513. l_tvi.Children = True
  514. s_data.reltype = 10
  515. s_data.relid = 0
  516. s_data.mailname = ''
  517. s_data.mailAddress = ''
  518. l_tvi.Data = s_data
  519. This.SetItem(ll_rep_hand, l_tvi)
  520. END IF
  521. IF This.GetItem(ll_cus_hand, l_tvi) = 1 THEN
  522. l_tvi.Children = True
  523. s_data.reltype = 12
  524. s_data.relid = 0
  525. s_data.mailname = ''
  526. s_data.mailAddress = ''
  527. l_tvi.Data = s_data
  528. This.SetItem(ll_cus_hand, l_tvi)
  529. END IF
  530. IF This.GetItem(ll_spt_hand, l_tvi) = 1 THEN
  531. l_tvi.Children = True
  532. s_data.reltype = 14
  533. s_data.relid = 0
  534. s_data.mailname = ''
  535. s_data.mailAddress = ''
  536. l_tvi.Data = s_data
  537. This.SetItem(ll_spt_hand, l_tvi)
  538. END IF
  539. This.ExpandItem(ll_parent)
  540. end event
  541. event itemexpanding;treeviewitem l_tvi, l_tvi_new
  542. IF This.GetItem(Handle, l_tvi) <> 1 THEN
  543. RETURN
  544. END IF
  545. s_tv_data s_data, s_data_new
  546. s_data = l_tvi.Data
  547. Long ll_relid, ll_new_handle, ll_cnt
  548. String ls_mailname, ls_mailaddress,ls_repname
  549. IF Not l_tvi.ExpandedOnce THEN
  550. Boolean hasChild = False
  551. /////////////////////////////////////////////////////////////// //
  552. IF s_data.reltype = 10 THEN // 加入通信录联系人
  553. // TODO: 要改成ljmail联系人
  554. DECLARE cursor10 CURSOR FOR
  555. SELECT repID AS relid, mailname, mailaddress
  556. FROM u_email_rep
  557. WHERE ( (empid = :sys_empid) OR
  558. (empid = 0) )And (reptype = 1);
  559. OPEN cursor10;
  560. FETCH cursor10 Into :ll_relid, :ls_mailname, :ls_mailaddress;
  561. DO While (sqlca.SQLCode = 0)
  562. s_data_new.reltype = 0 //
  563. s_data_new.relid = ll_relid
  564. s_data_new.mailname = ls_mailname
  565. s_data_new.mailAddress = ls_mailaddress
  566. ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 在此设置联系人图标
  567. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  568. l_tvi_new.Data = s_data_new
  569. This.SetItem(ll_new_handle, l_tvi_new)
  570. END IF
  571. hasChild = True
  572. FETCH cursor10 Into :ll_relid, :ls_mailname, :ls_mailaddress;
  573. LOOP
  574. CLOSE cursor10;
  575. ///////////////////////////////////////////////////////////////// //
  576. ELSEIF s_data.reltype = 12 Or s_data.reltype = 11 THEN // 加入客户区域
  577. DECLARE cursor12 CURSOR FOR
  578. SELECT cusareaid, cusareaname, areaname
  579. FROM u_cusarea
  580. Where parentid = :s_data.relid;
  581. OPEN cursor12;
  582. FETCH cursor12 Into :ll_relid, :ls_mailname, :ls_mailaddress;
  583. DO While (sqlca.SQLCode = 0)
  584. IF Not wf_cansee_cusarea(ll_relid) THEN GOTO ext12
  585. s_data_new.reltype = 11
  586. s_data_new.relid = ll_relid
  587. s_data_new.mailname = ''
  588. s_data_new.mailAddress = ''
  589. s_data_new.repname=''
  590. ll_new_handle = This.InsertItemLast(Handle, ls_mailname, 2) // 在此设置区域图标
  591. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  592. l_tvi_new.Children = true
  593. l_tvi_new.Data = s_data_new
  594. This.SetItem(ll_new_handle, l_tvi_new)
  595. END IF
  596. hasChild = True
  597. ext12:
  598. FETCH cursor12 Into :ll_relid, :ls_mailname, :ls_mailaddress;
  599. LOOP
  600. CLOSE cursor12;
  601. ///////////////////////////////////////////////////////////////// //
  602. IF s_data.reltype = 11 THEN // 加入客户
  603. DECLARE cursor11 CURSOR FOR
  604. SELECT cusid AS relid,ltrim(rtrim( name))+' '+rep AS mailname, ljmail AS mailaddress,u_cust.rep
  605. FROM u_cust
  606. Where (inuse = 1) And (cusareaid = :s_data.relid);
  607. OPEN cursor11;
  608. FETCH cursor11 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  609. DO While (sqlca.SQLCode = 0)
  610. s_data_new.reltype = 1
  611. s_data_new.relid = ll_relid
  612. s_data_new.mailname = ls_mailname
  613. s_data_new.mailAddress = ls_mailaddress
  614. s_data_new.repname=ls_repname
  615. long len
  616. len=len(ls_mailname)
  617. IF Not wf_cansee_cus(ll_relid) THEN GOTO ext11
  618. ll_new_handle = This.InsertItemLast(Handle,ls_mailname + '<' + ls_mailaddress + '>', 3) // 在此设置客户图标
  619. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  620. l_tvi_new.Children = wf_cus_haschild(ll_relid)
  621. l_tvi_new.Data = s_data_new
  622. This.SetItem(ll_new_handle, l_tvi_new)
  623. END IF
  624. hasChild = True
  625. ext11:
  626. FETCH cursor11 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  627. LOOP
  628. CLOSE cursor11;
  629. END IF
  630. ///////////////////////////////////////////////////////////////////// //
  631. ELSEIF s_data.reltype = 14 THEN // 加入供应商类别
  632. DECLARE cursor14 CURSOR FOR
  633. SELECT u_spttype.spttypeid,
  634. u_spttype.spttypename
  635. FROM u_spttype
  636. Where u_spttype.inuse = 1;
  637. OPEN cursor14;
  638. FETCH cursor14 Into :ll_relid, :ls_mailname;
  639. DO While (sqlca.SQLCode = 0)
  640. IF Not wf_cansee_spttype(ll_relid) THEN GOTO ext14
  641. s_data_new.reltype = 13
  642. s_data_new.relid = ll_relid
  643. s_data_new.mailname = ''
  644. s_data_new.mailAddress = ''
  645. s_data_new.repname=''
  646. ll_new_handle = This.InsertItemLast(Handle, ls_mailname, 2) // 在此设置供应商类别图标
  647. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  648. l_tvi_new.Children = True
  649. l_tvi_new.Data = s_data_new
  650. This.SetItem(ll_new_handle, l_tvi_new)
  651. END IF
  652. hasChild = True
  653. ext14:
  654. FETCH cursor14 Into :ll_relid, :ls_mailname;
  655. LOOP
  656. CLOSE cursor14;
  657. ///////////////////////////////////////////////////// //
  658. ELSEIF s_data.reltype = 13 THEN // 加入供应商
  659. DECLARE cursor13 CURSOR FOR
  660. SELECT sptid AS relid, ltrim(rtrim( name))+' '+rep AS mailname, ljmail AS mailaddress,u_spt.rep
  661. FROM u_spt
  662. Where (inuse = 1) And (spttypeid = :s_data.relid);
  663. OPEN cursor13;
  664. FETCH cursor13 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  665. DO While (sqlca.SQLCode = 0)
  666. s_data_new.reltype = 2
  667. s_data_new.relid = ll_relid
  668. s_data_new.mailname = ls_mailname
  669. s_data_new.mailAddress = ls_mailaddress
  670. s_data_new.repname=ls_repname
  671. IF Not wf_cansee_spt(ll_relid) THEN GOTO ext13
  672. ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 设置供应商图标
  673. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  674. l_tvi_new.Children = wf_spt_haschild(ll_relid)
  675. l_tvi_new.Data = s_data_new
  676. This.SetItem(ll_new_handle, l_tvi_new)
  677. END IF
  678. hasChild = True
  679. ext13:
  680. FETCH cursor13 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  681. LOOP
  682. CLOSE cursor13;
  683. //////////////////////////////////////////////////////////// //
  684. ELSEIF s_data.reltype = 1 THEN // 加入客户联系人
  685. DECLARE cursor1 CURSOR FOR
  686. SELECT u_cust_rep.repid, RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) AS mailname,
  687. u_cust_rep.ljmail AS mailaddress,u_cust_rep.repname
  688. FROM u_cust AS u_cust_1 INNER JOIN
  689. u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid
  690. WHERE (u_cust_1.cusid = :s_data.relid)
  691. And (u_cust_rep.ljmail <> '');
  692. OPEN cursor1;
  693. FETCH cursor1 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  694. DO While(sqlca.SQLCode = 0)
  695. s_data_new.reltype = 4
  696. s_data_new.relid = ll_relid
  697. s_data_new.mailname = ls_mailname
  698. s_data_new.mailAddress = ls_mailaddress
  699. s_data_new.repname=ls_repname
  700. ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 设置客户联系人图标
  701. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  702. l_tvi_new.Data = s_data_new
  703. This.SetItem(ll_new_handle, l_tvi_new)
  704. END IF
  705. hasChild = True
  706. FETCH cursor1 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  707. LOOP
  708. CLOSE cursor1;
  709. ELSEIF s_data.reltype = 2 THEN // 加入供应商联系人
  710. DECLARE cursor2 CURSOR FOR
  711. SELECT u_spt_rep.repid, RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) AS mailname,
  712. u_spt_rep.ljmail AS mailaddress,u_spt_rep.repname
  713. FROM u_spt AS u_spt_1 INNER JOIN
  714. u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid
  715. WHERE (u_spt_1.inuse = 1) AND (u_spt_1.sptid = :s_data.relid)
  716. And (u_spt_rep.ljmail <> '');
  717. OPEN cursor2;
  718. FETCH cursor2 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  719. DO While(sqlca.SQLCode = 0)
  720. s_data_new.reltype = 5
  721. s_data_new.relid = ll_relid
  722. s_data_new.mailname = ls_mailname
  723. s_data_new.mailAddress = ls_mailaddress
  724. s_data_new.repname=ls_repname
  725. ll_new_handle = This.InsertItemLast(Handle, ls_mailname + '<' + ls_mailaddress + '>', 3) // 设置供应商联系人图标
  726. IF This.GetItem(ll_new_handle, l_tvi_new) = 1 THEN
  727. l_tvi_new.Data = s_data_new
  728. This.SetItem(ll_new_handle, l_tvi_new)
  729. END IF
  730. hasChild = True
  731. FETCH cursor2 Into :ll_relid, :ls_mailname, :ls_mailaddress,:ls_repname;
  732. LOOP
  733. CLOSE cursor2;
  734. END IF
  735. IF s_data.reltype <> -1 THEN
  736. l_tvi.Children = hasChild
  737. This.SetItem(Handle, l_tvi)
  738. END IF
  739. END IF
  740. end event
  741. event doubleclicked;treeviewitem l_tvi
  742. long ll_row
  743. s_tv_data s_data
  744. if this.getitem(handle, l_tvi) = 1 then
  745. s_data = l_tvi.data
  746. if trim(s_data.mailaddress) = '' then
  747. return
  748. end if
  749. if dw_revlist.Find('relid=' + string(s_data.relid) + ' and reltype=' + string(s_data.reltype), 1, dw_revlist.RowCount()) = 0 then
  750. ll_row = dw_revlist.insertrow(0)
  751. dw_revlist.object.sendid[ll_row] = 0
  752. dw_revlist.object.printid[ll_row] = 0
  753. dw_revlist.object.reltype[ll_row] = s_data.reltype
  754. dw_revlist.object.relid[ll_row] = s_data.relid
  755. dw_revlist.object.revaddress[ll_row] = s_data.mailaddress
  756. dw_revlist.object.revname[ll_row] = s_data.mailname
  757. dw_revlist.object.dscrp[ll_row] = ''
  758. end if
  759. end if
  760. end event
  761. event selectionchanged;il_tv_handle = newhandle
  762. end event
  763. type sle_1 from singlelineedit within w_ljmail_msgmx_ch
  764. event keyup pbm_keyup
  765. integer x = 5
  766. integer y = 12
  767. integer width = 1335
  768. integer height = 84
  769. integer taborder = 20
  770. boolean bringtotop = true
  771. integer textsize = -9
  772. fontcharset fontcharset = gb2312charset!
  773. fontpitch fontpitch = variable!
  774. string facename = "宋体"
  775. borderstyle borderstyle = stylelowered!
  776. end type
  777. event keyup;if key <> KeyEnter! then return
  778. cb_find.triggerevent(clicked!)
  779. end event
  780. type sle_2 from singlelineedit within w_ljmail_msgmx_ch
  781. event keyup pbm_keyup
  782. integer x = 2053
  783. integer y = 12
  784. integer width = 1627
  785. integer height = 84
  786. integer taborder = 40
  787. boolean bringtotop = true
  788. integer textsize = -9
  789. fontcharset fontcharset = gb2312charset!
  790. fontpitch fontpitch = variable!
  791. string facename = "宋体"
  792. borderstyle borderstyle = stylelowered!
  793. end type
  794. event keyup;if key = KeyEnter! then
  795. parent.triggerevent('ue_add_mail')
  796. end if
  797. end event
  798. type lv_1 from listview within w_ljmail_msgmx_ch
  799. boolean visible = false
  800. integer y = 112
  801. integer width = 1659
  802. integer height = 1788
  803. integer taborder = 40
  804. boolean bringtotop = true
  805. integer textsize = -9
  806. fontcharset fontcharset = gb2312charset!
  807. fontpitch fontpitch = variable!
  808. string facename = "宋体"
  809. borderstyle borderstyle = stylelowered!
  810. boolean extendedselect = true
  811. grsorttype sorttype = ascending!
  812. listviewview view = listviewsmallicon!
  813. long largepicturemaskcolor = 536870912
  814. string smallpicturename[] = {"email_rep.bmp"}
  815. long smallpicturemaskcolor = 536870912
  816. long statepicturemaskcolor = 536870912
  817. end type
  818. event doubleclicked;listviewitem l_tvi
  819. long ll_row
  820. s_tv_data s_data
  821. if this.getitem(index, l_tvi) = 1 then
  822. s_data = l_tvi.data
  823. if trim(s_data.mailaddress) = '' then
  824. return
  825. end if
  826. if dw_revlist.Find('relid=' + string(s_data.relid) + ' and reltype=' + string(s_data.reltype), 1, dw_revlist.RowCount()) = 0 then
  827. ll_row = dw_revlist.insertrow(0)
  828. dw_revlist.object.sendid[ll_row] = 0
  829. dw_revlist.object.printid[ll_row] = 0
  830. dw_revlist.object.reltype[ll_row] = s_data.reltype
  831. dw_revlist.object.relid[ll_row] = s_data.relid
  832. dw_revlist.object.revaddress[ll_row] = s_data.mailaddress
  833. dw_revlist.object.revname[ll_row] = s_data.mailname
  834. dw_revlist.object.dscrp[ll_row] = ''
  835. end if
  836. end if
  837. end event
  838. type cb_find from uo_imflatbutton within w_ljmail_msgmx_ch
  839. integer x = 1353
  840. integer y = 4
  841. integer taborder = 30
  842. boolean bringtotop = true
  843. string text = "查找"
  844. string normalpicname = "PREVIEW.BMP"
  845. integer picsize = 16
  846. end type
  847. event clicked;call super::clicked;if sle_1.text = '' then
  848. tv_1.visible = true
  849. lv_1.visible = not tv_1.visible
  850. else
  851. tv_1.visible = false
  852. lv_1.visible = not tv_1.visible
  853. lv_1.DeleteItems()
  854. long ll_relid, ll_tmp
  855. string arg_parm, ls_mailname, ls_mailaddress
  856. s_tv_data s_data
  857. listviewitem l_lvi
  858. arg_parm = '%' + sle_1.text + '%'
  859. lv_1.setredraw(false)
  860. // 通信录
  861. declare cursor1 cursor for
  862. SELECT repID AS relid, mailname, mailaddress
  863. FROM u_email_rep
  864. WHERE (empid = :sys_empid OR
  865. empid = 0) AND (reptype = 1) AND (LOWER(mailname) LIKE LOWER(:arg_parm) OR
  866. LOWER(mailaddress) LIKE LOWER(:arg_parm));
  867. open cursor1;
  868. fetch cursor1 INTO :ll_relid, :ls_mailname, :ls_mailaddress;
  869. do while (sqlca.sqlcode = 0)
  870. s_data.reltype = 0
  871. s_data.relid = ll_relid
  872. s_data.mailname = ls_mailname
  873. s_data.mailaddress = ls_mailaddress
  874. l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
  875. l_lvi.data = s_data
  876. l_lvi.pictureindex = 1
  877. lv_1.additem(l_lvi)
  878. fetch cursor1 INTO :ll_relid, :ls_mailname, :ls_mailaddress;
  879. loop
  880. close cursor1;
  881. // 客户
  882. declare cursor2 cursor for
  883. SELECT cusid, cuscode, ljmail, cusareaid
  884. FROM u_cust
  885. WHERE (inuse = 1) AND (ljmail <> '') AND (LOWER(cuscode) LIKE LOWER(:arg_parm) OR
  886. LOWER(ljmail) LIKE LOWER(:arg_parm));
  887. open cursor2;
  888. fetch cursor2 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  889. do while (sqlca.sqlcode = 0)
  890. if not wf_cansee_cusarea(ll_tmp) then goto ext2
  891. s_data.reltype = 1
  892. s_data.relid = ll_relid
  893. s_data.mailname = ls_mailname
  894. s_data.mailaddress = ls_mailaddress
  895. l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
  896. l_lvi.data = s_data
  897. l_lvi.pictureindex = 1
  898. lv_1.additem(l_lvi)
  899. ext2:
  900. fetch cursor2 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  901. loop
  902. close cursor2;
  903. // 客户联系人
  904. declare cursor3 cursor for
  905. SELECT u_cust_rep.repid, RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname)) AS mailname,
  906. u_cust_rep.ljmail AS mailaddress, u_cust_1.cusareaid
  907. FROM u_cust AS u_cust_1 INNER JOIN
  908. u_cust_rep ON u_cust_1.cusid = u_cust_rep.cusid AND u_cust_1.cusid = u_cust_rep.cusid
  909. WHERE (u_cust_1.inuse = 1) AND (u_cust_rep.ljmail <> '') AND
  910. (LOWER(RTRIM(LTRIM(u_cust_1.cuscode)) + '-' + RTRIM(LTRIM(u_cust_rep.repname))) LIKE LOWER(:arg_parm) OR
  911. LOWER(u_cust_rep.ljmail) LIKE LOWER(:arg_parm));
  912. open cursor3;
  913. fetch cursor3 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  914. do while (sqlca.sqlcode = 0)
  915. if not wf_cansee_cusarea(ll_tmp) then goto ext3
  916. s_data.reltype = 4
  917. s_data.relid = ll_relid
  918. s_data.mailname = ls_mailname
  919. s_data.mailaddress = ls_mailaddress
  920. l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
  921. l_lvi.data = s_data
  922. l_lvi.pictureindex = 1
  923. lv_1.additem(l_lvi)
  924. ext3:
  925. fetch cursor3 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  926. loop
  927. close cursor3;
  928. // 供应商
  929. declare cursor4 cursor for
  930. SELECT sptid, sptcode, ljmail,spttypeid
  931. FROM u_spt
  932. WHERE (inuse = 1) AND (ljmail <> '') AND (LOWER(sptcode) LIKE LOWER(:arg_parm) OR
  933. LOWER(ljmail) LIKE LOWER(:arg_parm));
  934. open cursor4;
  935. fetch cursor4 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  936. do while (sqlca.sqlcode = 0)
  937. if not wf_cansee_spttype(ll_tmp) then goto ext4
  938. s_data.reltype = 2
  939. s_data.relid = ll_relid
  940. s_data.mailname = ls_mailname
  941. s_data.mailaddress = ls_mailaddress
  942. l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
  943. l_lvi.data = s_data
  944. l_lvi.pictureindex = 1
  945. lv_1.additem(l_lvi)
  946. ext4:
  947. fetch cursor4 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  948. loop
  949. close cursor4;
  950. // 供应商联系人
  951. declare cursor5 cursor for
  952. SELECT u_spt_rep.repid, RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname)) AS mailname,
  953. u_spt_rep.ljmail AS mailaddress,u_spt_1.spttypeid
  954. FROM u_spt AS u_spt_1 INNER JOIN
  955. u_spt_rep ON u_spt_1.sptid = u_spt_rep.sptid AND u_spt_1.sptid = u_spt_rep.sptid
  956. WHERE (u_spt_1.inuse = 1) AND (u_spt_rep.ljmail <> '') AND
  957. (LOWER(RTRIM(LTRIM(u_spt_1.sptcode)) + '-' + RTRIM(LTRIM(u_spt_rep.repname))) LIKE LOWER(:arg_parm) OR
  958. LOWER(u_spt_rep.ljmail) LIKE LOWER(:arg_parm));
  959. open cursor5;
  960. fetch cursor5 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  961. do while (sqlca.sqlcode = 0)
  962. if not wf_cansee_spttype(ll_tmp) then goto ext5
  963. s_data.reltype = 2
  964. s_data.relid = ll_relid
  965. s_data.mailname = ls_mailname
  966. s_data.mailaddress = ls_mailaddress
  967. l_lvi.label = ls_mailname + '<' + ls_mailaddress + '>'
  968. l_lvi.data = s_data
  969. l_lvi.pictureindex = 1
  970. lv_1.additem(l_lvi)
  971. ext5:
  972. fetch cursor5 INTO :ll_relid, :ls_mailname, :ls_mailaddress, :ll_tmp;
  973. loop
  974. close cursor5;
  975. lv_1.setredraw(true)
  976. end if
  977. end event
  978. type cb_3 from uo_imflatbutton within w_ljmail_msgmx_ch
  979. integer x = 3698
  980. integer y = 4
  981. integer taborder = 30
  982. boolean bringtotop = true
  983. string text = "添加"
  984. string normalpicname = "NEW.BMP"
  985. integer picsize = 16
  986. end type
  987. event clicked;call super::clicked;parent.triggerevent('ue_add_mail')
  988. end event
  989. type ln_bar from line within w_ljmail_msgmx_ch
  990. long linecolor = 268435456
  991. integer linethickness = 4
  992. integer beginy = 1924
  993. integer endx = 3118
  994. integer endy = 1924
  995. end type
  996. type ln_bar2 from line within w_ljmail_msgmx_ch
  997. long linecolor = 16777215
  998. integer linethickness = 4
  999. integer beginy = 1928
  1000. integer endx = 3150
  1001. integer endy = 1928
  1002. end type