ide/i18n: Added some more i18n'ed strings
authorJerome St-Louis <jerome@ecere.com>
Fri, 17 Feb 2012 12:30:49 +0000 (19:30 +0700)
committerJerome St-Louis <jerome@ecere.com>
Fri, 17 Feb 2012 12:30:49 +0000 (19:30 +0700)
17 files changed:
ide/src/IDESettings.ec
ide/src/ProjectSettings.ec
ide/src/about.ec
ide/src/debugger/Debugger.ec
ide/src/designer/CodeObject.ec
ide/src/dialogs/ActiveCompilerDialog.ec
ide/src/dialogs/CompilersDetectionDialog.ec
ide/src/dialogs/FindInFilesDialog.ec
ide/src/dialogs/NewProjectDialog.ec
ide/src/dialogs/NodeProperties.ec
ide/src/dialogs/ProjectActiveConfig.ec
ide/src/dialogs/ProjectTabSettings.ec
ide/src/documents/PictureEdit.ec
ide/src/panels/BreakpointsView.ec
ide/src/panels/WatchesView.ec
ide/src/project/Project.ec
ide/src/project/Workspace.ec

index c5f7b49..c030d02 100644 (file)
@@ -572,6 +572,7 @@ static const char * compilerTypeVersionString[CompilerType] = { "", "", "", "8.0
 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",
index aa3e315..462563f 100644 (file)
@@ -82,7 +82,7 @@ class StringListBox : EditBox
    }
 }
 
-define dialogTitle = "Project Settings";
+define dialogTitle = $"Project Settings";
 static Color unfocusedSelectorColor { 70, 96, 166 };
 class ProjectSettings : Window
 {
@@ -169,7 +169,7 @@ 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)
       {
@@ -178,8 +178,8 @@ class ProjectSettings : Window
             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)
             {
@@ -208,7 +208,7 @@ class ProjectSettings : Window
    {
       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)
       {
@@ -285,7 +285,7 @@ class OptionBox<class Z> : CommonControl
    Menu clearMenu { };
    MenuItem clearItem
    {
-      clearMenu, "Clear";
+      clearMenu, $"Clear";
 
       bool NotifySelect(MenuItem selection, Modifiers mods)
       {
@@ -1045,15 +1045,15 @@ class TargetTypeDB : DropOptionBox<TargetTypes>
 
       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)
@@ -1070,15 +1070,15 @@ class OptimizationDB : DropOptionBox<OptimizationStrategy>
       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)
@@ -1095,15 +1095,15 @@ class WarningsDB : DropOptionBox<WarningsOption>
       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)
@@ -1129,7 +1129,7 @@ void DrawStipple(Surface surface, Size clientSize)
 
 class BuildTab : Tab
 {
-   text = "Build";
+   text = $"Build";
    background = activeBorder;
    tabCycle = true;
 
@@ -1185,7 +1185,7 @@ class BuildTab : Tab
    };
    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;
 
@@ -1279,8 +1279,8 @@ class BuildTab : Tab
       {
          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 };
@@ -1326,7 +1326,7 @@ class BuildTab : Tab
    };
    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;
 
@@ -1348,7 +1348,7 @@ class BuildTab : Tab
    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)
@@ -1580,7 +1580,7 @@ class BuildTab : Tab
       // 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;
       };
@@ -1613,7 +1613,7 @@ class BuildTab : Tab
 
       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;
       };
 
@@ -1728,8 +1728,8 @@ class BuildTab : Tab
          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();
@@ -1751,7 +1751,7 @@ class BuildTab : Tab
 class CompilerTab : Tab
 {
    background = activeBorder;
-   text = "Compiler";
+   text = $"Compiler";
 
    Window leftPane { this, size = { 180 }, anchor = { left = 0, top = 0, bottom = 0 }, background = activeBorder };
 
@@ -1765,7 +1765,7 @@ class CompilerTab : Tab
       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)
       {
@@ -1837,77 +1837,77 @@ class CompilerTab : Tab
    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()
@@ -1971,34 +1971,34 @@ class CompilerTab : Tab
 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;
    };
 
@@ -2006,27 +2006,27 @@ class LinkerTab : Tab
    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()
@@ -2055,20 +2055,20 @@ class LinkerTab : Tab
 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()
index 63cf963..94b58e6 100644 (file)
@@ -7,16 +7,16 @@ import "ecere"
 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 } };
@@ -24,7 +24,7 @@ class AboutIDE : Window
    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)
       {
index 18affc8..0201897 100644 (file)
@@ -2871,15 +2871,15 @@ class Debugger
                                  }
                                  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
@@ -2889,13 +2889,13 @@ class Debugger
                                  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
@@ -3571,7 +3571,7 @@ class ProgramThread : Thread
       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();
       }*/
 
index 1a266a5..f4f7261 100644 (file)
@@ -29,7 +29,7 @@ class CodeObject : struct
    {
       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;
index 3e0b75f..621339a 100644 (file)
@@ -2,7 +2,7 @@ import "IDESettings"
 
 class ActiveCompilerDialog : Window
 {
-   text = "Active Compiler";
+   text = $"Active Compiler";
    background = activeBorder;
    borderStyle = fixed;
    minClientSize = { 568, 40 };
@@ -16,7 +16,7 @@ class ActiveCompilerDialog : Window
    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)
@@ -29,14 +29,14 @@ class ActiveCompilerDialog : Window
    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)
       {
index 5b922bf..842ae1c 100644 (file)
@@ -15,7 +15,7 @@ class CompilersDetectionDialog : Window
    tabCycle = true;
    hasClose = true;
    showInTaskBar = false;
-   text = "Compilers Detection";
+   text = $"Compilers Detection";
 
    CompilerType selectedCompilerType;
    
@@ -112,7 +112,7 @@ class CompilersDetectionDialog : Window
       
       size = { 180 };
       anchor = Anchor { left = 8, top = 24, right = 8, bottom = 36 };
-      text = "Compilers";
+      text = $"Compilers";
 
       bool NotifySelect(ListBox listBox, DataRow row, Modifiers mods)
       {
@@ -127,7 +127,7 @@ class CompilersDetectionDialog : Window
 
    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)
       {
@@ -139,7 +139,7 @@ class CompilersDetectionDialog : Window
    
    Button
    {
-      this, hotKey = escape, text = "Cancel";
+      this, hotKey = escape, text = $"Cancel";
       size = { 60 }, anchor = { right = 8, bottom = 8 };
       NotifyClicked = ButtonCloseDialog;
    };
index 9730b2b..26848a9 100644 (file)
@@ -5,7 +5,7 @@ enum FindInFilesMode { directory, workspace, project };
 
 class FindInFilesDialog : Window
 {
-   text = "Find In Files";
+   text = $"Find In Files";
    background = activeBorder;
    borderStyle = sizable;
    minClientSize = { 440, 208 };
@@ -123,10 +123,10 @@ public:
          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;
@@ -141,7 +141,7 @@ public:
       {
          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;
       }
@@ -228,7 +228,7 @@ private:
    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)
       {
@@ -291,12 +291,12 @@ private:
    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;
 
@@ -312,13 +312,13 @@ private:
    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)
       {
@@ -331,7 +331,7 @@ private:
    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 };
@@ -342,21 +342,21 @@ private:
    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
    {
@@ -373,7 +373,7 @@ private:
 
    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)
       {
@@ -382,19 +382,19 @@ private:
          {
             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
          {
@@ -408,7 +408,7 @@ private:
    
    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)
       {
@@ -419,7 +419,7 @@ private:
    };
    
    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()
    {
@@ -434,11 +434,11 @@ private:
       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)
@@ -554,7 +554,7 @@ private:
 
    void SearchComplete()
    {
-      //cancel.text = "Cancel";
+      //cancel.text = $"Cancel";
    }
 
    int GetSizeFilter()
@@ -638,26 +638,26 @@ private:
          {
             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();
       
@@ -666,7 +666,7 @@ private:
          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
          };
       }
 
@@ -703,7 +703,7 @@ private:
 
                         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])
@@ -721,7 +721,7 @@ private:
                         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();
                      }
@@ -735,7 +735,7 @@ private:
                   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();
                }
 
@@ -822,7 +822,7 @@ private:
 
                               app.Lock();
                                  ide.outputView.findBox.Tellf(
-                                       "Searching %s for \"%s\"", relative ? fileRelative : filePath,
+                                       $"Searching %s for \"%s\"", relative ? fileRelative : filePath,
                                        contentCriteria);
                               app.Unlock();
 
@@ -891,22 +891,22 @@ private:
          {
             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;
@@ -966,15 +966,15 @@ private:
       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;
@@ -1052,15 +1052,15 @@ private:
       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;
index e5a5001..8d94f3c 100644 (file)
@@ -1,6 +1,6 @@
 import "ide"
 
-FileDialog fileDialog { type = selectDir, text = "Select project directory" };
+FileDialog fileDialog { type = selectDir, text = $"Select project directory" };
 
 class NewProjectDialog : Window
 {
@@ -10,7 +10,7 @@ class NewProjectDialog : Window
    borderStyle = sizable;
    tabCycle = true;
    hasClose = true;
-   text = "New Project";
+   text = $"New Project";
 
    char path[MAX_LOCATION];
    char name[MAX_FILENAME];
@@ -18,7 +18,7 @@ class NewProjectDialog : Window
    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;
@@ -53,13 +53,13 @@ class NewProjectDialog : Window
    };
    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;
@@ -76,11 +76,11 @@ class NewProjectDialog : Window
          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;
                }
             }
@@ -100,7 +100,7 @@ class NewProjectDialog : Window
          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;
          }
 
@@ -165,7 +165,7 @@ class NewProjectDialog : Window
 
          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;
          }
@@ -231,19 +231,19 @@ class NewProjectDialog : Window
    
    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)
@@ -305,15 +305,15 @@ class NewProjectDialog : Window
 
          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);
       }
@@ -328,19 +328,19 @@ class QuickProjectDialog : Window
    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] = "";
@@ -366,7 +366,7 @@ class QuickProjectDialog : Window
 
          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;
          }
          
@@ -440,7 +440,7 @@ class QuickProjectDialog : Window
 
          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();
@@ -516,7 +516,7 @@ class QuickProjectDialog : Window
    
    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;
    };
    
@@ -526,15 +526,15 @@ class QuickProjectDialog : Window
 
       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);
    }
index e4ec37d..7b5f715 100644 (file)
@@ -9,7 +9,7 @@ class NodeProperties : Window
    hasClose = true;
    borderStyle = sizable;
    isModal = true;
-   text = "Properties";
+   text = $"Properties";
    //size = { 280, 260 };
 
    ProjectNode node, topNode;
@@ -18,7 +18,7 @@ class NodeProperties : Window
    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;
    };
@@ -27,14 +27,14 @@ class NodeProperties : Window
    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;
    };
@@ -48,7 +48,7 @@ class NodeProperties : Window
       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;
       }
@@ -58,7 +58,7 @@ class NodeProperties : Window
          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)
@@ -139,7 +139,7 @@ class NodeProperties : Window
             
             {
                char * s;
-               text = (s = PrintString(node.name, " Properties"));
+               text = (s = PrintString(node.name, $" Properties"));
                delete s;
             }
             name.contents = node.name;
index 0d2e162..11d96d3 100644 (file)
@@ -2,7 +2,7 @@ import "ide"
 
 class ProjectActiveConfig : Window
 {
-   text = "Project Active Configuration";
+   text = $"Project Active Configuration";
    background = activeBorder;
    borderStyle = fixed;
    minClientSize = { 568, 40 };
@@ -36,7 +36,7 @@ class ProjectActiveConfig : Window
    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)
       {
@@ -54,7 +54,7 @@ class ProjectActiveConfig : Window
    Button cancel
    {
       this, size = { 80 }, position = { 480, 8 };
-      text = "Cancel", hotKey = escape, id = DialogResult::cancel;
+      text = $"Cancel", hotKey = escape, id = DialogResult::cancel;
       NotifyClicked = ButtonCloseDialog;
    };
 
@@ -62,7 +62,7 @@ class ProjectActiveConfig : Window
    DropBox config
    {
       this, position = { 160, 8 }, size = { 220 };
-      text = "Active Configuration", hotKey = altA;
+      text = $"Active Configuration", hotKey = altA;
    };
    
 }
index 302d1a0..4af8f35 100644 (file)
@@ -5,12 +5,12 @@ class ProjectTab : Tab
    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;
    };
    
@@ -19,7 +19,7 @@ class ProjectTab : Tab
    {
       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;
    };
 
@@ -28,7 +28,7 @@ class ProjectTab : Tab
    {
       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;
    };
 
@@ -68,8 +68,8 @@ class ProjectTab : Tab
          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;
index 206c406..6bfa94b 100644 (file)
@@ -50,14 +50,14 @@ class PictureEdit : Window
    
    //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);
@@ -74,7 +74,7 @@ class PictureEdit : Window
          };
          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);
@@ -87,7 +87,7 @@ class PictureEdit : Window
          MenuDivider { modeMenu };
          MenuItem imageModeColorTableItem
          {
-            modeMenu, "Color Table", r;
+            modeMenu, $"Color Table", r;
             bool NotifySelect(MenuItem selection, Modifiers mods)
             {
                PictureEditColorTable colorTable { master = this };
@@ -100,7 +100,7 @@ class PictureEdit : Window
          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 };
@@ -269,13 +269,13 @@ class PictureEdit : Window
 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;
    };
@@ -315,7 +315,7 @@ class AdjustHSV : Window
 
    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)
       {
index 8ed11c2..fe65d2e 100644 (file)
@@ -6,7 +6,7 @@ class BreakpointsView : Window
    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 };
@@ -107,10 +107,10 @@ class BreakpointsView : Window
       }
    };
    
-   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()
    {
index 1c9cd43..648c7f7 100644 (file)
@@ -3,7 +3,7 @@ import "ide"
 class WatchesView : Window
 {
    visible = false;
-   text = "Watches";
+   text = $"Watches";
    borderStyle = sizable;
    background = { 224, 224, 224 };
    hasClose = true;
@@ -73,10 +73,10 @@ class WatchesView : Window
          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()
    {
index 1e1cb44..eda3638 100644 (file)
@@ -1079,7 +1079,7 @@ private:
       }
       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();
       }
    }
@@ -1188,12 +1188,12 @@ private:
                   {
                      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);
@@ -1205,7 +1205,7 @@ private:
                      compiling = false;
                      precompiling = false;
                      linking = true;
-                     ide.outputView.buildBox.Logf("Linking...\n");
+                     ide.outputView.buildBox.Logf($"Linking...\n");
                   }
                   else
                   {
@@ -1216,9 +1216,9 @@ private:
                   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)
@@ -1330,7 +1330,7 @@ private:
       }
       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)
@@ -1338,21 +1338,21 @@ private:
          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;
@@ -1475,7 +1475,7 @@ private:
             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;
@@ -1521,11 +1521,11 @@ private:
          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");
          }
       }
 
index a4c794f..7ece59b 100644 (file)
@@ -1098,7 +1098,7 @@ Workspace LoadWorkspace(char * filePath, char * fromProjectFile)
             }
             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;
             }
@@ -1130,8 +1130,8 @@ Workspace LoadWorkspace(char * filePath, char * fromProjectFile)
                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();