From 6e1eaf63e891c775000fd0ffb9029b751d204f1c Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 31 Dec 2024 14:15:12 -0800 Subject: [PATCH] Deprecating StackStringFormat --- BeefLibs/corlib/src/System.bf | 3 +++ IDE/src/IDEApp.bf | 34 +++++++++++++------------- IDE/src/ui/BinaryDataWidget.bf | 6 ++--- IDE/src/ui/DisassemblyPanel.bf | 4 +-- IDE/src/ui/GoToLineDialog.bf | 2 +- IDE/src/ui/ProfilePanel.bf | 12 ++++----- IDE/src/ui/ProjectPanel.bf | 20 +++++++-------- IDE/src/ui/PropertiesDialog.bf | 2 +- IDE/src/ui/QuickFind.bf | 2 +- IDE/src/ui/SourceEditWidgetContent.bf | 2 +- IDE/src/ui/SourceViewPanel.bf | 4 +-- IDE/src/ui/StatusBar.bf | 12 ++++----- IDE/src/ui/TargetedPropertiesDialog.bf | 10 ++++---- IDE/src/ui/WatchPanel.bf | 4 +-- IDE/src/ui/WorkspaceProperties.bf | 2 +- 15 files changed, 61 insertions(+), 58 deletions(-) diff --git a/BeefLibs/corlib/src/System.bf b/BeefLibs/corlib/src/System.bf index 6cd97b92..99fb41af 100644 --- a/BeefLibs/corlib/src/System.bf +++ b/BeefLibs/corlib/src/System.bf @@ -108,6 +108,7 @@ static str.AppendF(format, args); }*/ + [Warn("StackStringFormat has been deprecated and will be removed in the future. Consider switching to string interpolation or 'scope:: String()..AppendF'.")] public static mixin StackStringFormat(String format, var arg1) { var str = scope:: String(); @@ -115,6 +116,7 @@ static str } + [Warn("StackStringFormat has been deprecated and will be removed in the future. Consider switching to string interpolation or 'scope:: String()..AppendF'.")] public static mixin StackStringFormat(String format, var arg1, var arg2) { var str = scope:: String(); @@ -122,6 +124,7 @@ static str } + [Warn("StackStringFormat has been deprecated and will be removed in the future. Consider switching to string interpolation or 'scope:: String()..AppendF'.")] public static mixin StackStringFormat(String format, var arg1, var arg2, var arg3) { var str = scope:: String(); diff --git a/IDE/src/IDEApp.bf b/IDE/src/IDEApp.bf index c7950e74..be1879c9 100644 --- a/IDE/src/IDEApp.bf +++ b/IDE/src/IDEApp.bf @@ -1095,7 +1095,7 @@ namespace IDE } else { - Fail(StackStringFormat!("Failed to load minidump '{0}'", mCrashDumpPath)); + Fail(scope String()..AppendF("Failed to load minidump '{0}'", mCrashDumpPath)); DeleteAndNullify!(mCrashDumpPath); } } @@ -1229,7 +1229,7 @@ namespace IDE Dialog aDialog; if (changedList.Count == 1) { - aDialog = ThemeFactory.mDefault.CreateDialog("Save file?", StackStringFormat!("Save changes to '{0}' before closing?", changedList[0]), DarkTheme.sDarkTheme.mIconWarning); + aDialog = ThemeFactory.mDefault.CreateDialog("Save file?", scope String()..AppendF("Save changes to '{0}' before closing?", changedList[0]), DarkTheme.sDarkTheme.mIconWarning); } else { @@ -1531,7 +1531,7 @@ namespace IDE if (Utils.WriteTextFile(path, useText) case .Err) { if (showErrors) - Fail(StackStringFormat!("Failed to write file '{0}'", path)); + Fail(scope String()..AppendF("Failed to write file '{0}'", path)); return false; } } @@ -2312,7 +2312,7 @@ namespace IDE if (Directory.CreateDirectory(mWorkspace.mDir) case .Err) { - Fail(StackStringFormat!("Failed to create workspace directory '{0}'", mWorkspace.mDir)); + Fail(scope String()..AppendF("Failed to create workspace directory '{0}'", mWorkspace.mDir)); return false; } } @@ -2330,7 +2330,7 @@ namespace IDE if (!SafeWriteTextFile(workspaceFileName, tomlString)) { - Fail(StackStringFormat!("Failed to write workspace file '{0}'", workspaceFileName)); + Fail(scope String()..AppendF("Failed to write workspace file '{0}'", workspaceFileName)); return false; } } @@ -3356,7 +3356,7 @@ namespace IDE /*if (!project.Load(projectFilePath)) { - Fail(StackStringFormat!("Failed to load project {0}", projectFilePath)); + Fail(scope String()..AppendF("Failed to load project {0}", projectFilePath)); delete project; return .Err(.LoadFailed); } @@ -4050,7 +4050,7 @@ namespace IDE if (mMainWindow == null) { - Internal.FatalError(StackStringFormat!("FAILED: {0}", text)); + Internal.FatalError(scope String()..AppendF("FAILED: {0}", text)); } Beep(MessageBeepType.Error); @@ -7432,7 +7432,7 @@ namespace IDE Path.GetFileName(sourceViewPanel.mFilePath, fileName); else fileName.Append("untitled"); - Dialog aDialog = ThemeFactory.mDefault.CreateDialog("Save file?", StackStringFormat!("Save changes to '{0}' before closing?", fileName), DarkTheme.sDarkTheme.mIconWarning); + Dialog aDialog = ThemeFactory.mDefault.CreateDialog("Save file?", scope String()..AppendF("Save changes to '{0}' before closing?", fileName), DarkTheme.sDarkTheme.mIconWarning); aDialog.mDefaultButton = aDialog.AddButton("Save", new (evt) => { SaveFile(sourceViewPanel); CloseDocument(sourceViewPanel); }); aDialog.AddButton("Don't Save", new (evt) => CloseDocument(sourceViewPanel)); aDialog.mEscButton = aDialog.AddButton("Cancel"); @@ -8093,7 +8093,7 @@ namespace IDE DragDropFile(key); return; } - Fail(StackStringFormat!("Unhandled command line param: {0}", key)); + Fail(scope String()..AppendF("Unhandled command line param: {0}", key)); } public override bool HandleCommandLineParam(String key, String value) @@ -10161,7 +10161,7 @@ namespace IDE Workspace.Options workspaceOptions = GetCurWorkspaceOptions(); if (options == null) { - //Fail(StackStringFormat!("Failed to retrieve options for {0}", project.mProjectName)); + //Fail(scope String()..AppendF("Failed to retrieve options for {0}", project.mProjectName)); bfProject.SetDisabled(true); return false; } @@ -11423,7 +11423,7 @@ namespace IDE Project depProject = FindProject(dep.mProjectName); if (depProject == null) { - OutputLine(StackStringFormat!("Unable to find project '{0}', a dependency of project '{1}'", dep.mProjectName, project.mProjectName)); + OutputLine(scope String()..AppendF("Unable to find project '{0}', a dependency of project '{1}'", dep.mProjectName, project.mProjectName)); return false; } if (!GetDependentProjectList(depProject, orderedProjectList, useProjectStack)) @@ -12939,7 +12939,7 @@ namespace IDE { case .Ok: case .Err: - Fail(StackStringFormat!("Unable to locate process id {0}", mProcessAttachId)); + Fail(scope String()..AppendF("Unable to locate process id {0}", mProcessAttachId)); } if (debugProcess.IsAttached) { @@ -12975,7 +12975,7 @@ namespace IDE } else { - Fail(StackStringFormat!("Failed to load minidump '{0}'", mCrashDumpPath)); + Fail(scope String()..AppendF("Failed to load minidump '{0}'", mCrashDumpPath)); } } else if (mLaunchData != null) @@ -13971,9 +13971,9 @@ namespace IDE if (checkBreakpoint.mMemoryAddress == memoryAddress) breakpoint = checkBreakpoint; } - String infoString = StackStringFormat!("Memory breakpoint hit: '0x{0:X08}'", (int64)memoryAddress); + String infoString = scope String()..AppendF("Memory breakpoint hit: '0x{0:X08}'", (int64)memoryAddress); if (breakpoint != null) - infoString = StackStringFormat!("Memory breakpoint hit: '0x{0:X08}' ({1})", (int64)memoryAddress, breakpoint.mMemoryWatchExpression); + infoString = scope String()..AppendF("Memory breakpoint hit: '0x{0:X08}' ({1})", (int64)memoryAddress, breakpoint.mMemoryWatchExpression); OutputLine(infoString); if (!mRunningTestScript) { @@ -14169,11 +14169,11 @@ namespace IDE mDebugger.GetCurrentException(exceptionLine); var exceptionData = String.StackSplit!(exceptionLine, '\n'); - String exHeader = StackStringFormat!("Exception {0}", exceptionData[1]); + String exHeader = scope String()..AppendF("Exception {0}", exceptionData[1]); if (exceptionData.Count >= 3) exHeader = exceptionData[2]; - String exString = StackStringFormat!("{0} at {1}", exHeader, exceptionData[0]); + String exString = scope String()..AppendF("{0} at {1}", exHeader, exceptionData[0]); OutputLine(exString); if (!IsCrashDump) diff --git a/IDE/src/ui/BinaryDataWidget.bf b/IDE/src/ui/BinaryDataWidget.bf index fe372aba..ee2ded1b 100644 --- a/IDE/src/ui/BinaryDataWidget.bf +++ b/IDE/src/ui/BinaryDataWidget.bf @@ -693,7 +693,7 @@ namespace IDE.ui for (int32 c in scope int32[] ( 4, 8, 16, 32, 64 )) { - columnChoice = menuItem.AddItem(StackStringFormat!("{0} bytes", c)); + columnChoice = menuItem.AddItem(scope String()..AppendF("{0} bytes", c)); if ((mAutoResizeType == .Manual) && (c == (int32)mBytesPerDisplayLine)) columnChoice.mIconImage = DarkTheme.sDarkTheme.GetImage(DarkTheme.ImageIdx.Check); columnChoice.mOnMenuItemSelected.Add(new (evt) => @@ -884,8 +884,8 @@ namespace IDE.ui for (int i=0; i 0xF) ? GS!(4) : 0), GS!(3), FontAlign.Left); - g.DrawString(StackStringFormat!("{0:X1}", i & 0xF), strViewColumnStart + i*GS!(mStrViewDisplayStride), GS!(3), FontAlign.Left); + g.DrawString(scope String()..AppendF("{0:X1}", i), GS!(mColumnDisplayStart) + i*GS!(mColumnDisplayStride) + GS!(mColumnDisplayStride)*0.125f - ((i > 0xF) ? GS!(4) : 0), GS!(3), FontAlign.Left); + g.DrawString(scope String()..AppendF("{0:X1}", i & 0xF), strViewColumnStart + i*GS!(mStrViewDisplayStride), GS!(3), FontAlign.Left); } } } diff --git a/IDE/src/ui/DisassemblyPanel.bf b/IDE/src/ui/DisassemblyPanel.bf index 183b0255..154525ed 100644 --- a/IDE/src/ui/DisassemblyPanel.bf +++ b/IDE/src/ui/DisassemblyPanel.bf @@ -890,7 +890,7 @@ namespace IDE.ui { var lineData = mLineDatas[lineIdx]; if (lineData.mSourceFile != null) - g.DrawString(StackStringFormat!("{0}", lineData.mSourceLineNum + 1), GS!(8), GS!(2) + lineIdx * lineSpacing, FontAlign.Right, mEditWidget.mX - GS!(14)); + g.DrawString(scope String()..AppendF("{0}", lineData.mSourceLineNum + 1), GS!(8), GS!(2) + lineIdx * lineSpacing, FontAlign.Right, mEditWidget.mX - GS!(14)); } } @@ -1338,7 +1338,7 @@ namespace IDE.ui { if (mLineDatas[line].mAddrEnd != (int)0) { - String nextAddr = StackStringFormat!("0x{0:x}L", (int64)mLineDatas[line].mAddrEnd); + String nextAddr = scope String()..AppendF("0x{0:x}L", (int64)mLineDatas[line].mAddrEnd); nextAddr.Append(" +"); debugExpr.Replace("rip +", nextAddr); } diff --git a/IDE/src/ui/GoToLineDialog.bf b/IDE/src/ui/GoToLineDialog.bf index 4549cb05..20c94076 100644 --- a/IDE/src/ui/GoToLineDialog.bf +++ b/IDE/src/ui/GoToLineDialog.bf @@ -37,7 +37,7 @@ namespace IDE.ui mDefaultButton = AddButton("OK", new (evt) => GotoLineSubmit(true)); mEscButton = AddButton("Cancel", new (evt) => Cancel()); - mEditWidget = AddEdit(StackStringFormat!("{0}", line + 1)); + mEditWidget = AddEdit(scope String()..AppendF("{0}", line + 1)); mEditWidget.mOnContentChanged.Add(new (evt) => GotoLineSubmit(false)); } diff --git a/IDE/src/ui/ProfilePanel.bf b/IDE/src/ui/ProfilePanel.bf index 745de034..859b395e 100644 --- a/IDE/src/ui/ProfilePanel.bf +++ b/IDE/src/ui/ProfilePanel.bf @@ -690,18 +690,18 @@ namespace IDE.ui if ((mProfiler != null) && (mShowOverview != null)) { - g.DrawString(StackStringFormat!("Rate: {0} Hz", mShowOverview.mSamplesPerSecond), GS!(320), GS!(2)); + g.DrawString(scope String()..AppendF("Rate: {0} Hz", mShowOverview.mSamplesPerSecond), GS!(320), GS!(2)); int32 seconds = (mShowOverview.mRecordedTicks / 1000); - g.DrawString(StackStringFormat!("Length: {0}:{1:00}.{2}", seconds / 60, seconds % 60, (mShowOverview.mRecordedTicks % 1000)/100), GS!(320), GS!(22)); + g.DrawString(scope String()..AppendF("Length: {0}:{1:00}.{2}", seconds / 60, seconds % 60, (mShowOverview.mRecordedTicks % 1000)/100), GS!(320), GS!(22)); seconds = (mShowOverview.mEndedTicks / 1000); if (seconds > 60*60) - g.DrawString(StackStringFormat!("Age: {0}:{1:00}:{2:00}", seconds / 60 / 60, (seconds / 60) % 60, seconds % 60), GS!(420), GS!(22)); + g.DrawString(scope String()..AppendF("Age: {0}:{1:00}:{2:00}", seconds / 60 / 60, (seconds / 60) % 60, seconds % 60), GS!(420), GS!(22)); else - g.DrawString(StackStringFormat!("Age: {0}:{1:00}", seconds / 60, seconds % 60), GS!(420), GS!(22)); + g.DrawString(scope String()..AppendF("Age: {0}:{1:00}", seconds / 60, seconds % 60), GS!(420), GS!(22)); - g.DrawString(StackStringFormat!("Samples: {0}", mShowOverview.mTotalActualSamples), GS!(420), GS!(2)); - g.DrawString(StackStringFormat!("Missed Samples: {0}", mShowOverview.mTotalVirtualSamples - mShowOverview.mTotalActualSamples), GS!(550), GS!(2)); + g.DrawString(scope String()..AppendF("Samples: {0}", mShowOverview.mTotalActualSamples), GS!(420), GS!(2)); + g.DrawString(scope String()..AppendF("Missed Samples: {0}", mShowOverview.mTotalVirtualSamples - mShowOverview.mTotalActualSamples), GS!(550), GS!(2)); } if (mTickCreated != 0) diff --git a/IDE/src/ui/ProjectPanel.bf b/IDE/src/ui/ProjectPanel.bf index 43d04552..e3a96f43 100644 --- a/IDE/src/ui/ProjectPanel.bf +++ b/IDE/src/ui/ProjectPanel.bf @@ -1257,9 +1257,9 @@ namespace IDE.ui { String errorStr; if (alreadyHadFileList.Count == 1) - errorStr = StackStringFormat!("Project already contained file: {0}", alreadyHadFileList[0]); + errorStr = scope:: String()..AppendF("Project already contained file: {0}", alreadyHadFileList[0]); else - errorStr = StackStringFormat!("Project already contained {0} of the {1} files specified", alreadyHadFileList.Count, totalFileCount); + errorStr = scope:: String()..AppendF("Project already contained {0} of the {1} files specified", alreadyHadFileList.Count, totalFileCount); IDEApp.sApp.Fail(errorStr); } } @@ -1991,7 +1991,7 @@ namespace IDE.ui if (projectCount == 1) { - aDialog = ThemeFactory.mDefault.CreateDialog("Remove Project", StackStringFormat!("Remove project '{0}' from the workspace?", selectedProjectItem.mProject.mProjectName)); + aDialog = ThemeFactory.mDefault.CreateDialog("Remove Project", scope String()..AppendF("Remove project '{0}' from the workspace?", selectedProjectItem.mProject.mProjectName)); } else { @@ -2009,7 +2009,7 @@ namespace IDE.ui if (fileCount + folderCount == 1) { aDialog = ThemeFactory.mDefault.CreateDialog((fileCount > 0) ? "Delete File" : "Delete Folder", - StackStringFormat!("Choose Remove to remove '{0}' from '{1}'.\n\nChoose Delete to permanently delete '{0}'.", selectedProjectItem.mName, selectedProjectItem.mProject.mProjectName)); + scope String()..AppendF("Choose Remove to remove '{0}' from '{1}'.\n\nChoose Delete to permanently delete '{0}'.", selectedProjectItem.mName, selectedProjectItem.mProject.mProjectName)); } else { @@ -2034,12 +2034,12 @@ namespace IDE.ui if (projectsReferenced.Count == 1) { aDialog = ThemeFactory.mDefault.CreateDialog(title, - StackStringFormat!("Choose Remove to remove the selected {0} from '{1}'.\n\nChoose Delete to permanently delete the selected items.", typeDeleting, selectedProjectItem.mProject.mProjectName)); + scope String()..AppendF("Choose Remove to remove the selected {0} from '{1}'.\n\nChoose Delete to permanently delete the selected items.", typeDeleting, selectedProjectItem.mProject.mProjectName)); } else { aDialog = ThemeFactory.mDefault.CreateDialog(title, - StackStringFormat!("Choose Remove to removed the selected {0}.\n\nChoose Delete to permanently delete the selected items.", typeDeleting)); + scope String()..AppendF("Choose Remove to removed the selected {0}.\n\nChoose Delete to permanently delete the selected items.", typeDeleting)); } } @@ -2580,7 +2580,7 @@ namespace IDE.ui /*if ((IDEApp.IsBeefFile(prevPath) != IDEApp.IsBeefFile(newPath)) || (IDEApp.IsClangSourceFile(prevPath) != IDEApp.IsClangSourceFile(newPath))) { - IDEApp.sApp.Fail(StackStringFormat!("Invalid file extension change, cannot rename '{0}' to '{1}'", prevPath, newPath)); + IDEApp.sApp.Fail(scope String()..AppendF("Invalid file extension change, cannot rename '{0}' to '{1}'", prevPath, newPath)); return; }*/ @@ -2798,7 +2798,7 @@ namespace IDE.ui if (!File.Exists(filePath)) { - gApp.Fail(StackStringFormat!("Project file not found: {0}", filePath)); + gApp.Fail(scope String()..AppendF("Project file not found: {0}", filePath)); return null; } @@ -2823,7 +2823,7 @@ namespace IDE.ui Path.GetFileNameWithoutExtension(filePath, projName); if (gApp.mWorkspace.FindProject(projName) != null) { - gApp.Fail(StackStringFormat!("A project named '{0}' name already exists in the workspace.", projName)); + gApp.Fail(scope String()..AppendF("A project named '{0}' name already exists in the workspace.", projName)); return null; } @@ -2841,7 +2841,7 @@ namespace IDE.ui InitProject(proj, workspaceFolder); if (failed) { - gApp.Fail(StackStringFormat!("Failed to load project: {0}", filePath)); + gApp.Fail(scope String()..AppendF("Failed to load project: {0}", filePath)); return proj; } diff --git a/IDE/src/ui/PropertiesDialog.bf b/IDE/src/ui/PropertiesDialog.bf index 5f9d7638..476ed8d3 100644 --- a/IDE/src/ui/PropertiesDialog.bf +++ b/IDE/src/ui/PropertiesDialog.bf @@ -1536,7 +1536,7 @@ namespace IDE.ui } if (i < strVals.Count) { - childItem.Label = StackStringFormat!("#{0}", i + 1); + childItem.Label = scope String()..AppendF("#{0}", i + 1); childSubItem.mTextColor = DarkTheme.COLOR_TEXT; } else diff --git a/IDE/src/ui/QuickFind.bf b/IDE/src/ui/QuickFind.bf index dbba189b..40046394 100644 --- a/IDE/src/ui/QuickFind.bf +++ b/IDE/src/ui/QuickFind.bf @@ -182,7 +182,7 @@ namespace IDE.ui mEditWidget.SetFocus(); replaceCount = Replace(true); if (replaceCount > 0) - IDEApp.sApp.MessageDialog("Replace Results", StackStringFormat!("{0} instance(s) replaced.", replaceCount)); + IDEApp.sApp.MessageDialog("Replace Results", scope String()..AppendF("{0} instance(s) replaced.", replaceCount)); if (replaceCount != -1) { diff --git a/IDE/src/ui/SourceEditWidgetContent.bf b/IDE/src/ui/SourceEditWidgetContent.bf index abdd83ce..78b6361c 100644 --- a/IDE/src/ui/SourceEditWidgetContent.bf +++ b/IDE/src/ui/SourceEditWidgetContent.bf @@ -5077,7 +5077,7 @@ namespace IDE.ui int callInstLoc = (int)int64.Parse(callInstLocStr, System.Globalization.NumberStyles.HexNumber); if (callData.Count == 1) { - callMenuItem = stepIntoSpecificMenu.AddItem(StackStringFormat!("Indirect call at 0x{0:X}", callInstLoc)); + callMenuItem = stepIntoSpecificMenu.AddItem(scope String()..AppendF("Indirect call at 0x{0:X}", callInstLoc)); } else { diff --git a/IDE/src/ui/SourceViewPanel.bf b/IDE/src/ui/SourceViewPanel.bf index bf6cc7ab..7b60e781 100644 --- a/IDE/src/ui/SourceViewPanel.bf +++ b/IDE/src/ui/SourceViewPanel.bf @@ -3809,7 +3809,7 @@ namespace IDE.ui var text = scope String(); if (gApp.LoadTextFile(mFilePath, text) case .Err) { - gApp.Fail(StackStringFormat!("Failed to open file '{0}'", mFilePath)); + gApp.Fail(scope String()..AppendF("Failed to open file '{0}'", mFilePath)); return; } @@ -5179,7 +5179,7 @@ namespace IDE.ui public void GotoLine() { - GoToLineDialog aDialog = new GoToLineDialog("Go To Line", StackStringFormat!("Line Number ({0}-{1})", 1, mEditWidget.Content.GetLineCount())); + GoToLineDialog aDialog = new GoToLineDialog("Go To Line", scope String()..AppendF("Line Number ({0}-{1})", 1, mEditWidget.Content.GetLineCount())); aDialog.Init(this); aDialog.PopupWindow(mWidgetWindow); } diff --git a/IDE/src/ui/StatusBar.bf b/IDE/src/ui/StatusBar.bf index f3db2678..34fb7b3e 100644 --- a/IDE/src/ui/StatusBar.bf +++ b/IDE/src/ui/StatusBar.bf @@ -355,22 +355,22 @@ namespace IDE.ui lineCount++; } - String str = StackStringFormat!("Sel {0} | {1}", sel.MaxPos - sel.MinPos, lineCount); + String str = scope String()..AppendF("Sel {0} | {1}", sel.MaxPos - sel.MinPos, lineCount); float curX = mWidth - GS!(240); g.DrawString(str, curX, 0); leftX = curX + g.mFont.GetWidth(str); } else if (showIndex) - g.DrawString(StackStringFormat!("Idx {0}", activeEditWidget.Content.CursorTextPos), mWidth - GS!(240), 0); + g.DrawString(scope String()..AppendF("Idx {0}", activeEditWidget.Content.CursorTextPos), mWidth - GS!(240), 0); if (leftX >= mWidth - GS!(142)) { - g.DrawString(StackStringFormat!("Ln {0}:{1}", lineAndColumn.mLine + 1, lineAndColumn.mColumn + 1), mWidth - GS!(32), 0, .Right); + g.DrawString(scope String()..AppendF("Ln {0}:{1}", lineAndColumn.mLine + 1, lineAndColumn.mColumn + 1), mWidth - GS!(32), 0, .Right); } else { - g.DrawString(StackStringFormat!("Ln {0}", lineAndColumn.mLine + 1), Math.Max(leftX + GS!(8), mWidth - GS!(150)), 0); - g.DrawString(StackStringFormat!("Col {0}", lineAndColumn.mColumn + 1), mWidth - GS!(78), 0); + g.DrawString(scope String()..AppendF("Ln {0}", lineAndColumn.mLine + 1), Math.Max(leftX + GS!(8), mWidth - GS!(150)), 0); + g.DrawString(scope String()..AppendF("Col {0}", lineAndColumn.mColumn + 1), mWidth - GS!(78), 0); } } } @@ -532,7 +532,7 @@ namespace IDE.ui if (gApp.mSettings.mEnableDevMode) { using (g.PushColor(DarkTheme.COLOR_TEXT)) - g.DrawString(StackStringFormat!("FPS: {0}", gApp.mLastFPS), GS!(32), 0); + g.DrawString(scope String()..AppendF("FPS: {0}", gApp.mLastFPS), GS!(32), 0); String resolveStr = scope String(); let bfResolveCompiler = gApp.mBfResolveCompiler; diff --git a/IDE/src/ui/TargetedPropertiesDialog.bf b/IDE/src/ui/TargetedPropertiesDialog.bf index 9dd34944..703a3ad5 100644 --- a/IDE/src/ui/TargetedPropertiesDialog.bf +++ b/IDE/src/ui/TargetedPropertiesDialog.bf @@ -50,7 +50,7 @@ namespace IDE.ui if (!mTargetedProperties.mActiveConfigName.IsEmpty) { - String dispStr = StackStringFormat!("Active({0})", mTargetedProperties.mActiveConfigName); + String dispStr = scope String()..AppendF("Active({0})", mTargetedProperties.mActiveConfigName); item = menu.AddItem(dispStr); item.mOnMenuItemSelected.Add(new (evt) => { SelectConfig(mTargetedProperties.mActiveConfigName); }); } @@ -549,7 +549,7 @@ namespace IDE.ui if (!mActiveConfigName.IsEmpty) { - String dispStr = StackStringFormat!("Active({0})", mActiveConfigName); + String dispStr = scope String()..AppendF("Active({0})", mActiveConfigName); item = menu.AddItem(dispStr); item.mOnMenuItemSelected.Add(new (evt) => { SelectConfig(mActiveConfigName); }); } @@ -613,7 +613,7 @@ namespace IDE.ui { if (!platformName.IsEmpty) { - String dispStr = (IDEApp.sApp.mPlatformName == platformName) ? StackStringFormat!("Active({0})", platformName) : platformName; + String dispStr = (IDEApp.sApp.mPlatformName == platformName) ? scope String()..AppendF("Active({0})", platformName) : platformName; item = menu.AddItem(dispStr); item.mOnMenuItemSelected.Add(new (evt) => { SelectPlatform(platformName); }); } @@ -692,7 +692,7 @@ namespace IDE.ui { if (mConfigNames.Count == 1) { - String dispStr = ((mConfigNames.Count == 1) && (mActiveConfigName == mConfigNames[0])) ? StackStringFormat!("Active({0})", mConfigNames[0]) : mConfigNames[0]; + String dispStr = ((mConfigNames.Count == 1) && (mActiveConfigName == mConfigNames[0])) ? scope String()..AppendF("Active({0})", mConfigNames[0]) : mConfigNames[0]; mConfigComboBox.Label = dispStr; } else @@ -716,7 +716,7 @@ namespace IDE.ui { if (mPlatformNames.Count == 1) { - String dispStr = ((mPlatformNames.Count == 1) && (mActivePlatformName == mPlatformNames[0])) ? StackStringFormat!("Active({0})", mPlatformNames[0]) : mPlatformNames[0]; + String dispStr = ((mPlatformNames.Count == 1) && (mActivePlatformName == mPlatformNames[0])) ? scope String()..AppendF("Active({0})", mPlatformNames[0]) : mPlatformNames[0]; mPlatformComboBox.Label = dispStr; } else diff --git a/IDE/src/ui/WatchPanel.bf b/IDE/src/ui/WatchPanel.bf index 00601b6d..d1c6fc2b 100644 --- a/IDE/src/ui/WatchPanel.bf +++ b/IDE/src/ui/WatchPanel.bf @@ -1664,8 +1664,8 @@ namespace IDE.ui if (mShowStatusBar) { g.DrawString(textPosString, 16, textY, .Left, mWidth - GS!(140), .Ellipsis); - g.DrawString(StackStringFormat!("Ln {0}", line + 1), mWidth - GS!(130), textY); - g.DrawString(StackStringFormat!("Col {0}", col + 1), mWidth - GS!(70), textY); + g.DrawString(scope String()..AppendF("Ln {0}", line + 1), mWidth - GS!(130), textY); + g.DrawString(scope String()..AppendF("Col {0}", col + 1), mWidth - GS!(70), textY); } //using (g.PushColor(0xD0FFFFFF)) diff --git a/IDE/src/ui/WorkspaceProperties.bf b/IDE/src/ui/WorkspaceProperties.bf index bc117837..949e24ce 100644 --- a/IDE/src/ui/WorkspaceProperties.bf +++ b/IDE/src/ui/WorkspaceProperties.bf @@ -596,7 +596,7 @@ namespace IDE.ui curWorkspaceOptions.mConfigSelections.TryGetValue(project, out setConfigSelection); if (setConfigSelection == null) { - IDEApp.sApp.Fail(StackStringFormat!("Project '{0}' not in workspace", project.mProjectName)); + IDEApp.sApp.Fail(scope String()..AppendF("Project '{0}' not in workspace", project.mProjectName)); return; } setConfigSelection.mEnabled = newConfigSelection.mEnabled;