static const char * compilerTypeSolutionFileVersionString[CompilerType] = { "", "", "", "9.00", "10.00", "11.00" };
static const char * compilerTypeYearString[CompilerType] = { "", "", "", "2005", "2008", "2010" };
static const char * compilerTypeProjectFileExtension[CompilerType] = { "", "", "", "vcproj", "vcproj", "vcxproj" };
+// TODO: i18n with Array
static const char * compilerTypeLongNames[CompilerType] =
{
"GNU Compiler Collection (GCC) / GNU Make",
}
}
-define dialogTitle = "Project Settings";
+define dialogTitle = $"Project Settings";
static Color unfocusedSelectorColor { 70, 96, 166 };
class ProjectSettings : Window
{
{
this, size = { 80, 22 };
anchor = { right = 8, bottom = 8 };
- text = "Cancel", hotKey = escape, id = DialogResult::cancel;
+ text = $"Cancel", hotKey = escape, id = DialogResult::cancel;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
DialogResult diagRes = MessageBox
{
type = okCancel, master = ide,
- text = "Lose Changes?",
- contents = "Are you sure you wish to discard changes made to the build options?"
+ text = $"Lose Changes?",
+ contents = $"Are you sure you wish to discard changes made to the build options?"
}.Modal();
if(diagRes == ok)
{
{
this, size = { 80, 22 };
anchor = { right = 96, bottom = 8 };
- text = "OK", isDefault = true;
+ text = $"OK", isDefault = true;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
Menu clearMenu { };
MenuItem clearItem
{
- clearMenu, "Clear";
+ clearMenu, $"Clear";
bool NotifySelect(MenuItem selection, Modifiers mods)
{
row = ((DropBox)editor).AddRow();
row.tag = TargetTypes::executable;
- row.SetData(null, "Executable");
+ row.SetData(null, $"Executable");
row = ((DropBox)editor).AddRow();
row.tag = TargetTypes::sharedLibrary;
- row.SetData(null, "Shared Library");
+ row.SetData(null, $"Shared Library");
row = ((DropBox)editor).AddRow();
row.tag = TargetTypes::staticLibrary;
- row.SetData(null, "Static Library");
+ row.SetData(null, $"Static Library");
}
bool OptionCheck(ProjectOptions options)
DataRow row;
row = ((DropBox)editor).AddRow();
row.tag = OptimizationStrategy::none;
- row.SetData(null, "None");
+ row.SetData(null, $"None");
row = ((DropBox)editor).AddRow();
row.tag = OptimizationStrategy::speed;
- row.SetData(null, "For Speed (-O2)");
+ row.SetData(null, $"For Speed (-O2)");
row = ((DropBox)editor).AddRow();
row.tag = OptimizationStrategy::size;
- row.SetData(null, "For Size (-Os)");
+ row.SetData(null, $"For Size (-Os)");
}
bool OptionCheck(ProjectOptions options)
DataRow row;
row = ((DropBox)editor).AddRow();
row.tag = WarningsOption::normal;
- row.SetData(null, "Normal");
+ row.SetData(null, $"Normal");
row = ((DropBox)editor).AddRow();
row.tag = WarningsOption::none;
- row.SetData(null, "None");
+ row.SetData(null, $"None");
row = ((DropBox)editor).AddRow();
row.tag = WarningsOption::all;
- row.SetData(null, "All");
+ row.SetData(null, $"All");
}
bool OptionCheck(ProjectOptions options)
class BuildTab : Tab
{
- text = "Build";
+ text = $"Build";
background = activeBorder;
tabCycle = true;
};
SelectorBar configSelector
{
- this, text = "Configurations: ", anchor = { left = 98, top = 8, right = 54 }; size = { 0, 26 };
+ this, text = $"Configurations: ", anchor = { left = 98, top = 8, right = 54 }; size = { 0, 26 };
opacity = 0;
direction = horizontal, scrollable = true;
{
if(config)
{
- String title = PrintString("Delete ", config.name, " Configuration");
- String msg = PrintString("Are you sure you wish to delete the ", config.name, " configuration?");
+ String title = PrintString($"Delete ", config.name, $" Configuration");
+ String msg = PrintString($"Are you sure you wish to delete the ", config.name, $" configuration?");
if(MessageBox { type = okCancel, text = title, contents = msg }.Modal() == ok)
{
Iterator<Window> it { configSelector.controls };
};
SelectorBar platformSelector
{
- this, text = "Platforms: ", anchor = { left = 64, top = 38, right = 54 }; size = { 0, 26 };
+ this, text = $"Platforms: ", anchor = { left = 64, top = 38, right = 54 }; size = { 0, 26 };
opacity = 0;
direction = horizontal, scrollable = true;
Label rightClick
{
this, font = { font.faceName, font.size, italic = true }, stayOnTop = true,
- text = "(Right click or press Ctrl-Del to revert an option to inherited value)", anchor = { top = 72, right = 16 }
+ text = $"(Right click or press Ctrl-Del to revert an option to inherited value)", anchor = { top = 72, right = 16 }
};
void FindUniqueConfigName(char * baseName, bool startWithNumber, char * output)
// 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 = (int)null; font = { font.faceName, font.size, true };
checked = true;
NotifyClicked = ConfigClicked;
};
platformButton = button =
{
- platformSelector, master = this, text = "Common", id = 0; font = { font.faceName, font.size, true };
+ platformSelector, master = this, text = $"Common", id = 0; font = { font.faceName, font.size, true };
NotifyClicked = PlatformClicked; checked = true;
};
DialogResult diagRes = MessageBox
{
type = yesNoCancel, master = ide,
- text = "Save changes to project settings?",
- contents = "Would you like to save changes made to the build options?"
+ text = $"Save changes to project settings?",
+ contents = $"Would you like to save changes made to the build options?"
}.Modal();
if(diagRes == no)
RevertChanges();
class CompilerTab : Tab
{
background = activeBorder;
- text = "Compiler";
+ text = $"Compiler";
Window leftPane { this, size = { 180 }, anchor = { left = 0, top = 0, bottom = 0 }, background = activeBorder };
selectionColor = unfocusedSelectorColor;
size = { 180 };
anchor = Anchor { left = 8, top = 24, right = 4, bottom = 8 };
- text = "Files";
+ text = $"Files";
bool NotifySelect(ListBox listBox, DataRow row, Modifiers mods)
{
PathOptionBox objDir
{
rightPane, this, size = { 250, 22 }, anchor = { left = 8, top = 24, right = 8 };
- text = "Intermediate Objects Directory", hotKey = altJ, option = OPTION(objectsDirectory);
+ text = $"Intermediate Objects Directory", hotKey = altJ, option = OPTION(objectsDirectory);
};
BoolOptionBox excludeFromBuild
{
rightPane, this, position = { 8, 28 },
- text = "Exclude from Build", visible = false, option = OPTION(excludeFromBuild);
+ text = $"Exclude from Build", visible = false, option = OPTION(excludeFromBuild);
};
Label labelPreprocessorDefs { rightPane, this, position = { 8, 50 }, labeledWindow = preprocessorDefs };
StringArrayOptionBox preprocessorDefs
{
rightPane, this, size = { 290, 22 }, anchor = { left = 8, top = 66, right = 8 };
- text = "Preprocessor Definitions", hotKey = altD, option = OPTION(preprocessorDefinitions);
+ text = $"Preprocessor Definitions", hotKey = altD, option = OPTION(preprocessorDefinitions);
};
Label labelDefaultNameSpace { rightPane, this, position = { 8, 92 }, labeledWindow = defaultNameSpace };
StringOptionBox defaultNameSpace
{
rightPane, this, size = { 160, 22 }, position = { 8, 108 };
- text = "Default Name Space", option = OPTION(defaultNameSpace);
+ text = $"Default Name Space", option = OPTION(defaultNameSpace);
};
BoolOptionBox strictNameSpaces
{
rightPane, this, position = { 172, 112 },
- text = "Strict Name Spaces", option = OPTION(strictNameSpaces);
+ text = $"Strict Name Spaces", option = OPTION(strictNameSpaces);
};
BoolOptionBox memoryGuard
{
rightPane, this, position = { 8, 154 };
- text = "MemoryGuard", hotKey = altM, option = OPTION(memoryGuard);
+ text = $"MemoryGuard", hotKey = altM, option = OPTION(memoryGuard);
};
Label labelWarnings { rightPane, position = { 116, 138 }, labeledWindow = warnings };
WarningsDB warnings
{
rightPane, this, position = { 116, 154 };
- text = "Warnings", hotKey = altW, option = OPTION(warnings);
+ text = $"Warnings", hotKey = altW, option = OPTION(warnings);
};
Label labelOptimization { rightPane, position = { 244, 138 }, labeledWindow = optimization };
OptimizationDB optimization
{
rightPane, this, position = { 244, 154 }, size = { 120, 22 };
- text = "Optimization", hotKey = altO, option = OPTION(optimization);
+ text = $"Optimization", hotKey = altO, option = OPTION(optimization);
};
BoolOptionBox debug
{
rightPane, this, position = { 8, 188 };
- text = "Debuggable", hotKey = altG, option = OPTION(debug);
+ text = $"Debuggable", hotKey = altG, option = OPTION(debug);
};
BoolOptionBox profiling
{
rightPane, this, position = { 116, 188 };
- text = "Profiling Data", hotKey = altP, option = OPTION(profile);
+ text = $"Profiling Data", hotKey = altP, option = OPTION(profile);
};
BoolOptionBox noLineNumbers
{
rightPane, this, position = { 244, 188 };
- text = "No Line Numbers", hotKey = altN, option = OPTION(noLineNumbers);
+ text = $"No Line Numbers", hotKey = altN, option = OPTION(noLineNumbers);
};
Label labelIncludeDirs { includeDirs.editor, labeledWindow = includeDirs, position = { 0, 6 }; };
DirsArrayOptionBox includeDirs
{
rightPane, this, size = { 290, 22 }, anchor = { left = 8, top = 208, right = 8, bottom = 8 };
- text = "Additional Include Directories", hotKey = altI, option = OPTION(includeDirs);
+ text = $"Additional Include Directories", hotKey = altI, option = OPTION(includeDirs);
};
CompilerTab()
class LinkerTab : Tab
{
background = activeBorder;
- text = "Linker";
+ text = $"Linker";
Label labelTargetName { this, position = { 8, 8 }, labeledWindow = targetName };
StringOptionBox targetName
{
this, position = { 8, 24 }, size = { 200, 22 };
- text = "Target Name", hotKey = altN, option = OPTION(targetFileName);
+ text = $"Target Name", hotKey = altN, option = OPTION(targetFileName);
};
Label labelTargetType { this, position = { 216, 8 }, labeledWindow = targetType };
TargetTypeDB targetType
{
this, position = { 216, 24 }, size = { 120, 22 };
- text = "Target Type", hotKey = altT, option = OPTION(targetType);
+ text = $"Target Type", hotKey = altT, option = OPTION(targetType);
};
Label labelTargetDirectory { this, position = { 344, 8 }, labeledWindow = targetDirectory };
PathOptionBox targetDirectory
{
this, size = { 270, 22 }, anchor = { left = 344, top = 24, right = 8 };
- hotKey = altR, text = "Target Directory", option = OPTION(targetDirectory);
+ hotKey = altR, text = $"Target Directory", option = OPTION(targetDirectory);
};
Label labelLibraries { this, position = { 8, 50 }, labeledWindow = libraries };
StringArrayOptionBox libraries
{
this, size = { 290, 22 }, anchor = { left = 8, top = 66, right = 8 };
- text = "Additional Libraries", hotKey = altL, option = OPTION(libraries);
+ text = $"Additional Libraries", hotKey = altL, option = OPTION(libraries);
configReplaces = true;
};
StringArrayOptionBox linkerOptions
{
this, size = { 290, 22 }, anchor = { left = 8, top = 108, right = 8 };
- text = "Linker Options", hotKey = altO, option = OPTION(linkerOptions);
+ text = $"Linker Options", hotKey = altO, option = OPTION(linkerOptions);
configReplaces = true;
};
BoolOptionBox console
{
this, position = { 8, 138 };
- text = "Console Application", hotKey = altC, option = OPTION(console);
+ text = $"Console Application", hotKey = altC, option = OPTION(console);
};
BoolOptionBox compress
{
this, position = { 8, 162 };
- text = "Compress", hotKey = altW, option = OPTION(compress);
+ text = $"Compress", hotKey = altW, option = OPTION(compress);
};
Label labelLibraryDirs { libraryDirs.editor, labeledWindow = libraryDirs, position = { 0, 6 }; };
DirsArrayOptionBox libraryDirs
{
this, size = { 290, 22 }, anchor = { left = 8, top = 182, right = 8, bottom = 8 };
- text = "Additional Library Directories", hotKey = altY, option = OPTION(libraryDirs);
+ text = $"Additional Library Directories", hotKey = altY, option = OPTION(libraryDirs);
};
bool OnCreate()
class BuilderTab : Tab
{
background = activeBorder;
- text = "Builder";
+ text = $"Builder";
Label labelPrebuildCommands { prebuildCommands.editor, labeledWindow = prebuildCommands, position = { 0, 6 }; };
StringsArrayOptionBox prebuildCommands
{
this, size = { 290, 100 }, anchor = { left = 8, top = 52, right = 8 };
- text = "Pre-build Commands", hotKey = altE, option = OPTION(prebuildCommands);
+ text = $"Pre-build Commands", hotKey = altE, option = OPTION(prebuildCommands);
};
Label labelPostbuildCommands { postbuildCommands.editor, labeledWindow = postbuildCommands, position = { 0, 6 }; };
StringsArrayOptionBox postbuildCommands
{
this, size = { 290, 100 }, anchor = { left = 8, top = 160, right = 8 };
- text = "Post-build Commands", hotKey = altT, option = OPTION(postbuildCommands);
+ text = $"Post-build Commands", hotKey = altT, option = OPTION(postbuildCommands);
};
void LoadSettings()
class AboutIDE : Window
{
nativeDecorations = true;
- text = "About the Ecere SDK";
+ text = $"About the Ecere SDK";
borderStyle = fixed;
hasClose = true;
clientSize = { 440, 220 };
Label { this, text = "Ecere Software Development Kit 0.44pre1.x", font = { "Tahoma", 8.25f, bold = true }, position = { 16, 112 } };
Label { this, text = "Copyright (c) 1996-2012 Ecere Corporation", font = { "Tahoma", 8.25f, bold = true }, position = { 16, 128 } };
- Label { this, text = "Design & Implementation", font = { "Tahoma", 8.25f, bold = true }, position = { 16, 152 } };
+ Label { this, text = $"Design & Implementation", font = { "Tahoma", 8.25f, bold = true }, position = { 16, 152 } };
Label { this, text = "Jérôme Jacovella-St-Louis", position = { 192, 152 } };
- Label { this, text = "Contributors", font = { "Tahoma", 8.25f, bold = true }, position = { 16, 176 } };
+ Label { this, text = $"Contributors", font = { "Tahoma", 8.25f, bold = true }, position = { 16, 176 } };
Label { this, text = "Réjean Loyer, Joey Adams, Max Maton", position = { 124, 176 } };
//Label { this, text = "Joey Adams", position = { 192, 190 } };
//Label { this, text = "Max Maton", position = { 192, 204 } };
Picture picture { this, size = { 318, 94 }, anchor = { left = 64, vert = -52 }, image = { ":ecere.jpg", transparent = true } };
Button button
{
- this, text = "OK", isDefault = true, size = { 80, 20 }, anchor = { horz = 167, bottom = 10 };
+ this, text = $"OK", isDefault = true, size = { 80, 20 }, anchor = { horz = 167, bottom = 10 };
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
}
ide.callStackView.Logf("%3d ", frame.level);
if(!strncmp(frame.func, "__ecereMethod_", strlen("__ecereMethod_")))
- ide.callStackView.Logf("%s Method, %s:%d\n", &frame.func[strlen("__ecereMethod_")], (s = CopySystemPath(frame.file)), frame.line);
+ ide.callStackView.Logf($"%s Method, %s:%d\n", &frame.func[strlen("__ecereMethod_")], (s = CopySystemPath(frame.file)), frame.line);
else if(!strncmp(frame.func, "__ecereProp_", strlen("__ecereProp_")))
- ide.callStackView.Logf("%s Property, %s:%d\n", &frame.func[strlen("__ecereProp_")], (s = CopySystemPath(frame.file)), frame.line);
+ ide.callStackView.Logf($"%s Property, %s:%d\n", &frame.func[strlen("__ecereProp_")], (s = CopySystemPath(frame.file)), frame.line);
else if(!strncmp(frame.func, "__ecereConstructor_", strlen("__ecereConstructor_")))
- ide.callStackView.Logf("%s Constructor, %s:%d\n", &frame.func[strlen("__ecereConstructor_")], (s = CopySystemPath(frame.file)), frame.line);
+ ide.callStackView.Logf($"%s Constructor, %s:%d\n", &frame.func[strlen("__ecereConstructor_")], (s = CopySystemPath(frame.file)), frame.line);
else if(!strncmp(frame.func, "__ecereDestructor_", strlen("__ecereDestructor_")))
- ide.callStackView.Logf("%s Destructor, %s:%d\n", &frame.func[strlen("__ecereDestructor_")], (s = CopySystemPath(frame.file)), frame.line);
+ ide.callStackView.Logf($"%s Destructor, %s:%d\n", &frame.func[strlen("__ecereDestructor_")], (s = CopySystemPath(frame.file)), frame.line);
else
- ide.callStackView.Logf("%s Function, %s:%d\n", frame.func, (s = CopySystemPath(frame.file)), frame.line);
+ ide.callStackView.Logf($"%s Function, %s:%d\n", frame.func, (s = CopySystemPath(frame.file)), frame.line);
delete s;
}
else
if(frame.from)
{
char * s;
- ide.callStackView.Logf("inside %s, %s\n", frame.func, (s = CopySystemPath(frame.from)));
+ ide.callStackView.Logf($"inside %s, %s\n", frame.func, (s = CopySystemPath(frame.from)));
delete s;
}
else if(frame.func)
ide.callStackView.Logf("%s\n", frame.func);
else
- ide.callStackView.Logf("unknown source\n");
+ ide.callStackView.Logf($"unknown source\n");
}
}
else
else
{
app.Lock();
- ide.outputView.debugBox.Logf("err: Unable to create FIFO %s\n", progFifoPath);
+ ide.outputView.debugBox.Logf($"err: Unable to create FIFO %s\n", progFifoPath);
app.Unlock();
}*/
{
int indent = displayFlags.dropBox ? 0 : 10;
int textOffset;
- char * name = object ? (object.name ? object.name : "(unnamed)") : this.name;
+ char * name = object ? (object.name ? object.name : $"(unnamed)") : this.name;
int nameLen = strlen(name);
Bitmap icon = bitmap ? bitmap.bitmap : editor.icons[type].bitmap;
class ActiveCompilerDialog : Window
{
- text = "Active Compiler";
+ text = $"Active Compiler";
background = activeBorder;
borderStyle = fixed;
minClientSize = { 568, 40 };
Button ok
{
this, size = { 80 }, position = { 392, 8 };
- text = "OK", isDefault = true, id = DialogResult::ok;
+ text = $"OK", isDefault = true, id = DialogResult::ok;
NotifyClicked = ButtonCloseDialog;
/*bool NotifyClicked(Button button, int x, int y, Modifiers mods)
Button cancel
{
this, size = { 80 }, position = { 480, 8 };
- text = "Cancel", hotKey = escape, id = DialogResult::cancel;
+ text = $"Cancel", hotKey = escape, id = DialogResult::cancel;
NotifyClicked = ButtonCloseDialog;
};
DropBox compilerDropBox
{
this, position = { 160, 8 }, size = { 220 };
- text = "Active Compiler", hotKey = altA;
+ text = $"Active Compiler", hotKey = altA;
bool NotifySelect(DropBox dropBox, DataRow row, Modifiers mods)
{
tabCycle = true;
hasClose = true;
showInTaskBar = false;
- text = "Compilers Detection";
+ text = $"Compilers Detection";
CompilerType selectedCompilerType;
size = { 180 };
anchor = Anchor { left = 8, top = 24, right = 8, bottom = 36 };
- text = "Compilers";
+ text = $"Compilers";
bool NotifySelect(ListBox listBox, DataRow row, Modifiers mods)
{
Button ok
{
- this, isDefault = true, disabled = true, text = "OK";
+ this, isDefault = true, disabled = true, text = $"OK";
size = { 60 }, anchor = { right = 76, bottom = 8 };
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
Button
{
- this, hotKey = escape, text = "Cancel";
+ this, hotKey = escape, text = $"Cancel";
size = { 60 }, anchor = { right = 8, bottom = 8 };
NotifyClicked = ButtonCloseDialog;
};
class FindInFilesDialog : Window
{
- text = "Find In Files";
+ text = $"Find In Files";
background = activeBorder;
borderStyle = sizable;
minClientSize = { 440, 208 };
if(value != replaceMode)
{
int h = value ? 236 : 208;
- find.text = value ? "Replace" : "Find";
+ find.text = value ? $"Replace" : $"Find";
find.hotKey = value ? altF : altR; // tocheck: the hotkey keeps getting lost
llreplaceWith.visible = value;
- text = value ? "Replace In Files" : "Find In Files";
+ text = value ? $"Replace In Files" : $"Find In Files";
minClientSize.h = h;
maxClientSize.h = h;
size.h = h;
{
char label[MAX_FILENAME];
DataRow row;
- sprintf(label, "%s Project", project.name);
+ sprintf(label, $"%s Project", project.name);
row = findIn.AddString(label);
row.tag = (uint)project;
}
Label lfindIn { llfindIn, this, size.w = 72, labeledWindow = findIn };
DropBox findIn
{
- llfindIn, this, "Find in:", altI, anchor.right = 0;
+ llfindIn, this, $"Find in:", altI, anchor.right = 0;
bool NotifySelect(DropBox control, DataRow row, Modifiers mods)
{
Label lfindWhere { llfindWhere, this, size.w = 72, labeledWindow = findWhere };
PathBox findWhere
{
- llfindWhere, this, "Find where:", altH, size.h = 24, anchor.right = 0;
+ llfindWhere, this, $"Find where:", altH, size.h = 24, anchor.right = 0;
typeExpected = directory, browseDialog = fileDialog;
};
DropBox findWherePrjNode
{
- llfindWhere, this, "Find where:", altH, size.h = 24, anchor.right = 0;
+ llfindWhere, this, $"Find where:", altH, size.h = 24, anchor.right = 0;
visible = false;
//collapseControl = true, treeBranches = true;
Window spacerA { llsubDirs, this, size = { 72, 10 }, clickThrough = true, background = activeBorder, inactive = true };
Button subDirs
{
- llsubDirs, this, "Include Subdirectories", altU, isCheckbox = true, checked = true;
+ llsubDirs, this, $"Include Subdirectories", altU, isCheckbox = true, checked = true;
};
Label lfilter { llfilter, this, size.w = 72, labeledWindow = filterDrop };
DropBox filterDrop
{
- llfilter, this, "Filter:", altL, anchor.right = 0;
+ llfilter, this, $"Filter:", altL, anchor.right = 0;
bool NotifySelect(DropBox control, DataRow row, Modifiers mods)
{
Label lfileName { llfileName, this, size.w = 72, labeledWindow = fileName };
EditBox fileName
{
- llfileName, this, "File name:", altN, size.h = 24, anchor.right = 0;
+ llfileName, this, $"File name:", altN, size.h = 24, anchor.right = 0;
};
//Window spacerX { ll, this, size = { 72, 10 }, clickThrough = true, background = activeBorder, inactive = true };
Label lfindContent { llfindWhat, this, size.w = 72, labeledWindow = findContent };
EditBox findContent
{
- llfindWhat, this, "Find what:", altT, size.h = 24, anchor.right = 0;
+ llfindWhat, this, $"Find what:", altT, size.h = 24, anchor.right = 0;
};
Label lreplaceWith { llreplaceWith, this, size.w = 72, labeledWindow = replaceWith };
EditBox replaceWith
{
- llreplaceWith, this, "Replace with:", altE;
+ llreplaceWith, this, $"Replace with:", altE;
size.h = 24, anchor.right = 0;
};
Window spacerB { llwholeWord, this, size = { 72, 10 }, clickThrough = true, background = activeBorder, inactive = true };
- Button contentWholeWord { llwholeWord, this, "Whole word only", altW, isCheckbox = true };
+ Button contentWholeWord { llwholeWord, this, $"Whole word only", altW, isCheckbox = true };
Window spacerC { llmatchCase, this, size = { 72, 10 }, clickThrough = true, background = activeBorder, inactive = true };
- Button contentMatchCase { llmatchCase, this, "Match case", altC, isCheckbox = true };
+ Button contentMatchCase { llmatchCase, this, $"Match case", altC, isCheckbox = true };
LayoutPage lpbuttons
{
Button find
{
- llfind, this, "Find", altF, isDefault = true, size = { 80, 24 }, anchor.horz = 0, anchor.vert = 0, keyRepeat = true;
+ llfind, this, $"Find", altF, isDefault = true, size = { 80, 24 }, anchor.horz = 0, anchor.vert = 0, keyRepeat = true;
bool NotifyClicked(Button control, int x, int y, Modifiers mods)
{
{
findWhere.Activate();
MessageBox { type = ok, master = parent,
- text = text, contents = "You must specify a search location." }.Modal();
+ text = text, contents = $"You must specify a search location." }.Modal();
}
else if(!FileExists(findPath))
{
findWhere.Activate();
MessageBox { type = ok, master = parent,
- text = text, contents = "Search location does not exist. Please provide a valid location." }.Modal();
+ text = text, contents = $"Search location does not exist. Please provide a valid location." }.Modal();
}
else if(!fileName.contents[0] && !findContent.contents[0])
{
findContent.Activate();
MessageBox { type = ok, master = parent,
- text = text, contents = "Nothing to be found. Please specify at least one criteria." }.Modal();
+ text = text, contents = $"Nothing to be found. Please specify at least one criteria." }.Modal();
}
else
{
Button cancel
{
- llcancel, this, "Cancel", hotKey = { escape }, size = { 80, 24 }, anchor.horz = 0, anchor.vert = 0;
+ llcancel, this, $"Cancel", hotKey = { escape }, size = { 80, 24 }, anchor.horz = 0, anchor.vert = 0;
bool NotifyClicked(Button control, int x, int y, Modifiers mods)
{
};
SearchThread searchThread { findDialog = this };
- FileDialog fileDialog { master = this, type = selectDir, text = "Select Search Location..." };
+ FileDialog fileDialog { master = this, type = selectDir, text = $"Select Search Location..." };
void OnDestroy()
{
bool withWorkspace = (bool)ide.workspace;
DataRow row;
if(!inDirectoryRow)
- inDirectoryRow = findIn.AddString("Directory");
+ inDirectoryRow = findIn.AddString($"Directory");
if(withWorkspace)
{
if(!inWorkspaceRow)
- inWorkspaceRow = findIn.AddString("Workspace");
+ inWorkspaceRow = findIn.AddString($"Workspace");
for(prj : ide.workspace.projects)
AddProjectItem(prj);
if(lastSelectionProject)
void SearchComplete()
{
- //cancel.text = "Cancel";
+ //cancel.text = $"Cancel";
}
int GetSizeFilter()
{
char substring[512];
if(nameCriteria[0])
- sprintf(substring, " with file name matching \"%s\"", nameCriteria);
+ sprintf(substring, $" with file name matching \"%s\"", nameCriteria);
else
substring[0] = '\0';
if(mode == directory)
{
char * s;
ide.outputView.findBox.Logf(
- "Searching \"%s\"%s for %s%s%s containing \"%s\"\n\n",
- (s = CopySystemPath(dir)), subDirs ? " and its sub directories" : "",
- filter.name, substring, substring[0] ? " and" : "", contentCriteria);
+ $"Searching \"%s\"%s for %s%s%s containing \"%s\"\n\n",
+ (s = CopySystemPath(dir)), subDirs ? $" and its sub directories" : "",
+ filter.name, substring, substring[0] ? $" and" : "", contentCriteria);
delete s;
}
else if(mode == workspace)
ide.outputView.findBox.Logf(
- "Searching workspace files for files%s%s containing \"%s\"\n\n",
- substring, substring[0] ? " and" : "", contentCriteria);
+ $"Searching workspace files for files%s%s containing \"%s\"\n\n",
+ substring, substring[0] ? $" and" : "", contentCriteria);
else if(mode == project)
ide.outputView.findBox.Logf(
- "Searching project %s files for files%s%s containing \"%s\"\n\n",
- project.name, substring, substring[0] ? " and" : "", contentCriteria);
+ $"Searching project %s files for files%s%s containing \"%s\"\n\n",
+ project.name, substring, substring[0] ? $" and" : "", contentCriteria);
}
app.Unlock();
replaceEdit = EditBox
{
multiLine = true,textHorzScroll = true,textVertScroll = true,
- text = "Replacing Editbox", size = Size { 640,480 },maxLineSize = 65536
+ text = $"Replacing Editbox", size = Size { 640,480 },maxLineSize = 65536
};
}
app.Lock();
ide.outputView.findBox.Tellf(
- "Searching %s for %s", relative ? fileRelative : stack[frame].fileList.path, contentCriteria);
+ $"Searching %s for %s", relative ? fileRelative : stack[frame].fileList.path, contentCriteria);
app.Unlock();
if(replaceMode && contentReplace[0])
filesMatchedCount++;
app.Lock();
ide.outputView.findBox.Logf(
- "%s matches the file name criteria\n",
+ $"%s matches the file name criteria\n",
relative ? fileRelative : stack[frame].fileList.path);
app.Unlock();
}
relative = true;
app.Lock();
ide.outputView.findBox.Tellf(
- "Searching %s", relative ? fileRelative : stack[frame].fileList.path);
+ $"Searching %s", relative ? fileRelative : stack[frame].fileList.path);
app.Unlock();
}
app.Lock();
ide.outputView.findBox.Tellf(
- "Searching %s for \"%s\"", relative ? fileRelative : filePath,
+ $"Searching %s for \"%s\"", relative ? fileRelative : filePath,
contentCriteria);
app.Unlock();
{
if(globalFindCount)
ide.outputView.findBox.Logf(
- "%s search %s a total of %d match%s in %d out of the %d file%s searched\n",
- abort ? "Aborted" : "Completed", replaceMode ? "found" : "replaced", globalFindCount, (globalFindCount > 1) ? "es" : "",
- filesMatchedCount, filesSearchedCount, (filesSearchedCount > 1) ? "s" : "");
+ $"%s search %s a total of %d match%s in %d out of the %d file%s searched\n",
+ abort ? $"Aborted" : $"Completed", replaceMode ? $"found" : $"replaced", globalFindCount, (globalFindCount > 1) ? $"es" : "",
+ filesMatchedCount, filesSearchedCount, (filesSearchedCount > 1) ? $"s" : "");
else if(filesMatchedCount)
ide.outputView.findBox.Logf(
- "%s search found a total of %d match%s in the %d file%s searched\n",
- abort ? "Aborted" : "Completed", filesMatchedCount, (filesMatchedCount > 1) ? "es" : "",
- filesSearchedCount, (filesSearchedCount > 1) ? "s" : "");
+ $"%s search found a total of %d match%s in the %d file%s searched\n",
+ abort ? $"Aborted" : $"Completed", filesMatchedCount, (filesMatchedCount > 1) ? $"es" : "",
+ filesSearchedCount, (filesSearchedCount > 1) ? $"s" : "");
else
ide.outputView.findBox.Logf(
- "%s search did not find any match in the %d files searched\n",
- abort ? "Aborted" : "Completed", filesSearchedCount);
+ $"%s search did not find any match in the %d files searched\n",
+ abort ? $"Aborted" : $"Completed", filesSearchedCount);
}
else
ide.outputView.findBox.Logf(
- "%s search did not find any file\n", abort ? "Aborted" : "Completed");
+ $"%s search did not find any file\n", abort ? $"Aborted" : $"Completed");
findDialog.SearchComplete();
app.Unlock();
return 0;
else
{
app.Lock();
- ide.outputView.findBox.Logf("Unable to open file %s\n\n", filePath);
+ ide.outputView.findBox.Logf($"Unable to open file %s\n\n", filePath);
app.Unlock();
}
if(findCount)
{
app.Lock();
ide.outputView.findBox.Logf(
- "Found %d match%s in \"%s\"%s\n\n", findCount, (findCount > 1) ? "es" : "",
- relative ? fileRelative : filePath, abortNow ? " before search was aborted" : "");
+ $"Found %d match%s in \"%s\"%s\n\n", findCount, (findCount > 1) ? "es" : "",
+ relative ? fileRelative : filePath, abortNow ? $" before search was aborted" : "");
app.Unlock();
}
return findCount;
else
{
app.Lock();
- ide.outputView.findBox.Logf("Unable to open file %s\n\n", filePath);
+ ide.outputView.findBox.Logf($"Unable to open file %s\n\n", filePath);
app.Unlock();
}
if(replaceCount)
{
app.Lock();
ide.outputView.findBox.Logf(
- "Replaced %d match%s in \"%s\"%s\n\n", replaceCount, (replaceCount > 1) ? "es" : "",
- relative ? fileRelative : filePath, abortNow ? " before search was aborted" : "");
+ $"Replaced %d match%s in \"%s\"%s\n\n", replaceCount, (replaceCount > 1) ? $"es" : "",
+ relative ? fileRelative : filePath, abortNow ? $" before search was aborted" : "");
app.Unlock();
}
return replaceCount;
import "ide"
-FileDialog fileDialog { type = selectDir, text = "Select project directory" };
+FileDialog fileDialog { type = selectDir, text = $"Select project directory" };
class NewProjectDialog : Window
{
borderStyle = sizable;
tabCycle = true;
hasClose = true;
- text = "New Project";
+ text = $"New Project";
char path[MAX_LOCATION];
char name[MAX_FILENAME];
PathBox locationEditBox
{
this, position = { 10, 80 }, size = { 120, 22 }, anchor = { left = 10, top = 80, right = 10 };
- hotKey = altL, text = "Location";
+ hotKey = altL, text = $"Location";
typeExpected = directory, browseDialog = fileDialog;
//NotifyUpdate = EditBoxUpdate;
};
Label { this, position = { 10, 60 }, labeledWindow = locationEditBox };
- DropBox targetType { this, position = { 10, 130 }, size = { 130 }, hotKey = altT, text = "Target Type" };
+ DropBox targetType { this, position = { 10, 130 }, size = { 130 }, hotKey = altT, text = $"Target Type" };
Label { this, position = { 10, 110 }, labeledWindow = targetType };
Button okBtn
{
- parent = this, isDefault = true, disabled = true, position = { 170, 130 }, size = { 60 }, text = "OK";
+ parent = this, isDefault = true, disabled = true, position = { 170, 130 }, size = { 60 }, text = $"OK";
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
char * location = locationEditBox.slashPath;
if(!FileExists(location).isDirectory)
{
if(MessageBox { type = yesNo, master = this,
- text = "Directory doesn't exist", contents = "Create directory?" }.Modal() == yes)
+ text = $"Directory doesn't exist", contents = $"Create directory?" }.Modal() == yes)
{
if(!MakeDir(location))
{
- MessageBox { type = ok, master = this, text = location, contents = "Error creating directory" }.Modal();
+ MessageBox { type = ok, master = this, text = location, contents = $"Error creating directory" }.Modal();
return true;
}
}
if(exists)
{
if(MessageBox { type = yesNo, master = this,
- text = "Project Already Exists", contents = "Replace existing project?" }.Modal() == no)
+ text = $"Project Already Exists", contents = $"Replace existing project?" }.Modal() == no)
return true;
}
if(!project.Save(filePath))
{
- MessageBox { type = ok, master = this, text = filePath, contents = "Error writing project file" }.Modal();
+ MessageBox { type = ok, master = this, text = filePath, contents = $"Error writing project file" }.Modal();
delete project;
return true;
}
Button
{
- parent = this, position = { 240, 130 }, size = { 60 }, hotKey = escape, text = "Cancel";
+ parent = this, position = { 240, 130 }, size = { 60 }, hotKey = escape, text = $"Cancel";
NotifyClicked = ButtonCloseDialog;
};
Button createForm
{
- parent = this, text = "Create Form", hotKey = altF, position = { 200, 30 };
+ parent = this, text = $"Create Form", hotKey = altF, position = { 200, 30 };
isCheckbox = true, checked = true;
};
EditBox projectName
{
parent = this, textHorzScroll = true, position = { 10, 30 }, size = { 160 };
- hotKey = altP, text = "Project Name";
+ hotKey = altP, text = $"Project Name";
NotifyUpdate = EditBoxUpdate;
bool NotifyModified(EditBox editBox)
row = targetType.AddRow();
row.tag = TargetTypes::executable;
- row.SetData(null, "Executable");
+ row.SetData(null, $"Executable");
row = targetType.AddRow();
row.tag = TargetTypes::sharedLibrary;
- row.SetData(null, "Shared Library");
+ row.SetData(null, $"Shared Library");
row = targetType.AddRow();
row.tag = TargetTypes::staticLibrary;
- row.SetData(null, "Static Library");
+ row.SetData(null, $"Static Library");
targetType.currentRow = targetType.FindRow(TargetTypes::executable);
}
borderStyle = sizable;
tabCycle = true;
hasClose = true;
- text = "Quick Project";
+ text = $"Quick Project";
char path[MAX_LOCATION];
char name[MAX_FILENAME];
- Label message { this, position = { 10, 10 }, size = { 200 }, text = "Do you want to quickly create a temporary project?" };
+ Label message { this, position = { 10, 10 }, size = { 200 }, text = $"Do you want to quickly create a temporary project?" };
- DropBox targetType { this, position = { 10, 70 }, size = { 130 }, hotKey = altT, text = "Target Type" };
+ DropBox targetType { this, position = { 10, 70 }, size = { 130 }, hotKey = altT, text = $"Target Type" };
Label { this, position = { 10, 50 }, labeledWindow = targetType };
Button okBtn
{
- parent = this, isDefault = true, position = { 170, 70 }, size = { 60 }, text = "OK";
+ parent = this, isDefault = true, position = { 170, 70 }, size = { 60 }, text = $"OK";
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
char tempDir[MAX_LOCATION] = "";
if(!FileExists(tempDir).isDirectory)
{
- MessageBox { type = ok, master = this, text = tempDir, contents = "Temporary directory does not exist." }.Modal();
+ MessageBox { type = ok, master = this, text = tempDir, contents = $"Temporary directory does not exist." }.Modal();
return true;
}
if(!project.Save(filePath))
{
- MessageBox { type = ok, master = this, text = filePath, contents = "Error writing project file" }.Modal();
+ MessageBox { type = ok, master = this, text = filePath, contents = $"Error writing project file" }.Modal();
delete project;
delete workspace;
ide.DestroyTemporaryProjectDir();
Button
{
- parent = this, position = { 240, 70 }, size = { 60 }, hotKey = escape, text = "Cancel";
+ parent = this, position = { 240, 70 }, size = { 60 }, hotKey = escape, text = $"Cancel";
NotifyClicked = ButtonCloseDialog;
};
row = targetType.AddRow();
row.tag = TargetTypes::executable;
- row.SetData(null, "Executable");
+ row.SetData(null, $"Executable");
row = targetType.AddRow();
row.tag = TargetTypes::sharedLibrary;
- row.SetData(null, "Shared Library");
+ row.SetData(null, $"Shared Library");
row = targetType.AddRow();
row.tag = TargetTypes::staticLibrary;
- row.SetData(null, "Static Library");
+ row.SetData(null, $"Static Library");
targetType.currentRow = targetType.FindRow(TargetTypes::executable);
}
hasClose = true;
borderStyle = sizable;
isModal = true;
- text = "Properties";
+ text = $"Properties";
//size = { 280, 260 };
ProjectNode node, topNode;
Label pathLabel { parent = this, position = { 10, 60 }, labeledWindow = path };
EditBox path
{
- this, textHorzScroll = true, position = { 10, 80 }, size = { 260 }, text = "Path";
+ this, textHorzScroll = true, position = { 10, 80 }, size = { 260 }, text = $"Path";
anchor = { left = 10, top = 80, right = 10 };
NotifyModified = PathNotifyModified;
};
EditBox absolutePath
{
this, background = activeBorder, textHorzScroll = true, readOnly = true;
- position = { 10, 130 }, size = { 260 }, text = "Absolute Path";
+ position = { 10, 130 }, size = { 260 }, text = $"Absolute Path";
anchor = { left = 10, top = 130, right = 10 };
};
Label nameLabel { parent = this, position = { 10, 10 }, labeledWindow = name };
EditBox name
{
- this, textHorzScroll = true, position = { 10, 30 }, size = { 260 }, text = "Name";
+ this, textHorzScroll = true, position = { 10, 30 }, size = { 260 }, text = $"Name";
anchor = { left = 10, top = 30, right = 10 };
NotifyModified = NameNotifyModified;
};
GetLastDirectory(name.contents, filePath);
if(topNode.Find(filePath, false))
{
- MessageBox { type = ok, master = this, text = filePath, contents = "File with same name already in project." }.Modal();
+ MessageBox { type = ok, master = this, text = filePath, contents = $"File with same name already in project." }.Modal();
node.name = oldName;
return false;
}
node.icon = NodeIcons::SelectFileIcon(filePath);
{
char * s;
- text = (s = PrintString(node.name, " Properties"));
+ text = (s = PrintString(node.name, $" Properties"));
delete s;
}
if(node.type == folder)
{
char * s;
- text = (s = PrintString(node.name, " Properties"));
+ text = (s = PrintString(node.name, $" Properties"));
delete s;
}
name.contents = node.name;
class ProjectActiveConfig : Window
{
- text = "Project Active Configuration";
+ text = $"Project Active Configuration";
background = activeBorder;
borderStyle = fixed;
minClientSize = { 568, 40 };
Button ok
{
this, size = { 80 }, position = { 392, 8 };
- text = "OK", isDefault = true;
+ text = $"OK", isDefault = true;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
Button cancel
{
this, size = { 80 }, position = { 480, 8 };
- text = "Cancel", hotKey = escape, id = DialogResult::cancel;
+ text = $"Cancel", hotKey = escape, id = DialogResult::cancel;
NotifyClicked = ButtonCloseDialog;
};
DropBox config
{
this, position = { 160, 8 }, size = { 220 };
- text = "Active Configuration", hotKey = altA;
+ text = $"Active Configuration", hotKey = altA;
};
}
Project project;
background = activeBorder;
- text = "Project";
+ text = $"Project";
Label labelModuleName { this, position = { 8, 8 }, labeledWindow = moduleName };
EditBox moduleName
{
this, size = { 180, 22 }, position = { 8, 24 };
- text = "Module Name", hotKey = altU;
+ text = "$Module Name", hotKey = altU;
NotifyModified = ProjectControlModified;
};
{
this, size = { 290, 100 }, position = { 8, 66 }, anchor = { left = 8, top = 66, right = 8 };
multiLine = true, hasVertScroll = true;
- text = "Description", hotKey = altA;
+ text = $"Description", hotKey = altA;
NotifyModified = ProjectControlModified;
};
{
this, size = { 290, 22 }, position = { 8, 190 }, anchor = { left = 8, top = 190, right = 8, bottom = 8 };
multiLine = true, hasVertScroll = true;
- text = "License", hotKey = altA;
+ text = $"License", hotKey = altA;
NotifyModified = ProjectControlModified;
};
DialogResult diagRes = MessageBox
{
type = yesNoCancel, master = ide,
- text = "Save changes to project options?",
- contents = "Would you like to save changes made to the project options?"
+ text = $"Save changes to project options?",
+ contents = $"Would you like to save changes made to the project options?"
}.Modal();
if(diagRes == cancel)
return false;
//saveDialog = pictureEditFileDialog;
- Menu fileMenu { menu, "File", f }
- MenuItem { fileMenu, "Save", s, ctrlS, NotifySelect = MenuFileSave };
- MenuItem { fileMenu, "Save As...", a, NotifySelect = MenuFileSaveAs };
- Menu imageMenu { menu, "Image", i };
- Menu modeMenu { imageMenu, "Mode", m };
+ Menu fileMenu { menu, $"File", f }
+ MenuItem { fileMenu, $"Save", s, ctrlS, NotifySelect = MenuFileSave };
+ MenuItem { fileMenu, $"Save As...", a, NotifySelect = MenuFileSaveAs };
+ Menu imageMenu { menu, $"Image", i };
+ Menu modeMenu { imageMenu, $"Mode", m };
MenuItem imageModeIndexedItem
{
- modeMenu, "Indexed Color...", i, isRadio = true;
+ modeMenu, $"Indexed Color...", i, isRadio = true;
bool NotifySelect(MenuItem selection, Modifiers mods)
{
ColorAlpha * palette = bitmap.Quantize(0, 255);
};
MenuItem imageModeRGBItem
{
- modeMenu, "RGB Color", r, isRadio = true;
+ modeMenu, $"RGB Color", r, isRadio = true;
bool NotifySelect(MenuItem selection, Modifiers mods)
{
bitmap.Convert(null, pixelFormat888, null);
MenuDivider { modeMenu };
MenuItem imageModeColorTableItem
{
- modeMenu, "Color Table", r;
+ modeMenu, $"Color Table", r;
bool NotifySelect(MenuItem selection, Modifiers mods)
{
PictureEditColorTable colorTable { master = this };
MenuDivider { imageMenu };
MenuItem adjustHSVItem
{
- imageMenu, "Adjust Hue, Saturation, Value", h;
+ imageMenu, $"Adjust Hue, Saturation, Value", h;
bool NotifySelect(MenuItem selection, Modifiers mods)
{
AdjustHSV adjustHSV { master = this };
class PictureEditColorTable : Window
{
hasClose = true;
- text = "Color Table";
+ text = $"Color Table";
background = activeBorder;
minClientSize = Size { 400, 400 };
Button button
{
- parent = this, hotKey = escape, size = { 80 }, text = "Close";
+ parent = this, hotKey = escape, size = { 80 }, text = $"Close";
anchor = Anchor { right = 10, bottom = 10 };
NotifyClicked = ButtonCloseDialog;
};
Button button1
{
- this, text = "Go", position = { 296, 104 }, isDefault = true;
+ this, text = $"Go", position = { 296, 104 }, isDefault = true;
bool NotifyClicked(Button button, int x, int y, Modifiers mods)
{
borderStyle = sizable;
background = { 224, 224, 224 };
hasClose = true;
- text = "Breakpoints";
+ text = $"Breakpoints";
clientSize = Size { 206, 624 };
//anchor = Anchor { left = 0.8, top = 200, right = 0, bottom = 200 };
//size = { 150 };
}
};
- DataField locationField { "char *", true, width = 180, header = "Location" };
- DataField ignoreField { "char *", true, width = 72, header = "Ignore Count" };
- DataField levelField { "char *", true, width = 50, header = "Hit Level" };
- DataField conditionField { "char *", true, width = 130, header = "Condition" };
+ DataField locationField { "char *", true, width = 180, header = $"Location" };
+ DataField ignoreField { "char *", true, width = 72, header = $"Ignore Count" };
+ DataField levelField { "char *", true, width = 50, header = $"Hit Level" };
+ DataField conditionField { "char *", true, width = 130, header = $"Condition" };
BreakpointsView()
{
class WatchesView : Window
{
visible = false;
- text = "Watches";
+ text = $"Watches";
borderStyle = sizable;
background = { 224, 224, 224 };
hasClose = true;
return true;
}
};
- DataField expressionField { "char *", true, width = 130, header = "Expression" };
- DataField typeField { "Type", false, width = 180, header = "Type" };
- //DataField addressField { "char *", true, width = 80, header = "Symbol Address" };
- DataField valueField { class(WatchMultiLineString), true, width = 330, header = "Value", freeData = false };
+ DataField expressionField { "char *", true, width = 130, header = $"Expression" };
+ DataField typeField { "Type", false, width = 180, header = "$Type" };
+ //DataField addressField { "char *", true, width = 80, header = $"Symbol Address" };
+ DataField valueField { class(WatchMultiLineString), true, width = 330, header = $"Value", freeData = false };
WatchesView()
{
}
if(ide.ShouldStopBuild())
{
- ide.outputView.buildBox.Logf("\nBuild cancelled by user.\n", line);
+ ide.outputView.buildBox.Logf($"\nBuild cancelled by user.\n", line);
f.Terminate();
}
}
{
if(!compiling && !isPrecomp)
{
- ide.outputView.buildBox.Logf("Compiling...\n");
+ ide.outputView.buildBox.Logf($"Compiling...\n");
compiling = true;
}
else if(!precompiling && isPrecomp)
{
- ide.outputView.buildBox.Logf("Generating symbols...\n");
+ ide.outputView.buildBox.Logf($"Generating symbols...\n");
precompiling = true;
}
Tokenize(module, 1, tokens, false);
compiling = false;
precompiling = false;
linking = true;
- ide.outputView.buildBox.Logf("Linking...\n");
+ ide.outputView.buildBox.Logf($"Linking...\n");
}
else
{
if(compilingEC) compilingEC--;
}
else if(strstr(line, "ar rcs") == line)
- ide.outputView.buildBox.Logf("Building library...\n");
+ ide.outputView.buildBox.Logf($"Building library...\n");
else if(strstr(line, ecsCommand) == line)
- ide.outputView.buildBox.Logf("Writing symbol loader...\n");
+ ide.outputView.buildBox.Logf($"Writing symbol loader...\n");
else
{
if(linking || compiling || precompiling)
}
if(ide.ShouldStopBuild())
{
- ide.outputView.buildBox.Logf("\nBuild cancelled by user.\n", line);
+ ide.outputView.buildBox.Logf($"\nBuild cancelled by user.\n", line);
f.Terminate();
}
else if(loggedALine || !isARun)
if(f.GetExitCode() && !numErrors)
{
bool result = f.GetLine(line, sizeof(line)-1);
- ide.outputView.buildBox.Logf("Fatal Error: child process terminated unexpectedly\n");
+ ide.outputView.buildBox.Logf($"Fatal Error: child process terminated unexpectedly\n");
}
else
{
if(!onlyNode)
ide.outputView.buildBox.Logf("\n%s (%s) - ", GetTargetFileName(config), configName);
if(numErrors)
- ide.outputView.buildBox.Logf("%d %s, ", numErrors, (numErrors > 1) ? "errors" : "error");
+ ide.outputView.buildBox.Logf("%d %s, ", numErrors, (numErrors > 1) ? $"errors" : $"error");
else
- ide.outputView.buildBox.Logf("no error, ");
+ ide.outputView.buildBox.Logf($"no error, ");
if(numWarnings)
- ide.outputView.buildBox.Logf("%d %s\n", numWarnings, (numWarnings > 1) ? "warnings" : "warning");
+ ide.outputView.buildBox.Logf("%d %s\n", numWarnings, (numWarnings > 1) ? $"warnings" : $"warning");
else
- ide.outputView.buildBox.Logf("no warning\n");
+ ide.outputView.buildBox.Logf($"no warning\n");
}
}
return numErrors == 0;
delete f;
}
else
- ide.outputView.buildBox.Logf("Error executing make (%s) command\n", compiler.makeCommand);
+ ide.outputView.buildBox.Logf($"Error executing make (%s) command\n", compiler.makeCommand);
}
delete pathBackup;
sprintf(command, "%s clean -C \"%s\" -f \"%s\"", compiler.makeCommand, topNode.path, makeFilePath);
if((f = DualPipeOpen(PipeOpenMode { output = 1, error = 1, input = 2 }, command)))
{
- ide.outputView.buildBox.Tell("Deleting target and object files...");
+ ide.outputView.buildBox.Tell($"Deleting target and object files...");
ProcessCleanPipeOutput(f, compiler, config);
delete f;
- ide.outputView.buildBox.Logf("Target and object files deleted\n");
+ ide.outputView.buildBox.Logf($"Target and object files deleted\n");
}
}
}
else
{
- MessageBox { type = ok, master = ide, contents = "Workspace load file failed", text = "Workspace Load File Error" }.Modal();
+ MessageBox { type = ok, master = ide, contents = $"Workspace load file failed", text = $"Workspace Load File Error" }.Modal();
delete workspace;
return null;
}
strcat(files, item.name);
}
- sprintf(title, "File%s not found", s);
- sprintf(msg, "The following file%s could not be re-opened.%s", s, files);
+ sprintf(title, $"File%s not found", s);
+ sprintf(msg, $"The following file%s could not be re-opened.%s", s, files);
MessageBox { type = ok, master = ide, contents = msg, text = title }.Modal();