12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292 |
- $PBExportHeader$w_sysplan_dw_freeform_edit.srw
- forward
- global type w_sysplan_dw_freeform_edit from w_publ_base
- end type
- type dw_1 from u_dw_uc_rbtnfilter within w_sysplan_dw_freeform_edit
- end type
- type cb_1 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- end type
- type cb_2 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- end type
- type cb_3 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- end type
- type cb_4 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- end type
- type cb_5 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- end type
- type r_bar from rectangle within w_sysplan_dw_freeform_edit
- end type
- type ln_bar from line within w_sysplan_dw_freeform_edit
- end type
- type ln_bar2 from line within w_sysplan_dw_freeform_edit
- end type
- end forward
- global type w_sysplan_dw_freeform_edit from w_publ_base
- integer width = 3145
- integer height = 2380
- string title = "布局设置"
- boolean minbox = false
- windowtype windowtype = response!
- long backcolor = 134217738
- dw_1 dw_1
- cb_1 cb_1
- cb_2 cb_2
- cb_3 cb_3
- cb_4 cb_4
- cb_5 cb_5
- r_bar r_bar
- ln_bar ln_bar
- ln_bar2 ln_bar2
- end type
- global w_sysplan_dw_freeform_edit w_sysplan_dw_freeform_edit
- type variables
- Long cur_type = -1
- Long uc_column_int
- Long cur_nomodify[]
- Long cur_start = 0
- String cur_win
- String dwoselect
- String cur_mod[]
- Long cur_resize = 0
- Long cur_select = 0
- Long ii_x_scroll,ii_y_scroll
- Long cur_x,cur_y
- String cur_chname[]
- long cur_mainid
- end variables
- forward prototypes
- public subroutine wf_open ()
- public subroutine wf_aoto_taborder ()
- public function integer wf_get_max (integer arg_type)
- public subroutine wf_show (integer arg_show[])
- public subroutine wf_get_columnname (ref string arg_name[])
- public function integer wf_get_max (integer arg_type, integer arg_long[])
- end prototypes
- public subroutine wf_open ();
- long nColumnCount,nColumnIndex
- string des_1,des_2,des_3,szColumn,ls_pkcolname
- string ls_name
- nColumnCount = Integer( dw_1.Object.DataWindow.Column.Count)
- ls_name = dw_1.describe("DataWindow.Objects")
- string ls_a[]
- long i=0
- do while pos(ls_name,'~t') > 1
- i++
- ls_a[i] = mid(ls_name,1,pos(ls_name,'~t') -1)
- ls_name = mid(ls_name,pos(ls_name,'~t') + 1,len(ls_name))
- loop
- i++
- ls_a[i] = ls_name
- FOR i= 1 to upperbound(ls_a)
- des_1 = ls_a[i]
- dw_1.modify(des_1+'.moveable = 1')
- dw_1.modify(des_1+'.resizeable = 1')
- dw_1.modify(des_1+'.border = 2')
- // dw_1.modify(des_1+'.color = 255')
- next
- end subroutine
- public subroutine wf_aoto_taborder ();Long nColumnIndex,nColumnCount,lRow,ls_i,i = 1
- String des_1,des_2,szColumn,str
- String Name[]
- Long ll_x[],ll_y[],ll_width[],ll_height[]
- Long ll_count
- //获取所有可以编辑的字段名称、横纵坐标
- nColumnCount = Integer( dw_1.Object.DataWindow.Column.Count)
- FOR nColumnIndex = 1 TO nColumnCount
- des_1 = dw_1.DESCRIBE( "#" + String(nColumnIndex) + ".Name")
- des_2 = dw_1.DESCRIBE(des_1+ "_t.Text")
-
- szColumn = f_strip( des_2)
- IF Long(dw_1.DESCRIBE(des_1+ ".Visible")) = 1 AND Long(dw_1.DESCRIBE(des_1+ ".x")) > 0 THEN
- IF nColumnIndex <= uc_column_int THEN
- Name[i] = des_1
- ll_x[i] = Long(dw_1.DESCRIBE(des_1+ ".x"))
- ll_y[i] = Long(dw_1.DESCRIBE(des_1+ ".y"))
- ll_width[i] = Long(dw_1.DESCRIBE(des_1+ ".width"))
- ll_height[i] = Long(dw_1.DESCRIBE(des_1+ ".height"))
- i++
- END IF
- END IF
- NEXT
- //////----------------------------
- ll_count = i - 1
- Long Min,minnub
- Long newx[],j = 1,ll_cnt,ll_t,midx[],k,ll_null[]
- String newname[],ls_t,midname[]
- String ls_null[]
- cnt:
- //找出纵坐标最小字段
- Min = ll_y[1]
- minnub = 1
- FOR i = 2 TO ll_count
- IF Min <= ll_y[i] THEN
-
- ELSE
- Min = ll_y[i]
- minnub = i
- END IF
- NEXT
- ////////////--------------------------
- //找出与最少纵坐标字段同行的所有字段
- j = 1
- FOR i = 1 TO ll_count
- IF ll_y[i] >= ll_y[minnub] AND ll_y[i] <= (ll_height[minnub] +ll_y[minnub]) THEN
- midname[j] = Name[i]
- midx[j] = ll_x[i]
- j++
- END IF
- NEXT
- ll_cnt = j -1
- /////-------------------------------
- //将同行的字段进行排序(按横坐标大小)
- FOR i = 1 TO ll_cnt - 1
- FOR j = i + 1 TO ll_cnt
- IF midx[i] < midx[j] THEN
-
- ELSE
- ll_t = midx[i]
- midx[i] = midx[j]
- midx[j] = ll_t
- ls_t = midname[i]
- midname[i] = midname[j]
- midname[j] = ls_t
- END IF
- NEXT
- NEXT
- ////////////----------------------------
- //删除已经排序的字段
- //FOR i = 1 TO ll_count
- // FOR j = 1 TO ll_cnt
- // IF Name[i] = midname[j] THEN
- // FOR k = i TO ll_count -1
- // Name[k] = Name[k+1]
- // ll_x[k] = ll_x[k+1]
- // ll_y[k] = ll_y[k+1]
- // ll_width[k] = ll_width[k+1]
- // ll_height[k] = ll_height[k+1]
- // NEXT
- // ll_count --
- // END IF
- // NEXT
- //NEXT
- FOR i = 1 TO ll_count
- FOR j = 1 TO ll_cnt
- IF Name[i] = midname[j] THEN
- Name[i] = ''
- k++
- END IF
- NEXT
- NEXT
- j = 0
- FOR i = ll_count TO 1 STEP -1
- IF Name[i] = '' THEN
- FOR k = i TO ll_count -1
- Name[k] = Name[k+1]
- ll_x[k] = ll_x[k+1]
- ll_y[k] = ll_y[k+1]
- ll_width[k] = ll_width[k+1]
- ll_height[k] = ll_height[k+1]
- NEXT
- j++
- END IF
- NEXT
- ll_count = ll_count - j
- ////////----------------------------
- //将排好序的一行字段,放入目的数组,清空临时数组
- Long ll_bnd
- ll_bnd = UpperBound(newname)
- FOR i = 1 TO ll_cnt
- newname[ll_bnd + i] = midname[i]
- NEXT
- midname[] = ls_null[]
- midx[] = ll_null[]
- ////////////-----------------------------------
- IF ll_count > 0 THEN
- GOTO cnt
- END IF
- Long aaa
- String ls_taborder_auto = ''
- FOR i = 1 TO UpperBound(newname)
- ls_taborder_auto = ls_taborder_auto + newname[i]+".Tabsequence="+String(i * 10)+'~t'
- NEXT
- String ls_data
- ls_data = dw_1.DataObject
- /////保存taporder
- UPDATE sys_user_dwnSyntax
- SET dwnSyntax_layout_column_taporder = :ls_taborder_auto
- WHERE empid = :sys_empid
- AND dwname = :ls_data;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO sys_user_dwnSyntax
- (empid,
- dwname,
- dwnSyntax_filter,
- dwnSyntax_sort,
- dwnSyntax_layout_column_visible,
- dwnSyntax_layout_column_width,
- dwnSyntax_layout_column_alignment,
- dwnSyntax_layout_column_pos,
- dwnSyntax_layout_column_edit,
- dwnSyntax_layout_column_font,
- dwnSyntax_layout_column_height,
- dwnSyntax_layout_column_taporder)
- Values(:publ_userid,:ls_data,'','','','','','','','','',:ls_taborder_auto);
- END IF
- END IF
- COMMIT;
- /////////////////////////
- //messagebox('',ls_taborder_auto)
- dw_1.ins_mdfstr_column_taporder = ls_taborder_auto
- MessageBox('提示','OK')
- end subroutine
- public function integer wf_get_max (integer arg_type);//wf_get_max()
- long nColumnIndex,nColumnCount,lRow,ls_i,j=1
- string des_1,des_2,szColumn,str
- long ll_x[100],ll_y[100],ll_width[100],ll_height[100]
- //获取所有可以编辑的字段名称、横纵坐标
- string des_3,ls_pkcolname
- string ls_name
- nColumnCount = Integer( dw_1.Object.DataWindow.Column.Count)
- ls_name = dw_1.describe("DataWindow.Objects")
- string ls_a[]
- long i=0
- do while pos(ls_name,'~t') > 1
- i++
- ls_a[i] = mid(ls_name,1,pos(ls_name,'~t') -1)
- ls_name = mid(ls_name,pos(ls_name,'~t') + 1,len(ls_name))
- loop
- i++
- ls_a[i] = ls_name
- FOR i= 1 to upperbound(ls_a)
- des_1 = ls_a[i]
- if long(dw_1.describe(des_1+'.visible')) = 1 then
- ll_x[j] = long(dw_1.describe(des_1+'.x'))
- ll_y[j] = long(dw_1.describe(des_1+'.y'))
- ll_width[j] = long(dw_1.describe(des_1+'.width'))
- ll_height[j] = long(dw_1.describe(des_1+'.height'))
- j++
- end if
- next
- long ll_maxwid,ll_maxhig
- ll_maxwid = ll_x[1] + ll_width[1]
- for i = 2 to j -1
- if ll_maxwid < ll_x[i] + ll_width[i] then
- ll_maxwid = ll_x[i] + ll_width[i]
- end if
- next
- ll_maxhig = ll_y[1] + ll_height[1]
- for i =2 to j -1
- if ll_maxhig < ll_y[i] + ll_height[i] then
- ll_maxhig = ll_y[i] + ll_height[i]
- end if
- next
- if arg_type = 1 then
- return ll_maxwid + 50
- elseif arg_type = 2 then
- return ll_maxhig + 50
- end if
- end function
- public subroutine wf_show (integer arg_show[]);IF UpperBound(arg_show) <= 0 THEN RETURN
- Long i,ll_maxw,ll_maxh,ll_x,ll_y,ll_width,ll_height,ll_with_t,ll_x_t
- long j,ld_x,ld_y,ld_width,ld_height,ld_with_t,ld_x_t,k= 0
- String arg_name[]
- FOR i = 1 TO UpperBound(arg_show)
- ll_maxh = wf_get_max(2)
-
- wf_get_columnname(arg_name)
-
- ll_x = Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'.x'))
- ll_x_t = Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'_t.x'))
- ll_y = Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'.y'))
- ll_width = Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'.width'))
- ll_with_t = Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'_t.width'))
- ll_height = Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'.height'))
-
- k= 0
- for j = 1 TO UpperBound(arg_name)
- if arg_name[j] = arg_name[arg_show[i]] then continue
- ld_x = Long(dw_1.DESCRIBE(arg_name[j]+'.x'))
- ld_x_t = Long(dw_1.DESCRIBE(arg_name[j]+'_t.x'))
- ld_y = Long(dw_1.DESCRIBE(arg_name[j]+'.y'))
- ld_width = Long(dw_1.DESCRIBE(arg_name[j]+'.width'))
- ld_with_t = Long(dw_1.DESCRIBE(arg_name[j]+'_t.width'))
- ld_height = Long(dw_1.DESCRIBE(arg_name[j]+'.height'))
-
- if ld_y < ll_y and ld_y + ld_height > ll_y or ld_y > ll_y and ld_y < ll_y + ll_height then
- if ll_x_t > ld_x + ld_width or ld_x_t > ll_x + ll_width then
- goto ext
- end if
- else
- k++
- end if
- next
-
- if k + 1 = UpperBound(arg_name) then goto ext
-
-
- IF ll_maxh - 35 + ll_height > dw_1.Height THEN
- IF ll_maxh - 35 + ll_height < THIS.Height - 300 THEN
- IF i > 1 THEN
- IF Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.x')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.width')) &
- + 20 + Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'_t.width')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'.width')) &
- <= dw_1.Width THEN
- dw_1.Modify(arg_name[arg_show[i]]+'.y ='+String(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.y')))
- dw_1.Modify(arg_name[arg_show[i]]+'.x ='+String(Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.x')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.width')) + 20 +ll_with_t))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.y ='+String(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.y')))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.x ='+String(Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.x')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.width')) + 20))
- ELSE
- dw_1.Modify(arg_name[arg_show[i]]+'.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'.x ='+String(ll_with_t + 10))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.x ='+String(5))
- dw_1.Height = ll_maxh - 15 + ll_height -200
- END IF
- ELSE
-
- dw_1.Modify(arg_name[arg_show[i]]+'.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'.x ='+String(ll_with_t + 10))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.x ='+String(5))
- dw_1.Height = ll_maxh - 15 + ll_height -200
- END IF
- END IF
-
- ELSE
- IF i > 1 THEN
- IF Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.x')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.width')) &
- + 20 + Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'_t.width')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i]]+'.width')) &
- <= dw_1.Width THEN
- dw_1.Modify(arg_name[arg_show[i]]+'.y ='+String(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.y')))
- dw_1.Modify(arg_name[arg_show[i]]+'.x ='+String(Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.x')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.width')) + 20 +ll_with_t))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.y ='+String(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.y')))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.x ='+String(Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.x')) + Long(dw_1.DESCRIBE(arg_name[arg_show[i - 1]]+'.width')) + 20))
- ELSE
- dw_1.Modify(arg_name[arg_show[i]]+'.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'.x ='+String(ll_with_t + 10))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.x ='+String(5))
- END IF
- ELSE
- dw_1.Modify(arg_name[arg_show[i]]+'.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'.x ='+String(ll_with_t + 10))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.y ='+String(ll_maxh - 35))
- dw_1.Modify(arg_name[arg_show[i]]+'_t.x ='+String(5))
- END IF
-
- END IF
-
- ext:
- NEXT
- end subroutine
- public subroutine wf_get_columnname (ref string arg_name[]);long nColumnIndex,nColumnCount,lRow,ls_i,i= 0
- string ls_name[],des_1,des_2,szColumn
- s_dw_uc_rbtnfilter_setlayout_rt ls_s_rt
- nColumnCount = Integer( dw_1.Object.DataWindow.Column.Count)
- For nColumnIndex = 1 To nColumnCount
- des_1= dw_1.Describe( "#" + String(nColumnIndex) + ".Name")
- des_2= dw_1.describe(des_1+ "_t.Text")
-
- szColumn = f_strip( des_2)
- If szColumn <> "!" Then
- i++
- ls_name[nColumnIndex] = des_1
- end if
-
- next
- arg_name = ls_name
- //return ls_name
- end subroutine
- public function integer wf_get_max (integer arg_type, integer arg_long[]);//wf_get_max()
- long nColumnIndex,nColumnCount,lRow,ls_i,j=1
- string des_1,des_2,szColumn,str
- long ll_x[100],ll_y[100],ll_width[100],ll_height[100]
- //获取所有可以编辑的字段名称、横纵坐标
- string des_3,ls_pkcolname
- string ls_name
- nColumnCount = Integer( dw_1.Object.DataWindow.Column.Count)
- ls_name = dw_1.describe("DataWindow.Objects")
- string ls_a[]
- long i=0
- //do while pos(ls_name,'~t') > 1
- // i++
- // ls_a[i] = mid(ls_name,1,pos(ls_name,'~t') -1)
- // ls_name = mid(ls_name,pos(ls_name,'~t') + 1,len(ls_name))
- //loop
- //
- //i++
- //ls_a[i] = ls_name
- wf_get_columnname(ls_a)
- FOR i= 1 to upperbound(ls_a)
- des_1 = ls_a[i]
- // if long(dw_1.describe(des_1+'.visible')) = 1 then
- ll_x[j] = long(dw_1.describe(des_1+'.x'))
- ll_y[j] = long(dw_1.describe(des_1+'.y'))
- ll_width[j] = long(dw_1.describe(des_1+'.width'))
- ll_height[j] = long(dw_1.describe(des_1+'.height'))
- j++
- // end if
- next
- long ll_maxwid,ll_maxhig,k
- ll_maxwid = ll_x[1] + ll_width[1]
- for i = 2 to j -1
- for k =1 to upperbound(arg_long)
- if i = arg_long[k] then
- goto ext1
- end if
- next
-
- if ll_maxwid < ll_x[i] + ll_width[i] then
- ll_maxwid = ll_x[i] + ll_width[i]
- end if
-
- ext1:
- next
- ll_maxhig = ll_y[1] + ll_height[1]
- for i =2 to j -1
-
- for k =1 to upperbound(arg_long)
- if i = arg_long[k] then
- goto ext2
- end if
- next
-
- if ll_maxhig < ll_y[i] + ll_height[i] then
- ll_maxhig = ll_y[i] + ll_height[i]
- end if
-
- ext2:
- next
- if arg_type = 1 then
- return ll_maxwid + 50
- elseif arg_type = 2 then
- return ll_maxhig + 50
- end if
- end function
- on w_sysplan_dw_freeform_edit.create
- int iCurrent
- call super::create
- this.dw_1=create dw_1
- this.cb_1=create cb_1
- this.cb_2=create cb_2
- this.cb_3=create cb_3
- this.cb_4=create cb_4
- this.cb_5=create cb_5
- this.r_bar=create r_bar
- this.ln_bar=create ln_bar
- this.ln_bar2=create ln_bar2
- iCurrent=UpperBound(this.Control)
- this.Control[iCurrent+1]=this.dw_1
- this.Control[iCurrent+2]=this.cb_1
- this.Control[iCurrent+3]=this.cb_2
- this.Control[iCurrent+4]=this.cb_3
- this.Control[iCurrent+5]=this.cb_4
- this.Control[iCurrent+6]=this.cb_5
- this.Control[iCurrent+7]=this.r_bar
- this.Control[iCurrent+8]=this.ln_bar
- this.Control[iCurrent+9]=this.ln_bar2
- end on
- on w_sysplan_dw_freeform_edit.destroy
- call super::destroy
- destroy(this.dw_1)
- destroy(this.cb_1)
- destroy(this.cb_2)
- destroy(this.cb_3)
- destroy(this.cb_4)
- destroy(this.cb_5)
- destroy(this.r_bar)
- destroy(this.ln_bar)
- destroy(this.ln_bar2)
- end on
- event open;call super::open;s_dw_uc_modify s_modify
- s_modify = Message.PowerObjectParm
- Long ll_billid,ll_scid
- dw_1.DataObject = s_modify.datawinname_uc
- uc_column_int = s_modify.uc_column_int
- cur_win = s_modify.win
- cur_mainid = s_modify.mainid
- dw_1.Width = s_modify.uc_width
- dw_1.Height = s_modify.uc_height
- cur_mod = s_modify.nomod
- cur_start = 1
- dw_1.Object.datawindow.detail.Height = 2000
- dw_1.Object.datawindow.detail.Height.AutoSize = TRUE
- dw_1.TriggerEvent(Constructor!)
- dw_1.SetTransObject(sqlca)
- cur_resize = 1
- wf_open()
- end event
- event close;call super::close;s_resize s_size
- s_size.backtype = cur_type
- s_size.Width = dw_1.Width
- s_size.Height = dw_1.Height
- CloseWithReturn(THIS,s_size)
- end event
- event key;call super::key;//if key=Keyleftarrow! or key=Keyrightarrow! or key=Keyuparrow! or key=Keydownarrow! then
- //
- //end if
- end event
- event resize;call super::resize;ln_bar.EndX = THIS.Width
- ln_bar2.EndX = THIS.Width
- r_bar.Width = THIS.Width
- end event
- type cb_func from w_publ_base`cb_func within w_sysplan_dw_freeform_edit
- boolean visible = false
- string text = "工具"
- end type
- type cb_exit from w_publ_base`cb_exit within w_sysplan_dw_freeform_edit
- integer x = 1051
- integer width = 151
- integer height = 164
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event cb_exit::clicked;//不保存布局
- cur_type = -1
- close(parent)
- end event
- type dw_1 from u_dw_uc_rbtnfilter within w_sysplan_dw_freeform_edit
- event ue_lbuttonup pbm_dwnrbuttonup
- integer y = 184
- integer width = 3026
- integer height = 1724
- integer taborder = 20
- boolean bringtotop = true
- boolean resizable = true
- boolean livescroll = false
- borderstyle borderstyle = styleraised!
- end type
- event ue_lbuttonup;////string ls_name
- ////long ll_y,ll_x
- ////
- ////ls_name = dwo.name
- ////ll_x = long(this.describe(ls_name+'.x')) + long(this.describe(ls_name+'.width'))
- ////ll_y = long(this.describe(ls_name+'.y')) + long(this.describe(ls_name+'.height'))
- ////
- ////if (ll_x +50 > this.width) or (ll_y + 50 > this.height + this.y) then
- //// messagebox('','控件不能移出窗口范围!')
- ////end if
- //
- ////messagebox(string(xpos),string(ypos))
- //
- ////xpos=xpos+ii_x_scroll
- ////ypos=ypos+ii_y_scroll
- ////
- ////messagebox(string(ii_x_scroll),string(ii_y_scroll))
- //if (xpos=cur_x and ypos=cur_y) or ((KeyDown(Keyshift!) or KeyDown(KeyControl!)) ) then
- //else
- //long i ,ll_x,ll_y
- //long ll_wid,ll_hig
- //string ls_name
- //if cur_select <= 0 then return
- //ls_name = dwo.name
- //ll_x = long(this.describe(ls_name+'.x'))
- //ll_y = long(this.describe(ls_name+'.y'))
- //ll_wid = ll_x - cur_x
- //ll_hig = ll_y - cur_y
- //
- //long lx,ly
- //for i =1 to cur_select
- // if cur_chname[i] <> ls_name then
- // lx = long(this.describe(cur_chname[i]+'.x'))
- // this.modify(cur_chname[i]+'.x = '+string(lx + ll_wid ))
- // ly = long(this.describe(cur_chname[i]+'.y'))
- // this.modify(cur_chname[i]+'.y = '+string(ly + ll_hig ))
- // end if
- //next
- //end if
- this.triggerevent(resize!)
- end event
- event ue_setlayout;IF setcolumn_visible_USE = FALSE THEN RETURN
- IF THIS.DataObject = '' THEN RETURN
- //设定不能隐藏的项目
- //wf_set_modify()
- //读取每列顺序
- THIS.TriggerEvent('ue_taborder')
- IF THIS.ins_if_nomodify_uc_taborder THEN
- THIS.uf_reset_layout(uc_column_int)
- END IF
- /////////////////////////
- datastore ls_ds
- ls_ds = CREATE datastore
- ls_ds.DataObject = 'dw_uc_rbtnfilter_setlayout_grid'
- String ls_mdfstr,ls_mdftext_str,ls_titlex_str,ls_titley_str,ls_x_str,ls_y_str //存放modify string
- String des_1,des_2,szColumn,ls_cwidth,ls_alignment,ls_cheight,ls_taporder
- string ls_dbname
- Long nColumnIndex,nColumnCount,lRow,ls_i,i
- s_dw_uc_rbtnfilter_setlayout_rt ls_s_rt
- nColumnCount = Integer( THIS.Object.DataWindow.Column.Count)
- String arg_msg
- IF f_set_nomod(THIS.DataObject,cur_mod,arg_msg) = 0 THEN
- MessageBox('提示',arg_msg)
- RETURN
- END IF
- FOR nColumnIndex = 1 TO nColumnCount
- des_1 = THIS.Describe( "#" + String(nColumnIndex) + ".Name")
- des_2 = THIS.Describe(des_1+ "_t.Text")
- ls_dbname = THIS.Describe( "#" + String(nColumnIndex) + ".dbname")
-
- szColumn = f_strip( des_2)
- IF szColumn <> "!" THEN
- lRow = ls_ds.InsertRow( 0)
- ls_ds.SetItem( lRow, "ctitle", szColumn)
- ls_ds.SetItem( lRow, "cname", ls_dbname)
- ls_ds.SetItem( lRow, "name", des_1)
- ls_ds.SetItem( lRow, "cshow_flag", Long(THIS.Describe(des_1+ ".Visible")))
- ls_ds.SetItem( lRow, "cnewtitle", THIS.Describe(des_1+ "_t.text"))
- ls_ds.SetItem( lRow, "cwidth", Long(THIS.Describe(des_1+ ".width")))
- ls_ds.SetItem( lRow, "cheight", Long(THIS.Describe(des_1+ ".height")))
- ls_ds.SetItem( lRow, "alignment", Long(THIS.Describe(des_1+ ".alignment")))
- ls_ds.SetItem( lRow, "nColumnIndex", nColumnIndex)
- ls_ds.SetItem( lRow, "titlex", Long(THIS.Describe(des_1+ "_t.x")))
- ls_ds.SetItem( lRow, "titley", Long(THIS.Describe(des_1+ "_t.y")))
- ls_ds.SetItem( lRow, "x", Long(THIS.Describe(des_1+ ".x")))
- ls_ds.SetItem( lRow, "y", Long(THIS.Describe(des_1+ ".y")))
- ls_ds.SetItem( lRow, "taporder", Long(THIS.Describe(des_1+ ".Tabsequence")))
-
-
- IF nColumnIndex <= uc_column_int THEN
- ls_ds.SetItem( lRow, "order_flag", 1)
- ELSE
- ls_ds.SetItem( lRow, "order_flag", 0)
- END IF
-
-
-
- FOR i = 1 TO UpperBound(cur_mod)
- IF cur_mod[i] = des_1 THEN
- cur_nomodify[nColumnIndex] = 1
- GOTO ext
- ELSE
- cur_nomodify[nColumnIndex] = 0
- END IF
- NEXT
-
- ext:
-
- ls_ds.SetItem( lRow, "protect", cur_nomodify[nColumnIndex])
- END IF
- NEXT
- //---打开设置窗口
- OpenWithParm(w_dw_uc_rbtnfilter_setlayout,ls_ds)
- ls_s_rt = Message.PowerObjectParm
- //---处理设置
- IF ls_s_rt.flag = 1 THEN //要保存修改
- ls_ds.SetFullState( ls_s_rt.b_changes )
- FOR ls_i = 1 TO ls_ds.RowCount()
- ls_mdfstr = ls_mdfstr+ls_ds.Object.name[ls_i]+'.visible='+String(ls_ds.Object.cshow_flag[ls_i])+'~t'
- ls_mdfstr = ls_mdfstr+ls_ds.Object.name[ls_i]+'_t.visible='+String(ls_ds.Object.cshow_flag[ls_i])+'~t'
-
- ls_mdftext_str = ls_mdftext_str+ls_ds.Object.name[ls_i]+"_t.text='"+ls_ds.Object.cnewtitle[ls_i]+"'~t"
- ls_titlex_str = ls_titlex_str+ls_ds.Object.name[ls_i]+"_t.x="+String(ls_ds.Object.titlex[ls_i])+'~t'
- ls_titley_str = ls_titley_str+ls_ds.Object.name[ls_i]+"_t.y="+String(ls_ds.Object.titley[ls_i])+'~t'
- ls_x_str = ls_x_str+ls_ds.Object.name[ls_i]+".x="+String(ls_ds.Object.X[ls_i])+'~t'
- ls_y_str = ls_y_str+ls_ds.Object.name[ls_i]+".y="+String(ls_ds.Object.Y[ls_i])+'~t'
- ls_cwidth = ls_cwidth+ls_ds.Object.name[ls_i]+".width="+String(ls_ds.Object.cwidth[ls_i])+'~t'
- ls_cheight = ls_cheight+ls_ds.Object.name[ls_i]+".height="+String(ls_ds.Object.cheight[ls_i])+'~t'
- ls_alignment = ls_alignment+ls_ds.Object.name[ls_i]+".alignment="+String(ls_ds.Object.Alignment[ls_i])+'~t'
-
- ls_taporder = ls_taporder +ls_ds.Object.name[ls_i]+".Tabsequence="+String(ls_ds.Object.taporder[ls_i])+'~t'
- NEXT
-
- ins_mdfstr_column_visible = ls_mdfstr
- ins_mdfstr_column_text = ls_mdftext_str
- ins_mdfstr_column_x = ls_titlex_str+ls_x_str
- ins_mdfstr_column_y = ls_titley_str+ls_y_str
- ins_mdfstr_column_width = ls_cwidth
- ins_mdfstr_column_alignment = ls_alignment
- ins_mdfstr_column_height = ls_cheight
- ins_mdfstr_column_taporder = ls_taporder
-
- THIS.Modify( ins_mdfstr_column_visible)
- THIS.Modify(ins_mdfstr_column_text)
- THIS.Modify(ins_mdfstr_column_width)
- THIS.Modify(ins_mdfstr_column_x)
- THIS.Modify(ins_mdfstr_column_y)
- THIS.Modify(ins_mdfstr_column_alignment)
- THIS.Modify(ins_mdfstr_column_height)
- // this.modify(ins_mdfstr_column_taporder)
-
- wf_show(ls_s_rt.Show)
-
- /////保存taborder
- UPDATE sys_user_dwnSyntax
- SET dwnSyntax_layout_column_taporder = :ins_mdfstr_column_taporder
- WHERE empid = :cardw_empid
- AND dwname = :cur_DataObject;
- IF sqlca.SQLCode = 0 THEN
- IF sqlca.SQLNRows = 0 THEN
- INSERT INTO sys_user_dwnSyntax
- (empid,
- dwname,
- dwnSyntax_filter,
- dwnSyntax_sort,
- dwnSyntax_layout_column_visible,
- dwnSyntax_layout_column_width,
- dwnSyntax_layout_column_alignment,
- dwnSyntax_layout_column_pos,
- dwnSyntax_layout_column_edit,
- dwnSyntax_layout_column_font,
- dwnSyntax_layout_column_height,
- dwnSyntax_layout_column_taporder)
- Values(:cardw_empid,:cur_DataObject,'','','','','','','','','',:ins_mdfstr_column_taporder);
- END IF
-
- COMMIT;
- END IF
- /////////////////////////
-
- ELSEIF ls_s_rt.flag = 2 THEN //reset
- uf_reset_layout(uc_column_int)
- uf_save_profile_layout()
- ELSEIF ls_s_rt.flag = 3 THEN //reset one
- uf_reset_layout_one(ls_s_rt.rownumber)
- uf_save_profile_layout()
- END IF
- //清除taborder
- THIS.TriggerEvent('c_taporder')
- DESTROY ls_ds
- end event
- event dwnkey;IF KeyDown(KeyF2!) THEN //save layout 不含列显示
- THIS.TriggerEvent('ue_setlayout')
- ELSEIF KeyDown(KeyF9!) THEN //save layout 全部重置,包括按钮等控件
- uf_reset_layout_all()
- END IF
- THIS.TriggerEvent('ue_taborder_cancel')
- //键盘操作触发事件
- Long ll_x,ll_y,ll_wid,ll_hig
- Long i
- String ls_name
- IF Key = Keyleftarrow! OR Key = Keyrightarrow! OR Key = Keyuparrow! OR Key = Keydownarrow! OR Key = Keydelete! THEN
- SetRedraw(FALSE)
- CHOOSE CASE keyflags
- CASE 1
- CHOOSE CASE Key
- CASE Keyleftarrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_wid = Long(THIS.DESCRIBE(ls_name+'.width'))
- ll_wid = ll_wid - 2
- THIS.Modify(ls_name+'.width ='+String(ll_wid))
- NEXT
- CASE Keyrightarrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_wid = Long(THIS.DESCRIBE(ls_name+'.width'))
- ll_wid = ll_wid + 2
- THIS.Modify(ls_name+'.width ='+String(ll_wid))
- NEXT
- CASE Keyuparrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_hig = Long(THIS.DESCRIBE(ls_name+'.height'))
- ll_hig = ll_hig - 2
- THIS.Modify(ls_name+'.height ='+String(ll_hig))
- NEXT
- CASE Keydownarrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_hig = Long(THIS.DESCRIBE(ls_name+'.height'))
- ll_hig = ll_hig + 2
- THIS.Modify(ls_name+'.height ='+String(ll_hig))
- NEXT
- END CHOOSE
- CASE ELSE
- CHOOSE CASE Key
- CASE Keyleftarrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_x = Long(THIS.DESCRIBE(ls_name+'.x'))
- ll_x = ll_x - 3
- THIS.Modify(ls_name+'.x ='+String(ll_x))
- NEXT
- CASE Keyrightarrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_x = Long(THIS.DESCRIBE(ls_name+'.x'))
- ll_x = ll_x + 3
- THIS.Modify(ls_name+'.x ='+String(ll_x))
- NEXT
- CASE Keyuparrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_y = Long(THIS.DESCRIBE(ls_name+'.y'))
- ll_y = ll_y - 3
- THIS.Modify(ls_name+'.y ='+String(ll_y))
- NEXT
- CASE Keydownarrow!
- FOR i = 1 TO cur_select
- ls_name = cur_chname[i]
- ll_y = Long(THIS.DESCRIBE(ls_name+'.y'))
- ll_y = ll_y + 3
- THIS.Modify(ls_name+'.y ='+String(ll_y))
- NEXT
- END CHOOSE
- END CHOOSE
- SetRedraw(TRUE)
- END IF
- end event
- event destructor;IF cur_type = -1 THEN RETURN
- CALL SUPER:: Destructor
- end event
- event constructor;IF cur_start = 0 THEN RETURN
- CALL SUPER:: Constructor
- dw_1.InsertRow(0)
- Long nColumnCount,nColumnIndex
- String des_1,des_2,szColumn
- nColumnCount = Integer( THIS.Object.DataWindow.Column.Count)
- FOR nColumnIndex = 1 TO nColumnCount
- des_1 = THIS.Describe( "#" + String(nColumnIndex) + ".Name")
- des_2 = THIS.Describe(des_1+ "_t.Text")
-
- szColumn = f_strip( des_2)
- IF szColumn <> "!" THEN
- THIS.SetItem(1,des_1,des_2)
- END IF
- NEXT
- end event
- event clicked;call super::clicked;
- String ls_type,ls_dwoname ,is_dwobject
- String is_dwtype
- ls_type = Trim(Upper(dwo.TYPE))
- ls_dwoname = Trim(dwo.Name)
- is_dwtype = ls_type
- IF NOT IsValid(dwo) THEN RETURN
- CHOOSE CASE ls_type
- CASE "TEXT" , "CommandButton" , "GROUPBOX"
- is_dwobject = ls_dwoname
- THIS.Modify(ls_dwoname+".color = 128")
- THIS.Modify(ls_dwoname+'.border = 5')
-
- CASE "LINE"
- is_dwobject = ls_dwoname
-
- CASE "RECTANGLE","ELLIPSE","GRAPH","BITMAP"
- is_dwobject = ls_dwoname
- THIS.Modify(ls_dwoname+".color = 128")
- THIS.Modify(ls_dwoname+'.border = 5')
-
- CASE "COLUMN","COMPUTE"
- is_dwobject = ls_dwoname
- THIS.Modify(ls_dwoname+".color = 128")
- THIS.Modify(ls_dwoname+'.border = 5')
- // case "DATAWINDOW"
- // return
-
- END CHOOSE
- ////////////////////
- IF THIS.DataObject = '' THEN RETURN
- String des_1,des_2,szColumn
- String ls_mdfstr_vis = ''
- String ls_mdfstr_wi = ''
- String ls_mdfstr_x = ''
- String ls_mdfstr_y = ''
- String ls_mdfstr_text = ''
- String ls_mdfstr_alignment = ''
- String ls_mdfstr_height = ''
- long ll_cnt=0
- Long nColumnIndex,nColumnCount,lRow,ls_i
- String ls_name
- ls_name = THIS.DESCRIBE("DataWindow.Objects")
- datastore ls_ds
- ls_ds = CREATE datastore
- ls_ds.DataObject = THIS.DataObject
- IF KeyDown(keyControl!) THEN
- cur_select = UpperBound(cur_chname)
- cur_select ++
- cur_chname[cur_select] = ls_dwoname
- cur_x = long(this.describe( ls_dwoname +'.x'))
- cur_y = long(this.describe( ls_dwoname +'.y'))
- ELSE
- String ls_a[]
- Long i = 0
- string ls_null[]
-
- IF UpperBound(cur_chname) > 0 THEN
- FOR i = 1 TO cur_select
- IF cur_chname[i] = ls_dwoname THEN RETURN
- NEXT
- END IF
-
- DO WHILE Pos(ls_name,'~t') > 1
- i++
- ls_a[i] = Mid(ls_name,1,Pos(ls_name,'~t') -1)
- ls_name = Mid(ls_name,Pos(ls_name,'~t') + 1,Len(ls_name))
- LOOP
-
- i++
- ls_a[i] = ls_name
-
- FOR i = 1 TO UpperBound(ls_a)
- des_1 = ls_a[i]
- IF ls_dwoname <> des_1 THEN
- THIS.Modify(des_1+".color = "+ls_ds.DESCRIBE(des_1+".color"))
- THIS.Modify(des_1+".border = 2 ")
- ELSE
- dwoselect = ls_dwoname
- cur_chname = ls_null
- cur_chname[1] = ls_dwoname
- cur_select = 1
- ll_cnt ++
- cur_x = long(this.describe( ls_dwoname +'.x'))
- cur_y = long(this.describe( ls_dwoname +'.y'))
- END IF
- NEXT
-
- if ll_cnt <= 0 then
- cur_select = 0
- end if
- END IF
- end event
- event resize;call super::resize;IF cur_resize = 0 THEN RETURN
- IF THIS.X <> 0 THEN
- THIS.X = 0
- END IF
- IF THIS.Y <> 180 THEN
- THIS.Y = 180
- END IF
- Long ll_width,ll_height
- ll_width = wf_get_max(1)
- ll_height = wf_get_max(2)
- IF THIS.Width < ll_width THEN
- IF ll_width + 40 >= PARENT.Width THEN
- THIS.Width = PARENT.Width - 40
- ELSE
- THIS.Width = ll_width
- END IF
- ELSE
- IF THIS.Width + 40 >= PARENT.Width THEN
- THIS.Width = PARENT.Width - 40
- END IF
- END IF
- IF THIS.Height < ll_height THEN
- IF ll_height + 150 + THIS.Y >= PARENT.Height THEN
- THIS.Height = PARENT.Height - THIS.Y - 150
- ELSE
- THIS.Height = ll_height
- END IF
- ELSE
- IF THIS.Height + 150 + THIS.Y >= PARENT.Height THEN
- THIS.Height = PARENT.Height - THIS.Y - 150
- END IF
- END IF
- end event
- event rbuttondown;//
- end event
- type cb_1 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- integer x = 901
- integer width = 151
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string normalpicname = "ok.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;//保存修改好布局
- cur_type = 1
- dw_1.triggerevent(destructor!)
- /////////////////////
- close(parent)
- end event
- type cb_2 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- integer x = 503
- integer width = 151
- integer height = 164
- integer taborder = 40
- boolean bringtotop = true
- string text = "应用"
- string normalpicname = "update.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;//保存修改好布局
- cur_type = 1
- dw_1.TriggerEvent(Destructor!)
- /////////////////////
- Long ll_width,ll_height
- f_reset_uc(cur_mainid,dw_1.Width,dw_1.Height)
- end event
- type cb_3 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- integer width = 256
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "属性修改"
- string normalpicname = "setting.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;dw_1.triggerevent('ue_setlayout')
- end event
- type cb_4 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- integer x = 256
- integer width = 247
- integer height = 164
- integer taborder = 20
- boolean bringtotop = true
- string text = "自动顺序"
- string normalpicname = "p2.bmp"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;//自动分配taborder
- wf_aoto_taborder()
- //////--------------------
- end event
- type cb_5 from uo_imflatbutton within w_sysplan_dw_freeform_edit
- integer x = 654
- integer width = 247
- integer height = 164
- integer taborder = 30
- boolean bringtotop = true
- string text = "重置布局"
- string normalpicname = "p1.BMP"
- integer picsize = 16
- toolbaralignment pic_align = alignattop!
- boolean border = false
- end type
- event clicked;call super::clicked;dw_1.uf_reset_layout(uc_column_int)
- dw_1.uf_save_profile_layout()
- end event
- type r_bar from rectangle within w_sysplan_dw_freeform_edit
- long linecolor = 16777215
- long fillcolor = 1073741824
- integer x = 2203
- integer width = 91
- integer height = 156
- end type
- event constructor;this.fillcolor = 14215660
- this.linecolor = 14215660
- this.x = -1
- this.y = -1
- this.height = ln_bar.beginy - 5
- end event
- type ln_bar from line within w_sysplan_dw_freeform_edit
- long linecolor = 268435456
- integer linethickness = 4
- integer beginy = 172
- integer endx = 3200
- integer endy = 172
- end type
- type ln_bar2 from line within w_sysplan_dw_freeform_edit
- long linecolor = 16777215
- integer linethickness = 4
- integer beginx = 9
- integer beginy = 176
- integer endx = 3273
- integer endy = 176
- end type
|