├── .gitattributes ├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .gitmodules ├── LICENSE ├── README.md ├── SSMSThemeEditor.sln ├── SSMSThemeEditor ├── App.config ├── ChangeItem.cs ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── GitPush.bat ├── LimitedStack.cs ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Resources │ ├── Blank.png │ ├── SQLSample.html │ └── VSSettingsTemplate.xml ├── SSMSPkgDefThemes │ ├── DarkExtraContrast.pkgdef │ ├── DarkTheme.pkgdef │ ├── DarkWithLightEditor.pkgdef │ ├── MaterialDark.pkgdef │ ├── SolarizedDark.pkgdef │ └── SublimeMaterialDark.pkgdef ├── SSMSThemeEditor.csproj ├── Sample Themes │ ├── Gruvbox-Sheldonified.vssettings │ ├── Obsidian.DarkScheme.vssettings │ ├── Solarized.DarkScheme.vssettings │ └── VisualStudio.DarkScheme.vssettings └── images │ ├── example-ssms.png │ ├── options-themes.png │ └── screenshot.png ├── build.ps1 ├── install.bat └── install.ps1 /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | 5 | --- 6 | 7 | **Describe the bug** 8 | A clear and concise description of what the bug is. 9 | 10 | **To Reproduce** 11 | Steps to reproduce the behavior: 12 | 1. Go to '...' 13 | 2. Click on '....' 14 | 3. Scroll down to '....' 15 | 4. See error 16 | 17 | **Expected behavior** 18 | A clear and concise description of what you expected to happen. 19 | 20 | **Screenshots** 21 | If applicable, add screenshots to help explain your problem. 22 | 23 | **Desktop (please complete the following information):** 24 | - OS: [e.g. iOS] 25 | - Browser [e.g. chrome, safari] 26 | - Version [e.g. 22] 27 | 28 | **Smartphone (please complete the following information):** 29 | - Device: [e.g. iPhone6] 30 | - OS: [e.g. iOS8.1] 31 | - Browser [e.g. stock browser, safari] 32 | - Version [e.g. 22] 33 | 34 | **Additional context** 35 | Add any other context about the problem here. 36 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | 5 | --- 6 | 7 | **Is your feature request related to a problem? Please describe.** 8 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 9 | 10 | **Describe the solution you'd like** 11 | A clear and concise description of what you want to happen. 12 | 13 | **Describe alternatives you've considered** 14 | A clear and concise description of any alternative solutions or features you've considered. 15 | 16 | **Additional context** 17 | Add any other context or screenshots about the feature request here. 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015/2017 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # Visual Studio 2017 auto generated files 33 | Generated\ Files/ 34 | 35 | # MSTest test Results 36 | [Tt]est[Rr]esult*/ 37 | [Bb]uild[Ll]og.* 38 | 39 | # NUNIT 40 | *.VisualState.xml 41 | TestResult.xml 42 | 43 | # Build Results of an ATL Project 44 | [Dd]ebugPS/ 45 | [Rr]eleasePS/ 46 | dlldata.c 47 | 48 | # Benchmark Results 49 | BenchmarkDotNet.Artifacts/ 50 | 51 | # .NET Core 52 | project.lock.json 53 | project.fragment.lock.json 54 | artifacts/ 55 | 56 | # StyleCop 57 | StyleCopReport.xml 58 | 59 | # Files built by Visual Studio 60 | *_i.c 61 | *_p.c 62 | *_i.h 63 | *.ilk 64 | *.meta 65 | *.obj 66 | *.iobj 67 | *.pch 68 | *.pdb 69 | *.ipdb 70 | *.pgc 71 | *.pgd 72 | *.rsp 73 | *.sbr 74 | *.tlb 75 | *.tli 76 | *.tlh 77 | *.tmp 78 | *.tmp_proj 79 | *.log 80 | *.vspscc 81 | *.vssscc 82 | .builds 83 | *.pidb 84 | *.svclog 85 | *.scc 86 | 87 | # Chutzpah Test files 88 | _Chutzpah* 89 | 90 | # Visual C++ cache files 91 | ipch/ 92 | *.aps 93 | *.ncb 94 | *.opendb 95 | *.opensdf 96 | *.sdf 97 | *.cachefile 98 | *.VC.db 99 | *.VC.VC.opendb 100 | 101 | # Visual Studio profiler 102 | *.psess 103 | *.vsp 104 | *.vspx 105 | *.sap 106 | 107 | # Visual Studio Trace Files 108 | *.e2e 109 | 110 | # TFS 2012 Local Workspace 111 | $tf/ 112 | 113 | # Guidance Automation Toolkit 114 | *.gpState 115 | 116 | # ReSharper is a .NET coding add-in 117 | _ReSharper*/ 118 | *.[Rr]e[Ss]harper 119 | *.DotSettings.user 120 | 121 | # JustCode is a .NET coding add-in 122 | .JustCode 123 | 124 | # TeamCity is a build add-in 125 | _TeamCity* 126 | 127 | # DotCover is a Code Coverage Tool 128 | *.dotCover 129 | 130 | # AxoCover is a Code Coverage Tool 131 | .axoCover/* 132 | !.axoCover/settings.json 133 | 134 | # Visual Studio code coverage results 135 | *.coverage 136 | *.coveragexml 137 | 138 | # NCrunch 139 | _NCrunch_* 140 | .*crunch*.local.xml 141 | nCrunchTemp_* 142 | 143 | # MightyMoose 144 | *.mm.* 145 | AutoTest.Net/ 146 | 147 | # Web workbench (sass) 148 | .sass-cache/ 149 | 150 | # Installshield output folder 151 | [Ee]xpress/ 152 | 153 | # DocProject is a documentation generator add-in 154 | DocProject/buildhelp/ 155 | DocProject/Help/*.HxT 156 | DocProject/Help/*.HxC 157 | DocProject/Help/*.hhc 158 | DocProject/Help/*.hhk 159 | DocProject/Help/*.hhp 160 | DocProject/Help/Html2 161 | DocProject/Help/html 162 | 163 | # Click-Once directory 164 | publish/ 165 | 166 | # Publish Web Output 167 | *.[Pp]ublish.xml 168 | *.azurePubxml 169 | # Note: Comment the next line if you want to checkin your web deploy settings, 170 | # but database connection strings (with potential passwords) will be unencrypted 171 | *.pubxml 172 | *.publishproj 173 | 174 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 175 | # checkin your Azure Web App publish settings, but sensitive information contained 176 | # in these scripts will be unencrypted 177 | PublishScripts/ 178 | 179 | # NuGet Packages 180 | *.nupkg 181 | # The packages folder can be ignored because of Package Restore 182 | **/[Pp]ackages/* 183 | # except build/, which is used as an MSBuild target. 184 | !**/[Pp]ackages/build/ 185 | # Uncomment if necessary however generally it will be regenerated when needed 186 | #!**/[Pp]ackages/repositories.config 187 | # NuGet v3's project.json files produces more ignorable files 188 | *.nuget.props 189 | *.nuget.targets 190 | 191 | # Microsoft Azure Build Output 192 | csx/ 193 | *.build.csdef 194 | 195 | # Microsoft Azure Emulator 196 | ecf/ 197 | rcf/ 198 | 199 | # Windows Store app package directories and files 200 | AppPackages/ 201 | BundleArtifacts/ 202 | Package.StoreAssociation.xml 203 | _pkginfo.txt 204 | *.appx 205 | 206 | # Visual Studio cache files 207 | # files ending in .cache can be ignored 208 | *.[Cc]ache 209 | # but keep track of directories ending in .cache 210 | !*.[Cc]ache/ 211 | 212 | # Others 213 | ClientBin/ 214 | ~$* 215 | *~ 216 | *.dbmdl 217 | *.dbproj.schemaview 218 | *.jfm 219 | *.pfx 220 | *.publishsettings 221 | orleans.codegen.cs 222 | 223 | # Including strong name files can present a security risk 224 | # (https://github.com/github/gitignore/pull/2483#issue-259490424) 225 | #*.snk 226 | 227 | # Since there are multiple workflows, uncomment next line to ignore bower_components 228 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 229 | #bower_components/ 230 | 231 | # RIA/Silverlight projects 232 | Generated_Code/ 233 | 234 | # Backup & report files from converting an old project file 235 | # to a newer Visual Studio version. Backup files are not needed, 236 | # because we have git ;-) 237 | _UpgradeReport_Files/ 238 | Backup*/ 239 | UpgradeLog*.XML 240 | UpgradeLog*.htm 241 | ServiceFabricBackup/ 242 | *.rptproj.bak 243 | 244 | # SQL Server files 245 | *.mdf 246 | *.ldf 247 | *.ndf 248 | 249 | # Business Intelligence projects 250 | *.rdl.data 251 | *.bim.layout 252 | *.bim_*.settings 253 | *.rptproj.rsuser 254 | 255 | # Microsoft Fakes 256 | FakesAssemblies/ 257 | 258 | # GhostDoc plugin setting file 259 | *.GhostDoc.xml 260 | 261 | # Node.js Tools for Visual Studio 262 | .ntvs_analysis.dat 263 | node_modules/ 264 | 265 | # Visual Studio 6 build log 266 | *.plg 267 | 268 | # Visual Studio 6 workspace options file 269 | *.opt 270 | 271 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 272 | *.vbw 273 | 274 | # Visual Studio LightSwitch build output 275 | **/*.HTMLClient/GeneratedArtifacts 276 | **/*.DesktopClient/GeneratedArtifacts 277 | **/*.DesktopClient/ModelManifest.xml 278 | **/*.Server/GeneratedArtifacts 279 | **/*.Server/ModelManifest.xml 280 | _Pvt_Extensions 281 | 282 | # Paket dependency manager 283 | .paket/paket.exe 284 | paket-files/ 285 | 286 | # FAKE - F# Make 287 | .fake/ 288 | 289 | # JetBrains Rider 290 | .idea/ 291 | *.sln.iml 292 | 293 | # CodeRush 294 | .cr/ 295 | 296 | # Python Tools for Visual Studio (PTVS) 297 | __pycache__/ 298 | *.pyc 299 | 300 | # Cake - Uncomment if you are using it 301 | # tools/** 302 | # !tools/packages.config 303 | 304 | # Tabs Studio 305 | *.tss 306 | 307 | # Telerik's JustMock configuration file 308 | *.jmconfig 309 | 310 | # BizTalk build output 311 | *.btp.cs 312 | *.btm.cs 313 | *.odx.cs 314 | *.xsd.cs 315 | 316 | # OpenCover UI analysis results 317 | OpenCover/ 318 | 319 | # Azure Stream Analytics local run output 320 | ASALocalRun/ 321 | 322 | # MSBuild Binary and Structured Log 323 | *.binlog 324 | 325 | # NVidia Nsight GPU debugger configuration file 326 | *.nvuser 327 | 328 | # MFractors (Xamarin productivity tool) working folder 329 | .mfractor/ -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "VS-ColorThemes"] 2 | url = https://github.com/Microsoft/VS-ColorThemes 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Tim Cartwright 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SSMS Theme Editor 2 | 3 | ## Description: 4 | The SSMS Theme Editor is a simple and clean theme editor for SSMS (SQL Server Management Studio). It allows you to load, edit and save theme files in vssettings format. A preview is provided that displays instant feedback as to how the changes will be displayed in SSMS. The settings are trimmed down to what is actually important for SSMS and broken into three categories. 5 | 6 | Three default themes are provided: 7 | - Obsidian.DarkScheme.vssettings 8 | - Solarized.DarkScheme.vssettings 9 | - VisualStudio.DarkScheme.vssettings: based off the default Visual Studio dark theme 10 | 11 | More styles can be downloaded from https://studiostyl.es/ 12 | 13 | ### Screenshot: 14 | 15 | ![Example Screenshot](https://raw.githubusercontent.com/tcartwright/SSMSThemeEditor/master/SSMSThemeEditor/images/screenshot.png) 16 | 17 | ## How to Use: 18 | 19 | - New: Starts a new theme, completely blank. 20 | - Load: Loads an existing theme that can be modified as desired. 21 | - Save: Saves all changes to a vssettings file. All colors that have not been changed and are still blank will not write to the resulting file. 22 | 23 | Blank colors will show as an X to signify they have not been set for that setting. You can right click an individual color to clear it out and set it back to transparent, or right click a tab to clear out all the colors for that tab. 24 | 25 | Each setting has a foreground, or a background color button, and in some cases both. If the foreground or background buttons are not available that is because those settings should not have that value. As you change the colors the preview will be kept in synch with the changes you make. 26 | 27 | You can press CTRL-Z to undo changes, or CTRL-Y to redo changes. The application will store up to 50 changes. 28 | 29 | Once you are done making any changes to your theme you can then save the theme file and import it into SSMS. 30 | 31 | ## Downloads: 32 | 33 | [Latest Release](https://github.com/tcartwright/SSMSThemeEditor/releases/latest) 34 | 35 | ## VSColorThemes 36 | VSColorThemes is a custom exension from Microsoft that was designed to add custom themes for Visual Studio. As SSMS is built on top of the Visual Studio shell they can also be incorporated with the SSMS editor. You can then use the SSMSThemesEditor to fine tune the text font colors for the themes. 37 | [How Do I install Custom Color Themes for SSMS?](https://github.com/tcartwright/SSMSThemeEditor/wiki/How-Do-I-install-Custom-Color-Themes-for-SSMS%3F) 38 | 39 | -------------------------------------------------------------------------------- /SSMSThemeEditor.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27703.2035 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SSMSThemeEditor", "SSMSThemeEditor\SSMSThemeEditor.csproj", "{8C7C7BB1-ABD5-4119-BE57-080BC7207754}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B24CB999-7159-45A8-9BA8-82E1BD35A6D0}" 9 | ProjectSection(SolutionItems) = preProject 10 | .gitattributes = .gitattributes 11 | .gitignore = .gitignore 12 | .gitmodules = .gitmodules 13 | build.ps1 = build.ps1 14 | install.bat = install.bat 15 | install.ps1 = install.ps1 16 | README.md = README.md 17 | EndProjectSection 18 | EndProject 19 | Global 20 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 21 | Debug|Any CPU = Debug|Any CPU 22 | Release|Any CPU = Release|Any CPU 23 | EndGlobalSection 24 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 25 | {8C7C7BB1-ABD5-4119-BE57-080BC7207754}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 26 | {8C7C7BB1-ABD5-4119-BE57-080BC7207754}.Debug|Any CPU.Build.0 = Debug|Any CPU 27 | {8C7C7BB1-ABD5-4119-BE57-080BC7207754}.Release|Any CPU.ActiveCfg = Release|Any CPU 28 | {8C7C7BB1-ABD5-4119-BE57-080BC7207754}.Release|Any CPU.Build.0 = Release|Any CPU 29 | EndGlobalSection 30 | GlobalSection(SolutionProperties) = preSolution 31 | HideSolutionNode = FALSE 32 | EndGlobalSection 33 | GlobalSection(ExtensibilityGlobals) = postSolution 34 | SolutionGuid = {6F0EF254-6A06-4C5C-A9C7-E528939C7137} 35 | EndGlobalSection 36 | EndGlobal 37 | -------------------------------------------------------------------------------- /SSMSThemeEditor/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /SSMSThemeEditor/ChangeItem.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Drawing; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace SSMSThemeEditor 9 | { 10 | class ChangeItem 11 | { 12 | public IntPtr LabelPtr { get; set; } 13 | public string Style { get; set; } 14 | public Color OldLabelColor { get; set; } 15 | public Color NewLabelColor { get; set; } 16 | 17 | public override string ToString() 18 | { 19 | return $"{Style} -> {OldLabelColor.ToString()} TO {NewLabelColor.ToString()}"; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace SSMSThemeEditor 2 | { 3 | partial class frmMain 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.components = new System.ComponentModel.Container(); 32 | this.colorDialog1 = new System.Windows.Forms.ColorDialog(); 33 | this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); 34 | this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); 35 | this.tabControl1 = new System.Windows.Forms.TabControl(); 36 | this.tabPageGeneral = new System.Windows.Forms.TabPage(); 37 | this.cmsClearColors = new System.Windows.Forms.ContextMenuStrip(this.components); 38 | this.tsmClearColors = new System.Windows.Forms.ToolStripMenuItem(); 39 | this.tlpGeneral = new System.Windows.Forms.TableLayoutPanel(); 40 | this.button6 = new System.Windows.Forms.Button(); 41 | this.label60 = new System.Windows.Forms.Label(); 42 | this.label59 = new System.Windows.Forms.Label(); 43 | this.button4 = new System.Windows.Forms.Button(); 44 | this.label58 = new System.Windows.Forms.Label(); 45 | this.label29 = new System.Windows.Forms.Label(); 46 | this.label30 = new System.Windows.Forms.Label(); 47 | this.button19 = new System.Windows.Forms.Button(); 48 | this.lblSelectedTextBG = new System.Windows.Forms.Label(); 49 | this.label51 = new System.Windows.Forms.Label(); 50 | this.label48 = new System.Windows.Forms.Label(); 51 | this.label43 = new System.Windows.Forms.Label(); 52 | this.label40 = new System.Windows.Forms.Label(); 53 | this.label37 = new System.Windows.Forms.Label(); 54 | this.label34 = new System.Windows.Forms.Label(); 55 | this.label31 = new System.Windows.Forms.Label(); 56 | this.lblPlainTextBG = new System.Windows.Forms.Label(); 57 | this.button16 = new System.Windows.Forms.Button(); 58 | this.label8 = new System.Windows.Forms.Label(); 59 | this.button14 = new System.Windows.Forms.Button(); 60 | this.label7 = new System.Windows.Forms.Label(); 61 | this.label1 = new System.Windows.Forms.Label(); 62 | this.label2 = new System.Windows.Forms.Label(); 63 | this.label3 = new System.Windows.Forms.Label(); 64 | this.label4 = new System.Windows.Forms.Label(); 65 | this.label5 = new System.Windows.Forms.Label(); 66 | this.button1 = new System.Windows.Forms.Button(); 67 | this.button2 = new System.Windows.Forms.Button(); 68 | this.button3 = new System.Windows.Forms.Button(); 69 | this.button5 = new System.Windows.Forms.Button(); 70 | this.button7 = new System.Windows.Forms.Button(); 71 | this.button9 = new System.Windows.Forms.Button(); 72 | this.button11 = new System.Windows.Forms.Button(); 73 | this.label6 = new System.Windows.Forms.Label(); 74 | this.lblPlainTextFG = new System.Windows.Forms.Label(); 75 | this.tabPageSQL = new System.Windows.Forms.TabPage(); 76 | this.tlpSQL = new System.Windows.Forms.TableLayoutPanel(); 77 | this.label32 = new System.Windows.Forms.Label(); 78 | this.label11 = new System.Windows.Forms.Label(); 79 | this.label12 = new System.Windows.Forms.Label(); 80 | this.label13 = new System.Windows.Forms.Label(); 81 | this.label14 = new System.Windows.Forms.Label(); 82 | this.label15 = new System.Windows.Forms.Label(); 83 | this.button8 = new System.Windows.Forms.Button(); 84 | this.button12 = new System.Windows.Forms.Button(); 85 | this.button13 = new System.Windows.Forms.Button(); 86 | this.button15 = new System.Windows.Forms.Button(); 87 | this.button17 = new System.Windows.Forms.Button(); 88 | this.label33 = new System.Windows.Forms.Label(); 89 | this.label35 = new System.Windows.Forms.Label(); 90 | this.label36 = new System.Windows.Forms.Label(); 91 | this.label38 = new System.Windows.Forms.Label(); 92 | this.tabPageXML = new System.Windows.Forms.TabPage(); 93 | this.tlpXML = new System.Windows.Forms.TableLayoutPanel(); 94 | this.label55 = new System.Windows.Forms.Label(); 95 | this.label52 = new System.Windows.Forms.Label(); 96 | this.label47 = new System.Windows.Forms.Label(); 97 | this.label44 = new System.Windows.Forms.Label(); 98 | this.label39 = new System.Windows.Forms.Label(); 99 | this.button45 = new System.Windows.Forms.Button(); 100 | this.button44 = new System.Windows.Forms.Button(); 101 | this.label28 = new System.Windows.Forms.Label(); 102 | this.button37 = new System.Windows.Forms.Button(); 103 | this.label27 = new System.Windows.Forms.Label(); 104 | this.button35 = new System.Windows.Forms.Button(); 105 | this.label26 = new System.Windows.Forms.Label(); 106 | this.button33 = new System.Windows.Forms.Button(); 107 | this.label25 = new System.Windows.Forms.Label(); 108 | this.button31 = new System.Windows.Forms.Button(); 109 | this.label24 = new System.Windows.Forms.Label(); 110 | this.button29 = new System.Windows.Forms.Button(); 111 | this.label23 = new System.Windows.Forms.Label(); 112 | this.button27 = new System.Windows.Forms.Button(); 113 | this.button25 = new System.Windows.Forms.Button(); 114 | this.label22 = new System.Windows.Forms.Label(); 115 | this.label9 = new System.Windows.Forms.Label(); 116 | this.label10 = new System.Windows.Forms.Label(); 117 | this.label16 = new System.Windows.Forms.Label(); 118 | this.label17 = new System.Windows.Forms.Label(); 119 | this.label18 = new System.Windows.Forms.Label(); 120 | this.label19 = new System.Windows.Forms.Label(); 121 | this.label20 = new System.Windows.Forms.Label(); 122 | this.button18 = new System.Windows.Forms.Button(); 123 | this.button20 = new System.Windows.Forms.Button(); 124 | this.button21 = new System.Windows.Forms.Button(); 125 | this.button22 = new System.Windows.Forms.Button(); 126 | this.button23 = new System.Windows.Forms.Button(); 127 | this.button24 = new System.Windows.Forms.Button(); 128 | this.label21 = new System.Windows.Forms.Label(); 129 | this.label41 = new System.Windows.Forms.Label(); 130 | this.label42 = new System.Windows.Forms.Label(); 131 | this.label45 = new System.Windows.Forms.Label(); 132 | this.label46 = new System.Windows.Forms.Label(); 133 | this.label49 = new System.Windows.Forms.Label(); 134 | this.label50 = new System.Windows.Forms.Label(); 135 | this.label53 = new System.Windows.Forms.Label(); 136 | this.label54 = new System.Windows.Forms.Label(); 137 | this.label56 = new System.Windows.Forms.Label(); 138 | this.label57 = new System.Windows.Forms.Label(); 139 | this.tableLayoutPanel6 = new System.Windows.Forms.TableLayoutPanel(); 140 | this.btnNew = new System.Windows.Forms.Button(); 141 | this.btnSave = new System.Windows.Forms.Button(); 142 | this.btnLoad = new System.Windows.Forms.Button(); 143 | this.tableLayoutPanel4 = new System.Windows.Forms.TableLayoutPanel(); 144 | this.cboFont = new System.Windows.Forms.ComboBox(); 145 | this.cboFontSize = new System.Windows.Forms.ComboBox(); 146 | this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); 147 | this.webBrowser1 = new System.Windows.Forms.WebBrowser(); 148 | this.txtChanges = new System.Windows.Forms.TextBox(); 149 | this.cmsClearColor = new System.Windows.Forms.ContextMenuStrip(this.components); 150 | this.tsmClearColor = new System.Windows.Forms.ToolStripMenuItem(); 151 | this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); 152 | this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); 153 | this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); 154 | this.tableLayoutPanel1.SuspendLayout(); 155 | this.tableLayoutPanel2.SuspendLayout(); 156 | this.tabControl1.SuspendLayout(); 157 | this.tabPageGeneral.SuspendLayout(); 158 | this.cmsClearColors.SuspendLayout(); 159 | this.tlpGeneral.SuspendLayout(); 160 | this.tabPageSQL.SuspendLayout(); 161 | this.tlpSQL.SuspendLayout(); 162 | this.tabPageXML.SuspendLayout(); 163 | this.tlpXML.SuspendLayout(); 164 | this.tableLayoutPanel6.SuspendLayout(); 165 | this.tableLayoutPanel4.SuspendLayout(); 166 | this.tableLayoutPanel3.SuspendLayout(); 167 | this.cmsClearColor.SuspendLayout(); 168 | this.SuspendLayout(); 169 | // 170 | // colorDialog1 171 | // 172 | this.colorDialog1.AnyColor = true; 173 | this.colorDialog1.FullOpen = true; 174 | // 175 | // tableLayoutPanel1 176 | // 177 | this.tableLayoutPanel1.ColumnCount = 2; 178 | this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 37.02372F)); 179 | this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 62.97628F)); 180 | this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 0); 181 | this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel3, 1, 0); 182 | this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; 183 | this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); 184 | this.tableLayoutPanel1.Name = "tableLayoutPanel1"; 185 | this.tableLayoutPanel1.RowCount = 1; 186 | this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); 187 | this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 874F)); 188 | this.tableLayoutPanel1.Size = new System.Drawing.Size(1391, 801); 189 | this.tableLayoutPanel1.TabIndex = 0; 190 | // 191 | // tableLayoutPanel2 192 | // 193 | this.tableLayoutPanel2.ColumnCount = 1; 194 | this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); 195 | this.tableLayoutPanel2.Controls.Add(this.tabControl1, 0, 1); 196 | this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel6, 0, 2); 197 | this.tableLayoutPanel2.Controls.Add(this.tableLayoutPanel4, 0, 0); 198 | this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; 199 | this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3); 200 | this.tableLayoutPanel2.Name = "tableLayoutPanel2"; 201 | this.tableLayoutPanel2.RowCount = 3; 202 | this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 203 | this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 90F)); 204 | this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 10F)); 205 | this.tableLayoutPanel2.Size = new System.Drawing.Size(508, 795); 206 | this.tableLayoutPanel2.TabIndex = 1; 207 | // 208 | // tabControl1 209 | // 210 | this.tabControl1.Controls.Add(this.tabPageGeneral); 211 | this.tabControl1.Controls.Add(this.tabPageSQL); 212 | this.tabControl1.Controls.Add(this.tabPageXML); 213 | this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill; 214 | this.tabControl1.Location = new System.Drawing.Point(3, 43); 215 | this.tabControl1.Name = "tabControl1"; 216 | this.tabControl1.SelectedIndex = 0; 217 | this.tabControl1.Size = new System.Drawing.Size(502, 673); 218 | this.tabControl1.TabIndex = 0; 219 | // 220 | // tabPageGeneral 221 | // 222 | this.tabPageGeneral.ContextMenuStrip = this.cmsClearColors; 223 | this.tabPageGeneral.Controls.Add(this.tlpGeneral); 224 | this.tabPageGeneral.Location = new System.Drawing.Point(4, 24); 225 | this.tabPageGeneral.Name = "tabPageGeneral"; 226 | this.tabPageGeneral.Padding = new System.Windows.Forms.Padding(3); 227 | this.tabPageGeneral.Size = new System.Drawing.Size(494, 645); 228 | this.tabPageGeneral.TabIndex = 0; 229 | this.tabPageGeneral.Text = "General"; 230 | this.tabPageGeneral.UseVisualStyleBackColor = true; 231 | // 232 | // cmsClearColors 233 | // 234 | this.cmsClearColors.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 235 | this.tsmClearColors}); 236 | this.cmsClearColors.Name = "cmsClearColors"; 237 | this.cmsClearColors.Size = new System.Drawing.Size(139, 26); 238 | // 239 | // tsmClearColors 240 | // 241 | this.tsmClearColors.Name = "tsmClearColors"; 242 | this.tsmClearColors.Size = new System.Drawing.Size(138, 22); 243 | this.tsmClearColors.Text = "Clear Colors"; 244 | this.tsmClearColors.Click += new System.EventHandler(this.tsmClearColors_Click); 245 | // 246 | // tlpGeneral 247 | // 248 | this.tlpGeneral.ColumnCount = 5; 249 | this.tlpGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); 250 | this.tlpGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 23F)); 251 | this.tlpGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 105F)); 252 | this.tlpGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 23F)); 253 | this.tlpGeneral.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 105F)); 254 | this.tlpGeneral.Controls.Add(this.button6, 4, 10); 255 | this.tlpGeneral.Controls.Add(this.label60, 3, 10); 256 | this.tlpGeneral.Controls.Add(this.label59, 0, 10); 257 | this.tlpGeneral.Controls.Add(this.button4, 4, 9); 258 | this.tlpGeneral.Controls.Add(this.label58, 3, 9); 259 | this.tlpGeneral.Controls.Add(this.label29, 0, 9); 260 | this.tlpGeneral.Controls.Add(this.label30, 0, 1); 261 | this.tlpGeneral.Controls.Add(this.button19, 4, 1); 262 | this.tlpGeneral.Controls.Add(this.lblSelectedTextBG, 3, 1); 263 | this.tlpGeneral.Controls.Add(this.label51, 3, 8); 264 | this.tlpGeneral.Controls.Add(this.label48, 3, 7); 265 | this.tlpGeneral.Controls.Add(this.label43, 1, 6); 266 | this.tlpGeneral.Controls.Add(this.label40, 1, 5); 267 | this.tlpGeneral.Controls.Add(this.label37, 1, 4); 268 | this.tlpGeneral.Controls.Add(this.label34, 1, 3); 269 | this.tlpGeneral.Controls.Add(this.label31, 1, 2); 270 | this.tlpGeneral.Controls.Add(this.lblPlainTextBG, 3, 0); 271 | this.tlpGeneral.Controls.Add(this.button16, 4, 8); 272 | this.tlpGeneral.Controls.Add(this.label8, 0, 8); 273 | this.tlpGeneral.Controls.Add(this.button14, 4, 7); 274 | this.tlpGeneral.Controls.Add(this.label7, 0, 7); 275 | this.tlpGeneral.Controls.Add(this.label1, 0, 0); 276 | this.tlpGeneral.Controls.Add(this.label2, 0, 2); 277 | this.tlpGeneral.Controls.Add(this.label3, 0, 3); 278 | this.tlpGeneral.Controls.Add(this.label4, 0, 4); 279 | this.tlpGeneral.Controls.Add(this.label5, 0, 5); 280 | this.tlpGeneral.Controls.Add(this.button1, 2, 0); 281 | this.tlpGeneral.Controls.Add(this.button2, 4, 0); 282 | this.tlpGeneral.Controls.Add(this.button3, 2, 2); 283 | this.tlpGeneral.Controls.Add(this.button5, 2, 3); 284 | this.tlpGeneral.Controls.Add(this.button7, 2, 4); 285 | this.tlpGeneral.Controls.Add(this.button9, 2, 5); 286 | this.tlpGeneral.Controls.Add(this.button11, 2, 6); 287 | this.tlpGeneral.Controls.Add(this.label6, 0, 6); 288 | this.tlpGeneral.Controls.Add(this.lblPlainTextFG, 1, 0); 289 | this.tlpGeneral.Dock = System.Windows.Forms.DockStyle.Fill; 290 | this.tlpGeneral.Location = new System.Drawing.Point(3, 3); 291 | this.tlpGeneral.Name = "tlpGeneral"; 292 | this.tlpGeneral.RowCount = 12; 293 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 294 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 295 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 296 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 297 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 298 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 299 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 300 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 301 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 302 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 303 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 304 | this.tlpGeneral.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 305 | this.tlpGeneral.Size = new System.Drawing.Size(488, 639); 306 | this.tlpGeneral.TabIndex = 0; 307 | // 308 | // button6 309 | // 310 | this.button6.Dock = System.Windows.Forms.DockStyle.Fill; 311 | this.button6.Location = new System.Drawing.Point(391, 408); 312 | this.button6.Margin = new System.Windows.Forms.Padding(8); 313 | this.button6.Name = "button6"; 314 | this.button6.Size = new System.Drawing.Size(89, 24); 315 | this.button6.TabIndex = 61; 316 | this.button6.Text = "Background"; 317 | this.button6.UseVisualStyleBackColor = true; 318 | // 319 | // label60 320 | // 321 | this.label60.AutoSize = true; 322 | this.label60.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 323 | this.label60.Dock = System.Windows.Forms.DockStyle.Fill; 324 | this.label60.Location = new System.Drawing.Point(363, 412); 325 | this.label60.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 326 | this.label60.Name = "label60"; 327 | this.label60.Size = new System.Drawing.Size(17, 16); 328 | this.label60.TabIndex = 60; 329 | // 330 | // label59 331 | // 332 | this.label59.AutoSize = true; 333 | this.label59.Dock = System.Windows.Forms.DockStyle.Fill; 334 | this.label59.Location = new System.Drawing.Point(8, 408); 335 | this.label59.Margin = new System.Windows.Forms.Padding(8); 336 | this.label59.Name = "label59"; 337 | this.label59.Size = new System.Drawing.Size(216, 24); 338 | this.label59.TabIndex = 59; 339 | this.label59.Text = "Indicator Margin"; 340 | this.label59.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 341 | // 342 | // button4 343 | // 344 | this.button4.Dock = System.Windows.Forms.DockStyle.Fill; 345 | this.button4.Location = new System.Drawing.Point(391, 368); 346 | this.button4.Margin = new System.Windows.Forms.Padding(8); 347 | this.button4.Name = "button4"; 348 | this.button4.Size = new System.Drawing.Size(89, 24); 349 | this.button4.TabIndex = 58; 350 | this.button4.Text = "Background"; 351 | this.button4.UseVisualStyleBackColor = true; 352 | // 353 | // label58 354 | // 355 | this.label58.AutoSize = true; 356 | this.label58.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 357 | this.label58.Dock = System.Windows.Forms.DockStyle.Fill; 358 | this.label58.Location = new System.Drawing.Point(363, 372); 359 | this.label58.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 360 | this.label58.Name = "label58"; 361 | this.label58.Size = new System.Drawing.Size(17, 16); 362 | this.label58.TabIndex = 57; 363 | // 364 | // label29 365 | // 366 | this.label29.AutoSize = true; 367 | this.label29.Dock = System.Windows.Forms.DockStyle.Fill; 368 | this.label29.Location = new System.Drawing.Point(8, 368); 369 | this.label29.Margin = new System.Windows.Forms.Padding(8); 370 | this.label29.Name = "label29"; 371 | this.label29.Size = new System.Drawing.Size(216, 24); 372 | this.label29.TabIndex = 56; 373 | this.label29.Text = "Brace Matching (Highlight)"; 374 | this.label29.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 375 | // 376 | // label30 377 | // 378 | this.label30.AutoSize = true; 379 | this.label30.Dock = System.Windows.Forms.DockStyle.Fill; 380 | this.label30.Location = new System.Drawing.Point(8, 48); 381 | this.label30.Margin = new System.Windows.Forms.Padding(8); 382 | this.label30.Name = "label30"; 383 | this.label30.Size = new System.Drawing.Size(216, 24); 384 | this.label30.TabIndex = 52; 385 | this.label30.Text = "Selected Text"; 386 | this.label30.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 387 | // 388 | // button19 389 | // 390 | this.button19.Dock = System.Windows.Forms.DockStyle.Fill; 391 | this.button19.Location = new System.Drawing.Point(391, 48); 392 | this.button19.Margin = new System.Windows.Forms.Padding(8); 393 | this.button19.Name = "button19"; 394 | this.button19.Size = new System.Drawing.Size(89, 24); 395 | this.button19.TabIndex = 54; 396 | this.button19.Text = "Background"; 397 | this.button19.UseVisualStyleBackColor = true; 398 | // 399 | // lblSelectedTextBG 400 | // 401 | this.lblSelectedTextBG.AutoSize = true; 402 | this.lblSelectedTextBG.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 403 | this.lblSelectedTextBG.Dock = System.Windows.Forms.DockStyle.Fill; 404 | this.lblSelectedTextBG.Location = new System.Drawing.Point(363, 52); 405 | this.lblSelectedTextBG.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 406 | this.lblSelectedTextBG.Name = "lblSelectedTextBG"; 407 | this.lblSelectedTextBG.Size = new System.Drawing.Size(17, 16); 408 | this.lblSelectedTextBG.TabIndex = 55; 409 | // 410 | // label51 411 | // 412 | this.label51.AutoSize = true; 413 | this.label51.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 414 | this.label51.Dock = System.Windows.Forms.DockStyle.Fill; 415 | this.label51.Location = new System.Drawing.Point(363, 332); 416 | this.label51.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 417 | this.label51.Name = "label51"; 418 | this.label51.Size = new System.Drawing.Size(17, 16); 419 | this.label51.TabIndex = 46; 420 | // 421 | // label48 422 | // 423 | this.label48.AutoSize = true; 424 | this.label48.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 425 | this.label48.Dock = System.Windows.Forms.DockStyle.Fill; 426 | this.label48.Location = new System.Drawing.Point(363, 292); 427 | this.label48.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 428 | this.label48.Name = "label48"; 429 | this.label48.Size = new System.Drawing.Size(17, 16); 430 | this.label48.TabIndex = 43; 431 | // 432 | // label43 433 | // 434 | this.label43.AutoSize = true; 435 | this.label43.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 436 | this.label43.Dock = System.Windows.Forms.DockStyle.Fill; 437 | this.label43.Location = new System.Drawing.Point(235, 252); 438 | this.label43.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 439 | this.label43.Name = "label43"; 440 | this.label43.Size = new System.Drawing.Size(17, 16); 441 | this.label43.TabIndex = 38; 442 | // 443 | // label40 444 | // 445 | this.label40.AutoSize = true; 446 | this.label40.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 447 | this.label40.Dock = System.Windows.Forms.DockStyle.Fill; 448 | this.label40.Location = new System.Drawing.Point(235, 212); 449 | this.label40.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 450 | this.label40.Name = "label40"; 451 | this.label40.Size = new System.Drawing.Size(17, 16); 452 | this.label40.TabIndex = 35; 453 | // 454 | // label37 455 | // 456 | this.label37.AutoSize = true; 457 | this.label37.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 458 | this.label37.Dock = System.Windows.Forms.DockStyle.Fill; 459 | this.label37.Location = new System.Drawing.Point(235, 172); 460 | this.label37.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 461 | this.label37.Name = "label37"; 462 | this.label37.Size = new System.Drawing.Size(17, 16); 463 | this.label37.TabIndex = 32; 464 | // 465 | // label34 466 | // 467 | this.label34.AutoSize = true; 468 | this.label34.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 469 | this.label34.Dock = System.Windows.Forms.DockStyle.Fill; 470 | this.label34.Location = new System.Drawing.Point(235, 132); 471 | this.label34.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 472 | this.label34.Name = "label34"; 473 | this.label34.Size = new System.Drawing.Size(17, 16); 474 | this.label34.TabIndex = 29; 475 | // 476 | // label31 477 | // 478 | this.label31.AutoSize = true; 479 | this.label31.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 480 | this.label31.Dock = System.Windows.Forms.DockStyle.Fill; 481 | this.label31.Location = new System.Drawing.Point(235, 92); 482 | this.label31.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 483 | this.label31.Name = "label31"; 484 | this.label31.Size = new System.Drawing.Size(17, 16); 485 | this.label31.TabIndex = 26; 486 | // 487 | // lblPlainTextBG 488 | // 489 | this.lblPlainTextBG.AutoSize = true; 490 | this.lblPlainTextBG.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 491 | this.lblPlainTextBG.Dock = System.Windows.Forms.DockStyle.Fill; 492 | this.lblPlainTextBG.Location = new System.Drawing.Point(363, 12); 493 | this.lblPlainTextBG.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 494 | this.lblPlainTextBG.Name = "lblPlainTextBG"; 495 | this.lblPlainTextBG.Size = new System.Drawing.Size(17, 16); 496 | this.lblPlainTextBG.TabIndex = 25; 497 | // 498 | // button16 499 | // 500 | this.button16.Dock = System.Windows.Forms.DockStyle.Fill; 501 | this.button16.Location = new System.Drawing.Point(391, 328); 502 | this.button16.Margin = new System.Windows.Forms.Padding(8); 503 | this.button16.Name = "button16"; 504 | this.button16.Size = new System.Drawing.Size(89, 24); 505 | this.button16.TabIndex = 23; 506 | this.button16.Text = "Background"; 507 | this.button16.UseVisualStyleBackColor = true; 508 | // 509 | // label8 510 | // 511 | this.label8.AutoSize = true; 512 | this.label8.Dock = System.Windows.Forms.DockStyle.Fill; 513 | this.label8.Location = new System.Drawing.Point(8, 328); 514 | this.label8.Margin = new System.Windows.Forms.Padding(8); 515 | this.label8.Name = "label8"; 516 | this.label8.Size = new System.Drawing.Size(216, 24); 517 | this.label8.TabIndex = 21; 518 | this.label8.Text = "Brace Matching (Rectangle)"; 519 | this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 520 | // 521 | // button14 522 | // 523 | this.button14.Dock = System.Windows.Forms.DockStyle.Fill; 524 | this.button14.Location = new System.Drawing.Point(391, 288); 525 | this.button14.Margin = new System.Windows.Forms.Padding(8); 526 | this.button14.Name = "button14"; 527 | this.button14.Size = new System.Drawing.Size(89, 24); 528 | this.button14.TabIndex = 20; 529 | this.button14.Text = "Background"; 530 | this.button14.UseVisualStyleBackColor = true; 531 | // 532 | // label7 533 | // 534 | this.label7.AutoSize = true; 535 | this.label7.Dock = System.Windows.Forms.DockStyle.Fill; 536 | this.label7.Location = new System.Drawing.Point(8, 288); 537 | this.label7.Margin = new System.Windows.Forms.Padding(8); 538 | this.label7.Name = "label7"; 539 | this.label7.Size = new System.Drawing.Size(216, 24); 540 | this.label7.TabIndex = 18; 541 | this.label7.Text = "MarkerFormatDefinition/FindHighlight"; 542 | this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 543 | // 544 | // label1 545 | // 546 | this.label1.AutoSize = true; 547 | this.label1.Dock = System.Windows.Forms.DockStyle.Fill; 548 | this.label1.Location = new System.Drawing.Point(8, 8); 549 | this.label1.Margin = new System.Windows.Forms.Padding(8); 550 | this.label1.Name = "label1"; 551 | this.label1.Size = new System.Drawing.Size(216, 24); 552 | this.label1.TabIndex = 0; 553 | this.label1.Text = "Plain Text"; 554 | this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 555 | // 556 | // label2 557 | // 558 | this.label2.AutoSize = true; 559 | this.label2.Dock = System.Windows.Forms.DockStyle.Fill; 560 | this.label2.Location = new System.Drawing.Point(8, 88); 561 | this.label2.Margin = new System.Windows.Forms.Padding(8); 562 | this.label2.Name = "label2"; 563 | this.label2.Size = new System.Drawing.Size(216, 24); 564 | this.label2.TabIndex = 1; 565 | this.label2.Text = "Number"; 566 | this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 567 | // 568 | // label3 569 | // 570 | this.label3.AutoSize = true; 571 | this.label3.Dock = System.Windows.Forms.DockStyle.Fill; 572 | this.label3.Location = new System.Drawing.Point(8, 128); 573 | this.label3.Margin = new System.Windows.Forms.Padding(8); 574 | this.label3.Name = "label3"; 575 | this.label3.Size = new System.Drawing.Size(216, 24); 576 | this.label3.TabIndex = 2; 577 | this.label3.Text = "String"; 578 | this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 579 | // 580 | // label4 581 | // 582 | this.label4.AutoSize = true; 583 | this.label4.Dock = System.Windows.Forms.DockStyle.Fill; 584 | this.label4.Location = new System.Drawing.Point(8, 168); 585 | this.label4.Margin = new System.Windows.Forms.Padding(8); 586 | this.label4.Name = "label4"; 587 | this.label4.Size = new System.Drawing.Size(216, 24); 588 | this.label4.TabIndex = 3; 589 | this.label4.Text = "Identifier"; 590 | this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 591 | // 592 | // label5 593 | // 594 | this.label5.AutoSize = true; 595 | this.label5.Dock = System.Windows.Forms.DockStyle.Fill; 596 | this.label5.Location = new System.Drawing.Point(8, 208); 597 | this.label5.Margin = new System.Windows.Forms.Padding(8); 598 | this.label5.Name = "label5"; 599 | this.label5.Size = new System.Drawing.Size(216, 24); 600 | this.label5.TabIndex = 4; 601 | this.label5.Text = "Comment"; 602 | this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 603 | // 604 | // button1 605 | // 606 | this.button1.Dock = System.Windows.Forms.DockStyle.Fill; 607 | this.button1.Location = new System.Drawing.Point(263, 8); 608 | this.button1.Margin = new System.Windows.Forms.Padding(8); 609 | this.button1.Name = "button1"; 610 | this.button1.Size = new System.Drawing.Size(89, 24); 611 | this.button1.TabIndex = 5; 612 | this.button1.Text = "Foreground"; 613 | this.button1.UseVisualStyleBackColor = true; 614 | // 615 | // button2 616 | // 617 | this.button2.Dock = System.Windows.Forms.DockStyle.Fill; 618 | this.button2.Location = new System.Drawing.Point(391, 8); 619 | this.button2.Margin = new System.Windows.Forms.Padding(8); 620 | this.button2.Name = "button2"; 621 | this.button2.Size = new System.Drawing.Size(89, 24); 622 | this.button2.TabIndex = 6; 623 | this.button2.Text = "Background"; 624 | this.button2.UseVisualStyleBackColor = true; 625 | // 626 | // button3 627 | // 628 | this.button3.Dock = System.Windows.Forms.DockStyle.Fill; 629 | this.button3.Location = new System.Drawing.Point(263, 88); 630 | this.button3.Margin = new System.Windows.Forms.Padding(8); 631 | this.button3.Name = "button3"; 632 | this.button3.Size = new System.Drawing.Size(89, 24); 633 | this.button3.TabIndex = 7; 634 | this.button3.Text = "Foreground"; 635 | this.button3.UseVisualStyleBackColor = true; 636 | // 637 | // button5 638 | // 639 | this.button5.Dock = System.Windows.Forms.DockStyle.Fill; 640 | this.button5.Location = new System.Drawing.Point(263, 128); 641 | this.button5.Margin = new System.Windows.Forms.Padding(8); 642 | this.button5.Name = "button5"; 643 | this.button5.Size = new System.Drawing.Size(89, 24); 644 | this.button5.TabIndex = 9; 645 | this.button5.Text = "Foreground"; 646 | this.button5.UseVisualStyleBackColor = true; 647 | // 648 | // button7 649 | // 650 | this.button7.Dock = System.Windows.Forms.DockStyle.Fill; 651 | this.button7.Location = new System.Drawing.Point(263, 168); 652 | this.button7.Margin = new System.Windows.Forms.Padding(8); 653 | this.button7.Name = "button7"; 654 | this.button7.Size = new System.Drawing.Size(89, 24); 655 | this.button7.TabIndex = 11; 656 | this.button7.Text = "Foreground"; 657 | this.button7.UseVisualStyleBackColor = true; 658 | // 659 | // button9 660 | // 661 | this.button9.Dock = System.Windows.Forms.DockStyle.Fill; 662 | this.button9.Location = new System.Drawing.Point(263, 208); 663 | this.button9.Margin = new System.Windows.Forms.Padding(8); 664 | this.button9.Name = "button9"; 665 | this.button9.Size = new System.Drawing.Size(89, 24); 666 | this.button9.TabIndex = 13; 667 | this.button9.Text = "Foreground"; 668 | this.button9.UseVisualStyleBackColor = true; 669 | // 670 | // button11 671 | // 672 | this.button11.Dock = System.Windows.Forms.DockStyle.Fill; 673 | this.button11.Location = new System.Drawing.Point(263, 248); 674 | this.button11.Margin = new System.Windows.Forms.Padding(8); 675 | this.button11.Name = "button11"; 676 | this.button11.Size = new System.Drawing.Size(89, 24); 677 | this.button11.TabIndex = 15; 678 | this.button11.Text = "Foreground"; 679 | this.button11.UseVisualStyleBackColor = true; 680 | // 681 | // label6 682 | // 683 | this.label6.AutoSize = true; 684 | this.label6.Dock = System.Windows.Forms.DockStyle.Fill; 685 | this.label6.Location = new System.Drawing.Point(8, 248); 686 | this.label6.Margin = new System.Windows.Forms.Padding(8); 687 | this.label6.Name = "label6"; 688 | this.label6.Size = new System.Drawing.Size(216, 24); 689 | this.label6.TabIndex = 17; 690 | this.label6.Text = "Keyword"; 691 | this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 692 | // 693 | // lblPlainTextFG 694 | // 695 | this.lblPlainTextFG.AutoSize = true; 696 | this.lblPlainTextFG.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 697 | this.lblPlainTextFG.Dock = System.Windows.Forms.DockStyle.Fill; 698 | this.lblPlainTextFG.Location = new System.Drawing.Point(235, 12); 699 | this.lblPlainTextFG.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 700 | this.lblPlainTextFG.Name = "lblPlainTextFG"; 701 | this.lblPlainTextFG.Size = new System.Drawing.Size(17, 16); 702 | this.lblPlainTextFG.TabIndex = 24; 703 | // 704 | // tabPageSQL 705 | // 706 | this.tabPageSQL.ContextMenuStrip = this.cmsClearColors; 707 | this.tabPageSQL.Controls.Add(this.tlpSQL); 708 | this.tabPageSQL.Location = new System.Drawing.Point(4, 24); 709 | this.tabPageSQL.Name = "tabPageSQL"; 710 | this.tabPageSQL.Padding = new System.Windows.Forms.Padding(3); 711 | this.tabPageSQL.Size = new System.Drawing.Size(494, 645); 712 | this.tabPageSQL.TabIndex = 1; 713 | this.tabPageSQL.Text = "SQL"; 714 | this.tabPageSQL.UseVisualStyleBackColor = true; 715 | // 716 | // tlpSQL 717 | // 718 | this.tlpSQL.ColumnCount = 5; 719 | this.tlpSQL.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); 720 | this.tlpSQL.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 23F)); 721 | this.tlpSQL.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 105F)); 722 | this.tlpSQL.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 23F)); 723 | this.tlpSQL.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 105F)); 724 | this.tlpSQL.Controls.Add(this.label32, 1, 0); 725 | this.tlpSQL.Controls.Add(this.label11, 0, 0); 726 | this.tlpSQL.Controls.Add(this.label12, 0, 1); 727 | this.tlpSQL.Controls.Add(this.label13, 0, 2); 728 | this.tlpSQL.Controls.Add(this.label14, 0, 3); 729 | this.tlpSQL.Controls.Add(this.label15, 0, 4); 730 | this.tlpSQL.Controls.Add(this.button8, 2, 0); 731 | this.tlpSQL.Controls.Add(this.button12, 2, 1); 732 | this.tlpSQL.Controls.Add(this.button13, 2, 2); 733 | this.tlpSQL.Controls.Add(this.button15, 2, 3); 734 | this.tlpSQL.Controls.Add(this.button17, 2, 4); 735 | this.tlpSQL.Controls.Add(this.label33, 1, 1); 736 | this.tlpSQL.Controls.Add(this.label35, 1, 2); 737 | this.tlpSQL.Controls.Add(this.label36, 1, 3); 738 | this.tlpSQL.Controls.Add(this.label38, 1, 4); 739 | this.tlpSQL.Dock = System.Windows.Forms.DockStyle.Fill; 740 | this.tlpSQL.Location = new System.Drawing.Point(3, 3); 741 | this.tlpSQL.Name = "tlpSQL"; 742 | this.tlpSQL.RowCount = 6; 743 | this.tlpSQL.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 744 | this.tlpSQL.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 745 | this.tlpSQL.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 746 | this.tlpSQL.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 747 | this.tlpSQL.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 748 | this.tlpSQL.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 749 | this.tlpSQL.Size = new System.Drawing.Size(488, 639); 750 | this.tlpSQL.TabIndex = 1; 751 | // 752 | // label32 753 | // 754 | this.label32.AutoSize = true; 755 | this.label32.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 756 | this.label32.Dock = System.Windows.Forms.DockStyle.Fill; 757 | this.label32.Location = new System.Drawing.Point(235, 12); 758 | this.label32.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 759 | this.label32.Name = "label32"; 760 | this.label32.Size = new System.Drawing.Size(17, 16); 761 | this.label32.TabIndex = 25; 762 | // 763 | // label11 764 | // 765 | this.label11.AutoSize = true; 766 | this.label11.Dock = System.Windows.Forms.DockStyle.Fill; 767 | this.label11.Location = new System.Drawing.Point(8, 8); 768 | this.label11.Margin = new System.Windows.Forms.Padding(8); 769 | this.label11.Name = "label11"; 770 | this.label11.Size = new System.Drawing.Size(216, 24); 771 | this.label11.TabIndex = 0; 772 | this.label11.Text = "SQL String"; 773 | this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 774 | // 775 | // label12 776 | // 777 | this.label12.AutoSize = true; 778 | this.label12.Dock = System.Windows.Forms.DockStyle.Fill; 779 | this.label12.Location = new System.Drawing.Point(8, 48); 780 | this.label12.Margin = new System.Windows.Forms.Padding(8); 781 | this.label12.Name = "label12"; 782 | this.label12.Size = new System.Drawing.Size(216, 24); 783 | this.label12.TabIndex = 1; 784 | this.label12.Text = "SQL Operator"; 785 | this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 786 | // 787 | // label13 788 | // 789 | this.label13.AutoSize = true; 790 | this.label13.Dock = System.Windows.Forms.DockStyle.Fill; 791 | this.label13.Location = new System.Drawing.Point(8, 88); 792 | this.label13.Margin = new System.Windows.Forms.Padding(8); 793 | this.label13.Name = "label13"; 794 | this.label13.Size = new System.Drawing.Size(216, 24); 795 | this.label13.TabIndex = 2; 796 | this.label13.Text = "SQL System Function"; 797 | this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 798 | // 799 | // label14 800 | // 801 | this.label14.AutoSize = true; 802 | this.label14.Dock = System.Windows.Forms.DockStyle.Fill; 803 | this.label14.Location = new System.Drawing.Point(8, 128); 804 | this.label14.Margin = new System.Windows.Forms.Padding(8); 805 | this.label14.Name = "label14"; 806 | this.label14.Size = new System.Drawing.Size(216, 24); 807 | this.label14.TabIndex = 3; 808 | this.label14.Text = "SQL System Table"; 809 | this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 810 | // 811 | // label15 812 | // 813 | this.label15.AutoSize = true; 814 | this.label15.Dock = System.Windows.Forms.DockStyle.Fill; 815 | this.label15.Location = new System.Drawing.Point(8, 168); 816 | this.label15.Margin = new System.Windows.Forms.Padding(8); 817 | this.label15.Name = "label15"; 818 | this.label15.Size = new System.Drawing.Size(216, 24); 819 | this.label15.TabIndex = 4; 820 | this.label15.Text = "SQL Stored Procedure"; 821 | this.label15.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 822 | // 823 | // button8 824 | // 825 | this.button8.Dock = System.Windows.Forms.DockStyle.Fill; 826 | this.button8.Location = new System.Drawing.Point(263, 8); 827 | this.button8.Margin = new System.Windows.Forms.Padding(8); 828 | this.button8.Name = "button8"; 829 | this.button8.Size = new System.Drawing.Size(89, 24); 830 | this.button8.TabIndex = 5; 831 | this.button8.Text = "Foreground"; 832 | this.button8.UseVisualStyleBackColor = true; 833 | // 834 | // button12 835 | // 836 | this.button12.Dock = System.Windows.Forms.DockStyle.Fill; 837 | this.button12.Location = new System.Drawing.Point(263, 48); 838 | this.button12.Margin = new System.Windows.Forms.Padding(8); 839 | this.button12.Name = "button12"; 840 | this.button12.Size = new System.Drawing.Size(89, 24); 841 | this.button12.TabIndex = 7; 842 | this.button12.Text = "Foreground"; 843 | this.button12.UseVisualStyleBackColor = true; 844 | // 845 | // button13 846 | // 847 | this.button13.Dock = System.Windows.Forms.DockStyle.Fill; 848 | this.button13.Location = new System.Drawing.Point(263, 88); 849 | this.button13.Margin = new System.Windows.Forms.Padding(8); 850 | this.button13.Name = "button13"; 851 | this.button13.Size = new System.Drawing.Size(89, 24); 852 | this.button13.TabIndex = 9; 853 | this.button13.Text = "Foreground"; 854 | this.button13.UseVisualStyleBackColor = true; 855 | // 856 | // button15 857 | // 858 | this.button15.Dock = System.Windows.Forms.DockStyle.Fill; 859 | this.button15.Location = new System.Drawing.Point(263, 128); 860 | this.button15.Margin = new System.Windows.Forms.Padding(8); 861 | this.button15.Name = "button15"; 862 | this.button15.Size = new System.Drawing.Size(89, 24); 863 | this.button15.TabIndex = 11; 864 | this.button15.Text = "Foreground"; 865 | this.button15.UseVisualStyleBackColor = true; 866 | // 867 | // button17 868 | // 869 | this.button17.Dock = System.Windows.Forms.DockStyle.Fill; 870 | this.button17.Location = new System.Drawing.Point(263, 168); 871 | this.button17.Margin = new System.Windows.Forms.Padding(8); 872 | this.button17.Name = "button17"; 873 | this.button17.Size = new System.Drawing.Size(89, 24); 874 | this.button17.TabIndex = 13; 875 | this.button17.Text = "Foreground"; 876 | this.button17.UseVisualStyleBackColor = true; 877 | // 878 | // label33 879 | // 880 | this.label33.AutoSize = true; 881 | this.label33.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 882 | this.label33.Dock = System.Windows.Forms.DockStyle.Fill; 883 | this.label33.Location = new System.Drawing.Point(235, 52); 884 | this.label33.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 885 | this.label33.Name = "label33"; 886 | this.label33.Size = new System.Drawing.Size(17, 16); 887 | this.label33.TabIndex = 26; 888 | // 889 | // label35 890 | // 891 | this.label35.AutoSize = true; 892 | this.label35.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 893 | this.label35.Dock = System.Windows.Forms.DockStyle.Fill; 894 | this.label35.Location = new System.Drawing.Point(235, 92); 895 | this.label35.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 896 | this.label35.Name = "label35"; 897 | this.label35.Size = new System.Drawing.Size(17, 16); 898 | this.label35.TabIndex = 27; 899 | // 900 | // label36 901 | // 902 | this.label36.AutoSize = true; 903 | this.label36.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 904 | this.label36.Dock = System.Windows.Forms.DockStyle.Fill; 905 | this.label36.Location = new System.Drawing.Point(235, 132); 906 | this.label36.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 907 | this.label36.Name = "label36"; 908 | this.label36.Size = new System.Drawing.Size(17, 16); 909 | this.label36.TabIndex = 28; 910 | // 911 | // label38 912 | // 913 | this.label38.AutoSize = true; 914 | this.label38.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 915 | this.label38.Dock = System.Windows.Forms.DockStyle.Fill; 916 | this.label38.Location = new System.Drawing.Point(235, 172); 917 | this.label38.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 918 | this.label38.Name = "label38"; 919 | this.label38.Size = new System.Drawing.Size(17, 16); 920 | this.label38.TabIndex = 29; 921 | // 922 | // tabPageXML 923 | // 924 | this.tabPageXML.ContextMenuStrip = this.cmsClearColors; 925 | this.tabPageXML.Controls.Add(this.tlpXML); 926 | this.tabPageXML.Location = new System.Drawing.Point(4, 24); 927 | this.tabPageXML.Name = "tabPageXML"; 928 | this.tabPageXML.Padding = new System.Windows.Forms.Padding(3); 929 | this.tabPageXML.Size = new System.Drawing.Size(494, 645); 930 | this.tabPageXML.TabIndex = 2; 931 | this.tabPageXML.Text = "XML"; 932 | this.tabPageXML.UseVisualStyleBackColor = true; 933 | // 934 | // tlpXML 935 | // 936 | this.tlpXML.ColumnCount = 5; 937 | this.tlpXML.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); 938 | this.tlpXML.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 23F)); 939 | this.tlpXML.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 105F)); 940 | this.tlpXML.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 23F)); 941 | this.tlpXML.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 105F)); 942 | this.tlpXML.Controls.Add(this.label55, 1, 4); 943 | this.tlpXML.Controls.Add(this.label52, 1, 3); 944 | this.tlpXML.Controls.Add(this.label47, 1, 2); 945 | this.tlpXML.Controls.Add(this.label44, 1, 1); 946 | this.tlpXML.Controls.Add(this.label39, 1, 0); 947 | this.tlpXML.Controls.Add(this.button45, 2, 7); 948 | this.tlpXML.Controls.Add(this.button44, 2, 6); 949 | this.tlpXML.Controls.Add(this.label28, 0, 14); 950 | this.tlpXML.Controls.Add(this.button37, 2, 14); 951 | this.tlpXML.Controls.Add(this.label27, 0, 13); 952 | this.tlpXML.Controls.Add(this.button35, 2, 13); 953 | this.tlpXML.Controls.Add(this.label26, 0, 12); 954 | this.tlpXML.Controls.Add(this.button33, 2, 12); 955 | this.tlpXML.Controls.Add(this.label25, 0, 11); 956 | this.tlpXML.Controls.Add(this.button31, 2, 11); 957 | this.tlpXML.Controls.Add(this.label24, 0, 10); 958 | this.tlpXML.Controls.Add(this.button29, 2, 10); 959 | this.tlpXML.Controls.Add(this.label23, 0, 9); 960 | this.tlpXML.Controls.Add(this.button27, 2, 9); 961 | this.tlpXML.Controls.Add(this.button25, 2, 8); 962 | this.tlpXML.Controls.Add(this.label22, 0, 8); 963 | this.tlpXML.Controls.Add(this.label9, 0, 7); 964 | this.tlpXML.Controls.Add(this.label10, 0, 6); 965 | this.tlpXML.Controls.Add(this.label16, 0, 0); 966 | this.tlpXML.Controls.Add(this.label17, 0, 1); 967 | this.tlpXML.Controls.Add(this.label18, 0, 2); 968 | this.tlpXML.Controls.Add(this.label19, 0, 3); 969 | this.tlpXML.Controls.Add(this.label20, 0, 4); 970 | this.tlpXML.Controls.Add(this.button18, 2, 0); 971 | this.tlpXML.Controls.Add(this.button20, 2, 1); 972 | this.tlpXML.Controls.Add(this.button21, 2, 2); 973 | this.tlpXML.Controls.Add(this.button22, 2, 3); 974 | this.tlpXML.Controls.Add(this.button23, 2, 4); 975 | this.tlpXML.Controls.Add(this.button24, 2, 5); 976 | this.tlpXML.Controls.Add(this.label21, 0, 5); 977 | this.tlpXML.Controls.Add(this.label41, 1, 5); 978 | this.tlpXML.Controls.Add(this.label42, 1, 6); 979 | this.tlpXML.Controls.Add(this.label45, 1, 7); 980 | this.tlpXML.Controls.Add(this.label46, 1, 8); 981 | this.tlpXML.Controls.Add(this.label49, 1, 9); 982 | this.tlpXML.Controls.Add(this.label50, 1, 10); 983 | this.tlpXML.Controls.Add(this.label53, 1, 11); 984 | this.tlpXML.Controls.Add(this.label54, 1, 12); 985 | this.tlpXML.Controls.Add(this.label56, 1, 13); 986 | this.tlpXML.Controls.Add(this.label57, 1, 14); 987 | this.tlpXML.Dock = System.Windows.Forms.DockStyle.Fill; 988 | this.tlpXML.Location = new System.Drawing.Point(3, 3); 989 | this.tlpXML.Name = "tlpXML"; 990 | this.tlpXML.RowCount = 16; 991 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 992 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 993 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 994 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 995 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 996 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 997 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 998 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 999 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1000 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1001 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1002 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1003 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1004 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1005 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1006 | this.tlpXML.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 40F)); 1007 | this.tlpXML.Size = new System.Drawing.Size(488, 639); 1008 | this.tlpXML.TabIndex = 1; 1009 | // 1010 | // label55 1011 | // 1012 | this.label55.AutoSize = true; 1013 | this.label55.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1014 | this.label55.Dock = System.Windows.Forms.DockStyle.Fill; 1015 | this.label55.Location = new System.Drawing.Point(235, 172); 1016 | this.label55.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1017 | this.label55.Name = "label55"; 1018 | this.label55.Size = new System.Drawing.Size(17, 16); 1019 | this.label55.TabIndex = 71; 1020 | // 1021 | // label52 1022 | // 1023 | this.label52.AutoSize = true; 1024 | this.label52.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1025 | this.label52.Dock = System.Windows.Forms.DockStyle.Fill; 1026 | this.label52.Location = new System.Drawing.Point(235, 132); 1027 | this.label52.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1028 | this.label52.Name = "label52"; 1029 | this.label52.Size = new System.Drawing.Size(17, 16); 1030 | this.label52.TabIndex = 68; 1031 | // 1032 | // label47 1033 | // 1034 | this.label47.AutoSize = true; 1035 | this.label47.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1036 | this.label47.Dock = System.Windows.Forms.DockStyle.Fill; 1037 | this.label47.Location = new System.Drawing.Point(235, 92); 1038 | this.label47.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1039 | this.label47.Name = "label47"; 1040 | this.label47.Size = new System.Drawing.Size(17, 16); 1041 | this.label47.TabIndex = 65; 1042 | // 1043 | // label44 1044 | // 1045 | this.label44.AutoSize = true; 1046 | this.label44.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1047 | this.label44.Dock = System.Windows.Forms.DockStyle.Fill; 1048 | this.label44.Location = new System.Drawing.Point(235, 52); 1049 | this.label44.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1050 | this.label44.Name = "label44"; 1051 | this.label44.Size = new System.Drawing.Size(17, 16); 1052 | this.label44.TabIndex = 62; 1053 | // 1054 | // label39 1055 | // 1056 | this.label39.AutoSize = true; 1057 | this.label39.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1058 | this.label39.Dock = System.Windows.Forms.DockStyle.Fill; 1059 | this.label39.Location = new System.Drawing.Point(235, 12); 1060 | this.label39.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1061 | this.label39.Name = "label39"; 1062 | this.label39.Size = new System.Drawing.Size(17, 16); 1063 | this.label39.TabIndex = 59; 1064 | // 1065 | // button45 1066 | // 1067 | this.button45.Dock = System.Windows.Forms.DockStyle.Fill; 1068 | this.button45.Location = new System.Drawing.Point(263, 288); 1069 | this.button45.Margin = new System.Windows.Forms.Padding(8); 1070 | this.button45.Name = "button45"; 1071 | this.button45.Size = new System.Drawing.Size(89, 24); 1072 | this.button45.TabIndex = 58; 1073 | this.button45.Text = "Foreground"; 1074 | this.button45.UseVisualStyleBackColor = true; 1075 | // 1076 | // button44 1077 | // 1078 | this.button44.Dock = System.Windows.Forms.DockStyle.Fill; 1079 | this.button44.Location = new System.Drawing.Point(263, 248); 1080 | this.button44.Margin = new System.Windows.Forms.Padding(8); 1081 | this.button44.Name = "button44"; 1082 | this.button44.Size = new System.Drawing.Size(89, 24); 1083 | this.button44.TabIndex = 57; 1084 | this.button44.Text = "Foreground"; 1085 | this.button44.UseVisualStyleBackColor = true; 1086 | // 1087 | // label28 1088 | // 1089 | this.label28.AutoSize = true; 1090 | this.label28.Dock = System.Windows.Forms.DockStyle.Fill; 1091 | this.label28.Location = new System.Drawing.Point(8, 568); 1092 | this.label28.Margin = new System.Windows.Forms.Padding(8); 1093 | this.label28.Name = "label28"; 1094 | this.label28.Size = new System.Drawing.Size(216, 24); 1095 | this.label28.TabIndex = 49; 1096 | this.label28.Text = "XML Doc Comment"; 1097 | this.label28.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1098 | // 1099 | // button37 1100 | // 1101 | this.button37.Dock = System.Windows.Forms.DockStyle.Fill; 1102 | this.button37.Location = new System.Drawing.Point(263, 568); 1103 | this.button37.Margin = new System.Windows.Forms.Padding(8); 1104 | this.button37.Name = "button37"; 1105 | this.button37.Size = new System.Drawing.Size(89, 24); 1106 | this.button37.TabIndex = 50; 1107 | this.button37.Text = "Foreground"; 1108 | this.button37.UseVisualStyleBackColor = true; 1109 | // 1110 | // label27 1111 | // 1112 | this.label27.AutoSize = true; 1113 | this.label27.Dock = System.Windows.Forms.DockStyle.Fill; 1114 | this.label27.Location = new System.Drawing.Point(8, 528); 1115 | this.label27.Margin = new System.Windows.Forms.Padding(8); 1116 | this.label27.Name = "label27"; 1117 | this.label27.Size = new System.Drawing.Size(216, 24); 1118 | this.label27.TabIndex = 46; 1119 | this.label27.Text = "XML Doc Tag"; 1120 | this.label27.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1121 | // 1122 | // button35 1123 | // 1124 | this.button35.Dock = System.Windows.Forms.DockStyle.Fill; 1125 | this.button35.Location = new System.Drawing.Point(263, 528); 1126 | this.button35.Margin = new System.Windows.Forms.Padding(8); 1127 | this.button35.Name = "button35"; 1128 | this.button35.Size = new System.Drawing.Size(89, 24); 1129 | this.button35.TabIndex = 47; 1130 | this.button35.Text = "Foreground"; 1131 | this.button35.UseVisualStyleBackColor = true; 1132 | // 1133 | // label26 1134 | // 1135 | this.label26.AutoSize = true; 1136 | this.label26.Dock = System.Windows.Forms.DockStyle.Fill; 1137 | this.label26.Location = new System.Drawing.Point(8, 488); 1138 | this.label26.Margin = new System.Windows.Forms.Padding(8); 1139 | this.label26.Name = "label26"; 1140 | this.label26.Size = new System.Drawing.Size(216, 24); 1141 | this.label26.TabIndex = 43; 1142 | this.label26.Text = "XML Text"; 1143 | this.label26.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1144 | // 1145 | // button33 1146 | // 1147 | this.button33.Dock = System.Windows.Forms.DockStyle.Fill; 1148 | this.button33.Location = new System.Drawing.Point(263, 488); 1149 | this.button33.Margin = new System.Windows.Forms.Padding(8); 1150 | this.button33.Name = "button33"; 1151 | this.button33.Size = new System.Drawing.Size(89, 24); 1152 | this.button33.TabIndex = 44; 1153 | this.button33.Text = "Foreground"; 1154 | this.button33.UseVisualStyleBackColor = true; 1155 | // 1156 | // label25 1157 | // 1158 | this.label25.AutoSize = true; 1159 | this.label25.Dock = System.Windows.Forms.DockStyle.Fill; 1160 | this.label25.Location = new System.Drawing.Point(8, 448); 1161 | this.label25.Margin = new System.Windows.Forms.Padding(8); 1162 | this.label25.Name = "label25"; 1163 | this.label25.Size = new System.Drawing.Size(216, 24); 1164 | this.label25.TabIndex = 40; 1165 | this.label25.Text = "XML Delimiter"; 1166 | this.label25.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1167 | // 1168 | // button31 1169 | // 1170 | this.button31.Dock = System.Windows.Forms.DockStyle.Fill; 1171 | this.button31.Location = new System.Drawing.Point(263, 448); 1172 | this.button31.Margin = new System.Windows.Forms.Padding(8); 1173 | this.button31.Name = "button31"; 1174 | this.button31.Size = new System.Drawing.Size(89, 24); 1175 | this.button31.TabIndex = 41; 1176 | this.button31.Text = "Foreground"; 1177 | this.button31.UseVisualStyleBackColor = true; 1178 | // 1179 | // label24 1180 | // 1181 | this.label24.AutoSize = true; 1182 | this.label24.Dock = System.Windows.Forms.DockStyle.Fill; 1183 | this.label24.Location = new System.Drawing.Point(8, 408); 1184 | this.label24.Margin = new System.Windows.Forms.Padding(8); 1185 | this.label24.Name = "label24"; 1186 | this.label24.Size = new System.Drawing.Size(216, 24); 1187 | this.label24.TabIndex = 37; 1188 | this.label24.Text = "XML Comment"; 1189 | this.label24.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1190 | // 1191 | // button29 1192 | // 1193 | this.button29.Dock = System.Windows.Forms.DockStyle.Fill; 1194 | this.button29.Location = new System.Drawing.Point(263, 408); 1195 | this.button29.Margin = new System.Windows.Forms.Padding(8); 1196 | this.button29.Name = "button29"; 1197 | this.button29.Size = new System.Drawing.Size(89, 24); 1198 | this.button29.TabIndex = 38; 1199 | this.button29.Text = "Foreground"; 1200 | this.button29.UseVisualStyleBackColor = true; 1201 | // 1202 | // label23 1203 | // 1204 | this.label23.AutoSize = true; 1205 | this.label23.Dock = System.Windows.Forms.DockStyle.Fill; 1206 | this.label23.Location = new System.Drawing.Point(8, 368); 1207 | this.label23.Margin = new System.Windows.Forms.Padding(8); 1208 | this.label23.Name = "label23"; 1209 | this.label23.Size = new System.Drawing.Size(216, 24); 1210 | this.label23.TabIndex = 34; 1211 | this.label23.Text = "XML Name"; 1212 | this.label23.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1213 | // 1214 | // button27 1215 | // 1216 | this.button27.Dock = System.Windows.Forms.DockStyle.Fill; 1217 | this.button27.Location = new System.Drawing.Point(263, 368); 1218 | this.button27.Margin = new System.Windows.Forms.Padding(8); 1219 | this.button27.Name = "button27"; 1220 | this.button27.Size = new System.Drawing.Size(89, 24); 1221 | this.button27.TabIndex = 35; 1222 | this.button27.Text = "Foreground"; 1223 | this.button27.UseVisualStyleBackColor = true; 1224 | // 1225 | // button25 1226 | // 1227 | this.button25.Dock = System.Windows.Forms.DockStyle.Fill; 1228 | this.button25.Location = new System.Drawing.Point(263, 328); 1229 | this.button25.Margin = new System.Windows.Forms.Padding(8); 1230 | this.button25.Name = "button25"; 1231 | this.button25.Size = new System.Drawing.Size(89, 24); 1232 | this.button25.TabIndex = 32; 1233 | this.button25.Text = "Foreground"; 1234 | this.button25.UseVisualStyleBackColor = true; 1235 | // 1236 | // label22 1237 | // 1238 | this.label22.AutoSize = true; 1239 | this.label22.Dock = System.Windows.Forms.DockStyle.Fill; 1240 | this.label22.Location = new System.Drawing.Point(8, 328); 1241 | this.label22.Margin = new System.Windows.Forms.Padding(8); 1242 | this.label22.Name = "label22"; 1243 | this.label22.Size = new System.Drawing.Size(216, 24); 1244 | this.label22.TabIndex = 31; 1245 | this.label22.Text = "XML CData Section"; 1246 | this.label22.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1247 | // 1248 | // label9 1249 | // 1250 | this.label9.AutoSize = true; 1251 | this.label9.Dock = System.Windows.Forms.DockStyle.Fill; 1252 | this.label9.Location = new System.Drawing.Point(8, 288); 1253 | this.label9.Margin = new System.Windows.Forms.Padding(8); 1254 | this.label9.Name = "label9"; 1255 | this.label9.Size = new System.Drawing.Size(216, 24); 1256 | this.label9.TabIndex = 21; 1257 | this.label9.Text = "XML Attribute"; 1258 | this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1259 | // 1260 | // label10 1261 | // 1262 | this.label10.AutoSize = true; 1263 | this.label10.Dock = System.Windows.Forms.DockStyle.Fill; 1264 | this.label10.Location = new System.Drawing.Point(8, 248); 1265 | this.label10.Margin = new System.Windows.Forms.Padding(8); 1266 | this.label10.Name = "label10"; 1267 | this.label10.Size = new System.Drawing.Size(216, 24); 1268 | this.label10.TabIndex = 18; 1269 | this.label10.Text = "XML CData Section"; 1270 | this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1271 | // 1272 | // label16 1273 | // 1274 | this.label16.AutoSize = true; 1275 | this.label16.Dock = System.Windows.Forms.DockStyle.Fill; 1276 | this.label16.Location = new System.Drawing.Point(8, 8); 1277 | this.label16.Margin = new System.Windows.Forms.Padding(8); 1278 | this.label16.Name = "label16"; 1279 | this.label16.Size = new System.Drawing.Size(216, 24); 1280 | this.label16.TabIndex = 0; 1281 | this.label16.Text = "XML Element Name"; 1282 | this.label16.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1283 | // 1284 | // label17 1285 | // 1286 | this.label17.AutoSize = true; 1287 | this.label17.Dock = System.Windows.Forms.DockStyle.Fill; 1288 | this.label17.Location = new System.Drawing.Point(8, 48); 1289 | this.label17.Margin = new System.Windows.Forms.Padding(8); 1290 | this.label17.Name = "label17"; 1291 | this.label17.Size = new System.Drawing.Size(216, 24); 1292 | this.label17.TabIndex = 1; 1293 | this.label17.Text = "XML Attribute Name"; 1294 | this.label17.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1295 | // 1296 | // label18 1297 | // 1298 | this.label18.AutoSize = true; 1299 | this.label18.Dock = System.Windows.Forms.DockStyle.Fill; 1300 | this.label18.Location = new System.Drawing.Point(8, 88); 1301 | this.label18.Margin = new System.Windows.Forms.Padding(8); 1302 | this.label18.Name = "label18"; 1303 | this.label18.Size = new System.Drawing.Size(216, 24); 1304 | this.label18.TabIndex = 2; 1305 | this.label18.Text = "XSLT Keyword"; 1306 | this.label18.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1307 | // 1308 | // label19 1309 | // 1310 | this.label19.AutoSize = true; 1311 | this.label19.Dock = System.Windows.Forms.DockStyle.Fill; 1312 | this.label19.Location = new System.Drawing.Point(8, 128); 1313 | this.label19.Margin = new System.Windows.Forms.Padding(8); 1314 | this.label19.Name = "label19"; 1315 | this.label19.Size = new System.Drawing.Size(216, 24); 1316 | this.label19.TabIndex = 3; 1317 | this.label19.Text = "XML Attribute Quotes"; 1318 | this.label19.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1319 | // 1320 | // label20 1321 | // 1322 | this.label20.AutoSize = true; 1323 | this.label20.Dock = System.Windows.Forms.DockStyle.Fill; 1324 | this.label20.Location = new System.Drawing.Point(8, 168); 1325 | this.label20.Margin = new System.Windows.Forms.Padding(8); 1326 | this.label20.Name = "label20"; 1327 | this.label20.Size = new System.Drawing.Size(216, 24); 1328 | this.label20.TabIndex = 4; 1329 | this.label20.Text = "XML Attribute Value"; 1330 | this.label20.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1331 | // 1332 | // button18 1333 | // 1334 | this.button18.Dock = System.Windows.Forms.DockStyle.Fill; 1335 | this.button18.Location = new System.Drawing.Point(263, 8); 1336 | this.button18.Margin = new System.Windows.Forms.Padding(8); 1337 | this.button18.Name = "button18"; 1338 | this.button18.Size = new System.Drawing.Size(89, 24); 1339 | this.button18.TabIndex = 5; 1340 | this.button18.Text = "Foreground"; 1341 | this.button18.UseVisualStyleBackColor = true; 1342 | // 1343 | // button20 1344 | // 1345 | this.button20.Dock = System.Windows.Forms.DockStyle.Fill; 1346 | this.button20.Location = new System.Drawing.Point(263, 48); 1347 | this.button20.Margin = new System.Windows.Forms.Padding(8); 1348 | this.button20.Name = "button20"; 1349 | this.button20.Size = new System.Drawing.Size(89, 24); 1350 | this.button20.TabIndex = 7; 1351 | this.button20.Text = "Foreground"; 1352 | this.button20.UseVisualStyleBackColor = true; 1353 | // 1354 | // button21 1355 | // 1356 | this.button21.Dock = System.Windows.Forms.DockStyle.Fill; 1357 | this.button21.Location = new System.Drawing.Point(263, 88); 1358 | this.button21.Margin = new System.Windows.Forms.Padding(8); 1359 | this.button21.Name = "button21"; 1360 | this.button21.Size = new System.Drawing.Size(89, 24); 1361 | this.button21.TabIndex = 9; 1362 | this.button21.Text = "Foreground"; 1363 | this.button21.UseVisualStyleBackColor = true; 1364 | // 1365 | // button22 1366 | // 1367 | this.button22.Dock = System.Windows.Forms.DockStyle.Fill; 1368 | this.button22.Location = new System.Drawing.Point(263, 128); 1369 | this.button22.Margin = new System.Windows.Forms.Padding(8); 1370 | this.button22.Name = "button22"; 1371 | this.button22.Size = new System.Drawing.Size(89, 24); 1372 | this.button22.TabIndex = 11; 1373 | this.button22.Text = "Foreground"; 1374 | this.button22.UseVisualStyleBackColor = true; 1375 | // 1376 | // button23 1377 | // 1378 | this.button23.Dock = System.Windows.Forms.DockStyle.Fill; 1379 | this.button23.Location = new System.Drawing.Point(263, 168); 1380 | this.button23.Margin = new System.Windows.Forms.Padding(8); 1381 | this.button23.Name = "button23"; 1382 | this.button23.Size = new System.Drawing.Size(89, 24); 1383 | this.button23.TabIndex = 13; 1384 | this.button23.Text = "Foreground"; 1385 | this.button23.UseVisualStyleBackColor = true; 1386 | // 1387 | // button24 1388 | // 1389 | this.button24.Dock = System.Windows.Forms.DockStyle.Fill; 1390 | this.button24.Location = new System.Drawing.Point(263, 208); 1391 | this.button24.Margin = new System.Windows.Forms.Padding(8); 1392 | this.button24.Name = "button24"; 1393 | this.button24.Size = new System.Drawing.Size(89, 24); 1394 | this.button24.TabIndex = 15; 1395 | this.button24.Text = "Foreground"; 1396 | this.button24.UseVisualStyleBackColor = true; 1397 | // 1398 | // label21 1399 | // 1400 | this.label21.AutoSize = true; 1401 | this.label21.Dock = System.Windows.Forms.DockStyle.Fill; 1402 | this.label21.Location = new System.Drawing.Point(8, 208); 1403 | this.label21.Margin = new System.Windows.Forms.Padding(8); 1404 | this.label21.Name = "label21"; 1405 | this.label21.Size = new System.Drawing.Size(216, 24); 1406 | this.label21.TabIndex = 17; 1407 | this.label21.Text = "XML Processing Instruction"; 1408 | this.label21.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 1409 | // 1410 | // label41 1411 | // 1412 | this.label41.AutoSize = true; 1413 | this.label41.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1414 | this.label41.Dock = System.Windows.Forms.DockStyle.Fill; 1415 | this.label41.Location = new System.Drawing.Point(235, 212); 1416 | this.label41.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1417 | this.label41.Name = "label41"; 1418 | this.label41.Size = new System.Drawing.Size(17, 16); 1419 | this.label41.TabIndex = 72; 1420 | // 1421 | // label42 1422 | // 1423 | this.label42.AutoSize = true; 1424 | this.label42.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1425 | this.label42.Dock = System.Windows.Forms.DockStyle.Fill; 1426 | this.label42.Location = new System.Drawing.Point(235, 252); 1427 | this.label42.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1428 | this.label42.Name = "label42"; 1429 | this.label42.Size = new System.Drawing.Size(17, 16); 1430 | this.label42.TabIndex = 73; 1431 | // 1432 | // label45 1433 | // 1434 | this.label45.AutoSize = true; 1435 | this.label45.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1436 | this.label45.Dock = System.Windows.Forms.DockStyle.Fill; 1437 | this.label45.Location = new System.Drawing.Point(235, 292); 1438 | this.label45.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1439 | this.label45.Name = "label45"; 1440 | this.label45.Size = new System.Drawing.Size(17, 16); 1441 | this.label45.TabIndex = 74; 1442 | // 1443 | // label46 1444 | // 1445 | this.label46.AutoSize = true; 1446 | this.label46.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1447 | this.label46.Dock = System.Windows.Forms.DockStyle.Fill; 1448 | this.label46.Location = new System.Drawing.Point(235, 332); 1449 | this.label46.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1450 | this.label46.Name = "label46"; 1451 | this.label46.Size = new System.Drawing.Size(17, 16); 1452 | this.label46.TabIndex = 75; 1453 | // 1454 | // label49 1455 | // 1456 | this.label49.AutoSize = true; 1457 | this.label49.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1458 | this.label49.Dock = System.Windows.Forms.DockStyle.Fill; 1459 | this.label49.Location = new System.Drawing.Point(235, 372); 1460 | this.label49.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1461 | this.label49.Name = "label49"; 1462 | this.label49.Size = new System.Drawing.Size(17, 16); 1463 | this.label49.TabIndex = 76; 1464 | // 1465 | // label50 1466 | // 1467 | this.label50.AutoSize = true; 1468 | this.label50.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1469 | this.label50.Dock = System.Windows.Forms.DockStyle.Fill; 1470 | this.label50.Location = new System.Drawing.Point(235, 412); 1471 | this.label50.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1472 | this.label50.Name = "label50"; 1473 | this.label50.Size = new System.Drawing.Size(17, 16); 1474 | this.label50.TabIndex = 77; 1475 | // 1476 | // label53 1477 | // 1478 | this.label53.AutoSize = true; 1479 | this.label53.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1480 | this.label53.Dock = System.Windows.Forms.DockStyle.Fill; 1481 | this.label53.Location = new System.Drawing.Point(235, 452); 1482 | this.label53.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1483 | this.label53.Name = "label53"; 1484 | this.label53.Size = new System.Drawing.Size(17, 16); 1485 | this.label53.TabIndex = 78; 1486 | // 1487 | // label54 1488 | // 1489 | this.label54.AutoSize = true; 1490 | this.label54.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1491 | this.label54.Dock = System.Windows.Forms.DockStyle.Fill; 1492 | this.label54.Location = new System.Drawing.Point(235, 492); 1493 | this.label54.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1494 | this.label54.Name = "label54"; 1495 | this.label54.Size = new System.Drawing.Size(17, 16); 1496 | this.label54.TabIndex = 79; 1497 | // 1498 | // label56 1499 | // 1500 | this.label56.AutoSize = true; 1501 | this.label56.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1502 | this.label56.Dock = System.Windows.Forms.DockStyle.Fill; 1503 | this.label56.Location = new System.Drawing.Point(235, 532); 1504 | this.label56.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1505 | this.label56.Name = "label56"; 1506 | this.label56.Size = new System.Drawing.Size(17, 16); 1507 | this.label56.TabIndex = 80; 1508 | // 1509 | // label57 1510 | // 1511 | this.label57.AutoSize = true; 1512 | this.label57.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; 1513 | this.label57.Dock = System.Windows.Forms.DockStyle.Fill; 1514 | this.label57.Location = new System.Drawing.Point(235, 572); 1515 | this.label57.Margin = new System.Windows.Forms.Padding(3, 12, 3, 12); 1516 | this.label57.Name = "label57"; 1517 | this.label57.Size = new System.Drawing.Size(17, 16); 1518 | this.label57.TabIndex = 81; 1519 | // 1520 | // tableLayoutPanel6 1521 | // 1522 | this.tableLayoutPanel6.ColumnCount = 3; 1523 | this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); 1524 | this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); 1525 | this.tableLayoutPanel6.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33334F)); 1526 | this.tableLayoutPanel6.Controls.Add(this.btnNew, 0, 1); 1527 | this.tableLayoutPanel6.Controls.Add(this.btnSave, 2, 1); 1528 | this.tableLayoutPanel6.Controls.Add(this.btnLoad, 1, 1); 1529 | this.tableLayoutPanel6.Dock = System.Windows.Forms.DockStyle.Fill; 1530 | this.tableLayoutPanel6.Location = new System.Drawing.Point(3, 722); 1531 | this.tableLayoutPanel6.Name = "tableLayoutPanel6"; 1532 | this.tableLayoutPanel6.RowCount = 3; 1533 | this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 10F)); 1534 | this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F)); 1535 | this.tableLayoutPanel6.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 82F)); 1536 | this.tableLayoutPanel6.Size = new System.Drawing.Size(502, 70); 1537 | this.tableLayoutPanel6.TabIndex = 1; 1538 | // 1539 | // btnNew 1540 | // 1541 | this.btnNew.Dock = System.Windows.Forms.DockStyle.Fill; 1542 | this.btnNew.Location = new System.Drawing.Point(23, 13); 1543 | this.btnNew.Margin = new System.Windows.Forms.Padding(23, 3, 23, 3); 1544 | this.btnNew.Name = "btnNew"; 1545 | this.btnNew.Size = new System.Drawing.Size(121, 44); 1546 | this.btnNew.TabIndex = 11; 1547 | this.btnNew.Text = "New"; 1548 | this.btnNew.UseVisualStyleBackColor = true; 1549 | this.btnNew.Click += new System.EventHandler(this.btnNew_Click); 1550 | // 1551 | // btnSave 1552 | // 1553 | this.btnSave.Dock = System.Windows.Forms.DockStyle.Fill; 1554 | this.btnSave.Enabled = false; 1555 | this.btnSave.Location = new System.Drawing.Point(357, 13); 1556 | this.btnSave.Margin = new System.Windows.Forms.Padding(23, 3, 23, 3); 1557 | this.btnSave.Name = "btnSave"; 1558 | this.btnSave.Size = new System.Drawing.Size(122, 44); 1559 | this.btnSave.TabIndex = 10; 1560 | this.btnSave.Text = "Save"; 1561 | this.btnSave.UseVisualStyleBackColor = true; 1562 | this.btnSave.Click += new System.EventHandler(this.btnSave_Click); 1563 | // 1564 | // btnLoad 1565 | // 1566 | this.btnLoad.Dock = System.Windows.Forms.DockStyle.Fill; 1567 | this.btnLoad.Location = new System.Drawing.Point(190, 13); 1568 | this.btnLoad.Margin = new System.Windows.Forms.Padding(23, 3, 23, 3); 1569 | this.btnLoad.Name = "btnLoad"; 1570 | this.btnLoad.Size = new System.Drawing.Size(121, 44); 1571 | this.btnLoad.TabIndex = 8; 1572 | this.btnLoad.Text = "Load"; 1573 | this.btnLoad.UseVisualStyleBackColor = true; 1574 | this.btnLoad.Click += new System.EventHandler(this.btnLoad_Click); 1575 | // 1576 | // tableLayoutPanel4 1577 | // 1578 | this.tableLayoutPanel4.ColumnCount = 2; 1579 | this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 72.70916F)); 1580 | this.tableLayoutPanel4.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 27.29084F)); 1581 | this.tableLayoutPanel4.Controls.Add(this.cboFont, 0, 0); 1582 | this.tableLayoutPanel4.Controls.Add(this.cboFontSize, 1, 0); 1583 | this.tableLayoutPanel4.Dock = System.Windows.Forms.DockStyle.Fill; 1584 | this.tableLayoutPanel4.Location = new System.Drawing.Point(3, 3); 1585 | this.tableLayoutPanel4.Name = "tableLayoutPanel4"; 1586 | this.tableLayoutPanel4.RowCount = 1; 1587 | this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); 1588 | this.tableLayoutPanel4.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 34F)); 1589 | this.tableLayoutPanel4.Size = new System.Drawing.Size(502, 34); 1590 | this.tableLayoutPanel4.TabIndex = 2; 1591 | // 1592 | // cboFont 1593 | // 1594 | this.cboFont.Anchor = System.Windows.Forms.AnchorStyles.None; 1595 | this.cboFont.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; 1596 | this.cboFont.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; 1597 | this.cboFont.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1598 | this.cboFont.FormattingEnabled = true; 1599 | this.cboFont.Location = new System.Drawing.Point(4, 5); 1600 | this.cboFont.Name = "cboFont"; 1601 | this.cboFont.Size = new System.Drawing.Size(356, 23); 1602 | this.cboFont.TabIndex = 0; 1603 | this.cboFont.SelectionChangeCommitted += new System.EventHandler(this.cboFont_SelectionChangeCommitted); 1604 | // 1605 | // cboFontSize 1606 | // 1607 | this.cboFontSize.Anchor = System.Windows.Forms.AnchorStyles.None; 1608 | this.cboFontSize.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend; 1609 | this.cboFontSize.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems; 1610 | this.cboFontSize.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1611 | this.cboFontSize.FormattingEnabled = true; 1612 | this.cboFontSize.Location = new System.Drawing.Point(372, 5); 1613 | this.cboFontSize.Name = "cboFontSize"; 1614 | this.cboFontSize.Size = new System.Drawing.Size(121, 23); 1615 | this.cboFontSize.TabIndex = 1; 1616 | this.cboFontSize.SelectionChangeCommitted += new System.EventHandler(this.cboFontSize_SelectionChangeCommitted); 1617 | // 1618 | // tableLayoutPanel3 1619 | // 1620 | this.tableLayoutPanel3.ColumnCount = 1; 1621 | this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); 1622 | this.tableLayoutPanel3.Controls.Add(this.webBrowser1, 0, 0); 1623 | this.tableLayoutPanel3.Controls.Add(this.txtChanges, 0, 1); 1624 | this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; 1625 | this.tableLayoutPanel3.Location = new System.Drawing.Point(517, 3); 1626 | this.tableLayoutPanel3.Name = "tableLayoutPanel3"; 1627 | this.tableLayoutPanel3.RowCount = 2; 1628 | this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 85.83691F)); 1629 | this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 14.16309F)); 1630 | this.tableLayoutPanel3.Size = new System.Drawing.Size(871, 795); 1631 | this.tableLayoutPanel3.TabIndex = 2; 1632 | // 1633 | // webBrowser1 1634 | // 1635 | this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; 1636 | this.webBrowser1.Location = new System.Drawing.Point(3, 3); 1637 | this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); 1638 | this.webBrowser1.Name = "webBrowser1"; 1639 | this.webBrowser1.Size = new System.Drawing.Size(865, 676); 1640 | this.webBrowser1.TabIndex = 0; 1641 | // 1642 | // txtChanges 1643 | // 1644 | this.txtChanges.Dock = System.Windows.Forms.DockStyle.Fill; 1645 | this.txtChanges.Location = new System.Drawing.Point(3, 685); 1646 | this.txtChanges.Multiline = true; 1647 | this.txtChanges.Name = "txtChanges"; 1648 | this.txtChanges.ReadOnly = true; 1649 | this.txtChanges.ScrollBars = System.Windows.Forms.ScrollBars.Vertical; 1650 | this.txtChanges.Size = new System.Drawing.Size(865, 107); 1651 | this.txtChanges.TabIndex = 1; 1652 | // 1653 | // cmsClearColor 1654 | // 1655 | this.cmsClearColor.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 1656 | this.tsmClearColor}); 1657 | this.cmsClearColor.Name = "cmsClearColor"; 1658 | this.cmsClearColor.Size = new System.Drawing.Size(134, 26); 1659 | this.cmsClearColor.Text = "Clear the color"; 1660 | // 1661 | // tsmClearColor 1662 | // 1663 | this.tsmClearColor.Name = "tsmClearColor"; 1664 | this.tsmClearColor.Size = new System.Drawing.Size(133, 22); 1665 | this.tsmClearColor.Text = "Clear Color"; 1666 | this.tsmClearColor.Click += new System.EventHandler(this.tsmClearColor_Click); 1667 | // 1668 | // openFileDialog1 1669 | // 1670 | this.openFileDialog1.FileName = "openFileDialog1"; 1671 | // 1672 | // frmMain 1673 | // 1674 | this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); 1675 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 1676 | this.ClientSize = new System.Drawing.Size(1391, 801); 1677 | this.Controls.Add(this.tableLayoutPanel1); 1678 | this.Font = new System.Drawing.Font("Consolas", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); 1679 | this.Name = "frmMain"; 1680 | this.Text = "SSMS Theme Editor"; 1681 | this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing); 1682 | this.Load += new System.EventHandler(this.frmMain_Load); 1683 | this.tableLayoutPanel1.ResumeLayout(false); 1684 | this.tableLayoutPanel2.ResumeLayout(false); 1685 | this.tabControl1.ResumeLayout(false); 1686 | this.tabPageGeneral.ResumeLayout(false); 1687 | this.cmsClearColors.ResumeLayout(false); 1688 | this.tlpGeneral.ResumeLayout(false); 1689 | this.tlpGeneral.PerformLayout(); 1690 | this.tabPageSQL.ResumeLayout(false); 1691 | this.tlpSQL.ResumeLayout(false); 1692 | this.tlpSQL.PerformLayout(); 1693 | this.tabPageXML.ResumeLayout(false); 1694 | this.tlpXML.ResumeLayout(false); 1695 | this.tlpXML.PerformLayout(); 1696 | this.tableLayoutPanel6.ResumeLayout(false); 1697 | this.tableLayoutPanel4.ResumeLayout(false); 1698 | this.tableLayoutPanel3.ResumeLayout(false); 1699 | this.tableLayoutPanel3.PerformLayout(); 1700 | this.cmsClearColor.ResumeLayout(false); 1701 | this.ResumeLayout(false); 1702 | 1703 | } 1704 | 1705 | #endregion 1706 | private System.Windows.Forms.ColorDialog colorDialog1; 1707 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; 1708 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; 1709 | private System.Windows.Forms.TabControl tabControl1; 1710 | private System.Windows.Forms.TabPage tabPageGeneral; 1711 | private System.Windows.Forms.TableLayoutPanel tlpGeneral; 1712 | private System.Windows.Forms.Button button16; 1713 | private System.Windows.Forms.Label label8; 1714 | private System.Windows.Forms.Button button14; 1715 | private System.Windows.Forms.Label label7; 1716 | private System.Windows.Forms.Label label1; 1717 | private System.Windows.Forms.Label label2; 1718 | private System.Windows.Forms.Label label3; 1719 | private System.Windows.Forms.Label label4; 1720 | private System.Windows.Forms.Label label5; 1721 | private System.Windows.Forms.Button button2; 1722 | private System.Windows.Forms.Button button3; 1723 | private System.Windows.Forms.Button button5; 1724 | private System.Windows.Forms.Button button7; 1725 | private System.Windows.Forms.Button button9; 1726 | private System.Windows.Forms.Button button11; 1727 | private System.Windows.Forms.Label label6; 1728 | private System.Windows.Forms.TabPage tabPageSQL; 1729 | private System.Windows.Forms.TableLayoutPanel tlpSQL; 1730 | private System.Windows.Forms.Label label11; 1731 | private System.Windows.Forms.Label label12; 1732 | private System.Windows.Forms.Label label13; 1733 | private System.Windows.Forms.Label label14; 1734 | private System.Windows.Forms.Label label15; 1735 | private System.Windows.Forms.Button button8; 1736 | private System.Windows.Forms.Button button12; 1737 | private System.Windows.Forms.Button button13; 1738 | private System.Windows.Forms.Button button15; 1739 | private System.Windows.Forms.Button button17; 1740 | private System.Windows.Forms.TabPage tabPageXML; 1741 | private System.Windows.Forms.TableLayoutPanel tlpXML; 1742 | private System.Windows.Forms.Button button45; 1743 | private System.Windows.Forms.Button button44; 1744 | private System.Windows.Forms.Label label28; 1745 | private System.Windows.Forms.Button button37; 1746 | private System.Windows.Forms.Label label27; 1747 | private System.Windows.Forms.Button button35; 1748 | private System.Windows.Forms.Label label26; 1749 | private System.Windows.Forms.Button button33; 1750 | private System.Windows.Forms.Label label25; 1751 | private System.Windows.Forms.Button button31; 1752 | private System.Windows.Forms.Label label24; 1753 | private System.Windows.Forms.Button button29; 1754 | private System.Windows.Forms.Label label23; 1755 | private System.Windows.Forms.Button button27; 1756 | private System.Windows.Forms.Button button25; 1757 | private System.Windows.Forms.Label label22; 1758 | private System.Windows.Forms.Label label9; 1759 | private System.Windows.Forms.Label label10; 1760 | private System.Windows.Forms.Label label16; 1761 | private System.Windows.Forms.Label label17; 1762 | private System.Windows.Forms.Label label18; 1763 | private System.Windows.Forms.Label label19; 1764 | private System.Windows.Forms.Label label20; 1765 | private System.Windows.Forms.Button button18; 1766 | private System.Windows.Forms.Button button20; 1767 | private System.Windows.Forms.Button button21; 1768 | private System.Windows.Forms.Button button22; 1769 | private System.Windows.Forms.Button button23; 1770 | private System.Windows.Forms.Button button24; 1771 | private System.Windows.Forms.Label label21; 1772 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel6; 1773 | private System.Windows.Forms.Button btnLoad; 1774 | private System.Windows.Forms.Button button1; 1775 | private System.Windows.Forms.Label lblPlainTextFG; 1776 | private System.Windows.Forms.Label lblPlainTextBG; 1777 | private System.Windows.Forms.Label label51; 1778 | private System.Windows.Forms.Label label48; 1779 | private System.Windows.Forms.Label label43; 1780 | private System.Windows.Forms.Label label40; 1781 | private System.Windows.Forms.Label label37; 1782 | private System.Windows.Forms.Label label34; 1783 | private System.Windows.Forms.Label label31; 1784 | private System.Windows.Forms.Label label32; 1785 | private System.Windows.Forms.Label label33; 1786 | private System.Windows.Forms.Label label35; 1787 | private System.Windows.Forms.Label label36; 1788 | private System.Windows.Forms.Label label38; 1789 | private System.Windows.Forms.Label label55; 1790 | private System.Windows.Forms.Label label52; 1791 | private System.Windows.Forms.Label label47; 1792 | private System.Windows.Forms.Label label44; 1793 | private System.Windows.Forms.Label label39; 1794 | private System.Windows.Forms.Label label41; 1795 | private System.Windows.Forms.Label label42; 1796 | private System.Windows.Forms.Label label45; 1797 | private System.Windows.Forms.Label label46; 1798 | private System.Windows.Forms.Label label49; 1799 | private System.Windows.Forms.Label label50; 1800 | private System.Windows.Forms.Label label53; 1801 | private System.Windows.Forms.Label label54; 1802 | private System.Windows.Forms.Label label56; 1803 | private System.Windows.Forms.Label label57; 1804 | private System.Windows.Forms.Button btnSave; 1805 | private System.Windows.Forms.Label label30; 1806 | private System.Windows.Forms.Button button19; 1807 | private System.Windows.Forms.Label lblSelectedTextBG; 1808 | private System.Windows.Forms.OpenFileDialog openFileDialog1; 1809 | private System.Windows.Forms.Button btnNew; 1810 | private System.Windows.Forms.SaveFileDialog saveFileDialog1; 1811 | private System.Windows.Forms.Button button4; 1812 | private System.Windows.Forms.Label label58; 1813 | private System.Windows.Forms.Label label29; 1814 | private System.Windows.Forms.ToolTip toolTip1; 1815 | private System.Windows.Forms.ContextMenuStrip cmsClearColor; 1816 | private System.Windows.Forms.ToolStripMenuItem tsmClearColor; 1817 | private System.Windows.Forms.ContextMenuStrip cmsClearColors; 1818 | private System.Windows.Forms.ToolStripMenuItem tsmClearColors; 1819 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3; 1820 | private System.Windows.Forms.WebBrowser webBrowser1; 1821 | private System.Windows.Forms.TextBox txtChanges; 1822 | private System.Windows.Forms.TableLayoutPanel tableLayoutPanel4; 1823 | private System.Windows.Forms.ComboBox cboFont; 1824 | private System.Windows.Forms.ComboBox cboFontSize; 1825 | private System.Windows.Forms.Button button6; 1826 | private System.Windows.Forms.Label label60; 1827 | private System.Windows.Forms.Label label59; 1828 | } 1829 | } 1830 | 1831 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Form1.cs: -------------------------------------------------------------------------------- 1 | using SSMSThemeEditor.Properties; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Configuration; 5 | using System.Diagnostics; 6 | using System.Drawing; 7 | using System.IO; 8 | using System.Linq; 9 | using System.Reflection; 10 | using System.Text; 11 | using System.Text.RegularExpressions; 12 | using System.Windows.Forms; 13 | using System.Xml; 14 | 15 | namespace SSMSThemeEditor 16 | { 17 | public partial class frmMain : Form 18 | { 19 | private string _settingsInitialDirectory; 20 | private string _saveFile; 21 | private bool _isDirty = false; 22 | private LimitedSizeStack _undoStack = new LimitedSizeStack(50); 23 | private LimitedSizeStack _redoStack = new LimitedSizeStack(50); 24 | private List _changes = new List(); 25 | private readonly AutoCompleteStringCollection _fonts = new AutoCompleteStringCollection(); 26 | private readonly AutoCompleteStringCollection _fontSizes = new AutoCompleteStringCollection { "8", "9", "10", "11", "12", "14", "16", "18", "20", "22", "24", "26", "28", "36", "72" }; 27 | private string _defaultFontName = string.Empty; 28 | private string _defaultFontSize = string.Empty; 29 | private string _fontName = string.Empty; 30 | private string _fontSize = string.Empty; 31 | private readonly StringComparer _comparer = StringComparer.InvariantCultureIgnoreCase; 32 | 33 | #region events 34 | public frmMain() 35 | { 36 | InitializeComponent(); 37 | } 38 | private void frmMain_Load(object sender, EventArgs e) 39 | { 40 | foreach (FontFamily font in System.Drawing.FontFamily.Families) 41 | { 42 | _fonts.Add(font.Name); 43 | } 44 | cboFont.DataSource = _fonts; 45 | cboFont.AutoCompleteCustomSource = _fonts; 46 | cboFontSize.DataSource = _fontSizes; 47 | cboFontSize.AutoCompleteCustomSource = _fontSizes; 48 | _defaultFontName = _fontName = ConfigurationManager.AppSettings["DefaultFontName"]; 49 | _defaultFontSize = _fontSize = ConfigurationManager.AppSettings["DefaultFontSize"]; 50 | SetFont(_fontName, _fontSize); 51 | 52 | ModifyButtonEvents(tlpGeneral); 53 | ModifyButtonEvents(tlpSQL); 54 | ModifyButtonEvents(tlpXML); 55 | webBrowser1.DocumentText = Resources.SQLSample; 56 | SetupColorLabels(tlpGeneral); 57 | SetupColorLabels(tlpSQL); 58 | SetupColorLabels(tlpXML); 59 | 60 | UpdateTableFormat(tlpGeneral); 61 | UpdateTableFormat(tlpSQL); 62 | UpdateTableFormat(tlpXML); 63 | } 64 | private void frmMain_FormClosing(object sender, FormClosingEventArgs e) 65 | { 66 | if (SaveChanges()) 67 | { 68 | e.Cancel = true; 69 | return; 70 | } 71 | 72 | ModifyButtonEvents(tlpGeneral, false); 73 | ModifyButtonEvents(tlpSQL, false); 74 | ModifyButtonEvents(tlpXML, false); 75 | } 76 | private void ColorButton_Click(object sender, EventArgs e) 77 | { 78 | var btn = sender as Button; 79 | var tblPanel = btn.Parent as TableLayoutPanel; 80 | var col = tblPanel.GetColumn(btn); 81 | var row = tblPanel.GetRow(btn); 82 | 83 | if (tblPanel.GetControlFromPosition(col - 1, row) is Label lbl) 84 | { 85 | colorDialog1.Color = lbl.BackColor; 86 | if (colorDialog1.ShowDialog() == DialogResult.OK && lbl.BackColor != colorDialog1.Color) 87 | { 88 | var ci = GetChangeItem(tblPanel, lbl, colorDialog1.Color, col, row); 89 | _undoStack.Push(ci); 90 | SetLabelColor(lbl, colorDialog1.Color); 91 | } 92 | } 93 | } 94 | private void btnLoad_Click(object sender, EventArgs e) 95 | { 96 | if (SaveChanges()) { return; } 97 | 98 | if (string.IsNullOrWhiteSpace(_settingsInitialDirectory)) 99 | { 100 | _settingsInitialDirectory = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "Sample Themes"); 101 | } 102 | 103 | var openFileDialog1 = new OpenFileDialog 104 | { 105 | InitialDirectory = _settingsInitialDirectory, 106 | Filter = "Visual Studio Settings (*.vssettings)|*.vssettings", 107 | RestoreDirectory = true 108 | }; 109 | 110 | if (openFileDialog1.ShowDialog() == DialogResult.OK) 111 | { 112 | try 113 | { 114 | var doc = new XmlDocument(); 115 | doc.Load(openFileDialog1.FileName); 116 | GetFontInfo(doc); 117 | 118 | BlankLabels(); 119 | LoadColors(doc, tlpGeneral); 120 | LoadColors(doc, tlpSQL); 121 | LoadColors(doc, tlpXML); 122 | 123 | _saveFile = openFileDialog1.FileName; 124 | _settingsInitialDirectory = Path.GetDirectoryName(openFileDialog1.FileName); 125 | FormHasChanged(false); 126 | ClearUndo(); 127 | this.Text = $"{Resources.AppTitle} - {Path.GetFileName(openFileDialog1.FileName)}"; 128 | } 129 | catch (Exception ex) 130 | { 131 | MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 132 | } 133 | } 134 | } 135 | private void btnNew_Click(object sender, EventArgs e) 136 | { 137 | if (SaveChanges()) { return; } 138 | 139 | this.Text = Resources.AppTitle; 140 | BlankLabels(); 141 | ClearUndo(); 142 | SetFont(_defaultFontName, _defaultFontSize); 143 | btnSave.Enabled = _isDirty = false; 144 | _saveFile = string.Empty; 145 | webBrowser1.DocumentText = Resources.SQLSample; 146 | } 147 | private void btnSave_Click(object sender, EventArgs e) 148 | { 149 | saveFileDialog1.Filter = "Visual Studio Settings (*.vssettings)|*.vssettings"; 150 | saveFileDialog1.Title = "Save an SSMS Settings File"; 151 | saveFileDialog1.InitialDirectory = _settingsInitialDirectory; 152 | if (!string.IsNullOrWhiteSpace(_saveFile)) 153 | { 154 | saveFileDialog1.FileName = Path.GetFileName(_saveFile); 155 | } 156 | else 157 | { 158 | saveFileDialog1.FileName = string.Empty; 159 | } 160 | saveFileDialog1.OverwritePrompt = true; 161 | saveFileDialog1.CheckPathExists = true; 162 | 163 | if (saveFileDialog1.ShowDialog() == DialogResult.OK) 164 | { 165 | try 166 | { 167 | var items = BuildItems(); 168 | 169 | var settings = Resources.VSSettingsTemplate 170 | .Replace("", items) 171 | .Replace("{FONTNAME}", _fontName) 172 | .Replace("{FONTSIZE}", _fontSize); 173 | 174 | File.WriteAllText(saveFileDialog1.FileName, settings); 175 | 176 | ClearUndo(); 177 | 178 | btnSave.Enabled = _isDirty = false; 179 | } 180 | catch (Exception ex) 181 | { 182 | MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 183 | } 184 | } 185 | } 186 | private void tsmClearColor_Click(object sender, EventArgs e) 187 | { 188 | var tsm = ((ToolStripMenuItem)sender); 189 | if ((tsm.GetCurrentParent() as ContextMenuStrip).SourceControl is Label lbl && lbl.BackColor != Color.Transparent) 190 | { 191 | var tlp = (TableLayoutPanel)lbl.Parent; 192 | var row = tlp.GetRow(lbl); 193 | var col = tlp.GetColumn(lbl); 194 | 195 | var ci = GetChangeItem(tlp, lbl, Color.Transparent, col, row); 196 | _undoStack.Push(ci); 197 | SetLabelColor(lbl, Color.Transparent); 198 | } 199 | } 200 | private void tsmClearColors_Click(object sender, EventArgs e) 201 | { 202 | var tsm = ((ToolStripMenuItem)sender); 203 | if ((tsm.GetCurrentParent() as ContextMenuStrip).SourceControl is TabPage tp) 204 | { 205 | if (MessageBox.Show("Are you sure you want to clear the colors for this tab?", "Clear Colors", MessageBoxButtons.YesNo) == DialogResult.Yes) 206 | { 207 | var hasChanged = false; 208 | if (tp == tabPageGeneral) 209 | { 210 | hasChanged = BlankLabels(tlpGeneral, true); 211 | } 212 | else if (tp == tabPageSQL) 213 | { 214 | hasChanged = BlankLabels(tlpSQL, true); 215 | } 216 | else if (tp == tabPageXML) 217 | { 218 | hasChanged = BlankLabels(tlpXML, true); 219 | } 220 | if (hasChanged) 221 | { 222 | FormHasChanged(); 223 | } 224 | } 225 | } 226 | } 227 | protected override bool ProcessCmdKey(ref Message msg, Keys keyData) 228 | { 229 | if (keyData == (Keys.Control | Keys.Z)) 230 | { 231 | if (_undoStack.Count > 0) 232 | { 233 | var ci = _undoStack.Pop(); 234 | if (Control.FromHandle(ci.LabelPtr) is Label lbl) 235 | { 236 | UpdateChanges(null); 237 | SetLabelColor(lbl, ci.OldLabelColor, _undoStack.Count > 0); 238 | } 239 | _redoStack.Push(ci); 240 | } 241 | 242 | if (_undoStack.Count == 0) 243 | { 244 | txtChanges.Text = string.Empty; 245 | } 246 | return true; 247 | } 248 | else if (keyData == (Keys.Control | Keys.Y)) 249 | { 250 | if (_redoStack.Count > 0) 251 | { 252 | var ci = _redoStack.Pop(); 253 | if (Control.FromHandle(ci.LabelPtr) is Label lbl) 254 | { 255 | UpdateChanges($"{ci.Style} -> {ColorToRGBString(ci.OldLabelColor)} TO {ColorToRGBString(ci.NewLabelColor)}"); 256 | SetLabelColor(lbl, ci.NewLabelColor); 257 | } 258 | _undoStack.Push(ci); 259 | } 260 | return true; 261 | } 262 | 263 | return base.ProcessCmdKey(ref msg, keyData); 264 | } 265 | private void cboFont_SelectionChangeCommitted(object sender, EventArgs e) 266 | { 267 | if (!_comparer.Equals(cboFont.Text, _fontName)) 268 | { 269 | _fontName = cboFont.Text; 270 | FormHasChanged(); 271 | } 272 | } 273 | private void cboFontSize_SelectionChangeCommitted(object sender, EventArgs e) 274 | { 275 | if (!_comparer.Equals(cboFontSize.Text, _fontSize)) 276 | { 277 | _fontSize = cboFontSize.Text; 278 | FormHasChanged(); 279 | } 280 | } 281 | #endregion events 282 | 283 | #region private methods 284 | private void UpdateTableFormat(TableLayoutPanel tlp) 285 | { 286 | for (int i = 0; i < tlp.RowCount; i++) 287 | { 288 | var row = tlp.RowStyles[i].Height = 40; 289 | } 290 | } 291 | private void UpdateChanges(string msg) 292 | { 293 | if (msg == null) 294 | { 295 | _changes.Remove(_changes.Last()); 296 | } 297 | else 298 | { 299 | _changes.Add(msg); 300 | } 301 | txtChanges.Text = string.Join("\r\n", _changes.Select((d, i) => $"[{i + 1}] {d}")); 302 | txtChanges.SelectionStart = txtChanges.Text.Length; 303 | txtChanges.ScrollToCaret(); 304 | } 305 | private void ClearUndo() 306 | { 307 | _undoStack.Clear(); 308 | _redoStack.Clear(); 309 | _changes.Clear(); 310 | txtChanges.Text = string.Empty; 311 | } 312 | private string ColorToRGBString(Color color) 313 | { 314 | if (color != Color.Transparent) 315 | { 316 | return $"RGB:{color.R},{color.G},{color.B}"; 317 | } 318 | else 319 | { 320 | return "Transparent"; 321 | } 322 | } 323 | private ChangeItem GetChangeItem(TableLayoutPanel tblPanel, Label lbl, Color newColor, int col, int row) 324 | { 325 | var styleLabel = tblPanel.GetControlFromPosition(0, row) as Label; 326 | var styleType = col == 1 ? "Foreground" : "Background"; 327 | var ci = new ChangeItem() 328 | { 329 | Style = $"{styleLabel.Text} ({styleType})", 330 | LabelPtr = lbl.Handle, 331 | OldLabelColor = lbl.BackColor, 332 | NewLabelColor = newColor 333 | }; 334 | UpdateChanges($"{ci.Style} -> {ColorToRGBString(ci.OldLabelColor)} TO {ColorToRGBString(ci.NewLabelColor)}"); 335 | return ci; 336 | } 337 | private void SetLabelColor(Label lbl, Color color, bool saveEnabled = true) 338 | { 339 | lbl.BackColor = color; 340 | SetLabelImage(lbl); 341 | SetColorLabelToolTip(lbl); 342 | FormHasChanged(saveEnabled); 343 | } 344 | private void ModifyButtonEvents(TableLayoutPanel tlp, bool addEvents = true) 345 | { 346 | foreach (var btn in tlp.Controls) 347 | { 348 | if (btn is Button colorButton && colorButton.Name.ToLower().StartsWith("button")) 349 | { 350 | if (addEvents) 351 | { 352 | colorButton.Click += ColorButton_Click; 353 | } 354 | else 355 | { 356 | colorButton.Click -= ColorButton_Click; 357 | } 358 | } 359 | } 360 | } 361 | private bool SaveChanges() 362 | { 363 | return _isDirty && MessageBox.Show("There are unsaved changes, would you like to save them first?", "Save Changes", MessageBoxButtons.YesNo) == DialogResult.Yes; 364 | } 365 | private void RefreshSample() 366 | { 367 | try 368 | { 369 | Cursor.Current = Cursors.WaitCursor; 370 | var css = BuildCss(); 371 | 372 | webBrowser1.DocumentText = Resources.SQLSample.Replace("/*<>*/", css); 373 | } 374 | finally 375 | { 376 | Cursor.Current = Cursors.Default; 377 | } 378 | } 379 | private string BuildCss() 380 | { 381 | var sb = new StringBuilder(); 382 | 383 | sb.Append("body {"); 384 | sb.Append($"font-family:\"{_fontName}\";font-size:{_fontSize}pt;"); 385 | if (lblPlainTextFG.BackColor != Color.Transparent) { sb.Append($"color:{ToCssHex(lblPlainTextFG.BackColor)};"); } 386 | if (lblPlainTextBG.BackColor != Color.Transparent) { sb.Append($"background-color:{ToCssHex(lblPlainTextBG.BackColor)};"); } 387 | sb.AppendLine("}"); 388 | 389 | if (lblSelectedTextBG.BackColor != Color.Transparent) { sb.AppendLine($"::selection {{background-color:{ToCssHex(lblSelectedTextBG.BackColor)};}}"); } 390 | 391 | AddCssStyles(sb, tlpGeneral); 392 | AddCssStyles(sb, tlpSQL); 393 | AddCssStyles(sb, tlpXML); 394 | 395 | return sb.ToString(); 396 | } 397 | private string BuildItems() 398 | { 399 | var sb = new StringBuilder(); 400 | 401 | AddItemStyles(sb, tlpGeneral); 402 | AddItemStyles(sb, tlpSQL); 403 | AddItemStyles(sb, tlpXML); 404 | 405 | return sb.ToString(); 406 | } 407 | private void AddItemStyles(StringBuilder sb, TableLayoutPanel tlp) 408 | { 409 | var spacer = new string('\t', 7); 410 | for (int i = 0; i <= tlp.RowCount; i++) 411 | { 412 | if (!(tlp.GetControlFromPosition(0, i) is Label lbl)) { continue; } 413 | 414 | var fgColor = tlp.GetControlFromPosition(1, i) as Label; 415 | var bgColor = tlp.GetControlFromPosition(3, i) as Label; 416 | 417 | if ((fgColor != null && fgColor.BackColor != Color.Transparent) 418 | || (bgColor != null && bgColor.BackColor != Color.Transparent)) 419 | { 420 | sb.Append($"{spacer}"); 426 | 427 | if (lbl.Text == "Plain Text") 428 | { 429 | sb.AppendLine($"{spacer}"); 430 | } 431 | } 432 | } 433 | } 434 | private void AddCssStyles(StringBuilder sb, TableLayoutPanel tlp) 435 | { 436 | for (int i = 0; i <= tlp.RowCount; i++) 437 | { 438 | if (!(tlp.GetControlFromPosition(0, i) is Label lbl) 439 | || lbl.Text == "Plain Text" 440 | || lbl.Text == "Selected Text") { continue; } 441 | 442 | var fgColor = tlp.GetControlFromPosition(1, i) as Label; 443 | var bgColor = tlp.GetControlFromPosition(3, i) as Label; 444 | 445 | if ((fgColor != null && fgColor.BackColor != Color.Transparent) 446 | || (bgColor != null && bgColor.BackColor != Color.Transparent)) 447 | { 448 | var className = Regex.Replace(lbl.Text, @"[ \(\)/]", ""); 449 | sb.Append($".{className} {{"); 450 | 451 | if (fgColor != null) { sb.Append($" color:{ToCssHex(fgColor.BackColor)} !important;"); } 452 | if (bgColor != null) { sb.Append($" background-color:{ToCssHex(bgColor.BackColor)} !important;"); } 453 | 454 | sb.AppendLine("}"); 455 | } 456 | } 457 | } 458 | private void LoadColors(XmlDocument doc, TableLayoutPanel tlp) 459 | { 460 | for (int i = 0; i <= tlp.RowCount; i++) 461 | { 462 | if (!(tlp.GetControlFromPosition(0, i) is Label lbl)) { continue; } 463 | 464 | var node = doc.SelectSingleNode($"//FontsAndColors//Categories/Category/Items/Item[@Name = '{lbl.Text}']"); 465 | if (node == null) { continue; } 466 | 467 | var fgAttribute = node.Attributes["Foreground"]; 468 | if (tlp.GetControlFromPosition(1, i) is Label fgColor && fgAttribute != null) 469 | { 470 | fgColor.BackColor = GetColor(fgAttribute.Value); 471 | SetColorLabelToolTip(fgColor); 472 | SetLabelImage(fgColor); 473 | } 474 | 475 | var bgAttribute = node.Attributes["Background"]; 476 | if (tlp.GetControlFromPosition(3, i) is Label bgColor && bgAttribute != null) 477 | { 478 | bgColor.BackColor = GetColor(bgAttribute.Value); 479 | SetColorLabelToolTip(bgColor); 480 | SetLabelImage(bgColor); 481 | } 482 | } 483 | 484 | } 485 | private void SetupColorLabels(TableLayoutPanel tlp) 486 | { 487 | foreach (var ctl in tlp.Controls) 488 | { 489 | if (ctl is Label lbl && string.IsNullOrWhiteSpace(lbl.Text)) 490 | { 491 | lbl.Image = Resources.BlankImage; 492 | lbl.ContextMenuStrip = cmsClearColor; 493 | } 494 | } 495 | } 496 | private void BlankLabels() 497 | { 498 | BlankLabels(tlpGeneral); 499 | BlankLabels(tlpSQL); 500 | BlankLabels(tlpXML); 501 | } 502 | private bool BlankLabels(TableLayoutPanel tlp, bool captureUndo = false) 503 | { 504 | var hasChanged = false; 505 | for (int i = 0; i <= tlp.RowCount; i++) 506 | { 507 | if (tlp.GetControlFromPosition(1, i) is Label fgColor) 508 | { 509 | hasChanged = SetLabelBlank(tlp, fgColor, captureUndo, hasChanged); 510 | } 511 | if (tlp.GetControlFromPosition(3, i) is Label bgColor) 512 | { 513 | hasChanged = SetLabelBlank(tlp, bgColor, captureUndo, hasChanged); 514 | } 515 | } 516 | return hasChanged; 517 | } 518 | private bool SetLabelBlank(TableLayoutPanel tlp, Label lbl, bool captureUndo, bool hasChanged) 519 | { 520 | if (lbl.BackColor == Color.Transparent) { return hasChanged; } 521 | if (!hasChanged && lbl.BackColor != Color.Transparent) { hasChanged = true; } 522 | if (captureUndo && hasChanged) 523 | { 524 | var row = tlp.GetRow(lbl); 525 | var col = tlp.GetColumn(lbl); 526 | 527 | var ci = GetChangeItem(tlp, lbl, Color.Transparent, col, row); 528 | _undoStack.Push(ci); 529 | } 530 | lbl.BackColor = Color.Transparent; 531 | lbl.Image = Resources.BlankImage; 532 | return hasChanged; 533 | } 534 | private void SetColorLabelToolTip(Label lbl) 535 | { 536 | string colorName = lbl.BackColor.IsKnownColor ? lbl.BackColor.ToKnownColor().ToString() : lbl.BackColor.Name; 537 | toolTip1.SetToolTip(lbl, $"Color: {colorName}, RGB: {lbl.BackColor.R}, {lbl.BackColor.G}, {lbl.BackColor.B}"); 538 | } 539 | private Color GetColor(string value) 540 | { 541 | //for w/e reason, visual studio stores the rgb reversed as bgr. so reverse the values as they are extracted 542 | var rgb = Color.FromArgb( 543 | Convert.ToInt32(value.Substring(8, 2), 16), 544 | Convert.ToInt32(value.Substring(6, 2), 16), 545 | Convert.ToInt32(value.Substring(4, 2), 16) 546 | ); 547 | return rgb; 548 | } 549 | private string ToVssSettingsHex(Color color) 550 | { 551 | //return the string in reverse order as VS expects it 552 | return $"0x00{color.B.ToString("X2")}{color.G.ToString("X2")}{color.R.ToString("X2")}"; 553 | } 554 | private string ToCssHex(Color color) 555 | { 556 | return $"#{color.R.ToString("X2")}{color.G.ToString("X2")}{color.B.ToString("X2")}"; 557 | } 558 | private void SetLabelImage(Label lbl) 559 | { 560 | if (lbl.BackColor == Color.Transparent) 561 | { 562 | lbl.Image = Resources.BlankImage; 563 | } 564 | else 565 | { 566 | lbl.Image = null; 567 | } 568 | } 569 | private void FormHasChanged(bool saveEnabled = true) 570 | { 571 | btnSave.Enabled = _isDirty = saveEnabled; 572 | RefreshSample(); 573 | } 574 | private void SetFont(string fontName, string fontSize) 575 | { 576 | var fontIndex = cboFont.FindStringExact(fontName); 577 | if (fontIndex >= 0) 578 | { 579 | cboFont.SelectedIndex = fontIndex; 580 | } 581 | else 582 | { 583 | cboFont.Text = _defaultFontName; 584 | } 585 | 586 | var fontSizeIndex = cboFontSize.FindStringExact(fontSize); 587 | if (fontSizeIndex >= 0) 588 | { 589 | cboFontSize.SelectedIndex = fontSizeIndex; 590 | } 591 | else 592 | { 593 | cboFontSize.Text = _defaultFontSize; 594 | } 595 | } 596 | private void GetFontInfo(XmlDocument doc) 597 | { 598 | //scan the doc for a default font 599 | var node = doc.SelectSingleNode("/UserSettings/Category/Category/FontsAndColors/Categories/Category[@FontIsDefault='Yes']"); 600 | 601 | //default not found, look for the plain text item, and get its category 602 | if (node == null) 603 | { 604 | node = doc.SelectSingleNode("/UserSettings/Category/Category/FontsAndColors/Categories/Category/Items/Item[@Name='Plain Text']/ancestor::Category[1]"); 605 | //still null, just grab the first one 606 | if (node == null) 607 | { 608 | node = doc.SelectSingleNode("/UserSettings/Category/Category/FontsAndColors/Categories/Category[1]"); 609 | if (node == null) 610 | { 611 | SetFont(_defaultFontName, _defaultFontSize); 612 | return; 613 | } 614 | } 615 | } 616 | var attr = node.Attributes["FontName"]; 617 | _fontName = attr != null ? attr.Value : _defaultFontName; 618 | 619 | attr = node.Attributes["FontSize"]; 620 | _fontSize = attr != null ? attr.Value : _defaultFontSize; 621 | SetFont(_fontName, _fontSize); 622 | } 623 | #endregion private methods 624 | } 625 | } 626 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | 17, 17 122 | 123 | 124 | 641, 17 125 | 126 | 127 | 511, 17 128 | 129 | 130 | 138, 17 131 | 132 | 133 | 278, 17 134 | 135 | 136 | 414, 17 137 | 138 | -------------------------------------------------------------------------------- /SSMSThemeEditor/GitPush.bat: -------------------------------------------------------------------------------- 1 | cd .git 2 | git push origin master 3 | -------------------------------------------------------------------------------- /SSMSThemeEditor/LimitedStack.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace SSMSThemeEditor 8 | { 9 | public class LimitedSizeStack : LinkedList 10 | { 11 | private readonly int _maxSize; 12 | public LimitedSizeStack(int maxSize) 13 | { 14 | _maxSize = maxSize; 15 | } 16 | 17 | public void Push(T item) 18 | { 19 | this.AddFirst(item); 20 | 21 | if (this.Count > _maxSize) 22 | this.RemoveLast(); 23 | } 24 | 25 | public T Peek() 26 | { 27 | var item = this.First.Value; 28 | return item; 29 | } 30 | 31 | public T Pop() 32 | { 33 | var item = this.First.Value; 34 | this.RemoveFirst(); 35 | return item; 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace SSMSThemeEditor 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new frmMain()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("SSMSThemeEditor")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Tim Cartwright")] 12 | [assembly: AssemblyProduct("SSMSThemeEditor")] 13 | [assembly: AssemblyCopyright("")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("8c7c7bb1-abd5-4119-be57-080bc7207754")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SSMSThemeEditor.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SSMSThemeEditor.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized string similar to SSMS Theme Editor. 65 | /// 66 | internal static string AppTitle { 67 | get { 68 | return ResourceManager.GetString("AppTitle", resourceCulture); 69 | } 70 | } 71 | 72 | /// 73 | /// Looks up a localized resource of type System.Drawing.Bitmap. 74 | /// 75 | internal static System.Drawing.Bitmap BlankImage { 76 | get { 77 | object obj = ResourceManager.GetObject("BlankImage", resourceCulture); 78 | return ((System.Drawing.Bitmap)(obj)); 79 | } 80 | } 81 | 82 | /// 83 | /// Looks up a localized string similar to <!DOCTYPE html> 84 | /// 85 | ///<html lang="en" xmlns="http://www.w3.org/1999/xhtml"> 86 | ///<head> 87 | /// <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 88 | /// <meta charset="utf-8" /> 89 | /// <title></title> 90 | /// <style type="text/css"> 91 | /// body { font-family:Consolas; font-size:11pt; } 92 | /// /*<<CSS>>*/ 93 | /// </style> 94 | ///</head> 95 | ///<body> 96 | ///<pre> 97 | /// <span class="Keyword">USE</span> <span class="Identifier">AdventureWorks2012</span>; 98 | /// <span class="Keyword">GO</span> 99 | /// 100 | /// <span class="Comment">/*----------------- [rest of string was truncated]";. 101 | /// 102 | internal static string SQLSample { 103 | get { 104 | return ResourceManager.GetString("SQLSample", resourceCulture); 105 | } 106 | } 107 | 108 | /// 109 | /// Looks up a localized string similar to <UserSettings> 110 | /// <ApplicationIdentity version="10.0"/> 111 | /// <ToolsOptions> 112 | /// <ToolsOptionsCategory name="Environment" RegisteredName="Environment"/> 113 | /// </ToolsOptions> 114 | /// <Category name="Environment_Group" RegisteredName="Environment_Group"> 115 | /// <Category name="Environment_FontsAndColors" Category="{1EDA5DD4-927A-43a7-810E-7FD247D0DA1D}" Package="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}" RegisteredName="Environment_FontsAndColors" PackageName="Visual Studio Environment Package"> 116 | /// <PropertyValue name="Version">2 [rest of string was truncated]";. 117 | /// 118 | internal static string VSSettingsTemplate { 119 | get { 120 | return ResourceManager.GetString("VSSettingsTemplate", resourceCulture); 121 | } 122 | } 123 | } 124 | } 125 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | SSMS Theme Editor 122 | 123 | 124 | 125 | ..\Resources\Blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 126 | 127 | 128 | ..\Resources\SQLSample.html;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 129 | 130 | 131 | ..\Resources\VSSettingsTemplate.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8 132 | 133 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace SSMSThemeEditor.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Resources/Blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tcartwright/SSMSThemeEditor/12e51942dea3757ef0ea05e0d45488e547573f80/SSMSThemeEditor/Resources/Blank.png -------------------------------------------------------------------------------- /SSMSThemeEditor/Resources/SQLSample.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 76 | 77 |
  18 | USE AdventureWorks2012;
19 | GO
20 |
21 | /*----------------------------------------------------------------------*/
22 | --The Production schema demos the Brace Matching (Rectangle)
23 | SELECT 'Total income is', ((OrderQty * UnitPrice) * (1.0 - UnitPriceDiscount)), ' for ',
24 |     p.Name AS ProductName
25 | FROM Production.Product AS p
26 | INNER JOIN Sales.SalesOrderDetail AS sod
27 | ON p.ProductID = sod.ProductID
28 | ORDER BY ProductName ASC;
29 | GO
30 |
31 | /*----------------------------------------------------------------------*/
32 | SELECT SUM(p.ListPrice) AS [ListPrice],
33 |     GETDATE() AS [DT]
34 | FROM Production.Product AS p
35 | GO
36 | 37 | /*----------------------------------------------------------------------*/
38 | exec sp_executesql N'SELECT TOP (10) * FROM sys.tables t'
39 | GO
40 |
41 | /*----------------------------------------------------------------------*/
42 | --The SELECT TOP demos the FindHighlight
43 | SELECT TOP (10) * FROM sys.tables t
44 | GO
45 |
46 | /*----------------------------------------------------------------------*/
47 | --The parantheses highlighted here are for demoing the Brace Matching (Highlight)
48 | SELECT TOP (10) * FROM sys.dm_exec_requests der
49 | GO
50 |
51 | /*----------------------------------------------------------------------*/
52 | <?xml version="1.0" encoding="utf-8"?>
53 | 54 | <Stores>
55 |   <Store
56 |     BusinessEntityID="292"
57 |     Name="Next-Door Bike Store"
58 |     SalesPersonID="279">
59 |     <Customers>
60 |       <Customer>
61 |         <CustomerID>585</CustomerID>
62 |         <StoreID>292</StoreID>
63 |         <AccountNumber>AW00000585</AccountNumber>
64 |       </Customer>
65 |       <Customer>
66 |         <CustomerID>29484</CustomerID>
67 |         <StoreID>292</StoreID>
68 |         <AccountNumber>AW00029484</AccountNumber>
69 |       </Customer>
70 |     </Customers>
71 |   </Store>
72 | </Stores>
73 |

74 |
75 |
78 | 79 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Resources/VSSettingsTemplate.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 2 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /SSMSThemeEditor/SSMSPkgDefThemes/DarkTheme.pkgdef: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tcartwright/SSMSThemeEditor/12e51942dea3757ef0ea05e0d45488e547573f80/SSMSThemeEditor/SSMSPkgDefThemes/DarkTheme.pkgdef -------------------------------------------------------------------------------- /SSMSThemeEditor/SSMSThemeEditor.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {8C7C7BB1-ABD5-4119-BE57-080BC7207754} 8 | WinExe 9 | SSMSThemeEditor 10 | SSMSThemeEditor 11 | v4.6.1 12 | 512 13 | true 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | Form 52 | 53 | 54 | Form1.cs 55 | 56 | 57 | 58 | 59 | 60 | Form1.cs 61 | 62 | 63 | ResXFileCodeGenerator 64 | Resources.Designer.cs 65 | Designer 66 | 67 | 68 | True 69 | Resources.resx 70 | True 71 | 72 | 73 | SettingsSingleFileGenerator 74 | Settings.Designer.cs 75 | 76 | 77 | True 78 | Settings.settings 79 | True 80 | 81 | 82 | 83 | 84 | Designer 85 | 86 | 87 | 88 | 89 | 90 | 91 | PreserveNewest 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | Designer 104 | 105 | 106 | 107 | PreserveNewest 108 | 109 | 110 | PreserveNewest 111 | 112 | 113 | PreserveNewest 114 | 115 | 116 | 117 | 118 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Sample Themes/Gruvbox-Sheldonified.vssettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 2 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Sample Themes/Obsidian.DarkScheme.vssettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 2 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Sample Themes/Solarized.DarkScheme.vssettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 2 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /SSMSThemeEditor/Sample Themes/VisualStudio.DarkScheme.vssettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 2 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /SSMSThemeEditor/images/example-ssms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tcartwright/SSMSThemeEditor/12e51942dea3757ef0ea05e0d45488e547573f80/SSMSThemeEditor/images/example-ssms.png -------------------------------------------------------------------------------- /SSMSThemeEditor/images/options-themes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tcartwright/SSMSThemeEditor/12e51942dea3757ef0ea05e0d45488e547573f80/SSMSThemeEditor/images/options-themes.png -------------------------------------------------------------------------------- /SSMSThemeEditor/images/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tcartwright/SSMSThemeEditor/12e51942dea3757ef0ea05e0d45488e547573f80/SSMSThemeEditor/images/screenshot.png -------------------------------------------------------------------------------- /build.ps1: -------------------------------------------------------------------------------- 1 | try 2 | { 3 | if (@(Get-module 'Invoke-MSBuild' -ListAvailable).count -eq 0) 4 | { 5 | install-module 'Invoke-MSBuild' -scope currentuser -confirm:$false 6 | } 7 | 8 | $slnPath = [io.path]::combine($PSScriptRoot, '..', 'SSMSThemeEditor.sln') 9 | 10 | Invoke-MSBuild -path $slnPath 11 | } 12 | catch 13 | { 14 | throw 15 | Read-Host "Any key to close" 16 | } -------------------------------------------------------------------------------- /install.bat: -------------------------------------------------------------------------------- 1 | @rem bat file to ease use of the powershell script 2 | 3 | @%~d0 4 | @cd "%~dp0" 5 | 6 | powershell.exe -ExecutionPolicy Bypass -NoLogo -NoProfile -file "%~dp0install.ps1" 7 | 8 | -------------------------------------------------------------------------------- /install.ps1: -------------------------------------------------------------------------------- 1 | Set-StrictMode -Version Latest 2 | Clear-Host 3 | 4 | function CreateFolderIfNotExists($folder){ 5 | if(!(Test-Path -Path $folder -PathType Container)) { 6 | New-Item -ItemType directory -Path $folder | Out-Null 7 | } 8 | } 9 | 10 | function BuildProject($dotNetProject) { 11 | try 12 | { 13 | if (@(Get-module 'Invoke-MSBuild' -ListAvailable).count -eq 0) 14 | { 15 | Install-Module 'Invoke-MSBuild' -scope currentuser -confirm:$false 16 | } 17 | Write-Host "Building VSColorThemes solution" 18 | $result = Invoke-MSBuild -Path $dotNetProject.FullName -MsBuildParameters "/target:Clean;Build /property:Configuration=Release" -ShowBuildOutputInNewWindow 19 | if (!($result.BuildSucceeded)) { 20 | Write-Error $result.Message 21 | Exit 22 | } 23 | } catch { 24 | Write-Error $_.Exception.Message 25 | if ($host.Name -match 'consolehost') { 26 | Read-Host -Prompt “Press Enter to exit” 27 | } 28 | Exit 29 | } 30 | } 31 | 32 | function DownLoadThemeFiles($OutputFolder){ 33 | $RepositoryZipUrl = "https://api.github.com/repos/Microsoft/VS-ColorThemes/zipball/master" 34 | $zipFile = "$([System.IO.Path]::GetTempFileName()).zip" 35 | 36 | # download the zip 37 | Write-Host "Downloading VS-ColorThemes repo files as they are not found" 38 | #bump tls from 1.0 to 1.2 as 1.0 is disabled now 39 | [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 40 | Invoke-RestMethod -Uri $RepositoryZipUrl -OutFile $ZipFile 41 | 42 | $zipDir = $zipFile -replace "\.tmp", "_tmp" -replace "\.zip", "_zip" 43 | 44 | #extract the zip out to the zip directory 45 | [System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem') | Out-Null 46 | [System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $zipDir) 47 | 48 | $path = Get-ChildItem -Path "$zipDir\*\" -Directory 49 | Copy-Item -Path "$path\*" -Destination $OutputFolder -Force -Recurse | Out-Null 50 | 51 | #try to cleanup the temp files/directories 52 | Remove-Item -Path $zipFile -Force -ErrorAction SilentlyContinue | Out-Null 53 | Remove-Item -Path $zipDir -Force -Recurse -ErrorAction SilentlyContinue | Out-Null 54 | } 55 | 56 | function Test-Admin([string]$cmd, [string]$cmdArgs) { 57 | try { 58 | ## self elevating code source: https://blogs.msdn.microsoft.com/virtual_pc_guy/2010/09/23/a-self-elevating-powershell-script/ 59 | # Get the ID and security principal of the current user account 60 | $winID = [System.Security.Principal.WindowsIdentity]::GetCurrent() 61 | $winPrincipal = new-object System.Security.Principal.WindowsPrincipal($winID) 62 | 63 | # Get the security principal for the Administrator role 64 | $adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator 65 | 66 | # Check to see if we are currently running "as Administrator" 67 | if (!($winPrincipal.IsInRole($adminRole))) { 68 | Write-Host "Restarting the powershell script as admin using: `"$($cmd)`" $cmdArgs" 69 | $process = New-Object System.Diagnostics.ProcessStartInfo "powershell.exe"; 70 | $process.Arguments = "-ExecutionPolicy Bypass -NoLogo -NoProfile -File `"$($cmd)`" $cmdArgs"; 71 | # Indicate that the process should be elevated 72 | $process.Verb = "runas"; 73 | [System.Diagnostics.Process]::Start($process); 74 | Exit 75 | } 76 | } catch { 77 | Write-Error $_.Exception.Message 78 | if ($host.Name -match 'consolehost') { 79 | Read-Host -Prompt “Press Enter to exit” 80 | } 81 | Exit 82 | } 83 | } 84 | 85 | function GetThemeFiles([string]$Path){ 86 | return Get-ChildItem -Path $Path -Filter *.* -File -ErrorAction SilentlyContinue | Where-Object { $_.Name -notlike "*.csproj" } 87 | } 88 | 89 | Function GetCmdArgsString($cmdArgs){ 90 | $argString = ""; 91 | foreach($cmdArg in $cmdArgs) { 92 | $val = $cmdArg; 93 | if ($val -like '* *') { $val = "`"$val`"" } 94 | $argString += "$val " 95 | } 96 | return $argString 97 | } 98 | 99 | #test the script is running elevated, if not relaunch it 100 | Test-Admin -cmd $MyInvocation.MyCommand.Definition -cmdArgs (GetCmdArgsString -cmdArgs $args) 101 | 102 | #lets start the process to deploy 103 | $dir = $PSScriptRoot 104 | Set-Location -Path $dir 105 | 106 | #as close as could be figured out how to dynamically query where the locations of SSMS are. TY to SHull for help 107 | $ssmsFiles = (Get-ChildItem 'HKLM:\SOFTWARE\Classes\' ` 108 | | Where-Object { $_.Name -match 'ssms\.sql\.\d+\.\d+' } ` 109 | | ForEach-Object { 110 | [System.IO.FileInfo]((Get-ItemProperty "$($_.PSPath)\Shell\Open\Command").'(default)' -replace " /dde", "").TrimStart('"').TrimEnd('"') 111 | } ` 112 | | Where-Object { ($_.Name -match 'ssms\.exe') -and (Test-Path $_.FullName) }) 113 | 114 | if ($ssmsFiles -and ($ssmsFiles.Length -gt 0)) { 115 | #grab a list of local pkgdef files. will be empty if they downloaded the zip. 116 | $themeFiles = GetThemeFiles -Path "$dir\VS-ColorThemes\VSColorThemes" 117 | if ($themeFiles -and ($themeFiles.Length -eq 0)) { 118 | #down load the zip of VSColorThemes repo and build it so we can grab their pkgdef files 119 | DownLoadThemeFiles -OutputFolder "$dir\VS-ColorThemes" 120 | $themeFiles = GetThemeFiles -Path "$dir\VS-ColorThemes\VSColorThemes" 121 | } 122 | 123 | #grab the pkgdefs from the build except for the ones I override 124 | $pkgDefFiles = Get-ChildItem -Path "$dir\VS-ColorThemes\VSColorThemes\bin\Release\Themes" -Filter *.pkgdef -File -ErrorAction SilentlyContinue 125 | $themeXmlFiles = Get-ChildItem -Path "$dir\VS-ColorThemes\VSColorThemes\Themes" -Filter *.xml -File -ErrorAction SilentlyContinue 126 | 127 | #if we dont have the same number of pkgdef files that we do xml files we need to build 128 | if (!($pkgDefFiles) -or $pkgDefFiles.Length -ne $themeXmlFiles.Length) { 129 | #we must build the project to create the pkgdef files if they do not exist 130 | $proj = Get-ChildItem -Path "$dir\VS-ColorThemes\VSColorThemes\*.csproj" -File 131 | BuildProject -dotNetProject $proj 132 | } 133 | #grab the override package defs 134 | $pkgDefFilesTemp = Get-ChildItem -Path "$dir\SSMSThemeEditor\SSMSPkgDefThemes" -Filter *.pkgdef -File 135 | #remove all the package defs that are in the overrides 136 | $pkgDefFiles = $pkgDefFiles | Where-Object { 137 | $f = $_ 138 | -not ($pkgDefFilesTemp | Where-Object { $f.Name -like $_.Name }) 139 | } 140 | #add the custom override pkgdef themes into the main array 141 | $pkgDefFiles += $pkgDefFilesTemp; 142 | 143 | $themeSubFolder = "VSColorThemes\" 144 | 145 | Write-Host "Installing themes for all installed SSMS applications:`r`n" 146 | foreach ($ssmsFile in $ssmsFiles) { 147 | $themeDir = "$($ssmsFile.DirectoryName)\Extensions\$themeSubFolder" 148 | Write-Host "Installing theme extension to $($themeDir)"; 149 | 150 | CreateFolderIfNotExists -folder $themeDir 151 | foreach($themeFile in $themeFiles) { 152 | Write-Host "Deploying $($themeSubFolder)$($themeFile.Name)" 153 | Copy-Item -Path $themeFile.FullName -Destination $themeDir -Force | Out-Null 154 | } 155 | 156 | $themesDir = "$($themeDir)Themes\" 157 | CreateFolderIfNotExists -folder $themesDir 158 | foreach($pkgDefFile in $pkgDefFiles) { 159 | Write-Host "Deploying $($themeSubFolder)Themes\$($pkgDefFile.Name)" 160 | Copy-Item -Path $pkgDefFile.FullName -Destination $themesDir -Force | Out-Null 161 | } 162 | 163 | Write-Host "Done`r`n" 164 | } 165 | } else { 166 | Write-Host "No installations of SSMS found!" 167 | } 168 | 169 | Write-Host "Complete`r`n" 170 | 171 | if ($host.Name -match 'consolehost') { 172 | Read-Host -Prompt “Press Enter to exit” 173 | } --------------------------------------------------------------------------------