123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- $PBExportHeader$w_key_value_edit.srw
- forward
- global type w_key_value_edit from window
- end type
- type cb_2 from commandbutton within w_key_value_edit
- end type
- type cb_1 from commandbutton within w_key_value_edit
- end type
- type dw_1 from datawindow within w_key_value_edit
- end type
- end forward
- global type w_key_value_edit from window
- integer width = 1129
- integer height = 1092
- boolean titlebar = true
- string title = "键-值"
- windowtype windowtype = response!
- long backcolor = 67108864
- string icon = "AppIcon!"
- boolean center = true
- event ue_retrieve_keys ( )
- cb_2 cb_2
- cb_1 cb_1
- dw_1 dw_1
- end type
- global w_key_value_edit w_key_value_edit
- type variables
- uo_keyvaluecollection ins_keyvalues
- string ins_rslt
- end variables
- event ue_retrieve_keys();datawindowchild dwc
- Long row, i, j
- String Values[], ls_value
- uo_strhelper uo_str
- uo_str = Create uo_strhelper
- IF dw_1.GetChild('lvalue', Ref dwc) = 1 THEN
- dwc.Reset()
-
- j = dw_1.GetRow()
-
- IF j > 0 THEN
- ls_value = ins_keyvalues.uf_getvalue(dw_1.Object.lkey[j])
- uo_str.split(ls_value, ",", Values)
- row = dwc.InsertRow(0)
- dwc.SetItem(row, 1, "")
- FOR i = 1 To UpperBound(Values)
- IF Values[i] = '' THEN CONTINUE
- row = dwc.InsertRow(0)
- dwc.SetItem(row, 1, Values[i])
- NEXT
- END IF
- END IF
- Destroy uo_str
- end event
- on w_key_value_edit.create
- this.cb_2=create cb_2
- this.cb_1=create cb_1
- this.dw_1=create dw_1
- this.Control[]={this.cb_2,&
- this.cb_1,&
- this.dw_1}
- end on
- on w_key_value_edit.destroy
- destroy(this.cb_2)
- destroy(this.cb_1)
- destroy(this.dw_1)
- end on
- event open;String ins_allpros = "A:1,2,3;B:2,3,4;"
- String ins_curpros = "A:2;B:3"
- String parms[], parm[]
- Long i, row
- s_key_value_parm s_win
- s_win = message.powerobjectparm
- ins_allpros = s_win.allprops
- ins_curpros = s_win.curprops
- ins_keyvalues = Create uo_keyvaluecollection
- SetNull(ins_rslt)
- uo_keyvaluecollection lo_curpros
- lo_curpros = Create uo_keyvaluecollection
- uo_strhelper uo_str
- uo_str = Create uo_strhelper
- uo_str.split(ins_curpros, ";", parms)
- FOR i = 1 To UpperBound(parms)
- uo_str.split(parms[i], ":", parm)
- IF parm[1] <> '' And UpperBound(parm) > 1 THEN
- lo_curpros.uf_add(parm[1], parm[2])
- END IF
- NEXT
- uo_str.split(ins_allpros, ";", parms)
- FOR i = 1 To UpperBound(parms)
- uo_str.split(parms[i], ":", parm)
- IF parm[1] <> '' And UpperBound(parm) > 1 THEN
- ins_keyvalues.uf_add(parm[1], parm[2])
- row = dw_1.InsertRow(0)
- dw_1.Object.lkey[row] = parm[1]
- IF lo_curpros.uf_haskey(parm[1]) THEN
- dw_1.Object.lvalue[row] = lo_curpros.uf_getvalue(parm[1])
- END IF
- END IF
- NEXT
- TriggerEvent('ue_retrieve_keys')
- Destroy uo_str
- Destroy lo_curpros
- end event
- event close;CloseWithReturn(This, ins_rslt)
- end event
- type cb_2 from commandbutton within w_key_value_edit
- integer x = 795
- integer y = 896
- integer width = 288
- integer height = 108
- integer taborder = 30
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "取消"
- end type
- event clicked;close(parent)
- end event
- type cb_1 from commandbutton within w_key_value_edit
- integer x = 498
- integer y = 896
- integer width = 288
- integer height = 108
- integer taborder = 20
- integer textsize = -9
- integer weight = 400
- fontcharset fontcharset = gb2312charset!
- fontpitch fontpitch = variable!
- string facename = "宋体"
- string text = "确定"
- end type
- event clicked;dw_1.AcceptText()
- Long i
- ins_rslt = ''
- FOR i = 1 To dw_1.RowCount()
- IF dw_1.Object.lvalue[i] <> '' THEN
- ins_rslt += dw_1.Object.lkey[i] + ":" + dw_1.Object.lvalue[i] + ";"
- END IF
- NEXT
- Close(Parent)
- end event
- type dw_1 from datawindow within w_key_value_edit
- integer width = 1115
- integer height = 884
- integer taborder = 10
- string title = "none"
- string dataobject = "dw_key_value_edit"
- boolean hscrollbar = true
- boolean vscrollbar = true
- boolean livescroll = true
- borderstyle borderstyle = stylelowered!
- end type
- event clicked;This.SelectRow(0, False)
- IF row > 0 THEN
- This.SetRow(row)
- END IF
- end event
- event rowfocuschanged;IF currentrow > 0 THEN
- This.SelectRow(currentrow, True)
- END IF
- parent.triggerevent('ue_retrieve_keys')
- end event
|