}
/*
- BTNamedLink link = parentMember.membersAlpha.Find((uint)firstID.string);
+ BTNamedLink link = parentMember.membersAlpha.Find((uintptr)firstID.string);
if(link)
{
curMember = link.data;
subMemberStackPos = _subMemberStackPos;
}
/*
- BTNamedLink link = parentMember.membersAlpha.Find((uint)firstID.string);
+ BTNamedLink link = parentMember.membersAlpha.Find((uintptr)firstID.string);
if(link)
{
curMember = link.data;
Anchor anchor = anchorDropBox.anchorValue;
Window control = anchorDropBox.control;
DataBox dropMaster = (DataBox)anchorDropBox.master;
- int id = button.id;
+ int64 id = button.id;
switch(id)
{
Anchor anchor = anchorDropBox.anchorValue;
Window control = anchorDropBox.control;
DataBox dropMaster = (DataBox)anchorDropBox.master;
- int id = button.id;
+ int64 id = button.id;
if((id == 0 || id == 2) && ((!anchor.left.type && !anchor.right.type) || anchor.left.type == middleRelative))
{
default extern int __ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnKeyDown;
-public enum DialogResult { cancel, yes, no, ok };
+public enum DialogResult : int64 { cancel, yes, no, ok };
public class MouseButtons
{
return result;
}
- bool DestroyEx(int returnCode)
+ bool DestroyEx(int64 returnCode)
{
OldLink slave;
Timer timer, nextTimer;
if(child.cycle && !child.style.nonClient && child.style.isActiveClient && child.visible)
{
DataRow row = listBox.AddRow();
- row.tag = (int)child;
+ row.tag = (int64)child;
child.FigureCaption(caption);
row.SetData(null, caption);
}
return result;
}
- bool Destroy(int code)
+ bool Destroy(int64 code)
{
//if(created)
if(this)
bool MenuWindowSelectWindow(MenuItem selection, Modifiers mods)
{
Window document;
- int id = selection.id;
+ int64 id = selection.id;
OldLink cycle = activeClient.cycle;
int c = 0;
//for(c = 0, cycle = activeChild.cycle; c<id; cycle = cycle.next, c++);
get { return fileName; }
};
- property int id
+ property int64 id
{
property_category $"Data"
set { id = value; }
int numPositions;
Menu menu;
ScrollFlags scrollFlags;// Window Scrollbar Flags
- int id; // Control ID
+ int64 id; // Control ID
int documentID;
ColorAlpha background; // Background color used to draw the window area
Color foreground;
}
// Convenience function using current rows
- int GetTag()
+ int64 GetTag()
{
return currentRow.tag;
}
bool skipCheck;
#endif
public:
- property int tag { set { tag = value; } get { return tag; } };
+ property int64 tag { set { tag = value; } get { return tag; } };
property DataRow previous { get { return prev; } };
property DataRow next { get { return next; } };
property int index { get { return (this && (!parent || parent.IsExpanded())) ? index : -1; } };
}
}
- DataRow FindRow(int tag)
+ DataRow FindRow(int64 tag)
{
DataRow row = null;
for(row = subRows.first; row; row = row.next)
return row;
}
- DataRow FindSubRow(int tag)
+ DataRow FindSubRow(int64 tag)
{
DataRow row = null;
for(row = subRows.first; row; row = row.next)
DataRow prev, next;
OldList cells;
- int tag;
+ int64 tag;
SelectedFlag selectedFlag;
ListBox listBox;
bool header;
stayOnTop = true;
inactive = true;
dontScrollVert = true;
- id = (uint)addedField;
+ id = (uint64)addedField;
text = addedField.header;
bevel = (!guiApp.textMode && !style.clearHeader);
ellipsis = true;
}
}
- DataRow FindRow(int tag)
+ DataRow FindRow(int64 tag)
{
if(this)
{
return null;
}
- DataRow FindSubRow(int tag)
+ DataRow FindSubRow(int64 tag)
{
if(this)
{
return (void *)currentRow.GetData(field);
}
- int GetTag()
+ int64 GetTag()
{
return currentRow ? currentRow.tag : 0;
}
property bool checkable { set { checkable = value; } };
property bool isRadio { set { radio = value; } };
- property uint id { set { id = value; } get { return id; } };
+ property uint64 id { set { id = value; } get { return id; } };
property BitmapResource bitmap
{
set
bool isDivider;
bool placement;
- uint id;
+ uint64 id;
Key hotKey;
Key accelerator;
char * text;
}
}
- MenuItem FindItem(bool (* Window::notifySelect)(MenuItem selection, Modifiers mods), uint id)
+ MenuItem FindItem(bool (* Window::notifySelect)(MenuItem selection, Modifiers mods), uint64 id)
{
ItemPtr ptr;
button.Destroy(0);
}
- SelectorButton FindButtonByID(int id)
+ SelectorButton FindButtonByID(int64 id)
{
SelectorButton button = null;
Iterator<Window> it { controls };
{
case top:
button.size = selected ? { 74, 25 } : { 70, 22 };
- button.anchor = Anchor { left = buttonsOffset + button.tab.id * 70 + 2*of, bottom = 0 };
+ button.anchor = Anchor { left = buttonsOffset + (int)button.tab.id * 70 + 2*of, bottom = 0 };
break;
case bottom:
button.size = selected ? { 74, 25 } : { 70, 22 };
- button.anchor = Anchor { left = buttonsOffset + button.tab.id * 70 + 2*of, top = 0 };
+ button.anchor = Anchor { left = buttonsOffset + (int)button.tab.id * 70 + 2*of, top = 0 };
break;
case left:
button.size = selected ? { 73, 26 } : { 70, 22 };
- button.anchor = Anchor { top = buttonsOffset + button.tab.id * 22 + 2*of, right = 0 };
+ button.anchor = Anchor { top = buttonsOffset + (int)button.tab.id * 22 + 2*of, right = 0 };
break;
case right:
button.size = selected ? { 73, 26 } : { 70, 22 };
- button.anchor = Anchor { top = buttonsOffset + button.tab.id * 22 + 2*of, left = 0 };
+ button.anchor = Anchor { top = buttonsOffset + (int)button.tab.id * 22 + 2*of, left = 0 };
break;
}
}
if(curButton)
{
Box box;
- int id = curTab ? curTab.id : 0;
+ //int id = curTab ? (int)curTab.id : 0;
Button button = curButton;
int x = button.position.x;
int y = button.position.y;
{
parent = tabButtons,
master = this, stayDown = true,
- text = tab.text, id = (uint)tab, NotifyClicked = NotifyClicked,
+ text = tab.text, id = (int64)tab, NotifyClicked = NotifyClicked,
tab = tab,
background = background;
};
if(child._class == class(TabButton))
{
TabButton button = (TabButton)child;
- if(button.id == (uint)tab)
+ if(button.id == (int64)tab)
{
if(button.created)
button.Destroy(0);
}
property bool visible { set { editor.visible = value; } get { return editor.visible; } }
- property Window parent { set { editor.parent = value; Window::parent = value; master = value; editor.id = (int)this; } }
+ property Window parent { set { editor.parent = value; Window::parent = value; master = value; editor.id = (int64)this; } }
property Point position { set { editor.position = value; } }
property Size size { set { editor.size = value; } }
property Anchor anchor { set { editor.anchor = value; } }
{
DropBox dropBox = (DropBox)editor;
Z value = options ? *(Z*)((byte *)options + option) : (Z)0;
- dropBox.currentRow = value ? dropBox.FindRow((int)value) : dropBox.firstRow;
+ dropBox.currentRow = value ? dropBox.FindRow((int64)value) : dropBox.firstRow;
}
void RetrieveOption(ProjectOptions options, bool isCfgOrPlt)
button =
{
- configSelector, renameable = true, master = this, text = config.name, id = (int)config;
+ configSelector, renameable = true, master = this, text = config.name, id = (int64)config;
NotifyClicked = ConfigClicked, OnRename = ConfigOnRename;
};
}
}
*/
- SelectorButton button = configSelector.FindButtonByID((int)configToDelete);
+ SelectorButton button = configSelector.FindButtonByID((int64)configToDelete);
if(button)
configSelector.RemoveButton(button);
}
else
{
- compilerTab.rightPaneHeader.id = (int)node;
+ compilerTab.rightPaneHeader.id = (int64)node;
compilerTab.rightPaneHeader.Update(null);
compilerTab.rightPaneHeader.visible = true;
}
{
- DataRow row = compilerTab.fileList.FindSubRow((int)currentNode);
+ DataRow row = compilerTab.fileList.FindSubRow((int64)currentNode);
if(row)
{
compilerTab.fileList.currentRow = row;
// Create Config Buttons
commonButton = SelectorButton
{
- configSelector, master = this, text = $"Common", id = (int)null; font = { font.faceName, font.size, true };
+ configSelector, master = this, text = $"Common", id = (int64)null; font = { font.faceName, font.size, true };
checked = true;
NotifyClicked = ConfigClicked;
};
{
EditableSelectorButton button
{
- configSelector, master = this, renameable = true, text = c.name, id = (int)c;
+ configSelector, master = this, renameable = true, text = c.name, id = (int64)c;
NotifyClicked = ConfigClicked, OnRename = ConfigOnRename;
};
}
{
SelectorButton button
{
- platformSelector, master = this, text = p.OnGetString(0,0,0), id = (int)p;
+ platformSelector, master = this, text = p.OnGetString(0,0,0), id = (int64)p;
NotifyClicked = PlatformClicked;
};
}
{
DataRow row = addTo ? addTo.AddRow() : fileList.AddRow();
- row.tag = (int)node;
+ row.tag = (int64)node;
row.SetData(null, node);
else if(expression)
{
wh = Watch { };
- row.tag = (int)wh;
+ row.tag = (int64)wh;
ide.workspace.watches.Add(wh);
wh.row = row;
wh.expression = CopyString(expression);
for(compatible = object.compatible.first; compatible; compatible = compatible.next)
{
ClassFunction function = compatible.data;
- MenuItem { attachMenu, function.declarator.symbol.string, id = (int)function, NotifySelect = AttachMethodSelected };
+ MenuItem { attachMenu, function.declarator.symbol.string, id = (int64)function, NotifySelect = AttachMethodSelected };
}
}
}
ClassFunction function = compatible.data;
if(function != object.function)
{
- MenuItem { attachMenu, function.declarator.symbol.string, id = (int)function, NotifySelect = ReattachMethodSelected };
+ MenuItem { attachMenu, function.declarator.symbol.string, id = (int64)function, NotifySelect = ReattachMethodSelected };
}
}
}
if(clear)
{
- row = categorized ? category.row.FindRow((int)prop) : properties.FindRow((int)prop);
+ row = categorized ? category.row.FindRow((int64)prop) : properties.FindRow((int64)prop);
if(!row)
row = categorized ? category.row.AddRow() : properties.AddRow();
- row.tag = (int)prop;
+ row.tag = (int64)prop;
}
else
- row = categorized ? category.row.FindRow((int)prop) : properties.FindRow((int)prop);
+ row = categorized ? category.row.FindRow((int64)prop) : properties.FindRow((int64)prop);
row.SetData(propertyName, prop.name);
row.SetData(propertyValue, info);
if(clear)
{
subRow = row.AddRow();
- subRow.tag = (int)subProp;
+ subRow.tag = (int64)subProp;
}
else
- subRow = row.FindRow((int)subProp);
+ subRow = row.FindRow((int64)subProp);
subRow.SetData(propertyName, subProp.name);
subRow.SetData(propertyValue, info);
if(clear)
{
subRow = row.AddRow();
- subRow.tag = (int)member;
+ subRow.tag = (int64)member;
}
else
- subRow = row.FindRow((int)member);
+ subRow = row.FindRow((int64)member);
subRow.SetData(propertyName, member.name);
subRow.SetData(propertyValue, info);
if(clear)
{
subRow = row.AddRow();
- subRow.tag = (int)subMember;
+ subRow.tag = (int64)subMember;
}
else
- subRow = row.FindRow((int)subMember);
+ subRow = row.FindRow((int64)subMember);
subRow.SetData(propertyName, subMember.name);
subRow.SetData(propertyValue, info);
DataRow row;
char * name = prop.category ? prop.category : $"Misc";
Category category = categories.FindName(name, false);
- row = category ? (categorized ? category.row.FindRow((int)prop) : properties.FindRow((int)prop)) : null;
+ row = category ? (categorized ? category.row.FindRow((int64)prop) : properties.FindRow((int64)prop)) : null;
properties.currentRow = row;
found = true;
break;
row = (DataRow)dropBox.AddRowAfter(after);
- row.tag = (int)object;
+ row.tag = (int64)object;
codeObject =
{
void DeleteObject(ObjectInfo object)
{
- DataRow row = dropBox.FindRow((int)object);
+ DataRow row = dropBox.FindRow((int64)object);
if(row)
{
CodeObject codeObject = row.GetData(null);
{
if(this)
{
- DataRow row = dropBox.FindRow((int)object);
+ DataRow row = dropBox.FindRow((int64)object);
this.object = object ? object.instance : null;
propertyValue.userData = object ? (void *)object.instance : null;
dropBox.SelectRow(row);
void RenameObject(ObjectInfo object, char * name)
{
- DataRow row = dropBox.FindRow((int)object);
+ DataRow row = dropBox.FindRow((int64)object);
CodeObject codeObject = row.GetData(null);
// Isn't this useless? Shouldn't it be after?
codeObject.name = name;
bitmap = { ":actions/delete.png", alphaBlend = true },
anchor = { right = 16, top = y },
size = { 16, h },
- id = (int)row;
+ id = (int64)row;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
bitmap = { ":actions/detach.png" },
anchor = { right = 0, top = y },
size = { 16, h },
- id = (int)row;
+ id = (int64)row;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
bitmap = { ":actions/attach.png" },
anchor = { right = 0, top = y },
size = { 16, h },
- id = (int)row;
+ id = (int64)row;
bool NotifyPushed(Button button, int x, int y, Modifiers mods)
{
for(compatible = object.compatible.first; compatible; compatible = compatible.next)
{
ClassFunction function = compatible.data;
- MenuItem { menu, function.declarator.symbol.string, id = (int)function, NotifySelect = AttachMethodSelected };
+ MenuItem { menu, function.declarator.symbol.string, id = (int64)function, NotifySelect = AttachMethodSelected };
}
attachMethod = object.method;
anchor = Anchor { left = 5, top = *y, right = 5 };
alignment = left;
bitmap = { bitmapFile };
- id = (int)id;
+ id = (int64)id;
bool NotifyPushed(Button control, int x, int y, Modifiers mods)
{
if(FileExists(compilerPath).isFile)
{
DataRow row = compilersList.AddString(compilerType.longName);
- row.tag = (int)compilerType;
+ row.tag = (int64)compilerType;
// maybe try to read this line in vsvars32.bat instead of hard coded compiler names or not
// @echo Setting environment for using Microsoft Visual Studio 2005 x86 tools.
}
DataRow row;
sprintf(label, $"%s Project", project.name);
row = findIn.AddString(label);
- row.tag = (uint)project;
+ row.tag = (int64)project;
}
}
row = findWherePrjNode/*parentRow*/.AddRow();
else
row = findWherePrjNode.AddRow();
- row.tag = (int)node;
+ row.tag = (int64)node;
row.SetData(null, node);
if(node.files)
{
bool NotifySelect(DropBox control, DataRow row, Modifiers mods)
{
- fileFilter = row ? row.tag : 0;
+ fileFilter = (int)(row ? row.tag : 0);
//ListFiles();
return true;
}
String msg = PrintString($"Are you sure you wish to delete the ", compilerToDelete.name, $" compiler configuration?");
if(MessageBox { type = okCancel, text = title, contents = msg }.Modal() == ok)
{
- SelectorButton button = compilerSelector.FindButtonByID((int)compilerToDelete);
+ SelectorButton button = compilerSelector.FindButtonByID((int64)compilerToDelete);
if(button)
compilerSelector.RemoveButton(button);
//DeleteCompiler(compilerToDelete);
{
SelectorButton button
{
- compilerSelector, master = this, text = compiler.name, id = (int)compiler;
+ compilerSelector, master = this, text = compiler.name, id = (int64)compiler;
NotifyClicked = CompilerClicked;
};
selectButton = button;
{
EditableSelectorButton button
{
- compilerSelector, master = this, renameable = true, text = compiler.name, id = (int)compiler;
+ compilerSelector, master = this, renameable = true, text = compiler.name, id = (int64)compiler;
NotifyClicked = CompilerClicked;
bool OnRename(EditableSelectorButton button, char ** oldName, char ** newName)
{
char string[32];
DataRow row = listBox.AddRow();
- row.tag = (int)bp;
+ row.tag = (int64)bp;
bp.row = row;
UpdateBreakpoint(row);
ide.callStackView.Update(null);
bool MenuEditFind(MenuItem selection, Modifiers mods)
{
- int id = selection.id;
+ int64 id = selection.id;
char * searchString = findDialog.searchString;
if(id != 2 && searchString[0])
{
- editBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, id);
+ editBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, (bool)id);
return true;
}
findDialog.Create();
bool MenuEditFind(MenuItem selection, Modifiers mods)
{
- int id = selection.id;
+ int64 id = selection.id;
char * searchString = findDialog.searchString;
if(id != 2 && searchString[0])
{
- activeBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, id);
+ activeBox.Find(searchString, findDialog.wholeWord, findDialog.matchCase, (bool)id);
return true;
}
findDialog.Create();
bool MenuEditFind(MenuItem selection, Modifiers mods)
{
- int id = selection.id;
+ int64 id = selection.id;
char * searchString = findDialog.searchString;
if(id != 2 && searchString[0])
{
void AddWatch(Watch wh)
{
DataRow row = listBox.AddRowAfter(listBox.lastRow.previous);
- row.tag = (int)wh;
+ row.tag = (int64)wh;
wh.row = row;
UpdateWatch(wh);
}
bool forceBitDepth = false;
Map<String, int> cflagsVariations { };
- Map<int, int> nodeCFlagsMapping { };
+ Map<intptr, int> nodeCFlagsMapping { };
Map<String, int> ecflagsVariations { };
- Map<int, int> nodeECFlagsMapping { };
+ Map<intptr, int> nodeECFlagsMapping { };
ReplaceSpaces(objDirNoSpaces, objDirExp);
strcpy(targetDir, GetTargetDirExpression(config));
void GenMakefilePrintSymbolRules(File f, Project project,
ProjectConfig prjConfig, //Map<Platform, bool> parentExcludedPlatforms,
- Map<int, int> nodeCFlagsMapping, Map<int, int> nodeECFlagsMapping)
+ Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
void GenMakefilePrintPrepecsRules(File f, Project project,
ProjectConfig prjConfig, /*Map<Platform, bool> parentExcludedPlatforms,*/
- Map<int, int> nodeCFlagsMapping, Map<int, int> nodeECFlagsMapping)
+ Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
ProjectConfig config = GetMatchingNodeConfig(prjConfig);
void GenMakefilePrintCObjectRules(File f, Project project,
ProjectConfig prjConfig, /*Map<Platform, bool> parentExcludedPlatforms,*/
- Map<int, int> nodeCFlagsMapping, Map<int, int> nodeECFlagsMapping)
+ Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
ProjectConfig config = GetMatchingNodeConfig(prjConfig);
Map<String, NameCollisionInfo> namesInfo,
ProjectConfig prjConfig,
//Map<Platform, bool> parentExcludedPlatforms,
- Map<int, int> nodeCFlagsMapping, Map<int, int> nodeECFlagsMapping)
+ Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
{
int ifCount = 0;
ProjectConfig config = GetMatchingNodeConfig(prjConfig);
}
void GenMakeCollectAssignNodeFlags(ProjectConfig prjConfig, bool prjWithEcFiles,
- Map<String, int> cflagsVariations, Map<int, int> nodeCFlagsMapping,
- Map<String, int> ecflagsVariations, Map<int, int> nodeECFlagsMapping,
+ Map<String, int> cflagsVariations, Map<intptr, int> nodeCFlagsMapping,
+ Map<String, int> ecflagsVariations, Map<intptr, int> nodeECFlagsMapping,
Map<Platform, ProjectOptions> parentByPlatformOptions)
{
Map<Platform, ProjectOptions> byPlatformOptions = parentByPlatformOptions;
{
if(isEqual)
{
- nodeCFlagsMapping[(int)this] = nodeCFlagsMapping[(int)parent];
- nodeECFlagsMapping[(int)this] = nodeECFlagsMapping[(int)parent];
+ nodeCFlagsMapping[(intptr)this] = nodeCFlagsMapping[(intptr)parent];
+ nodeECFlagsMapping[(intptr)this] = nodeECFlagsMapping[(intptr)parent];
}
else
{
variationNum = 1;
if((s = cflags) && s[0] && !(variationNum = cflagsVariations[s]))
cflagsVariations[s] = variationNum = cflagsVariations.count;
- nodeCFlagsMapping[(int)this] = variationNum;
+ nodeCFlagsMapping[(intptr)this] = variationNum;
variationNum = 1;
if((s = ecflags) && s[0] && !(variationNum = ecflagsVariations[s]))
ecflagsVariations[s] = variationNum = ecflagsVariations.count;
- nodeECFlagsMapping[(int)this] = variationNum;
+ nodeECFlagsMapping[(intptr)this] = variationNum;
}
}
{
// output
{
- nodeCFlagsMapping[(int)this] = nodeCFlagsMapping[(int)parent];
- nodeECFlagsMapping[(int)this] = nodeECFlagsMapping[(int)parent];
+ nodeCFlagsMapping[(intptr)this] = nodeCFlagsMapping[(intptr)parent];
+ nodeECFlagsMapping[(intptr)this] = nodeECFlagsMapping[(intptr)parent];
}
}
}
}
-static void GenMakePrintNodeFlagsVariable(ProjectNode node, Map<int, int> nodeFlagsMapping, String variableName, File f)
+static void GenMakePrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nodeFlagsMapping, String variableName, File f)
{
int customFlags;
- customFlags = nodeFlagsMapping[(int)node];
+ customFlags = nodeFlagsMapping[(intptr)node];
if(customFlags > 1)
f.Printf(" $(CUSTOM%d_%s)", customFlags-1, variableName);
else
f.Printf(" $(%s)", variableName);
}
-static void DynStringPrintNodeFlagsVariable(ProjectNode node, Map<int, int> nodeFlagsMapping, String variableName, DynamicString s)
+static void DynStringPrintNodeFlagsVariable(ProjectNode node, Map<intptr, int> nodeFlagsMapping, String variableName, DynamicString s)
{
int customFlags;
- customFlags = nodeFlagsMapping[(int)node];
+ customFlags = nodeFlagsMapping[(intptr)node];
if(customFlags > 1)
s.concatf(" $(CUSTOM%d_%s)", customFlags-1, variableName);
else
{
DataRow row = addTo ? addTo.AddRow() : fileList.AddRow();
- row.tag = (int)node;
+ row.tag = (int64)node;
node.row = row;
if(node.type == resources)
}
Update(null);
folderNode.row = parentNode.row.AddRowAfter(after ? after.row : null);
- folderNode.row.tag = (int)folderNode;
+ folderNode.row.tag = (int64)folderNode;
folderNode.row.SetData(null, folderNode);
fileList.currentRow = folderNode.row;
}
Update(null);
result.row = parentNode.row.AddRowAfter(after ? after.row : null);
- result.row.tag = (int)result;
+ result.row.tag = (int64)result;
result.row.SetData(null, result);
}
return result;
Update(null);
project.ModifiedAllConfigs(true, false, false, true);
projectNode.row = parentNode.row.AddRowAfter(after ? after.row : null);
- projectNode.row.tag =(int)projectNode;
+ projectNode.row.tag =(int64)projectNode;
projectNode.row.SetData(null, projectNode);
fileList.currentRow = projectNode.row;
// else
// ...
//bp = Breakpoint { };
- //row.tag = (int)bp;
+ //row.tag = (int64)bp;
//breakpoints.Add(bp);
//bp.row = row;
Save();