Вот, что получилось, но есть баг и минус Баг: по данному алгоритму клик по CheckBox'у тоже срабатывает и удаляет всё подряд Минус: переносить можно, но без вложенных пунктов Есть идеи, как поправить и баг, и минус? Add(LineBreakEx,9777673,1099,350) { Caption="item_sel" } Add(MainForm,497509,392,343) { Width=228 Height=278 Color=16777215 Caption="Example" Position=1 link(onCreate,7225485:doFor,[]) } Add(TreeViewEx,8406005,721,322) { Width=255 Height=280 WinStyle=1 Strings=#3:X 1|1:(|3:Y 1|3:Y 2|3:Y 3|3:Y 4|3:Y 5|3:Y 6|1:)|3:X 2|1:(|3:Y 1|3:Y 2|3:Y 3|3:Y 4|3:Y 5|3:Y 6|1:)| TrackSelect=0 CheckBoxes=0 IconsState=[] Icons=[] Point(onMouseDown) Point(onMouseUp) Point(Index) Point(ItemAtPos) Point(doExpand) Point(doSelect) link(onMouseDown,2942920:doWork,[]) link(onMouseUp,1299426:doWork,[]) } Add(For,7225485,462,357) { IncludeEnd=1 link(onEvent,8406005:doExpand,[]) link(End,8406005:Count,[(475,345)(506,345)(506,388)(727,388)]) } Add(LineBreakEx,6479060,742,441) { Caption="item_xy" Type=3 link(_Data,8406005:ItemAtPos,[]) } Add(LineBreakEx,7806054,735,420) { Caption="item_sctd" Type=3 link(_Data,8406005:Index,[]) } Add(LineBreakEx,6806421,728,399) { Caption="item_arr" Type=3 link(_Data,8406005:Array,[]) } Add(LineBreakEx,5336192,637,336) { Caption="item_del" Type=1 link(OnEvent,8406005:doDelete,[]) } Add(LineBreakEx,6581554,637,322) { Caption="item_add" Type=1 link(OnEvent,8406005:doAdd,[]) } Add(LineBreakEx,15170680,1099,343) { Caption="item_add" } Add(LineBreakEx,7740805,1099,336) { Caption="item_del" } Add(LineBreakEx,6127875,637,364) { Caption="item_sel" Type=1 link(OnEvent,8406005:doSelect,[]) } Add(MultiElementEx,10212347,1043,336) { @Hint=#26:Replace line under XY.line| Name="REP" link(onItemDel,7740805:doWork,[]) link(onItemAdd,15170680:doWork,[]) link(onItemSel,9777673:doWork,[]) link(ItemSctd,15115863:getVar,[]) link(ItemArr,3929236:getVar,[]) link(ItemXY,12360943:getVar,[]) } BEGIN_SDK Add(EditMultiEx,9108391,21,21) { WorkCount=#11:doMouseDown|9:doMouseUp| EventCount=#9:onItemDel|9:onItemAdd|9:onItemSel| DataCount=#8:ItemSctd|7:ItemArr|6:ItemXY| Width=776 Height=368 VOffset=70 HOffset=210 link(doMouseDown,16429364:doValue,[]) link(doMouseUp,9254422:doCompare,[(63,104)(63,146)]) } Add(Memory,16429364,161,91) { } Add(If_else,3289069,161,140) { Op2=Integer(0) @IsLib=True link(onTrue,11422125:doCompare,[]) link(Op1,16429364:Value,[]) } Add(If_else,11422125,217,140) { Type=5 link(onTrue,13507683:doRead,[]) link(Op1,11449850:getVar,[]) link(Op2,13531940:getVar,[]) } Add(LineBreakEx,13531940,224,91) { Caption="item_xy" Type=2 } Add(LineBreakEx,11449850,217,112) { Caption="item_sctd" Type=2 } Add(LineBreakEx,3947963,301,112) { Caption="item_arr" Type=2 } Add(ArrayRW,13507683,301,140) { link(onRead,16543752:doCompare,[]) link(Array,3947963:getVar,[]) link(Index,10493216:getVar,[]) } Add(LineBreakEx,10493216,308,91) { Caption="item_sctd" Type=2 } Add(If_else,9254422,105,140) { elink(3289069) link(onTrue,3289069:doCompare,[]) } Add(DoData,6630712,595,175) { link(onEventData,9108391:onItemAdd,[(712,181)(712,104)]) link(Data,3090372:getVar,[]) } Add(LineBreakEx,6337669,98,98) { Caption="clean" Type=1 link(OnEvent,16429364:doClear,[]) } Add(LineBreakEx,14510905,560,336) { Caption="clean" } Add(LineBreakEx,3090372,595,147) { Caption="item_value" Type=2 } Add(LineBreakEx,8437136,301,189) { Caption="item_value" Type=3 link(_Data,13507683:Item,[]) } Add(Hub,8093167,560,175) { InCount=2 OutCount=1 link(onEvent1,6630712:doData,[]) } Add(LineBreakEx,7270588,511,56) { Caption="item_sctd" Type=2 } Add(Hub,5403521,560,91) { InCount=2 OutCount=1 link(onEvent1,9108391:onItemDel,[]) } Add(DoData,289072,595,245) { link(onEventData,9108391:onItemSel,[(712,251)(712,111)]) link(Data,15305917:getVar,[]) } Add(LineBreakEx,15305917,595,217) { Caption="item_xy" Type=2 } Add(Hub,9077300,560,245) { InCount=2 OutCount=1 link(onEvent1,289072:doData,[]) } Add(If_else,16543752,378,140) { Type=2 link(onTrue,10736067:doEvent1,[(446,146)(446,97)]) link(onFalse,15317324:doEvent1,[(446,153)(446,251)]) link(Op1,6987349:getVar,[]) link(Op2,14272877:getVar,[]) } Add(Hub,10736067,469,91) { OutCount=4 link(onEvent1,1113143:doData,[]) link(onEvent2,9077300:doEvent1,[(521,104)(521,251)]) link(onEvent3,8093167:doEvent1,[(521,111)(521,181)]) link(onEvent4,9282981:doWork1,[(521,118)]) } Add(Hub,15317324,469,245) { OutCount=5 link(onEvent1,16018485:doValue,[(493,251)(493,223)]) link(onEvent2,9077300:doEvent2,[]) link(onEvent3,8093167:doEvent2,[(521,265)(521,188)]) link(onEvent4,12872882:doData,[]) link(onEvent5,9282981:doWork2,[]) } Add(LineBreakEx,14272877,385,91) { Caption="item_xy" Type=2 } Add(LineBreakEx,6987349,378,112) { Caption="item_sctd" Type=2 } Add(Memory,16018485,504,217) { Point(Data) link(Data,5640563:Var1,[(510,82)]) } Add(DoData,1113143,511,91) { link(onEventData,5403521:doEvent1,[]) link(Data,5640563:Var2,[]) } Add(GetDataEx,5640563,511,77) { link(Data,7270588:getVar,[]) } Add(HubEx,9282981,517,273) { Angle=1 link(onEvent,14510905:doWork,[(521,342)]) } Add(DoData,12872882,504,266) { link(onEventData,5403521:doEvent2,[(555,272)(555,104)]) link(Data,16018485:Value,[]) } Add(LineBreakEx,11340378,245,35) { Caption="item_xy" Type=3 link(_Data,9108391:ItemXY,[]) } Add(LineBreakEx,10834579,238,49) { Caption="item_arr" Type=3 link(_Data,9108391:ItemArr,[]) } Add(LineBreakEx,692083,231,63) { Caption="item_sctd" Type=3 link(_Data,9108391:ItemSctd,[]) } END_SDK Add(LineBreakEx,2942920,777,336) { Caption="mouse_d" } Add(LineBreakEx,1299426,777,343) { Caption="mouse_u" } Add(LineBreakEx,13629241,959,343) { Caption="mouse_u" Type=1 link(OnEvent,10212347:doMouseUp,[]) } Add(LineBreakEx,12360943,1057,280) { Caption="item_xy" Type=2 } Add(LineBreakEx,3929236,1050,294) { Caption="item_arr" Type=2 } Add(LineBreakEx,15115863,1043,308) { Caption="item_sctd" Type=2 } Add(LineBreakEx,15441096,959,336) { Caption="mouse_d" Type=1 link(OnEvent,10212347:doMouseDown,[]) }
Редактировалось 1 раз(а), последний 2017-02-09 20:40:35
|