104
|
Fullfit the caption on the element's width
local oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Element = oSwimLane.Elements.Add("<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)")
var_Element.CaptionSingleLine = 1
var_Element.BackColor = 0xf8f8f8
var_Element.AutoSize = false
var_Element.Width = 194
var_Element.Height = 76
var_Element.CaptionAlign = 4 /*0x4 | */
|
103
|
Wrap the caption by <br> or "\r\n" sequence only
local oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Element = oSwimLane.Elements.Add("<solidline><b>Bank Account</b></solidline><br>+ owner: String <r><a 1;properties>+</a><br><solidline>+ balance: Currency = 0</solidline><br>+ deposit(amount: Currency)<r><a 2;methods>+</a><br>+ withdraw(amount: Currency)")
var_Element.CaptionSingleLine = 1
var_Element.BackColor = 0xf8f8f8
|
102
|
Display a custom tooltip
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.ShowToolTip("new content","",null,"+8","+8")
return
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
|
101
|
Shows the tooltip of the object moved relative to its default position
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.ShowToolTip("<null>","<null>",null,"+8","+8")
return
local oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
// oSwimLane.Elements.Add("Element with a Tooltip").ToolTip = "This is a bit of text that should be displayed when cursor hovers the element."
var_Element = oSwimLane.Elements.Add("Element with a Tooltip")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ToolTip = "This is a bit of text that should be displayed when cursor hovers the element."]
endwith
|
100
|
Add a pool to cover all visible-elements
local oSwimLane,var_Elements,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
// oSwimLane.Pools.Add().HeaderSize(0) = 24
var_Pool = oSwimLane.Pools.Add()
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(0) = 24]
endwith
oSwimLane.EndUpdate()
|
99
|
How can I ensure that a specified pool fits the surface's visible area
local oSwimLane,var_Pattern,var_Pools
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Pools = oSwimLane.Pools
var_Pattern = var_Pools.Add().Pattern
var_Pattern.Type = 6
var_Pattern.Color = 0xe0e0e0
var_Pools.Add(2000).EnsureVisible()
|
98
|
No property for the pool can be saved/restored through Undo/Redo feature
local l,oSwimLane,var_Lane,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.AllowUndoRedo = true
var_Pool = oSwimLane.Pools.Add(-54,-47,244,112)
l = var_Pool.StartUpdatePool
var_Lane = var_Pool.Lane(1)
var_Lane.Color = 0xf0f0f0
var_Lane.Children.Count = 2
var_Pool.EndUpdatePool(l)
|
97
|
Rename Undo/Redo commands into the control's toolbar
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.ToolBarFormat = "-1,100,102,101,|,103,104"
oSwimLane.Template = [ToolBarCaption(103) = "Anuleaza <img>4</img>"] // oSwimLane.ToolBarCaption(103) = "Anuleaza <img>4</img>"
oSwimLane.Template = [ToolBarCaption(104) = "<img>5</img>Reface"] // oSwimLane.ToolBarCaption(104) = "<img>5</img>Reface"
oSwimLane.Template = [ToolBarToolTip(103) = "Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z."] // oSwimLane.ToolBarToolTip(103) = "Anuleaza ultima actiune UI. Pentru a anula o actiune apasati Ctrl+Z."
oSwimLane.Template = [ToolBarToolTip(104) = "Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y."] // oSwimLane.ToolBarToolTip(104) = "Inverseaza cea mai recenta operatie de anulare. Pentru a reface o actiune apasati Ctrl+Y."
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.EndUpdate()
|
96
|
Add Undo/Redo commands to control's toolbar
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.ToolBarFormat = "-1,100,102,101,|,103,104"
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.EndUpdate()
|
95
|
Clear Undo/Redo queue (method 2)
local c,oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
c = oSwimLane.UndoRedoQueueLength
oSwimLane.UndoRedoQueueLength = 0
oSwimLane.UndoRedoQueueLength = c
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
94
|
Clear Undo/Redo queue (method 1)
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.AllowUndoRedo = true
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
93
|
Removes Redo operations
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.Undo()
oSwimLane.RedoRemoveAction(10)
? oSwimLane.RedoListAction()
oSwimLane.EndUpdate()
|
92
|
Removes Undo operations
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.UndoRemoveAction(10)
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
91
|
Record the UI operations as a block of undo/redo operations
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.StartBlockUndoRedo()
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.EndBlockUndoRedo()
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
90
|
Groups the next to current Undo/Redo Actions in a single block
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.GroupUndoRedoActions(3)
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
89
|
Limits the number of entries within the Undo/Redo queue
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.UndoRedoQueueLength = 1
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
88
|
Lists the Redo actions that can be performed on the surface
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.Undo()
? oSwimLane.RedoListAction()
oSwimLane.EndUpdate()
|
87
|
Lists the Undo actions that can be performed on the surface
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
? oSwimLane.UndoListAction()
oSwimLane.EndUpdate()
|
86
|
Checks whether the Undo operation is possible
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.Undo()
? "CanRedo"
? Str(oSwimLane.CanRedo)
oSwimLane.EndUpdate()
|
85
|
Call Redo by code
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.Undo()
oSwimLane.Redo()
oSwimLane.EndUpdate()
|
84
|
Checks whether the Undo operation is possible
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
? "CanUndo"
? Str(oSwimLane.CanUndo)
oSwimLane.EndUpdate()
|
83
|
Call Undo by code
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.Undo()
oSwimLane.EndUpdate()
|
82
|
Save the element's properties for Undo/Redo operations, by code
local h,oSwimLane,var_Elements,var_Link
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.StartBlockUndoRedo()
var_Link = oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
h = var_Link.StartUpdateLink
var_Link.Color = 0xff
var_Link.Width = 2
var_Link.ShowDir = false
var_Link.ShowLinkType = 2
var_Link.EndUpdateLink(h)
oSwimLane.EndBlockUndoRedo()
oSwimLane.EndUpdate()
|
81
|
No color is restored for the link when Undo/Redo operation is executed
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddElement = class::nativeObject_AddElement
endwith
*/
// A new element has been added to the surface.
function nativeObject_AddElement(Element)
/* Element.ShowCheckBox = True */
/* Element.CheckBoxAlign = 2 */
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local h,oSwimLane,var_Element,var_Elements,var_Link
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
var_Elements = oSwimLane.Elements
var_Elements.Add("Check <b>1",-64,-64)
// var_Elements.Add("Check <b>2").Checked = 1
var_Element = var_Elements.Add("Check <b>2")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.Checked = 1]
endwith
oSwimLane.StartBlockUndoRedo()
var_Link = oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
h = var_Link.StartUpdateLink
var_Link.Color = 0xff
var_Link.Width = 2
var_Link.ShowDir = false
var_Link.ShowLinkType = 2
var_Link.EndUpdateLink(h)
oSwimLane.EndBlockUndoRedo()
oSwimLane.EndUpdate()
|
80
|
Save the element's properties for Undo/Redo operations, by code
local h,oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Elements.Add("Item <b>1",-64,-64)
oSwimLane.StartBlockUndoRedo()
var_Element = oSwimLane.Elements.Add("Item <b>2")
h = var_Element.StartUpdateElement
var_Element.BackColor = 0x0
var_Element.ForeColor = 0xffffff
var_Element.BorderColor = 0xff
var_Element.EndUpdateElement(h)
oSwimLane.EndBlockUndoRedo()
oSwimLane.EndUpdate()
|
79
|
No color is restored for the element when Undo/Redo operation is executed
local h,oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Elements.Add("Item <b>1",-64,-64)
oSwimLane.StartBlockUndoRedo()
var_Element = oSwimLane.Elements.Add("Item <b>2")
h = var_Element.StartUpdateElement
var_Element.BackColor = 0x0
var_Element.ForeColor = 0xffffff
var_Element.BorderColor = 0xff
var_Element.EndUpdateElement(h)
oSwimLane.EndBlockUndoRedo()
oSwimLane.EndUpdate()
|
78
|
How can I ensure that a specified element fits the surface's visible area
local oSwimLane,var_Elements,var_Pattern
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Pattern = var_Elements.Add("Element A",-100).Pattern
var_Pattern.Type = 6
var_Pattern.Color = 0xe0e0e0
var_Elements.Add("Element B",2000).EnsureVisible()
|
77
|
LayoutEndChanging(exUndo), LayoutEndChanging(exRedo) or LayoutEndChanging(exUndoRedoUpdate) notifiy your application once a Undo/Redo operation is executed (CTRL+Z, CTRL+Y) or updated
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
LayoutEndChanging = class::nativeObject_LayoutEndChanging
endwith
*/
// Notifies your application once the control's layout has been changed.
function nativeObject_LayoutEndChanging(Operation)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? "LayoutEndChanging"
? Str(Operation)
return
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.EndUpdate()
|
76
|
Turn on the Undo/Redo feature
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowUndoRedo = true
oSwimLane.Pools.Add(-154,-82,244,122)
var_Elements = oSwimLane.Elements
var_Elements.Add("Item <b>1",-64,-64)
var_Elements.Add("Item <b>2")
oSwimLane.Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
oSwimLane.EndUpdate()
|
75
|
ImageSize property on 32 (specifies the size of control' icons/images/check-boxes/radio-buttons)
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddElement = class::nativeObject_AddElement
endwith
*/
// A new element has been added to the surface.
function nativeObject_AddElement(Element)
/* Element.ShowCheckBox = True */
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane,var_Appearance,var_Element,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.ImageSize = 32
oSwimLane.Font.Size = 16
oSwimLane.ContextMenuFont.Size = 16
oSwimLane.Images("gBJJgBAIDAAEg4AEEKAD/hz/EMNh8TIRNGwAjEZAEXjAojKAjMLjABhkaABAk0plUrlktl0vmExmUzmk1m03nE5nU7nk9miAoE+oVDolFo1HpFJpU5h8Sf9OqFNqUOqNUqdPq9VrFWrlbr1QpdhAFAkFis1ntFptVrtkrpszrNvmVxqk3uVtm1kmF3sdBvF/wGBmV+j9BYGHwWJulfxdax2NyFdx2JlV6l9Nw7AAGZymdz2Cy2GxErvWcz9ivlwyV21cuxugwktzGIzmvwtl0+53U5y0a0Wazmmyu/3dCyOMyXHx/J5nIr9q3uyqnBxFN3G46ma4vb7mD2Ng4nZze00fDkHC7t7us2rOX5tguetpHRlmz4HVqnXk1PjHO+CMPo9MBMC+j2vC8j7wS8cFNI4kBo05UIvfCT/NsnsApU+0Fqg/T+oy/kPxC0sEQfErKQK96+w28UWRI8UGvO8sTLS9r2PWmsMJTDTask3CsIbIEQRA3shOXEEAO/GclJ9FEKrrA8FRbKMXRIlb0JxCkjS1LMswhCcvuel0cv26cSMa8Ufx+2sQwhEUoSXOCjSbLcnxjKc7sdKUVyq28NtVI71P9P7JxtQEapjQ6fzfM8zPfNE2PhIsLL63E40slk5y7N89LcyU9SvMb3SdUc6VJLj5VLVLfO/PS9KzNFHUa/0XyBD0dxlS9cxhMlTRSoNXypPErWDPyfNS+MwprRNO0FD8wVVZ1AI08URwVRjtJ1WCn21QkkUrXVLVPQS/XIk" ;
+"FgTxT9iONZ9xVTdq+L1eKg3kkF6Upe68XtfV51/MtrVjBlwYFL1ev8y1/P6/lyzzYl02wntj0RVFmS1Qa+M5as93QxEUW9e993rfmQ2+vy65M/mL1lhl/2bj2ByVduMtNhCJT9hdz41nN14Ld12Z9UjfI/oUAaGseiw6+uFLLhcVabJOS5RqOE0BHlZ5VnEr5fOMs3st+aa/bbRzrJGV51Y0b0DbqaWXZD90hIsPbjWu52+6Wyadpe66hhO+P/XioW5rD8ZbrUZuVg6n1dsE/cXmewu1m9PVwnd35/nueXho/NaJzmjc61W76esuT77eG8pTquy9TwWH8LEzG8RDfFalx3Gcfvna9rvG/cptGLd9tuI6TZOP5Fiqi99vea+X4VRcBq/JZZtVQ9cwSs5lsXE372+a9z7PbfB3VVqHyvMctLto8uob6eV0m/cD6MN2v+T33t6sBut42vdv2bJ8a997x2maFJfK+qArbGJPEKE+1qTflMsIdW/GCJX17KcT6/czr/X+u1g29B7j/4BQfWkkx4zIHisjhPCmE0K4SwtXM+d4BvHRwNZOoBph9IJvPek9d40FoMJxf691jj2ywQQcHEWET4XJwkTszlVqm2GokewxtBT1DpQjRxDN0rUVDNKdC3lb6tzNOwh6upMSSYfv4YBCl/bsn9PxiFCEo7SI6Obc9HeOrnY8x4jtHtdpN4GRbaorhsbu18Pph5CiHymI0RpSXGJ/z2oUOxYxG858AyiI+bfJtuTcG5yelBJy" &
+"T8okhqFd4a5yxL0rvulYtKCsZiWxWkc1s1cRoxxwhA31DLE0mR9l9HqX8fJgTDmFMVH0MIsRzVYnwnMi1dyzmhLt2kS2pxIiU62Wj5ptQGlSYFakLonTUJNLKaM5WzlffEkuFkk5wTrhVO2eE7G6lJhxFFYUZ55zmn0WuBCD4pzhirFCKkbomsOoIYmZx5p90LoYWGPdD5g0QmJRKYxbZ6zYoVQ2jVGylSak7KSkFH6RSjpHKFuU+YMyNo5SulkC6I0vonTCitMXPoEpVS2H5FQfEqp2R1opIgAEkJISYARTCukOhmPNI5Ex/wzGHUsicMwA1LHgQ90Y/KpoQHAD+pB/R4NzIaMAB9Xaw1gqaAOsh/A/ptIkWUfhGK1kZH8RgH5GqvgArqRmt4AAPrTroRofBGADkqr6Rmu4D7CEaHARiwpJrEEZsXXwlVjyMWRsaRqwdkLGNBABZmytmyMnaINZqyVpLR2ftKAAAdd6h2osbaskdiq4EZtgSmyNcbVWRJNXe3AA7REar3b0stlAAXBtoRmvJGLjEYAHUWsFcwCD/rnaop9aEICMAPdK5hT6xpeuzdOtAgKuJeGfdq6ggEbkTvAP+p9UCHXrvKkcgIA==")
var_Appearance = oSwimLane.VisualAppearance
var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAEhABfICg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsOatVqjG5sYjcGC3La9cz3Pq/bpuDCbMxuaK1TrYXr1TTrcofBDldAxXRKDxRDWVhLnYOw9i6XxzjuXprCaOoKB6EwbiCZZCGOdZYlcT4xHmbhMnwNxtn+G5bmqdZ7n4Pw/i+X5zm+dQ9g4CAFjsfAJheOI8HsDoWDWTB/lwSAQkmA5PEgRYoDyDwYFYFoFmGCBmBqBphDgRJ0gOTIYBGRB/lyRh0iSCZbjYWJzgWDwIjYLoLmMCJGDKDJjBgWgqG6YhyhGHRzA2aJ1mCABOAiOJvhCZBJBYRoRmSCQmEqEQimkAZgg8TZnDCV4UkmCUmBKZYJGYWoWCUUhiFMNZckNUh2GENoaGaGZmgmJhqhqZpGGIEx2GYIxSGGGJdggWJth2Z4JmYeoemeSZ2H6H4hGmQhihyTRHGYLg7CiCgmgqIpokoNoOiOaJ4jqA" ;
+"ochqaZGgaCxpAoZoaiaaJqEmWIcGgShcnCJwqEqFoR3YOoFlgchflqNouiuawHmWSYqGkWZQhcatzmaOoumuSp2j6L5bBaKo0GQKRnGGCxqiyCwmkqMpsksNpOGUGI7A0ew1G0Rxlg0PptgsZuDG2Sx2l6N5tnYNZZjUDRXDCVo5l2FoymqOpukuNpujubwLjmWY5k0ZwxkaFxYlWdp6j6b5Lnafo/nABQdg2FxcUsY5BkmXAkmeQpckwNRrkKTh8CSHZBk4NwyC4KxxgMDwakOMZDn8GgwnGAo2C4cwthMcwmCcMoHBMHRehwTIghySYNksZwcH4HBMEsHx5hyPItiweYxnwSZEH4Mozn0fR+DMAo7EYJ50gkdZelKdNql2UgJn0GIukwH4HicQRai2GI4mSVpNl0dZGledgNgcYpYDWUx3FsOQi5YV5anaTY3G6W53A2RxylydxFjiaxEFCCgBBAQ==")
var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAEhABcoFg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEokiEN5NCKfJ9DyTRjnScg1CEYxOBmBpPCgagdgcIZoHoGIFA4AxQkCAxKAgKBwgGSpIBCZhjF2E5UnQPQMiMCJBCIBwxkSQgsgo+JtDKT4ziiQw+k6EwAnsOgLnkHI+yCQ4iEuE4klkPhShEJBpAoPgymOMoaDgHBjFMBgyD0HYTiCZSZhIIIGC4ChiHSew5kwM5omILZPiOBI0hwZw5kodIdA+M4Uj4PxOmMSJ9DuTQzmyZgviceZagaHVfj4awwmaAh2GUIYmCOEZZDaD" ;
+"RDFGdwcg4EwyHMN4LBOaJbCoaZqgKH8qkMfIyD8DozDyfA7A0Coui0OpMmOZJdCsahKg6NooioChwmEMxLEoXJbDUTRXGSUgykyMgQG0GpPHMdI3D4TRCgSeQ0kmaw+lGNAtCOZJVCiT5DhyRQwAqMg0EoDBBGEGAsASC5yiSCw+k4Mp6lWNQuksTpRjMTxDGzJwGmGMpDDKXYTECSAxl6Q5olkK4PgMMIVkASRMBMBgzEkaZEjsNALhIZA6AeQBgk0ZJEgAAJ0CIAgODMNIsD6DRih9uYwFyAwfCUb5ijmbI+gwdxkk8MZMGeMpPCkDxzBiC5MHMPJLDSSROFMLIoBEQogEMFJPnENYQGgE4DCOaJfC7tYkhGTQ0kyWwykuXpMiyRpKjKR4wngM4JmOWJACCdYtHMWw+Eych4nINYLAEYA8AgdAEEsQZajaQoog4GxPiMVIolcdxNG8XZVkmNoRwWRVBlFeFEeAZQJgnFiHgHwcAhjhHgGMSI5xki2CyA4EQsA3i0HkBsLwKRFgAHcPkHopBJBcBeDUYI7xyDOHqKkWo2hLCsDIBIY4qQ5A8DoMMYwOAqCSBGKgU4yB2iDBwIgB4hxQgAAWNgBoAgsBdEcBUQ4sQ9A/HqD0JI8RpBzH2OYVgahLBHFiJQJweQiDhDUE4SAARQAzFsG0EQwA6AOWSBkFgVAIBCHeGERQFQiCQHeFkC4vkiB8DyB4F4QxVDvGMNEOQexMjlBeOAKQiQLgfDA7QEAaRiBdEkH8" &
+"TI7AZiFBAGYBIABWjYBiGACioQ4C1A+AMMgWhfgxHgPsT4URIB0COKgPgjRwiAB8AYUArxBgCF6J4GY5hrAOCAPAAoGRRCsCIMEXATXfgAF8BMJwURuEQDgD4Q4OBoAeHGFgLIwQrC2D0JoSQ+QvhrHoSgQI8AbDFGID8C4Ah6BQAQAASACwgCYCMAUMARAvCKAiAMCAokeCKBEOAKgCBoDaHuMsEAqwJDiACDURg8R6gPCyDofYWAhgoDIJ4ZAuhoiGAYGgRoQw/A0GMMga4GwxiEDeIYYInATCDBQAoBAwAoDlA0KMBoVRGiDGwDQUYIRsgaGGDgM4LAwDWB8EcIA1APhjEgGQVwgRIgjFIIQHokgZA+CSEkLIKQSjHAwMsCwDAsAEB2ABTIwRwD6A8CMToSxkAxE4HYIw+BsgbBEDAHYBwojCBoIYFgXSjABE4MsHIbQWhlGILQS4UhvBdAUKEEwHgxDAAABQQQUAhgKHiDwE4JS4A7BGLQZwCR4gaBEMUYAqgKApHgGwVAIRNgvBMMQXImwZDtE4I8UIyAZCDCAE8AwrhgAdEEBACQLRCg4FEB4AYtA7CdEiPQMoJAMDNCkOMCAXAFDhH0D0Q4EgfAaGSK4NYzRUj9BuCgAgswOBjB4Fqpw8B2ADAwE4A4Qx2DAE6JIaQPQGhAGKBcIQ5B5gHByKIFARwADbAyKUfgdBKBBGyEcVIAB/ijHoIoSA0gdBNl+OATYERZgBGSDYWIWAUCEGKA4FAhR7CIBt" &
+"YQGYZg4CMAiKEcAOwkBjHWE8Z4lQgA+DkBoTohwwCeAaMEEgBQCCABgHMRwQRhhMEWFQd4HwZgwDqFESItAbAGEANCpINAzANCCJkK4ah+heFYBURwsQrS2CsMYMoWGBhYDWI0EInQgiApXaOVI1QFDsC8MUNoMBMA1HMJga4eh+BeAWOgNNowGjYzCGAAwax+iJBeBVT4gxoBIAGFsJFBxgBiGKFkKQ7g5DFFQEcAo4AzDDACKEQQLgCiJDYB0MgRBCCQAgQEA==")
var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAEhABQ4Fg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziaQAGgkNQwCSLIwjNIsBxPFKVQChEYxSjKA40SJNUgyj6CCY+QLIE5PfQgAL9I6eJABCCSQKkYx0HScRiwPBIbAZAYhCZqaKhWgkKI/WBQIABRDVLx5ESiLRtKy7Mq2bpvXBcNxXHalaztO68LxvKyqHb5fJ/PpgL4YHgmC4NQ7EMRwF6rfbyfZ7Xg/ORPTijZ4sdzMHTzJyscx3HqfaBoOaZU5eMLceTUMofHIndxCcasPbsLpOS5LNKsaxmWLYdhFdTxQi6LpvfA8BwXC6JY7heRYRbFbYxRjGNi1TS7G4nGKd5WGuL4UHwI4VkaYxii8V4pgQMgVBQdQ5iCTYGi8T4vlWbJ3nuPg+l+H5AlSCg6ByPBoE8Ap3jqYxhBido5g0OgOGOGI4CsSpCCAcgcAuEosiYN5NHMOJ+D4TpTnSeQ7CEY4uBmBpPhgagdgcIZoHibIEyUBJZDQIJShoCgcCAcoyAQOYYlcZJ1D0DxDCiQgwEiAZMHEMJLFKPJ9D2DoDnidQ4k+Y5QmKEROBkIhKD0JIZDIS4TGUCQuEeEJjnOIg8CuY4RkYNgwGMM5RllGpThDRYIGKZIpCkJFUH0PINyWcQ3CaaZCG+HBnEOTJhD8Tx4GoeQ/GcaZSHOH5nCmQhshoZhihYYwhiYA4RlkNoNEMUZ3ByDjwEsPxOnMa" ;
+"J9DuDR6F6GYmCmKh0nANtMioP4Gg8aoSiIO5NhodociqaY6GaFYkEyOg8lsNRNTaUgykyMgQG0GpPiONJbD8DpDEyfA6k0KwOkWMQsGsAJU0SagwkoJQJDIPISCQCJTGSUwyGaM4KkmMgtksHpFjAZ4TGCBAbgaSpcksdhNAMIJHHsD5TjSWWMAMOpwjyLwbk6cAz0KRJiDkDYzESCwiggcgcgYIQwCIEINCMCITj6TVxkMXp2j0cQLlCTo7E2F4ymkMZdhMPJHDGHpLAyVg+k4UwrCCSIyByDJ8DuDY8CiWY0kiXAXC6QJwFKGIjCeJpjgyezjlyDw6klHx5myRoMGwZwbkcToTEiew4kwbQfEmUgPkOKJUD4DpTHSHQmgkXI/ASTA1g0XIEDMTBimyfI7jSLYHEiUoPk0Fw/kadAsHGao8A0A5smEMJ2mNyg5gzJZwDgCpChyIZVyIZwFCMJEPASRkBqE+IcHInRcDxA2H4bIsx0AtDsIBpwZwYicD6BscwDwUBgHCIYaIfgtiVH2O4WgUwJjEFeAEQA7y4hMCiBMS4aRdB9A4CYE4LxljyBMHcDItBxinDCLcTYmgejBFQ9UTg9gFBOEmAQTI7A4iZGMGkQAWQ7jYA2HIL8BRAjDG4HcCwARbjZHiNoDw1nLDnGyNINQ+wjCpBMEgcovQUgICQJEcgWRuBvAyJ4d4ugpCUAINcHogxIgnDiM4N4axzD3F2JMTY/hRqYF6FsWIxhYAGGoAALQYgYirBwBE" &
+"BwpAjBEAAIEIYsA2gOHCMAGgXAACIDmMITAUgFABH0D0I4WwvhNFGMAOIvxRD2GKNcMA8gjAPDCPwBogRPAxA8PgRwZRICYDED8RAXQEghEAN8DIgwIBdB4JYWwMgtiQHoFQKAiRFguFKGwGQhglDsEOVwEQQRkCKBwOIHgSREDRBYHEXQcQdD7GIGARQHRxipBrMobgewDCUCADsEYWAzgMHKHQDQxxsDzA6EMfAeQHB4GQDkUYPA0iECiKoGgRhcDdA2GMQA8AOCjDSPgHI4QnApAKBICwHg1A+BcAwcYsgbjGGQNkCIgRsA6EcBEWANADjsB0B8YYzQQDIGSBcEYZBCCPEkFIHQSgkgZAwG4IwBAbAYGGAgL4Ch4g8BOCQAA2KKC0GcAke4AAXAFCoHkDw4xbBFEcJkE4JRSiEFeJYKQVRMgJHODwX4xAgC/AsIIZAeAHDRG0HYI40RKCLEGDUI4jAghwBWIceA+whCpHMFYZYOQxglDMHMBQGxYjVHiAoBIPgfgHGwPsHYJRSB6A0IERQLhCjJHMA4OQoAoCOACLYGYSx8DpBQIMWQdRnDRH+DsE4fB3CeAmM67kAAXBFEIDYDI7wLBtEoEIfYNwjiUGGJQYQMAjCHEAO0C4zxW29CoCgfIxR9AKA6J8BgUAIhDGMIoJ40hqgwCgKETgnBhhqCGI0AIqgZhGDANQDIlBDCRGkCoJISR0g1BSKQOgfAzBRG0DYHARh4DeDAOwANuw8ApCKKkYg/RPhjBs" &
+"H0J4yg5hPGWN0GwFBHQBFaDoQIURljFAoB4GgzRVzbBECQFQRQoguHGHANwDRdCKy8CgSIGwhhoDYJYYI1giBICSAEgI=")
var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAEhABUYCg6AADACAxRDgMQBQKAAzQFAYbhkGCGAAGMZxRgmFgAQhFcZQSKUOQTDKMIziYBYfgkMIgSbJUgDGAkRRdDSOYDmGQYDiCIoRShOMIjHLUXxtDaIZwhEAoJb+RgAUY/cTzaAEUwHHiTKInaCQShsFYJUJAdRURQ9EwvCIZBpEWwLChENQwWLCNj2TScBwjCyqbale45ViqdoDU5EUiXJJ8ZxnECfYyrGjaMpCeKBUrGYTVRBIMxLLSia5oeJqMrnBpNVrIUgXCAGFwHK6BcauXIIDp6XoWWRbAAWDpVVzNNC3YzkCIceADHKiXxmVz4JLdGZ1QTGID2XaYaxWK4oZjsVSc4KDHbETbHFi9Fo3NaaxGisew+GYc4HlCR5NAAAIIEkQJSGMOgdE4RhYDwJJsAaAYQgmPpolCWgSCiBJzjcEIAkQXIBm8d5UhOQgCDUIBDDJDhgggJgKgKYJIDSVoDk8KBFF4OohEMZgWDsYYDj4GoGmGSB2B6B5iAiBgYDsYRjGSbIJo4RgqDuIpIAoLoLmMCJGDKDJjJiLA7xqUAAgGTwYnYPoPmQCQGEKEJkEkFg9gGY44BoRoSmSSQ2EKEggHgRhShSZRJFYVoVmWCRmFKFAgGOTheheZgJgYYoYmYSYWGaF4lkMMJ0hqZpJjYbobmcCZGHKHJmjmJh0h2Z4JmYcIaE8WZ2H6H5oAoBoCiCaBKBYfdjGoJoKiKaJKDaDojmkChGgmIgpCoV" ;
+"oWiWaJZiSd4mmmSh2h6J5qAqBoiiiaY5iSeIpmqComiqKpqkqNouiuah6hqMIsmsSpWiuGhP1kOoumuSp2j6L5sAsBo54gKwWkaMZsgsJpKjKbJLDaRYxYWRpSjSbIZiSe41m2CxmlqNptksdpejebR5iSfI4m4S4W16boLiaao6m5fJ9jubwLkaco8m8S5WnaPZunuOp4j6b5Lnac4SA0PAGlgP4wEwFwGkGcIMCcCpCnCCxiA8NYAAmMJfkSbhFCcFpFnGDBnBqRpUhuEwTDeZ5lHCfw6HIQxLCaAxygyJwqgGcATE4FA6hWY4tjEAAQBAgIA==")
oSwimLane.Template = [Background(70) = 16777216] // oSwimLane.Background(70) = 0x1000000
oSwimLane.Template = [Background(71) = 33554432] // oSwimLane.Background(71) = 0x2000000
oSwimLane.Template = [Background(72) = 50331648] // oSwimLane.Background(72) = 0x3000000
oSwimLane.Template = [Background(102) = 67108864] // oSwimLane.Background(102) = 0x4000000
oSwimLane.Template = [Background(104) = 1] // oSwimLane.Background(104) = 0x1
var_Elements = oSwimLane.Elements
var_Element = var_Elements.Add("Element Check 2")
var_Element.Checked = 1
var_Element.Pictures = "1,2"
oSwimLane.Home()
oSwimLane.EndUpdate()
|
74
|
ImageSize property on 16 (default) (specifies the size of control' icons)
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddElement = class::nativeObject_AddElement
endwith
*/
// A new element has been added to the surface.
function nativeObject_AddElement(Element)
/* Element.ShowCheckBox = True */
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane,var_Element,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.ImageSize = 16
oSwimLane.Images("gBJJgBAIDAAEg4ACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjMLjABAAgjUYkUnlUrlktl0vmExmUzmk1m03nE5nU7nkrQCAntBoVDolFo1HoM/ADAplLptImdMYFOqdSqlXq1QrVbrlGpVWsFNrNdnNjsk7pQAtNroFnt0sh8Yr9iulTuNxs1Eu8OiT/vsnsNVutXlk/oGGtVKxGLxWNtsZtN8iUYuNvy0Zvd+xNYwdwvl4p870GCqc8vOeuVttmp1knyOayWVy+WzN/ze1wOElenm+12WUz/Bv2/3UyyWrzeutux2GSyGP2dQ33C1ur3GD3M4zUNzHdlWjq/E3nGzVpjWv4HA7fRy/Tv2IrN8rPW6nZ3ve7mUlfu20Z8acvQyb+vY9jasYoDwMm+LytVBDqKG3z8O3Cb8P+mkAuY9cCQ2uL4KaxDKvkp8RNLEjqugnrwQo/UWPzFyeQw5sNLZFENrI4kOqU66pw8uzmOKvTqNqjULJvGL1JO48GtTGsbLdEL3scxLlyiw8dQeoUVxdLTtyKmUjwGlslRPJsnK1HbAKbKCrsQo8uQk/CeP44iaR/ATnTNPLvyxPU+z9P9AUDQVBowiofJXQ6Oo+kKMpIkjztE4TKn4P6JowfgPnwD5/nAjB8AOeAPo0eAA1IAFH07UhAIMpYAVIYFHqBUhwVjV1S1EtQAHxW65V0AZwAeuQAnwB5gAPYViEDVhwAHTQBkCjB4gOhwDmCyhH0sACAg==")
var_Elements = oSwimLane.Elements
var_Element = var_Elements.Add("Element Check 2")
var_Element.Checked = 1
var_Element.Pictures = "1,2"
oSwimLane.Home()
oSwimLane.EndUpdate()
|
73
|
We want to have option to start/end connectors at the middle of each side of the elements
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.ShowLinks = -1
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>1")
var_Elements.Add("Element <sha ;;0>2",164,64)
var_Elements.Add("Element <sha ;;0>3",0,132)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
72
|
How can I determine the position the user clicks within the element's boundaries (Click event)
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
Click = class::nativeObject_Click
endwith
*/
// Occurs when the user presses and then releases the left mouse button over the control.
function nativeObject_Click()
local X,Y,e
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
e = oSwimLane.ElementFromPoint(-1,-1)
X = -1
Y = -1
oSwimLane.PointToPosition(X,Y)
? Str(e)
? Str(X)
? Str(Y)
return
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Elements = oSwimLane.Elements
var_Elements.Add("Element 1")
var_Elements.Add("Element 2",128,64)
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
71
|
How can I determine the position the user clicks within the element's boundaries (MouseMove event)
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
local e
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
e = oSwimLane.ElementFromPoint(X,Y)
oSwimLane.PointToPosition(X,Y)
? Str(e)
? Str(X)
? Str(Y)
return
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Elements = oSwimLane.Elements
var_Elements.Add("Element 1")
var_Elements.Add("Element 2",128,64)
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
70
|
How can I convert the screen position (mouse) to surface position
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? "Point "
? Str(X)
? Str(Y)
oSwimLane.PointToPosition(X,Y)
? "Position "
? Str(X)
? Str(Y)
return
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>1")
var_Elements.Add("Element <sha ;;0>2",164,64)
var_Elements.Add("Element <sha ;;0>3",0,132)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(1))
oSwimLane.FitToClient()
oSwimLane.AxisStyle = 192
oSwimLane.AxisColor = 0x808080
oSwimLane.EndUpdate()
|
69
|
Is is possible to show just the positive coordinates
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Coord = 17 /*exAllowPositiveOnly | exCartesian*/
oSwimLane.AxisColor = 0x808080
oSwimLane.AxisStyle = 259 /*exLinesThick | exLinesDot*/
oSwimLane.ShowLinks = -1
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>1")
var_Elements.Add("Element <sha ;;0>2",164,64)
var_Elements.Add("Element <sha ;;0>3",0,132)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
68
|
Cartesian coordinates (positive coordinates are shown top-right to the origin)
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Coord = 1
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>1")
var_Elements.Add("Element <sha ;;0>2",164,64)
var_Elements.Add("Element <sha ;;0>3",0,132)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(1))
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
67
|
Default coordinates (positive coordinates are shown bottom-right to the origin)
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Coord = 0
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>1")
var_Elements.Add("Element <sha ;;0>2",164,64)
var_Elements.Add("Element <sha ;;0>3",0,132)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(1))
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
66
|
Is it possible to customize the path of the links orthogonally similar with Microsoft Visio tool
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowLinkControlPoint = 31 /*exOrthoArrange | exMiddleControlPoint | exControlPoint | exEndControlPoint | exStartControlPoint*/
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>1")
var_Elements.Add("Element <sha ;;0>2",164,64)
var_Elements.Add("Element <sha ;;0>3",0,132)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(1))
oSwimLane.Zoom = 200
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
65
|
Does your control supports OLE Drag and Drop
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
OLEDragDrop = class::nativeObject_OLEDragDrop
endwith
*/
// Occurs when a source component is dropped onto a target component when the source component determines that a drop can occur.
function nativeObject_OLEDragDrop(Data,Effect,Button,Shift,X,Y)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? Str(Data)
return
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
OLEStartDrag = class::nativeObject_OLEStartDrag
endwith
*/
// Occurs when the OLEDrag method is called.
function nativeObject_OLEStartDrag(Data,AllowedEffects)
/* Data.SetData("some data to drag") */
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane,var_Element,var_Element1,var_Elements,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.OLEDropMode = 1
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
// var_Pool.Lane(0).Children.Count = 2
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 2]
endwith
// var_Pool.Lane(1).Children.Count = 1
var_Lanes1 = var_Pool.Lane(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes1]
TemplateDef = var_Lanes1
Template = [var_Lanes1.Count = 1]
endwith
var_Elements = oSwimLane.Elements
var_Element = var_Elements.Add("Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>")
var_Element.CaptionSingleLine = false
var_Element.AutoSize = false
var_Element.X = -125
var_Element.Y = -105
var_Element.Width = 256
var_Element.Height = 56
var_Element1 = var_Elements.Add("Click the Element wait for .5 second until + cursor is shown, to start <b>OLE Drag and Drop</b>")
var_Element1.CaptionSingleLine = false
var_Element1.AutoSize = false
var_Element1.X = -125
var_Element1.Width = 256
var_Element1.Height = 56
oSwimLane.EndUpdate()
|
64
|
Is it possible to disable customizing the path of a specified link
local oSwimLane,var_Elements,var_Link,var_Link1,var_Link2,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowLinkControlPoint = -1 /*0xffffffe0 | exOrthoArrange | exMiddleControlPoint | exControlPoint | exEndControlPoint | exStartControlPoint*/
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",164,64)
var_Elements.Add("Element <sha ;;0>B",0,132)
var_Links = oSwimLane.Links
// var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75"
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
with (oSwimLane)
TemplateDef = [dim var_Link]
TemplateDef = var_Link
Template = [var_Link.CustomPath = "0.5,0.25,0.5,.75"]
endwith
// var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75"
var_Link1 = var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
with (oSwimLane)
TemplateDef = [dim var_Link1]
TemplateDef = var_Link1
Template = [var_Link1.CustomPath = "0.5,0.25,0.5,.75"]
endwith
var_Link2 = var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(1))
var_Link2.ShowLinkType = 3
var_Link2.StartPos = 0
var_Link2.Color = 0x808080
var_Link2.AllowControlPoint = 0
oSwimLane.Zoom = 200
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
63
|
How do I let user customizes the link's path
local oSwimLane,var_Elements,var_Link,var_Link1,var_Link2,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowLinkControlPoint = -1 /*0xffffffe0 | exOrthoArrange | exMiddleControlPoint | exControlPoint | exEndControlPoint | exStartControlPoint*/
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",164,64)
var_Elements.Add("Element <sha ;;0>B",0,132)
var_Links = oSwimLane.Links
// var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75"
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
with (oSwimLane)
TemplateDef = [dim var_Link]
TemplateDef = var_Link
Template = [var_Link.CustomPath = "0.5,0.25,0.5,.75"]
endwith
// var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2)).CustomPath = "0.5,0.25,0.5,.75"
var_Link1 = var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(2))
with (oSwimLane)
TemplateDef = [dim var_Link1]
TemplateDef = var_Link1
Template = [var_Link1.CustomPath = "0.5,0.25,0.5,.75"]
endwith
var_Link2 = var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(1))
var_Link2.ShowLinkType = 3
var_Link2.StartPos = 0
oSwimLane.Zoom = 200
oSwimLane.FitToClient()
oSwimLane.EndUpdate()
|
62
|
How can I generate a picture/image/graph from my diagram
local oSwimLane,var_CopyTo,var_Element,var_Element1,var_Element2,var_Element3,var_Element4,var_Element5,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
// var_Elements.Add("Element E").ID = "E"
var_Element4 = var_Elements.Add("Element E")
with (oSwimLane)
TemplateDef = [dim var_Element4]
TemplateDef = var_Element4
Template = [var_Element4.ID = "E"]
endwith
// var_Elements.Add("Element E").ID = "F"
var_Element5 = var_Elements.Add("Element E")
with (oSwimLane)
TemplateDef = [dim var_Element5]
TemplateDef = var_Element5
Template = [var_Element5.ID = "F"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("E"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("F"))
oSwimLane.Template = [DefArrange(4) = False] // oSwimLane.DefArrange(4) = false
oSwimLane.Arrange()
var_CopyTo = oSwimLane.CopyTo("c:/temp/xtest.jpg")
? "!!!check the file c:/temp/xtest.jpg!!!"
|
61
|
How can I generate a picture/image/graph from my diagram
local oSwimLane,var_Element,var_Element1,var_Element2,var_Element3,var_Element4,var_Element5,var_Elements,var_Links,var_Print
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
// var_Elements.Add("Element E").ID = "E"
var_Element4 = var_Elements.Add("Element E")
with (oSwimLane)
TemplateDef = [dim var_Element4]
TemplateDef = var_Element4
Template = [var_Element4.ID = "E"]
endwith
// var_Elements.Add("Element E").ID = "F"
var_Element5 = var_Elements.Add("Element E")
with (oSwimLane)
TemplateDef = [dim var_Element5]
TemplateDef = var_Element5
Template = [var_Element5.ID = "F"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("E"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("F"))
oSwimLane.Template = [DefArrange(4) = False] // oSwimLane.DefArrange(4) = false
oSwimLane.Arrange()
var_Print = new OleAutoClient("Exontrol.Print")
var_Print.PrintExt = oSwimLane
var_Print.CopyTo("c:/temp/xtest.jpg")
? "!!!check the file c:/temp/xtest.jpg!!!"
|
60
|
How can I print the component
local oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links,var_Print
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",0,76)
var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
var_Element.AutoSize = false
var_Element.Height = 32
var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
var_Element1.AutoSize = false
var_Element1.Height = 32
var_Links = oSwimLane.Links
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Link.StartPos = 1
var_Link.EndPos = 1
var_Link1 = var_Links.Add(oSwimLane.Elements.Item(2),oSwimLane.Elements.Item(1))
var_Link1.StartPos = 1
var_Link1.EndPos = 1
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(4))
var_Link2 = var_Links.Add(oSwimLane.Elements.Item(4),oSwimLane.Elements.Item(3))
var_Link2.StartPos = 0
var_Link2.EndPos = 2
var_Print = new OleAutoClient("Exontrol.Print")
var_Print.PrintExt = oSwimLane
var_Print.Preview()
|
59
|
How can I show direct-links
local oSwimLane,var_Element,var_Element1,var_Element2,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.ShowLinksType = 1
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B",128,64).ID = "B"
var_Element1 = var_Elements.Add("Element B",128,64)
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C",128,-64).ID = "C"
var_Element2 = var_Elements.Add("Element C",128,-64)
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
|
58
|
How can I show straight-links
local oSwimLane,var_Element,var_Element1,var_Element2,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.ShowLinksType = 2
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B",128,64).ID = "B"
var_Element1 = var_Elements.Add("Element B",128,64)
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C",128,-64).ID = "C"
var_Element2 = var_Elements.Add("Element C",128,-64)
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
|
57
|
How can I show round-links
local oSwimLane,var_Element,var_Element1,var_Element2,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.ShowLinksType = 3
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B",128,64).ID = "B"
var_Element1 = var_Elements.Add("Element B",128,64)
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C",128,-64).ID = "C"
var_Element2 = var_Elements.Add("Element C",128,-64)
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
|
56
|
I've tried to insert a "<br>" in the Caption property text and it just ignores it
local oSwimLane,var_Element,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Elements = oSwimLane.Elements
var_Element = var_Elements.Add("caption")
var_Element.CaptionSingleLine = false
var_Element.Caption = "first caption<br>second caption<br>third caption"
oSwimLane.EndUpdate()
|
55
|
How do I align the extra-caption
local oSwimLane,var_Element,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Elements = oSwimLane.Elements
var_Element = var_Elements.Add("caption")
var_Element.CaptionAlign = 0
var_Element.AutoSize = false
var_Element.Width = 128
var_Element.Height = 64
var_Element.ExtraCaption = "extra-caption"
var_Element.ExtraCaptionAlign = 34
oSwimLane.EndUpdate()
|
54
|
How can I add an extra caption
local oSwimLane,var_Element,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Elements = oSwimLane.Elements
// var_Elements.Add("caption").ExtraCaption = "extra-caption"
var_Element = var_Elements.Add("caption")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ExtraCaption = "extra-caption"]
endwith
oSwimLane.EndUpdate()
|
53
|
I am using the reserve-neighbors feature, the question is how to shift left/right the neighbors instead of up/down
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowMoveNeighbors = 2
oSwimLane.Template = [DefArrange(0) = 1] // oSwimLane.DefArrange(0) = 1
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B ( move it )",16,32)
var_Elements.Add("Element <sha ;;0>C",128,0)
oSwimLane.EndUpdate()
|
52
|
I am using the reserve-neighbors feature, the question is if possible to specify the distance between neighbors
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowMoveNeighbors = 1
oSwimLane.Template = [DefArrange(1) = 0] // oSwimLane.DefArrange(1) = 0
oSwimLane.Template = [DefArrange(2) = 0] // oSwimLane.DefArrange(2) = 0
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B ( move it )",0,32)
var_Elements.Add("Element <sha ;;0>C",0,64)
oSwimLane.EndUpdate()
|
51
|
How do I enable the reserve-neighbors feature
local oSwimLane,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowMoveNeighbors = 1
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B ( move it )",0,32)
var_Elements.Add("Element <sha ;;0>C",0,64)
oSwimLane.EndUpdate()
|
50
|
I've noticed that recently, the elements get compacted once the Arrange method is performed. How can I prevent that
local oSwimLane,var_Element,var_Element1,var_Element2,var_Element3,var_Element4,var_Element5,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
// var_Elements.Add("Element E").ID = "E"
var_Element4 = var_Elements.Add("Element E")
with (oSwimLane)
TemplateDef = [dim var_Element4]
TemplateDef = var_Element4
Template = [var_Element4.ID = "E"]
endwith
// var_Elements.Add("Element E").ID = "F"
var_Element5 = var_Elements.Add("Element E")
with (oSwimLane)
TemplateDef = [dim var_Element5]
TemplateDef = var_Element5
Template = [var_Element5.ID = "F"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("E"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("F"))
oSwimLane.Template = [DefArrange(4) = False] // oSwimLane.DefArrange(4) = false
oSwimLane.Arrange()
|
49
|
How can I move an element to a specified lane/phase/pool
local oSwimLane,var_Element,var_Element1,var_HeaderLane,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Template = [DefPoolHeaderCaptionFormat(True) = "<fgcolor 808080>Faza <off -4><b><font ;6>%i"] // oSwimLane.DefPoolHeaderCaptionFormat(true) = "<fgcolor 808080>Faza <off -4><b><font ;6>%i"
oSwimLane.Template = [DefPoolHeaderCaptionFormat(False) = "<fgcolor 808080>Culoar <off -4><b><font ;6>%i"] // oSwimLane.DefPoolHeaderCaptionFormat(false) = "<fgcolor 808080>Culoar <off -4><b><font ;6>%i"
var_Pool = oSwimLane.Pools.Add(-100,-100,250,180)
// var_Pool.Lane(0).Children.Count = 3
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 3]
endwith
// var_Pool.Lane(1).Children.Count = 3
var_Lanes1 = var_Pool.Lane(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes1]
TemplateDef = var_Lanes1
Template = [var_Lanes1.Count = 3]
endwith
// var_Pool.Lane(1).Children.Item(1).Header.Caption = "<fgcolor FF0000><b>NEW"
var_HeaderLane = var_Pool.Lane(1).Children.Item(1).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane]
TemplateDef = var_HeaderLane
Template = [var_HeaderLane.Caption = "<fgcolor FF0000><b>NEW"]
endwith
var_Element = oSwimLane.Elements.Add("element 1",200,200)
// var_Element.LaneID(true) = "0:H.0,0:V.0"
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.LaneID(True) = "0:H.0,0:V.0"]
endwith
var_Element1 = oSwimLane.Elements.Add("element 2",200,200)
// var_Element1.LaneID(true) = "0:H.2,0:V.2"
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.LaneID(True) = "0:H.2,0:V.2"]
endwith
oSwimLane.EndUpdate()
|
48
|
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-2)
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddLink = class::nativeObject_AddLink
endwith
*/
// A new link has been added to the links collection.
function nativeObject_AddLink(Link)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",48,48)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
|
47
|
Is it possible to add a link to show from bottom/down to top/up, rather that right to left (method-1)
local oSwimLane,var_Elements,var_Link,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",48,48)
var_Links = oSwimLane.Links
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Link.StartPos = 4
var_Link.EndPos = 3
|
46
|
How do I enable the cross link support ( mixed )
local oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",0,76)
var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
var_Element.AutoSize = false
var_Element.Height = 32
var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
var_Element1.AutoSize = false
var_Element1.Height = 32
var_Links = oSwimLane.Links
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Link.StartPos = 1
var_Link.EndPos = 1
var_Link1 = var_Links.Add(oSwimLane.Elements.Item(2),oSwimLane.Elements.Item(1))
var_Link1.StartPos = 1
var_Link1.EndPos = 1
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(4))
var_Link2 = var_Links.Add(oSwimLane.Elements.Item(4),oSwimLane.Elements.Item(3))
var_Link2.StartPos = 0
var_Link2.EndPos = 2
oSwimLane.ShowLinks = 97 /*exShowCrossLinksMixt | exShowExtendedLinks*/
|
45
|
How do I enable the cross link support ( triangular )
local oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",0,76)
var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
var_Element.AutoSize = false
var_Element.Height = 32
var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
var_Element1.AutoSize = false
var_Element1.Height = 32
var_Links = oSwimLane.Links
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Link.StartPos = 1
var_Link.EndPos = 1
var_Link1 = var_Links.Add(oSwimLane.Elements.Item(2),oSwimLane.Elements.Item(1))
var_Link1.StartPos = 1
var_Link1.EndPos = 1
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(4))
var_Link2 = var_Links.Add(oSwimLane.Elements.Item(4),oSwimLane.Elements.Item(3))
var_Link2.StartPos = 0
var_Link2.EndPos = 2
oSwimLane.ShowLinks = 65 /*exShowCrossLinksTriangle | exShowExtendedLinks*/
|
44
|
How do I enable the cross link support ( rectangular )
local oSwimLane,var_Element,var_Element1,var_Elements,var_Link,var_Link1,var_Link2,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",0,76)
var_Element = var_Elements.Add("Element <sha ;;0>C",-76,32)
var_Element.AutoSize = false
var_Element.Height = 32
var_Element1 = var_Elements.Add("Element <sha ;;0>D",76,32)
var_Element1.AutoSize = false
var_Element1.Height = 32
var_Links = oSwimLane.Links
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Link.StartPos = 1
var_Link.EndPos = 1
var_Link1 = var_Links.Add(oSwimLane.Elements.Item(2),oSwimLane.Elements.Item(1))
var_Link1.StartPos = 1
var_Link1.EndPos = 1
var_Links.Add(oSwimLane.Elements.Item(3),oSwimLane.Elements.Item(4))
var_Link2 = var_Links.Add(oSwimLane.Elements.Item(4),oSwimLane.Elements.Item(3))
var_Link2.StartPos = 0
var_Link2.EndPos = 2
oSwimLane.ShowLinks = 33 /*exShowCrossLinksRect | exShowExtendedLinks*/
|
43
|
How do I show a link frmo bottom to top, or reverse, not from left to right
local oSwimLane,var_Elements,var_Link,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",0,64)
var_Links = oSwimLane.Links
var_Link = var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Link.StartPos = 1
var_Link.EndPos = 1
|
42
|
Is it possible to control the links, so that they are always centered
local oSwimLane,var_Element,var_Element1,var_Element2,var_Element3,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
oSwimLane.ShowLinks = -1
oSwimLane.Template = [DefArrange(0) = 1] // oSwimLane.DefArrange(0) = 1
oSwimLane.Arrange()
|
41
|
What options to align the elements do I have if I use Arrange method
local h1,h2,h3,oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.ShowGridLines = true
var_Elements = oSwimLane.Elements
h1 = var_Elements.Add("Top Alignment").ID
var_Elements.Add("Element")
var_Elements.Add("Element")
var_Elements.Add("Element")
h2 = var_Elements.Add("Center Alignment",null,96).ID
var_Elements.Add("Element",null,96)
var_Elements.Add("Element",null,96)
var_Elements.Add("Element",null,96)
h3 = var_Elements.Add("Bottom Alignment",null,178).ID
var_Elements.Add("Element",null,192)
var_Elements.Add("Element",null,192)
var_Elements.Add("Element",null,192)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(3))
var_Links.Add(oSwimLane.Elements.Item(2),oSwimLane.Elements.Item(4))
var_Links.Add(oSwimLane.Elements.Item(2),oSwimLane.Elements.Item(3))
var_Links.Add(oSwimLane.Elements.Item(5),oSwimLane.Elements.Item(6))
var_Links.Add(oSwimLane.Elements.Item(5),oSwimLane.Elements.Item(7))
var_Links.Add(oSwimLane.Elements.Item(6),oSwimLane.Elements.Item(8))
var_Links.Add(oSwimLane.Elements.Item(6),oSwimLane.Elements.Item(7))
var_Links.Add(oSwimLane.Elements.Item(9),oSwimLane.Elements.Item(10))
var_Links.Add(oSwimLane.Elements.Item(9),oSwimLane.Elements.Item(11))
var_Links.Add(oSwimLane.Elements.Item(10),oSwimLane.Elements.Item(12))
var_Links.Add(oSwimLane.Elements.Item(10),oSwimLane.Elements.Item(11))
oSwimLane.Template = [DefArrange(3) = 0] // oSwimLane.DefArrange(3) = 0
oSwimLane.Arrange(h1)
oSwimLane.Template = [DefArrange(3) = 1] // oSwimLane.DefArrange(3) = 1
oSwimLane.Arrange(h2)
oSwimLane.Template = [DefArrange(3) = 2] // oSwimLane.DefArrange(3) = 2
oSwimLane.Arrange(h3)
oSwimLane.EndUpdate()
|
40
|
Is there an auto-arrange feature that will display the flow-chart centered and zoomed correctly after we are finished building it
local oSwimLane,var_Element,var_Element1,var_Element2,var_Element3,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
oSwimLane.Arrange()
|
39
|
Is it possible to change the distance between elements, when calling the Arrange method
local oSwimLane,var_Element,var_Element1,var_Element2,var_Element3,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
oSwimLane.Template = [DefArrange(1) = 0] // oSwimLane.DefArrange(1) = 0
oSwimLane.Template = [DefArrange(2) = 0] // oSwimLane.DefArrange(2) = 0
oSwimLane.Arrange()
|
38
|
How do I organize vertically the elements
local oSwimLane,var_Element,var_Element1,var_Element2,var_Element3,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
// var_Elements.Add("Element A").ID = "A"
var_Element = var_Elements.Add("Element A")
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.ID = "A"]
endwith
// var_Elements.Add("Element B").ID = "B"
var_Element1 = var_Elements.Add("Element B")
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.ID = "B"]
endwith
// var_Elements.Add("Element C").ID = "C"
var_Element2 = var_Elements.Add("Element C")
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.ID = "C"]
endwith
// var_Elements.Add("Element D").ID = "D"
var_Element3 = var_Elements.Add("Element D")
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.ID = "D"]
endwith
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("B"))
var_Links.Add(oSwimLane.Elements.Item("A"),oSwimLane.Elements.Item("C"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("D"))
var_Links.Add(oSwimLane.Elements.Item("B"),oSwimLane.Elements.Item("C"))
oSwimLane.ShowLinksType = 2
oSwimLane.Template = [DefArrange(0) = 1] // oSwimLane.DefArrange(0) = 1
oSwimLane.Arrange()
|
37
|
How can I add programatically a link
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",96,24)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
|
36
|
How do I get the link from the cursor
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
MouseMove = class::nativeObject_MouseMove
endwith
*/
// Occurs when the user moves the mouse.
function nativeObject_MouseMove(Button,Shift,X,Y)
local l
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
l = oSwimLane.LinkFromPoint(-1,-1)
? Str(l)
return
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element <sha ;;0>A")
var_Elements.Add("Element <sha ;;0>B",96,24)
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(2))
|
35
|
Is there a way to create a link which has the same start and end element
local oSwimLane,var_Elements,var_Links
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Elements.Add("Element")
var_Links = oSwimLane.Links
var_Links.Add(oSwimLane.Elements.Item(1),oSwimLane.Elements.Item(1))
|
34
|
How can I show the pool's caption not-rotated or mirrored
local oSwimLane,var_Lanes,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowDesignHeader = 4
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
var_Pool.HeaderCaptionSupportRotate = false
// var_Pool.HeaderSize(0) = 48
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(0) = 48]
endwith
// var_Pool.HeaderSize(2) = 48
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(2) = 48]
endwith
// var_Pool.Lane(0).Children.Count = 3
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 3]
endwith
oSwimLane.EndUpdate()
|
33
|
How can I prevent creating sub-lanes or sub-phases
local oSwimLane,var_Lanes,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.AllowDesignHeader = 4
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
// var_Pool.HeaderSize(0) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(0) = 32]
endwith
// var_Pool.HeaderSize(2) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(2) = 32]
endwith
// var_Pool.Lane(0).Children.Count = 3
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 3]
endwith
oSwimLane.EndUpdate()
|
32
|
How do I show a complete frame/border around the header
local oSwimLane,var_Lanes,var_Pattern,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
// var_Pool.HeaderSize(1) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(1) = 32]
endwith
// var_Pool.HeaderSize(3) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(3) = 32]
endwith
var_Lanes = var_Pool.Lane(1).Children
var_Lanes.Count = 3
// var_Lanes.Item(1).Header.Pattern.Type = 768
var_Pattern = var_Lanes.Item(1).Header.Pattern
with (oSwimLane)
TemplateDef = [dim var_Pattern]
TemplateDef = var_Pattern
Template = [var_Pattern.Type = 768]
endwith
oSwimLane.EndUpdate()
|
31
|
How do I show a complete frame/border around the lane
local oSwimLane,var_Lanes,var_Pattern,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-150,-150,300,150)
// var_Pool.HeaderSize(1) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(1) = 32]
endwith
// var_Pool.HeaderSize(3) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(3) = 32]
endwith
var_Lanes = var_Pool.Lane(1).Children
var_Lanes.Count = 3
// var_Lanes.Item(1).Pattern.Type = 768
var_Pattern = var_Lanes.Item(1).Pattern
with (oSwimLane)
TemplateDef = [dim var_Pattern]
TemplateDef = var_Pattern
Template = [var_Pattern.Type = 768]
endwith
oSwimLane.EndUpdate()
|
30
|
How can I define sub-lanes
local oSwimLane,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-150,-150,300,250)
// var_Pool.HeaderSize(1) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(1) = 32]
endwith
// var_Pool.HeaderSize(3) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(3) = 32]
endwith
var_Lanes = var_Pool.Lane(1).Children
var_Lanes.Count = 3
// var_Lanes.Item(1).Children.Count = 2
var_Lanes1 = var_Lanes.Item(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes1]
TemplateDef = var_Lanes1
Template = [var_Lanes1.Count = 2]
endwith
oSwimLane.EndUpdate()
|
29
|
How can I add default lanes when the user creates a new pool
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddPool = class::nativeObject_AddPool
endwith
*/
// A new pool has been added to the surface.
function nativeObject_AddPool(Pool)
/* Pool.HeaderSize(1) = 24 */
/* Pool.HeaderVisible(0) = False */
/* Pool.HeaderVisible(1) = True */
/* Pool.HeaderVisible(2) = False */
/* Pool.HeaderVisible(3) = False */
/* Pool.Lane(1).Children.Count = 2 */
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Pools.Add(-100,-100,250,250)
oSwimLane.EndUpdate()
|
28
|
How do I prevent showing headers when the user creates new pools
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddPool = class::nativeObject_AddPool
endwith
*/
// A new pool has been added to the surface.
function nativeObject_AddPool(Pool)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane,var_Lanes
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
// oSwimLane.Pools.Add(-100,-100,250,250).Lane(0).Children.Count = 3
var_Lanes = oSwimLane.Pools.Add(-100,-100,250,250).Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 3]
endwith
oSwimLane.EndUpdate()
|
27
|
How can I display icons on headers
local oSwimLane,var_HeaderLane,var_HeaderLane1,var_HeaderLane2,var_Lanes,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
var_Pool = oSwimLane.Pools.Add(-100,-100,250,250)
// var_Pool.HeaderVisible(0) = false
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderVisible(0) = False]
endwith
// var_Pool.HeaderVisible(2) = false
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderVisible(2) = False]
endwith
// var_Pool.HeaderVisible(3) = false
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderVisible(3) = False]
endwith
// var_Pool.HeaderSize(1) = 24
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(1) = 24]
endwith
var_Lanes = var_Pool.Lane(1).Children
var_Lanes.Count = 3
// var_Lanes.Item(0).Header.Caption = "<img>1</img> A"
var_HeaderLane = var_Lanes.Item(0).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane]
TemplateDef = var_HeaderLane
Template = [var_HeaderLane.Caption = "<img>1</img> A"]
endwith
// var_Lanes.Item(1).Header.Caption = "<img>2</img> B"
var_HeaderLane1 = var_Lanes.Item(1).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane1]
TemplateDef = var_HeaderLane1
Template = [var_HeaderLane1.Caption = "<img>2</img> B"]
endwith
// var_Lanes.Item(2).Header.Caption = "<img>3</img> C"
var_HeaderLane2 = var_Lanes.Item(2).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane2]
TemplateDef = var_HeaderLane2
Template = [var_HeaderLane2.Caption = "<img>3</img> C"]
endwith
oSwimLane.EndUpdate()
|
26
|
How do I change the Lane and Phase strings being displayed on the lanes
local oSwimLane,var_HeaderLane,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Template = [DefPoolHeaderCaptionFormat(True) = "<fgcolor 808080>Faza <off -4><b><font ;6>%i"] // oSwimLane.DefPoolHeaderCaptionFormat(true) = "<fgcolor 808080>Faza <off -4><b><font ;6>%i"
oSwimLane.Template = [DefPoolHeaderCaptionFormat(False) = "<fgcolor 808080>Culoar <off -4><b><font ;6>%i"] // oSwimLane.DefPoolHeaderCaptionFormat(false) = "<fgcolor 808080>Culoar <off -4><b><font ;6>%i"
var_Pool = oSwimLane.Pools.Add(-100,-100,250,250)
// var_Pool.Lane(0).Children.Count = 3
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 3]
endwith
// var_Pool.Lane(1).Children.Count = 3
var_Lanes1 = var_Pool.Lane(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes1]
TemplateDef = var_Lanes1
Template = [var_Lanes1.Count = 3]
endwith
// var_Pool.Lane(1).Children.Item(1).Header.Caption = "<fgcolor FF0000><b>NEW"
var_HeaderLane = var_Pool.Lane(1).Children.Item(1).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane]
TemplateDef = var_HeaderLane
Template = [var_HeaderLane.Caption = "<fgcolor FF0000><b>NEW"]
endwith
oSwimLane.EndUpdate()
|
25
|
How can I enlarge the node while AutoSize property is True (method 2)
local oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [Background(90) = 16777215] // oSwimLane.Background(90) = 0xffffff
var_Element = oSwimLane.Elements.Add("Element",0,0).Copy()
var_Element.Caption = "Enlarged Element"
var_Element.InflateSize = 16
|
24
|
How can I enlarge the node while AutoSize property is True (method 1)
local oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [Background(90) = 16777215] // oSwimLane.Background(90) = 0xffffff
var_Element = oSwimLane.Elements.Add("Element",0,0).Copy()
var_Element.Caption = "Enlarged Element"
// var_Element.Padding(-1) = 16
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.Padding(-1) = 16]
endwith
|
23
|
How can I get the lane of the element
local lane,oSwimLane,var_Element,var_Lanes
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
// oSwimLane.Pools.Add(-150,-150,500,250).Lane(0).Children.Count = 3
var_Lanes = oSwimLane.Pools.Add(-150,-150,500,250).Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 3]
endwith
var_Element = oSwimLane.Elements.Add("Element")
var_Element.CenterOnLane(false)
lane = var_Element.LaneID(false)
? oSwimLane.LaneByID(lane).Header.Caption
oSwimLane.EndUpdate()
|
22
|
How can I define a different shape for elements
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
AddElement = class::nativeObject_AddElement
endwith
*/
// A new element has been added to the surface.
function nativeObject_AddElement(Element)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
return
local oSwimLane,var_Appearance,var_Element,var_Element1,var_Element2,var_Element3,var_Element4,var_Element5,var_Element6,var_Element7,var_Element8,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Appearance = oSwimLane.VisualAppearance
var_Appearance.Add(1,"gBFLBCJwBAEHhEJAAChABAQDg6AADACAxRDQNABQKAAzQFAYahuHKGAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQwDiAUIjIK8IhkGIcZAGIBJCjWGodQLOEgwHIERQjEyUJAGGYqEjaO41SpAdI0PCxUScACnDQiegJRgmQ4cTJSchSAKENx1JaeYReewwAqNd5TRwNIiydZUIhqGC1YRte4ZWiCWoJVzSVDLfbgAT4X60IIlCi5Mi6MIgDZJFDUNLUdRBMKNJ7qagaWoWOaQRbmAQQTRYLQ/TiEXZDQRAAyLJIWVRQWTAAKVbw1LiEcznGCcejzIIDaZpOh4DplWzTOgALjta4IRpvNwAbIAF4gBqsLyXXLcdQyORMiwbxZgSDhgnQbJFC6F5JhECA8CADwIgMeQnmoQJlh0eAfGcXYZjwccOHiWx/moAJ6jed4DC2dJnnmQRxBcKABBoWAcHULZLHyV4mmGOx0FmdpZAMAgQhEQBpBiRxBlQcgZFUdAMEYAxQDECBNgaUYglkCQKBGZANk0QgBgQXAQgcGI0FwJAHA6WI+DGDAjCiVg0g2Yw4mYNg7E0eJ1H+DpkAiYhBg6JApBYRMvDkJhGhKJIImEA4QledZ8H+FJlEEQhWBAJa8loRoCgkdhYBAExZHQKIXmUYRCFQI5mgWfZ4hMJpJC4boTGcCY0m0QJVBAIh2EIZZ5H4VIVAqeZ1H8M5oAmSg7g8TR1n4fQrmUQZCgqF5eEmYhYBgKQJiCD" ;
+"4PmaegKhWJZnAQDZkhqaYKFocYnGadZ8h+KJoiGQhfEIURAmKEAYAgeo1H8OZrAoeoyhGKYngaHInmuCpOjmKAkHMHo+iiSZxmKQoXkGCwWigRQlnqLh7jKSh7DYUYzm0CgAk+DIrFCAo3i6LYKnKWYuk6Wp4keKIqDsLh7BYLhJmaZo5mcYAijAOZtFsXpajubZLG6co8CSShtnYeJrGeVpzjwbxLnafI/mcK5ZnmPgtGuap+j6cIMB8CocDAK43AaQAwjwJwQkSaZsDcBI7jETBHBqRhxkibwWkCMQsgcG5Ii2TB+nkN5yEyJwjkqcJMh8DpKDKTIrB2TBmnyGwFkwMw8mcMpOmQbJbBiTwziyUxBDsc5sD8QJRnQKprEWTg0g0DxNlKMpsF8RpSHUTQ7BuUp0n0VxZi4MxrDSJ40DYDYHGKWJ2E2FxmyADYnGqMRBgeYh0FOLh9kccpcncJsVw7RdjvA2M4eovRmCSFkMwQIoAQEBA")
var_Appearance.Add(2,"gBFLBCJwBAEHhEJAAChABAIDg6AADACAxRDQNABQKAAzQFAYaBmG6GAAGEaBYgmFgAQhFcZQSKUOQTDKMIziYBYJhEMQ1DAAUIjKLMIhmGAYJAGIBJCjWGodQLOEgwHIERQjEyUpIyVAkYw5HqNaQjICoJoSOwAU47IaCIAFJSpCygKKgSjhRpoAAyU5IUgVPC4XSbD6zYDqapaTheEQyDSJNr3DCMUTlFYYLrmaQKMhqZJhWjbFSWXUpJ4pSrLMIyfTwZRJGzIK7jabLIjaP6GUDhVaYbRUL46CiEb5AAJsVpCCZrYRJOYVdQeDYbQCNLDhHQIDqaA6kZRAdQ2bpMBznPSvbovDgLWhGYqhbLCNibRC+d4HNrCYIlCjpMw3CYGIOHOMRsm0OxFjSZppneHQNFcSwRAOaprjqY4dgYe4VgGWwADucRuHYCpdByYROH8AAOC8D4NgEXwYBWEZyGAWoHg2MRCECBAkFAGhGDGUB1ByBhQkUIAPgCRAMEIExhIuNhCEKBAlnAcwQgAYQXAIIRWEUFwJAGQ42CiCoihiLgugsYwDjSZ4MkICJWCaDZjgiZg6EIQQInSV4PmKeIyEKEBkBQDhEgwZBzjSd4SlEQJgk+E5khkRhIhSZA5FIUoVGWCQkl+FpkliTJnhXSYaFaGJOlEIhmC2ZoJgIZIaiWGYuG62IpDyT4TGSM5eGyCpmCnPIcCeQg+H6HZmnoAh6iAaBDjSL4hkUCgmgKHhlHmeIPh8BwKAqEohGkO" ;
+"gOHCI4pAmMoMhUKByj6CQUCkWoGhSKJpGkJoQiOJR6G4cYTmcSQuiKKRqEqPovhmBIJiCN4YEACQGFsN5lliToyiwbAKkKQoSGcWQ2HKERrhiJJvjLUR8leL5sDsBpQiUZZpDaO4eAACZWh+LYtDsSpejQbmJnIEAuEsLJvECRgLiSH46m2W4Gl+OxpFqWo0ECSR7lQaI9m8C4+nqO4uAIHp+B4MAJmcAAeC+YgenmPwwHwHInkKRYMDaWIQGmeh3AmPpxDsCJHkWbhBAIdZDmMGZXBmRZMHwVwikUIwam0MAMC4awiEmOYyHsXwkkIMp5jMLBMDKaRiiqEBsmkNwpkwc5MyiHRrEKfxCiobIaFsQgvmsTBvD2SJuAwNBYkKSh6GsRYbDUDQ7EyVZmEwDwFiKdQ6BQf5XnYDRjD6IIujIfppBgKRcl6BZZnYXYLBWLYpn0KpglqLAtAIZoOneBsZw9RJjnQ+AYQAgCAg=")
var_Appearance.Add(3,"gBFLBCJwBAEHhEJAAChABQsMACAADACAxRDQNABQKAAzQFAYawLBgABhGUZoJhUAIIRZGMIjFDcEwxC6NIpAWCYQgUNQCQiNAzxAKQchhD4ZAIkGY4ZhyA42SBAcbyDCEShoGqPRhmCg5UjmM4oQLSFDULC0fSBBIYaSGEY5QoqIYfArGQYQTRUPyUdoOBIACwLChWLA1CTZdowSKoYTXBq3IgqerIapmSYaV7YNh3VY1IR/JSVJYlaYJDoyNI4ThHc5xVLtfSfAiiJrxOKcTAAFJ0QKFUbRUz+OgBTpvaZxagaSpSG5WRpWEI5PAdN4zTa7YDsS67FiSG5oWpEFq2eAGdzlVLMMqhG5gAxqNKzbLfMCXfJIbyrBIcYLoXItCqFYskMTwxlgAY+haFZRlQZQ4HwHR3AoMx5jEch2lMfZGl8eY+jYXBvBsAAHFeRQDmuRR8nsSI2CoEgIEIRQBiQYwdAcUZIGUUIQhGGAGECRAhDYChGFERAMCgQheEcGQgHkEAwkICx2BCFoAj+B5iAiBgigiYhIgid4JkIQBwm2ChijiKgsguYpokYLYMmKQIiDYDgjgEAg6g6Y5InYPoPmOIAiEKEJFgkFIvhGYwIlIMoSTmAhOGgJJJC4UoSiUSIcncKZlp8WoOAOAxeF6FBlEkNhPGcZgJhYU4ZiMMweGoDAmkGfhuhWJoJDgIIUCYeZWGGHYkhkWhuB+ZYhEIcIUmcKZSHeIJmgoFgyCeaIBgKCoYCgGYSHiI5oEoQ" ;
+"gsiKBgKCCH4SOAfoGiQaZKPmJ5jGCIJniiZgpk6DonGkKomgOHpnjqFoCiaawKioSYXg0eoGi6KZrBqIo6hgEIal6GosiwCpuDIBgsEqDJniYa4bVuFYkDqepKjCLQJiiR4XCyawGk+JpGgsZIXjabRbEKV4disSYwDCH5OlsIpWjmaA5HKUomCYOp+l6OgkhoUoWiMLpbH6bw7G0KRynOHYuGuXobhWB4MAaaoaimO52naB4hnkYInhERYLBAGAhnECw+H2BwhkmSg7kMMIqHyb49hAECAg=")
var_Appearance.Add(4,"gBFLBCJwBAEHhEJAAChABOIDg6AADACAxRDQNABQKAAzQFAYaBqGCGAAGEZRSgmFgAQhFcZQTCsBw7DCEYxjOAwFgmEQxDIOIBQSKYcwiGQaRrkIYgEiONoaR7HchSFIcIxPFKRBhkKYocjyG5GRoBcIyXAcRSYAB2Q4ESoKShePw5UDTcCzHR8RxEDKNRLpOQbDgOUZTWbVUaDKIsXzZCKHbZhG4YRp6CZKRpYEB1bYtKTRKqLKrpeTbOoSHolTbiIATTYlG4THyEZQrDIaDjOSIXZaGFzwSDWGgBJ60bRwHIaAxGWoHRxfEZVfBONQHMSBc5xa64JyHAImWrcUbWfaYYZ0AC6MRkK8cXABPQANixKZsCizE4DDbTYzjRheC2F4nnEOJRG0BRXEWOICEocByiyCJTiQOJVGYIQ8gofpDgsG5uF+ah6D2Xp+GGP5gkCfwRHofwOnuSB2heVpZnIUZQhAIQJBQBoRgwdAdEcIYVEIQhGGAMQDBCBJYEUGgNhCEMcHsXIkCIAAMIILQWAkAZDjYJIJiIWIeCqCRMHiNI/guYwIkYMoMmMSJWDaDZjgiTIzg6Yo4iIPoPGIdAmECChiFKXhGAQJIAmISgQCSSQ2E6E5lAkRhShSZRJFQOoVkCaRkAqFpQhIPhehCY54hYQoRCOYo+GaExOnmJhghqZhJjIYYbmaaJ0l+HJkiCYgtDGY5RkIegfmeSY6GOD4MnoBh1D2aBJkYbYhmcCgigaIhOloEJ3h0aATD4b" ;
+"gWCkQoehaGAnniHhNgwKI6HaConmiSYCF4I5niGQoLDmaoAiKKoaE6eJ2H+HZnFoeohigKwqCwGItmqA4ejIHgrkIHo+iuEA4h6PGMmIHo1i0LIKk6SoMCSWwcm2LAkisAAAgmQgLFYcw3myaxmkmG4GgsdIXjebYjjaVQIC0eQFAONADguBpqjaaIKlwGIuG4GwOkWOYAAqDoljqbIrmIJ41m4O5iGYK5FAwBp0ikag7mqbI+GoCwyEyPgpBCQwOj0KRBGKFgpnAbAjXWMQ8EaeIuG6a5SHWHZxFyBoIjEbA8FQCJJmiZAmmOORwHyCwXgkbwqn8LYoDKOZNAmJpinyOzTm8aZrBWH5QhGAxCCedBMm8L5Fi+fAEFCPgvksVp0h8NQBn8RpLi7NQKBALxLHyF43EaDRPDOMoxkqXp4kYaRLlMTQIDWbQeguR5iluBxCBgNBCH6dIJnaSZjF+LQZgGQSh5DOFEa4dQsi5GILsaA8ReBuHoEYZ4ZwkDFFwJEYo2grjcHOFUAoFA7gJFqFEDYrQyilC+PwNgyRBBLH4C8FIzxiD8CeBYEgUQ9CtAiEwYgtQyDqDWPUTjBhXBrCmAcKoJQ6iGF6DEMA8BpieA4BgMQdxDg9GSOkLQgRCjhHiDMV4Ewfh3AoGULIiBujRAuJ0c4+gEi4ASOkRAfhWgjCKKEFACCAg")
var_Appearance.Add(5,"gBFLBCJwBAEHhEJAAChABGgDg6AADACAxRDQNABQKAAzQFAYZBwGiGAAGEaRWgmFgAQhFcZQSKUOQTDKMIziYBYJAKCQ3DTJUBjIKcIhiGsgAzAJIUaw1DqGY7nKZoRioAIoSAMM7DCKUQSLGyQZqBSCQGjsAI+OyHAiABSNJwtHygIRoKqqHg2PoiSAEUZhdRlHShKSqLQiaIRSDUJZsW5EIyjBZ8EznOqbJApOKrCgOTYaWbUdSxPTEUwTFiXJgmKRKIoiOAAY7IEgSFLsThrIKha5yDI4bxyAwXQjeYABbY0E4HQarcqzCrKGp/HYJXyAGgQHYkB5JAaQMBtGpoJrCeKQXDdVyXFwdET1BLZQA2HeUTTRVCScqnaTMZh8DgGxniKfYbngAxFkmVJAnSdougwDhRlMGZ1GEPR9HQapDGWWhyCMe4ugQDx9naYRvm6cQfAUJ47m8cofBYAZOGCHg2mETgCBCERAGkGJHEGVByBkUwUCSIgChAMQIE2BJRiQVQDAoEIWlWIxOgGBBcGyBQYlQXAkAcDpYh4KYKCKKI2CyC5ijONJvgySZ4lQWINkKCJmCWDpjkQaJPg+UA4joMYQiQI4eEYHAkgAYhKBgJJCh43JlAkEgwhSJA5E4VoVE6UQCFoL5lkkBhXhUCR5gYOQKAieYUneGZlEmJhfhqZYJFIWgQCWQp+F6GxigmHJ3BoJ4JmYMw7maKZSH6HxoAiQhvhwZ1VHYFAogmBIXiAZ55jKDIQgeChGG+G" ;
+"5BAoVJHiWaBYkIecznoOoeiMZYCj6IoYmcGhckeCophONoKh4aZagKLYrGkEZggeLJkCmThGDmZg5m6L4nmuOoCHaGJNnsBooAAIopCAcIZEiep2kqLwpnqCIviIBQLA4dolEECZakuK4sksYhYAgLZLOsQJLHuBBIjibR7haWYfGwawhAOJpmBuGpajuJRJkYbxAmgORynCOZvgqApejcAgIG4OYUA0e5em+PhokQXhKAYKx8AsCo+FEcJDA6D5MnwLwDkTWJulQQJuDEIphC2cQsHYbJEDCYJBAOLBrDIHwekUMBIiITgpmMcRhAOKYDgyRwnkyYwMjcK4cnAfAnCmSgzkoGhnkGZ45k6SIxjMTPIFCZOZEKSBxA0Fpui2b5LFoKIqGoaY/FKUY1gmdpQjOKxbBIV4zi0DQ6nmOhmFkUophCLILEMV5YiWCZkH+W5nl2HxfiiMwQmMTZOmqLhaLsx9iUH6JAMI1hCDjECFQawhghjBG2DseoGQzhNHwDwTAMAsgTEeCUZI1Q5jFHyLodYmWxB8GsPEVIPwxhSD6Awb4dgJD2HsAQQIoAQEB")
oSwimLane.Template = [Background(90) = 16777215] // oSwimLane.Background(90) = 0xffffff
var_Elements = oSwimLane.Elements
// var_Elements.Add("Rectangular",0,0).Shape = 0
var_Element = var_Elements.Add("Rectangular",0,0)
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.Shape = 0]
endwith
// var_Elements.Add("Round",82,0).Shape = 1
var_Element1 = var_Elements.Add("Round",82,0)
with (oSwimLane)
TemplateDef = [dim var_Element1]
TemplateDef = var_Element1
Template = [var_Element1.Shape = 1]
endwith
// var_Elements.Add("Rhomb",138,0).Shape = 2
var_Element2 = var_Elements.Add("Rhomb",138,0)
with (oSwimLane)
TemplateDef = [dim var_Element2]
TemplateDef = var_Element2
Template = [var_Element2.Shape = 2]
endwith
// var_Elements.Add("Circle",196,0).Shape = 3
var_Element3 = var_Elements.Add("Circle",196,0)
with (oSwimLane)
TemplateDef = [dim var_Element3]
TemplateDef = var_Element3
Template = [var_Element3.Shape = 3]
endwith
var_Element4 = var_Elements.Add("EBN 1",0,36)
var_Element4.BackColor = 0x1000000
var_Element4.Border = -1
var_Element5 = var_Elements.Add("EBN 2",54,36)
var_Element5.BackColor = 0x2000000
var_Element5.Border = -1
var_Element6 = var_Elements.Add("EBN 3",108,36)
var_Element6.BackColor = 0x3000000
var_Element6.Border = -1
var_Element7 = var_Elements.Add("EBN 4 ",160,36)
var_Element7.BackColor = 0x4000000
var_Element7.Border = -1
var_Element8 = var_Elements.Add("EBN 5 ",220,36)
var_Element8.BackColor = 0x5000000
var_Element8.MinHeight = 64
var_Element8.MinWidth = 64
var_Element8.Border = -1
oSwimLane.Template = [ScrollPos(False) = -160] // oSwimLane.ScrollPos(false) = -160
oSwimLane.EndUpdate()
|
21
|
Is it possible to add an inner control on the surface
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
OleEvent = class::nativeObject_OleEvent
endwith
*/
// Occurs once an inside control fires an event.
function nativeObject_OleEvent(Element,Ev)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? Str(Ev)
return
local oSwimLane,var_Element,var_Elements
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
var_Elements = oSwimLane.Elements
var_Element = var_Elements.Add("activex hosting")
var_Element.Type = 2
var_Element.Control = "Forms.CommandButton.1"
var_Element.Caption = "Command Button"
var_Element.Height = 64
var_Element.Width = 128
var_Element.ElementFormat = "14;" + ["] + "caption" + ["] + "/" + ["] + "client" + ["] + ""
var_Element.CaptionAlign = 1
|
20
|
How can I create a copy of the element
local oSwimLane,var_Element
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [Background(90) = 16777215] // oSwimLane.Background(90) = 0xffffff
// oSwimLane.Elements.Add("Element 1",0,0).Copy().Caption = "Aka"
var_Element = oSwimLane.Elements.Add("Element 1",0,0).Copy()
with (oSwimLane)
TemplateDef = [dim var_Element]
TemplateDef = var_Element
Template = [var_Element.Caption = "Aka"]
endwith
|
19
|
How can I define an opaque background for elements
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [Background(90) = 16777215] // oSwimLane.Background(90) = 0xffffff
oSwimLane.Elements.Add("Element 1",0,0)
oSwimLane.Elements.Add("Element 2",16,16)
|
18
|
How can I show a different context-menu for all elements
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
ActionContextMenu = class::nativeObject_ActionContextMenu
endwith
*/
// Occurs when the user selects an item from the object's context menu.
function nativeObject_ActionContextMenu(Action,ObjectType,ObjectID,CommandID,CommandChecked,CommandCaption,CommandValue,Cancel)
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? Str(Action)
? Str(ObjectID)
? Str(CommandID)
return
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [ContextMenu(4) = "Item 1[id=1000],Item 2[id=2000]"] // oSwimLane.ContextMenu(4) = "Item 1[id=1000],Item 2[id=2000]"
oSwimLane.Template = [Background(90) = 16777215] // oSwimLane.Background(90) = 0xffffff
oSwimLane.Elements.Add("Element 1",0,0)
oSwimLane.Elements.Add("Element 2",16,16)
|
17
|
How can I show a different context-menu for element
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? Str(oSwimLane.Elements.Add("Element",0,0).InvokeContextMenu("Item 1[id=1000],Item 2[id=2000]"))
|
16
|
How can I change the design-modes being shown on the control's toolbar
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.DesignModes = "Read-Only#0,Allow Any#3,Only-Element#1,Only-Pool#2"
|
15
|
How can I change the default header's background color
local oSwimLane,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
// var_Pool.Lane(0).Children.Count = 4
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 4]
endwith
// var_Pool.Lane(1).Children.Count = 4
var_Lanes1 = var_Pool.Lane(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes1]
TemplateDef = var_Lanes1
Template = [var_Lanes1.Count = 4]
endwith
oSwimLane.Template = [Background(120) = 65280] // oSwimLane.Background(120) = 0xff00
oSwimLane.Template = [Background(124) = 49152] // oSwimLane.Background(124) = 0xc000
oSwimLane.EndUpdate()
|
14
|
How can I remove the Design item from the control's toolbar, to be locked ( no-design )
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.ToolBarFormat = "-1,100,101"
oSwimLane.DesignMode = 0
|
13
|
How can I remove/disable the Color and Display-Grid from the surface's context menu
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [ContextMenu(24) = "Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all elements from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the surface])"] // oSwimLane.ContextMenu(24) = "Delete[id=-32004](All[id=-32000][ttp=Deletes all the objects from the surface],[sep],Elements[id=-32001][ttp=Deletes all elements from the surface],Links[id=-32002][ttp=Deletes all links from the surface],Pools[id=-32003][ttp=Deletes all pools from the surface])"
|
12
|
How can I change the element's context-menu when the user right-clicks the element
/*
with (this.EXSWIMLANEACTIVEXCONTROL1.nativeObject)
ActionContextMenu = class::nativeObject_ActionContextMenu
endwith
*/
// Occurs when the user selects an item from the object's context menu.
function nativeObject_ActionContextMenu(Action,ObjectType,ObjectID,CommandID,CommandChecked,CommandCaption,CommandValue,Cancel)
/* ContextMenuObjectFromID(ObjectType,ObjectID).BackColor = RGB(255,255,0) */
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
? Str(Action)
? Str(CommandCaption)
return
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
oSwimLane.Elements.Add("element",0,0)
oSwimLane.Template = [ContextMenu(4) = "Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])"] // oSwimLane.ContextMenu(4) = "Simple,Value[edit=123],[sep],Popup(Check 1[chk],Check 2[chk=1])"
oSwimLane.EndUpdate()
|
11
|
How do I prevent showing the context-menu when user right-clicks the surface
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [ContextMenu(24) = ""] // oSwimLane.ContextMenu(24) = ""
|
10
|
How do I create parent-child (tree) lanes
local oSwimLane,var_HeaderLane,var_HeaderLane1,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
// var_Pool.HeaderSize(1) = 32
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderSize(1) = 32]
endwith
// var_Pool.HeaderVisible(3) = false
with (oSwimLane)
TemplateDef = [dim var_Pool]
TemplateDef = var_Pool
Template = [var_Pool.HeaderVisible(3) = False]
endwith
var_Lanes = var_Pool.Lane(1).Children
var_Lanes.Count = 2
var_Lanes1 = var_Lanes.Item(0).Children
var_Lanes1.Count = 2
// var_Lanes1.Item(0).Header.Caption = "Phase <b>1.1"
var_HeaderLane = var_Lanes1.Item(0).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane]
TemplateDef = var_HeaderLane
Template = [var_HeaderLane.Caption = "Phase <b>1.1"]
endwith
// var_Lanes1.Item(1).Header.Caption = "Phase <b>1.2"
var_HeaderLane1 = var_Lanes1.Item(1).Header
with (oSwimLane)
TemplateDef = [dim var_HeaderLane1]
TemplateDef = var_HeaderLane1
Template = [var_HeaderLane1.Caption = "Phase <b>1.2"]
endwith
oSwimLane.EndUpdate()
|
9
|
How do I create a pool with horizontal and lanes
local oSwimLane,var_Lanes,var_Lanes1,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
// var_Pool.Lane(0).Children.Count = 4
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 4]
endwith
// var_Pool.Lane(1).Children.Count = 4
var_Lanes1 = var_Pool.Lane(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes1]
TemplateDef = var_Lanes1
Template = [var_Lanes1.Count = 4]
endwith
oSwimLane.EndUpdate()
|
8
|
How do I add programatically a pool with horizontal lanes
local oSwimLane,var_Lanes,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
// var_Pool.Lane(0).Children.Count = 4
var_Lanes = var_Pool.Lane(0).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 4]
endwith
oSwimLane.EndUpdate()
|
7
|
How do I add programatically a pool with vertical lanes
local oSwimLane,var_Lanes,var_Pool
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.BeginUpdate()
var_Pool = oSwimLane.Pools.Add(-250,-150,500,250)
// var_Pool.Lane(1).Children.Count = 4
var_Lanes = var_Pool.Lane(1).Children
with (oSwimLane)
TemplateDef = [dim var_Lanes]
TemplateDef = var_Lanes
Template = [var_Lanes.Count = 4]
endwith
oSwimLane.EndUpdate()
|
6
|
How can I change the toolbar's visual appearance
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.VisualAppearance.Add(1,"c:\exontrol\images\normal.ebn")
oSwimLane.Template = [Background(148) = 16777216] // oSwimLane.Background(148) = 0x1000000
oSwimLane.Template = [Background(149) = 16777215] // oSwimLane.Background(149) = 0xffffff
oSwimLane.Template = [Background(150) = 2631720] // oSwimLane.Background(150) = 0x282828
oSwimLane.Template = [Background(153) = 23093344] // oSwimLane.Background(153) = 0x1606060
oSwimLane.Template = [Background(154) = 15790320] // oSwimLane.Background(154) = 0xf0f0f0
oSwimLane.Template = [Background(155) = 27304096] // oSwimLane.Background(155) = 0x1a0a0a0
oSwimLane.Template = [Background(156) = 16777215] // oSwimLane.Background(156) = 0xffffff
|
5
|
How can I change the toolbar's background color
local oSwimLane
oSwimLane = form.EXSWIMLANEACTIVEXCONTROL1.nativeObject
oSwimLane.Template = [Background(149) = 16777215] // oSwimLane.Background(149) = 0xffffff
|