/* ContX Editor - DMS - may 99 - by Patrice FAVRE */ typeof editWin=ObjWin;; typeof winComp=ObjWin;; typeof compHuman=ObjText;; typeof compProgId=ObjText;; typeof compCLSID=ObjText;; typeof winSelComp=ObjWin;; typeof selCompHuman=ObjText;; typeof selCompProgId=ObjText;; typeof selCompCLSID=ObjText;; typeof selFuncInterf=ObjBox;; typeof selFuncName=ObjText;; typeof selFuncAlias=ObjText;; typeof selEventInterf=ObjBox;; typeof selEventName=ObjText;; typeof selEventAlias=ObjText;; typeof winAct=ObjWin;; typeof winEvt=ObjWin;; typeof listTabAct=ObjListTab;; typeof nbAct=I;; typeof listTabEvt=ObjListTab;; typeof nbEvt=I;; typeof listAct=[[S S S] r1];; typeof listEvt=[[S S S] r1];; typeof currAct=[S S S];; typeof rgAct=I;; typeof currEvt=[S S S];; typeof rgEvt=I;; /*-----------------------*/ fun concLst(l1,l2)= if l1==nil then l2 else (hd l1)::(concLst tl l1 l2);; /*-----------------------*/ fun savAct(l)= if l==nil then nil else let l -> [[int func alias] nxt] in ("actionC"::alias::alias::nil):: ("listAct"::int::func::alias::nil):: savAct nxt;; /*-----------------------*/ fun savEvt(l)= if l==nil then nil else let l -> [[int event alias] nxt] in ("eventC"::alias::alias::nil):: ("listEvt"::int::event::alias::nil):: savEvt nxt;; /*-----------------------*/ fun save(s,n)= ("action"::"start"::"start"::nil):: ("action"::"destroy"::"destroy"::nil):: ("actionC"::"show"::"show"::nil):: ("actionC"::"hide"::"hide"::nil):: ("event"::"destroyed"::"destroyed"::nil):: ("eventC"::"in"::"in"::nil):: ("eventC"::"shown"::"shown"::nil):: ("eventC"::"hidden"::"hidden"::nil):: ("eventC"::"notfound"::"notfound"::nil):: ("zoneC"::"axSite"::nil):: ("compHuman"::(_GETtext compHuman)::nil):: ("compProgId"::(_GETtext compProgId)::nil):: ("compCLSID"::(_GETtext compCLSID)::nil):: (concLst savAct listAct savEvt listEvt);; /*-----------------------*/ fun load2(l)= if l==nil then 0 else let l -> [[key infos] nxt] in ( if !strcmp key "compHuman" then ( _SETtext compHuman hd infos; 0; ) else if !strcmp key "compProgId" then ( _SETtext compProgId hd infos; 0; ) else if !strcmp key "compCLSID" then ( _SETtext compCLSID hd infos; 0; ) else if !strcmp key "listAct" then let infos -> [int [func [alias _]]] in ( _ADDlistTabItem listTabAct nbAct 0 int; _SETlistTabItem listTabAct nbAct 1 func; _SETlistTabItem listTabAct nbAct 2 alias; set listAct=concLst listAct [[int func alias] nil]; set nbAct=nbAct+1 ) else if !strcmp key "listEvt" then let infos -> [int [event [alias _]]] in ( _ADDlistTabItem listTabEvt nbEvt 0 int; _SETlistTabItem listTabEvt nbEvt 1 event; _SETlistTabItem listTabEvt nbEvt 2 alias; set listEvt=concLst listEvt [[int event alias] nil]; set nbEvt=nbEvt+1 ) else nil; load2 nxt; ) ;; /*-----------------------*/ fun load(l)= _RSTlistTab listTabAct; _RSTlistTab listTabEvt; set nbAct=0; set nbEvt=0; set listAct=nil; set listEvt=nil; set currAct=nil; set rgAct=nil; set currEvt=nil; load2 l ;; /*-----------------------*/ fun rflSizeEditWin (wn, blurp, w, h)= let w-10 -> Wcomp in let 80 -> Hcomp in ( _POSITIONwindow winComp 5 25 Wcomp Hcomp; _POSITIONtext compHuman 80 5 Wcomp-85 20; _POSITIONtext compProgId 80 30 Wcomp-85 20; _POSITIONtext compCLSID 80 55 Wcomp-85 20; let w-10 -> Wact in let 140 -> Hact in ( _POSITIONwindow winAct 5 55+Hcomp Wact Hact; _POSITIONlistTab listTabAct 5 5 Wact-10 Hact-35; _POSITIONwindow winEvt 5 85+Hcomp+Hact Wact Hact; _POSITIONlistTab listTabEvt 5 5 Wact-10 Hact-35; ); ); 0;; /*-----------------------*/ fun affComp(t,list)= if (t==nil) then 0 else let t -> [hname iname clsid nxt] in ( _ADDlist list 0 (strcatn hname::" ("::iname::")"::nil); affComp nxt list; ); 0;; /*-----------------------*/ fun affInterf(t,B,typ,pos)= if t==nil then 0 else let t -> [int nxt] in let _AXGetInterfaceInfo int -> [iname _ _ ityp] in ( if ityp==typ then _ADDcombo B pos iname else nil; affInterf nxt B typ pos+1 ) ;; /*-----------------------*/ fun affFunc(t,list,pos)= if (t==nil) then 0 else let t -> [fn nxt] in let _AXGetFuncInfo fn -> [fname help _ nbarg] in ( _ADDlist list pos strcatn fname::" - "::help::" ("::(itoa nbarg)::")"::nil; affFunc nxt list pos+1 ) ;; /*-----------------------*/ fun getControl(list,n)= if (list==nil) then nil else let list -> [n1 n2 n3 nxt] in if n==0 then [n1 n2 n3] else getControl nxt n-1;; /*-----------------------*/ fun clickListComp(L,u,pos,s)= let u -> [ctrl nb] in let getControl ctrl nb-pos-1 -> [human prog CLSID] in ( _SETtext selCompHuman human; _SETtext selCompProgId prog; _SETtext selCompCLSID CLSID; );; /*-----------------------*/ fun clickListFunc(L,u,pos,s)= let nth_list u pos -> fn in let _AXGetFuncInfo fn -> [fname _ _ _] in ( _SETtext selFuncName fname; _SETtext selFuncAlias fname; );; /*-----------------------*/ fun clickListEvent(L,u,pos,s)= let nth_list u pos -> ev in let _AXGetFuncInfo ev -> [ename _ _ _] in ( _SETtext selEventName ename; _SETtext selEventAlias ename; );; /*-----------------------*/ fun getInterf(int,u)= let u -> [s typ] in let _AXGetInterfaceInfo int -> [iname _ _ ityp] in if (!strcmp iname s) && (ityp==typ) then 1 else 0 ;; /*-----------------------*/ fun selInterf(B,u,pos,s)= let u -> [l typ flist] in let search_in_list l @getInterf [s typ] -> int in let _AXGetFuncList int -> funcs in ( _RSTlist flist; affFunc funcs flist 0; _SELlist flist 0; if typ==0 then ( _CBlistClick flist @clickListFunc funcs; clickListFunc flist funcs 0 nil ) else ( _CBlistClick flist @clickListEvent funcs; clickListEvent flist funcs 0 nil ) ) ;; /*-----------------------*/ fun ActDestroy(win,u)= _AXDestroyInstance u;; /*-----------------------*/ fun EvtDestroy(win,u)= _AXDestroyInstance u;; /*-----------------------*/ fun selCompOK(B,u)= _SETtext compHuman _GETtext selCompHuman; _SETtext compProgId _GETtext selCompProgId; _SETtext compCLSID _GETtext selCompCLSID; _RSTlistTab listTabAct; set listAct=nil; set nbAct=0; _RSTlistTab listTabEvt; set listEvt=nil; set nbEvt=0; _DSwindow u;; /*-----------------------*/ fun selCompCancel(B,u)= _DSwindow u;; /*-----------------------*/ fun findAct(a,x)= let a -> [_ _ alias] in !strcmp alias x;; /*-----------------------*/ fun findEvt(a,x)= let a -> [_ _ alias] in !strcmp alias x;; /*-----------------------*/ fun selFuncOK(B,u)= let u -> [win ax] in let _GETcombo selFuncInterf -> [_ int] in let _GETtext selFuncName -> fname in let _GETtext selFuncAlias -> falias in if ((strlen fname)>0) && ((strlen falias)>0) then if (!strcmp falias "start") || (!strcmp falias "destroy") || (!strcmp falias "show") || (!strcmp falias "hide") then _DLGMessageBox _channel win "Error" "Aliases \"start\", \"destroy\", \"show\" and \"hide\" are reserved" 0 else if (search_in_list listAct @findAct falias)!=nil then /* loc( _DLGMessageBox _channel win "Error" "Alias already used" 0 ) */ _DLGMessageBox _channel win (_locEditor "2660-CONTXE-error" nil) (_locEditor "2661-CONTXE-aliasalrea" nil) 0 else ( _ADDlistTabItem listTabAct nbAct 0 int; _SETlistTabItem listTabAct nbAct 1 fname; _SETlistTabItem listTabAct nbAct 2 falias; set listAct=concLst listAct [[int fname falias] nil]; set nbAct=nbAct+1; _DSwindow win; ActDestroy win ax; nil ) else nil ;; /*-----------------------*/ fun selFuncCancel(B,u)= let u -> [win ax] in ( _DSwindow win; ActDestroy win ax; );; /*-----------------------*/ fun selEventOK(B,u)= let u -> [win ax] in let _GETcombo selEventInterf -> [_ int] in let _GETtext selEventName -> ename in let _GETtext selEventAlias -> ealias in if ((strlen ename)>0) && ((strlen ealias)>0) then if (!strcmp ealias "destroyed") || (!strcmp ealias "in") || (!strcmp ealias "shown") || (!strcmp ealias "hidden") || (!strcmp ealias "notfound") then /* loc( _DLGMessageBox _channel win "Error" "Aliases \"destroyed\", \"in\", \"shown\", \"hidden\" and \"notfound\" are reserved" 0 ) */ _DLGMessageBox _channel win (_locEditor "2660-CONTXE-error" nil) "Aliases \"destroyed\", \"in\", \"shown\", \"hidden\" and \"notfound\" are reserved" 0 else if (search_in_list listEvt @findEvt ealias)!=nil then /* loc( _DLGMessageBox _channel win "Error" "Alias already used" 0 ) */ _DLGMessageBox _channel win (_locEditor "2660-CONTXE-error" nil) (_locEditor "2661-CONTXE-aliasalrea" nil) 0 else ( _ADDlistTabItem listTabEvt nbEvt 0 int; _SETlistTabItem listTabEvt nbEvt 1 ename; _SETlistTabItem listTabEvt nbEvt 2 ealias; set listEvt=concLst listEvt [[int ename ealias] nil]; set nbEvt=nbEvt+1; _DSwindow win; EvtDestroy win ax; nil ) else nil ;; /*-----------------------*/ fun selEventCancel(B,u)= let u -> [win ax] in ( _DSwindow win; EvtDestroy win ax; );; /*-----------------------*/ fun selComp(B,u)= let 640 -> WselComp in let 300 -> HselComp in /* loc( let _CRwindow _channel editWin 50 50 WselComp HselComp WN_MENU|WN_MINBOX "Component Selection" -> winSelComp in ( ) */ let _CRwindow _channel editWin 50 50 WselComp HselComp WN_MENU|WN_MINBOX (_locEditor "3250-CONTXE-components" nil) -> winSelComp in ( /* loc( _CRtext _channel winSelComp 5 HselComp-110 75 20 ET_ALIGN_RIGHT "Human Name :"; ) */ _CRtext _channel winSelComp 5 HselComp-110 75 20 ET_ALIGN_RIGHT (_locEditor "3260-CONTXE-humanname:" nil); /* loc( _CRtext _channel winSelComp 5 HselComp-85 75 20 ET_ALIGN_RIGHT "Program Id :"; ) */ _CRtext _channel winSelComp 5 HselComp-85 75 20 ET_ALIGN_RIGHT (_locEditor "3270-CONTXE-programid:" nil); /* loc( _CRtext _channel winSelComp 5 HselComp-60 75 20 ET_ALIGN_RIGHT "CLSID :"; ) */ _CRtext _channel winSelComp 5 HselComp-60 75 20 ET_ALIGN_RIGHT (_locEditor "3280-CONTXE-clsid:" nil); set selCompHuman=_CRtext _channel winSelComp 80 HselComp-110 WselComp-85 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; set selCompProgId=_CRtext _channel winSelComp 80 HselComp-85 WselComp-85 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; set selCompCLSID=_CRtext _channel winSelComp 80 HselComp-60 WselComp-85 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; let _CRlist _channel winSelComp 5 5 WselComp-10 HselComp-120 LB_DOWN|LB_VSCROLL -> list in let _AXEnumControls -> controls in ( affComp controls list; _CBlistClick list @clickListComp [controls _GETlistCount list]; _SELlist list 0; let _GETlist list -> [pos str] in clickListComp list [controls _GETlistCount list] pos str; ); /* loc( _CBbutton _CRbutton _channel winSelComp 50 HselComp-25 70 20 0 "OK" @selCompOK winSelComp; ) */ _CBbutton _CRbutton _channel winSelComp 50 HselComp-25 70 20 0 (_locEditor "3400-CONTXE-ok" nil) @selCompOK winSelComp; /* loc( _CBbutton _CRbutton _channel winSelComp 150 HselComp-25 70 20 0 "Cancel" @selCompCancel winSelComp; ) */ _CBbutton _CRbutton _channel winSelComp 150 HselComp-25 70 20 0 (_locEditor "3410-CONTXE-cancel" nil) @selCompCancel winSelComp; ); 0;; /*-----------------------*/ fun addAct(B,u)= let _GETtext compCLSID -> clsid in ( if (strlen clsid)>0 then let 500 -> Wact in let 300 -> Hact in /* loc( let _CRwindow _channel editWin 50 100 Wact Hact WN_MENU|WN_MINBOX "Add Function" -> winAct in ( ) */ let _CRwindow _channel editWin 50 100 Wact Hact WN_MENU|WN_MINBOX (_locEditor "3510-CONTXE-addfunctio" nil) -> winAct in ( /* loc( _CRtext _channel winAct 5 Hact-105 85 20 ET_ALIGN_RIGHT "Interface :"; ) */ _CRtext _channel winAct 5 Hact-105 85 20 ET_ALIGN_RIGHT (_locEditor "3520-CONTXE-interface:" nil); /* loc( _CRtext _channel winAct 5 Hact-80 85 20 ET_ALIGN_RIGHT "Function Name :"; ) */ _CRtext _channel winAct 5 Hact-80 85 20 ET_ALIGN_RIGHT (_locEditor "3530-CONTXE-functionna" nil); /* loc( _CRtext _channel winAct 5 Hact-55 85 20 ET_ALIGN_RIGHT "Alias :"; ) */ _CRtext _channel winAct 5 Hact-55 85 20 ET_ALIGN_RIGHT (_locEditor "3540-CONTXE-alias:" nil); set selFuncInterf=_CRcombo _channel winAct 90 Hact-105 Wact-95 100 CB_NOEDIT|CB_DOWN|CB_AHSCROLL ""; set selFuncName=_CRtext _channel winAct 90 Hact-80 Wact-95 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; set selFuncAlias=_CReditLine _channel winAct 90 Hact-55 Wact-95 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; let _CRlist _channel winAct 5 5 Wact-10 Hact-115 LB_DOWN|LB_VSCROLL -> list in let _AXCreateInstance _channel _AXstring2GUID clsid -> ax in let _AXEnumInterfaces ax -> interfs in ( affInterf interfs selFuncInterf 0 0; _CBcombo selFuncInterf @selInterf [interfs 0 list]; _SELcombo selFuncInterf 0; let _GETcombo selFuncInterf -> [_ s] in selInterf selFuncInterf [interfs 0 list] nil s; _CBwinDestroy winAct @ActDestroy ax; /* loc( _CBbutton _CRbutton _channel winAct 50 Hact-25 70 20 0 "OK" @selFuncOK [winAct ax]; ) */ _CBbutton _CRbutton _channel winAct 50 Hact-25 70 20 0 (_locEditor "3400-CONTXE-ok" nil) @selFuncOK [winAct ax]; /* loc( _CBbutton _CRbutton _channel winAct 150 Hact-25 70 20 0 "Cancel" @selFuncCancel [winAct ax]; ) */ _CBbutton _CRbutton _channel winAct 150 Hact-25 70 20 0 (_locEditor "3410-CONTXE-cancel" nil) @selFuncCancel [winAct ax]; ); ) else nil ) ;; /*-----------------------*/ fun delAct(B,u)= _DELlistTabItem listTabAct rgAct; set listAct=remove_from_list listAct currAct; set nbAct=nbAct-1;; /*-----------------------*/ fun selListAct(L,u,rg)= if (rg>=0) then ( set currAct=nth_list listAct rg; set rgAct=rg ) else ( set currAct=nil; set rgAct=nil );; /*-----------------------*/ fun addEvt(B,u)= let _GETtext compCLSID -> clsid in ( if (strlen clsid)>0 then let 500 -> Wact in let 300 -> Hact in /* loc( let _CRwindow _channel editWin 50 150 Wact Hact WN_MENU|WN_MINBOX "Add Event" -> winEvt in ( ) */ let _CRwindow _channel editWin 50 150 Wact Hact WN_MENU|WN_MINBOX (_locEditor "3980-CONTXE-addevent" nil) -> winEvt in ( /* loc( _CRtext _channel winEvt 5 Hact-105 85 20 ET_ALIGN_RIGHT "Interface :"; ) */ _CRtext _channel winEvt 5 Hact-105 85 20 ET_ALIGN_RIGHT (_locEditor "3520-CONTXE-interface:" nil); /* loc( _CRtext _channel winEvt 5 Hact-80 85 20 ET_ALIGN_RIGHT "Event Name :"; ) */ _CRtext _channel winEvt 5 Hact-80 85 20 ET_ALIGN_RIGHT (_locEditor "4000-CONTXE-eventname:" nil); /* loc( _CRtext _channel winEvt 5 Hact-55 85 20 ET_ALIGN_RIGHT "Alias :"; ) */ _CRtext _channel winEvt 5 Hact-55 85 20 ET_ALIGN_RIGHT (_locEditor "3540-CONTXE-alias:" nil); set selEventInterf=_CRcombo _channel winEvt 90 Hact-105 Wact-95 100 CB_NOEDIT|CB_DOWN|CB_AHSCROLL ""; set selEventName=_CRtext _channel winEvt 90 Hact-80 Wact-95 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; set selEventAlias=_CReditLine _channel winEvt 90 Hact-55 Wact-95 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; let _CRlist _channel winEvt 5 5 Wact-10 Hact-115 LB_DOWN|LB_VSCROLL -> list in let _AXCreateInstance _channel _AXstring2GUID clsid -> ax in let _AXEnumInterfaces ax -> interfs in ( affInterf interfs selEventInterf 1 0; _CBcombo selEventInterf @selInterf [interfs 1 list]; _SELcombo selEventInterf 0; let _GETcombo selEventInterf -> [_ s] in selInterf selEventInterf [interfs 1 list] nil s; _CBwinDestroy winEvt @EvtDestroy ax; /* loc( _CBbutton _CRbutton _channel winEvt 50 Hact-25 70 20 0 "OK" @selEventOK [winEvt ax]; ) */ _CBbutton _CRbutton _channel winEvt 50 Hact-25 70 20 0 (_locEditor "3400-CONTXE-ok" nil) @selEventOK [winEvt ax]; /* loc( _CBbutton _CRbutton _channel winEvt 150 Hact-25 70 20 0 "Cancel" @selEventCancel [winEvt ax]; ) */ _CBbutton _CRbutton _channel winEvt 150 Hact-25 70 20 0 (_locEditor "3410-CONTXE-cancel" nil) @selEventCancel [winEvt ax]; ); ) else nil ) ;; /*-----------------------*/ fun delEvt(B,u)= _DELlistTabItem listTabEvt rgEvt; set listEvt=remove_from_list listEvt currEvt; set nbEvt=nbEvt-1;; /*-----------------------*/ fun selListEvt(L,u,rg)= if (rg>=0) then ( set currEvt=nth_list listEvt rg; set rgEvt=rg ) else ( set currEvt=nil; set rgEvt=nil );; /*-----------------------*/ fun IniEditor (filename)= let 350 -> Wed in let 450 -> Hed in let startEditor _channel nil nil nil Wed Hed WN_MENU|WN_MINBOX|WN_SIZEBOX EDITOR_NORMAL filename "dms/tools/activex/contx.dmc" nil nil @load @save nil -> ed in ( set editWin = getEditWin ed; /* loc( _CRtext _channel editWin 5 5 80 20 ET_ALIGN_LEFT "Component :"; ) */ _CRtext _channel editWin 5 5 80 20 ET_ALIGN_LEFT (_locEditor "4510-CONTXE-component:" nil); /* loc( _CBbutton _CRbutton _channel editWin 85 3 50 20 0 "Select" ) */ _CBbutton _CRbutton _channel editWin 85 3 50 20 0 (_locEditor "4520-CONTXE-select" nil) @selComp nil; let Wed-10 -> Wcomp in let 80 -> Hcomp in ( /* loc( set winComp=_CRwindow _channel editWin 5 25 Wcomp Hcomp WN_CHILD "Component"; ) */ set winComp=_CRwindow _channel editWin 5 25 Wcomp Hcomp WN_CHILD (_locEditor "4560-CONTXE-component" nil); /* loc( _CRtext _channel winComp 5 5 75 20 ET_ALIGN_RIGHT "Human Name :"; ) */ _CRtext _channel winComp 5 5 75 20 ET_ALIGN_RIGHT (_locEditor "3260-CONTXE-humanname:" nil); /* loc( _CRtext _channel winComp 5 30 75 20 ET_ALIGN_RIGHT "Program Id :"; ) */ _CRtext _channel winComp 5 30 75 20 ET_ALIGN_RIGHT (_locEditor "3270-CONTXE-programid:" nil); /* loc( _CRtext _channel winComp 5 55 75 20 ET_ALIGN_RIGHT "CLSID :"; ) */ _CRtext _channel winComp 5 55 75 20 ET_ALIGN_RIGHT (_locEditor "3280-CONTXE-clsid:" nil); set compHuman=_CReditLine _channel winComp 80 5 Wcomp-85 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; set compProgId=_CReditLine _channel winComp 80 30 Wcomp-85 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; set compCLSID=_CReditLine _channel winComp 80 55 Wcomp-85 20 ET_ALIGN_LEFT|ET_DOWN|ET_AHSCROLL ""; /* loc( _CRtext _channel editWin 5 35+Hcomp 80 20 ET_ALIGN_LEFT "Actions :"; ) */ _CRtext _channel editWin 5 35+Hcomp 80 20 ET_ALIGN_LEFT (_locEditor "4640-CONTXE-actions:" nil); let Wed-10 -> Wact in let 140 -> Hact in ( /* loc( set winAct=_CRwindow _channel editWin 5 55+Hcomp Wact Hact WN_CHILD "Actions"; ) */ set winAct=_CRwindow _channel editWin 5 55+Hcomp Wact Hact WN_CHILD (_locEditor "4670-CONTXE-actions" nil); set listTabAct=_CRlistTab _channel winAct 5 5 Wact-10 Hact-35 LV_DOWN|LV_SINGLESEL; /* loc( _ADDlistTabColumn listTabAct 0 (Wact-10)/3-2 ET_ALIGN_LEFT "Interface"; ) */ _ADDlistTabColumn listTabAct 0 (Wact-10)/3-2 ET_ALIGN_LEFT (_locEditor "4690-CONTXE-interface" nil); /* loc( _ADDlistTabColumn listTabAct 1 (Wact-10)/3-2 ET_ALIGN_LEFT "Function"; ) */ _ADDlistTabColumn listTabAct 1 (Wact-10)/3-2 ET_ALIGN_LEFT (_locEditor "4700-CONTXE-function" nil); /* loc( _ADDlistTabColumn listTabAct 2 (Wact-10)/3 ET_ALIGN_LEFT "Alias"; ) */ _ADDlistTabColumn listTabAct 2 (Wact-10)/3 ET_ALIGN_LEFT (_locEditor "4710-CONTXE-alias" nil); /* loc( _CBbutton _CRbutton _channel winAct 10 Hact-25 40 20 0 "Add" @addAct nil; ) */ _CBbutton _CRbutton _channel winAct 10 Hact-25 40 20 0 (_locEditor "4720-CONTXE-add" nil) @addAct nil; /* loc( _CBbutton _CRbutton _channel winAct 60 Hact-25 40 20 0 "Del" @delAct nil; ) */ _CBbutton _CRbutton _channel winAct 60 Hact-25 40 20 0 (_locEditor "4730-CONTXE-del" nil) @delAct nil; _CBlistTabSelect listTabAct @selListAct nil; set listAct=nil; set nbAct=0; /* loc( _CRtext _channel editWin 5 65+Hcomp+Hact 80 20 ET_ALIGN_LEFT "Events :"; ) */ _CRtext _channel editWin 5 65+Hcomp+Hact 80 20 ET_ALIGN_LEFT (_locEditor "4780-CONTXE-events:" nil); /* loc( set winEvt=_CRwindow _channel editWin 5 85+Hcomp+Hact Wact Hact WN_CHILD "Events"; ) */ set winEvt=_CRwindow _channel editWin 5 85+Hcomp+Hact Wact Hact WN_CHILD (_locEditor "4790-CONTXE-events" nil); set listTabEvt=_CRlistTab _channel winEvt 5 5 Wact-10 Hact-35 LV_DOWN|LV_SINGLESEL; /* loc( _ADDlistTabColumn listTabEvt 0 (Wact-10)/3-2 ET_ALIGN_LEFT "Interface"; ) */ _ADDlistTabColumn listTabEvt 0 (Wact-10)/3-2 ET_ALIGN_LEFT (_locEditor "4690-CONTXE-interface" nil); /* loc( _ADDlistTabColumn listTabEvt 1 (Wact-10)/3-2 ET_ALIGN_LEFT "Event"; ) */ _ADDlistTabColumn listTabEvt 1 (Wact-10)/3-2 ET_ALIGN_LEFT (_locEditor "4820-CONTXE-event" nil); /* loc( _ADDlistTabColumn listTabEvt 2 (Wact-10)/3 ET_ALIGN_LEFT "Alias"; ) */ _ADDlistTabColumn listTabEvt 2 (Wact-10)/3 ET_ALIGN_LEFT (_locEditor "4710-CONTXE-alias" nil); /* loc( _CBbutton _CRbutton _channel winEvt 10 Hact-25 40 20 0 "Add" @addEvt nil; ) */ _CBbutton _CRbutton _channel winEvt 10 Hact-25 40 20 0 (_locEditor "4720-CONTXE-add" nil) @addEvt nil; /* loc( _CBbutton _CRbutton _channel winEvt 60 Hact-25 40 20 0 "Del" @delEvt nil; ) */ _CBbutton _CRbutton _channel winEvt 60 Hact-25 40 20 0 (_locEditor "4730-CONTXE-del" nil) @delEvt nil; _CBlistTabSelect listTabEvt @selListEvt nil; set listEvt=nil; set nbEvt=0; ); ); _CBwinSize editWin @rflSizeEditWin 0; if filename==nil then nil else openDMI ed ); 0;;