ソースを参照

Possibility to set background color in PET (This code made by Bohdan Troschinsky in OCP repository, I've just merged it to main dev branch).
Usage: add setting BackgroundColor to section Applications.PET.General in Configuration.XML:
<Setting name="BackgroundColor" value="0004080FFH"/>


git-svn-id: https://svn-dept.inf.ethz.ch/svn/lecturers/a2/trunk@8934 8c9fc860-2736-0410-a75d-ab315db34111

infsvn.sage 6 年 前
コミット
765da5d114
1 ファイル変更13 行追加1 行削除
  1. 13 1
      source/PET.Mod

+ 13 - 1
source/PET.Mod

@@ -68,6 +68,7 @@ CONST
 	DefaultShowLineNumbers = FALSE;
 	DefaultIndicateTabs = FALSE;
 	DefaultCurrentLineColor = 0;
+	DefaultBackgroundColor = WMGraphics.White;
 
 	(* Compiler *)
 	DefaultCompilerName = "Fox";
@@ -139,6 +140,7 @@ TYPE
 		showLineNumbers : BOOLEAN;
 		indicateTabs : BOOLEAN;
 		currentLineColor : LONGINT;
+		backgroundColor : LONGINT;
 
 		(* Compiler *)
 		defaultCompilerOptions : CompilerOptions;
@@ -164,6 +166,7 @@ TYPE
 			showLineNumbers := DefaultShowLineNumbers;
 			indicateTabs := DefaultIndicateTabs;
 			currentLineColor := DefaultCurrentLineColor;
+			backgroundColor := DefaultBackgroundColor;
 			(* Compiler *)
 			COPY(DefaultCompilerOptions, defaultCompilerOptions);
 			nofCompilers := 0;
@@ -316,6 +319,13 @@ TYPE
 				IF (res = Strings.Ok) THEN currentLineColor := temp; END;
 			END;
 
+			Configuration.Get("Applications.PET.General.BackgroundColor", string, res);
+			IF (res = Configuration.Ok) THEN
+				Strings.TrimWS(string);
+				Strings.HexStrToInt(string, temp, res);
+				IF (res = Strings.Ok) THEN backgroundColor := temp; END;
+			END;
+
 			(* Compiler *)
 			Configuration.Get("Applications.PET.Compilers.DefaultOptions", defaultCompilerOptions, res);
 			LoadCompilerSettings;
@@ -633,6 +643,7 @@ TYPE
 			editor.tv.showLineNumbers.Set(settings.showLineNumbers);
 			editor.tv.indicateTabs.Set(settings.indicateTabs);
 			editor.tv.clBgCurrentLine.Set(settings.currentLineColor);
+			editor.tv.defaultTextBgColor.Set(settings.backgroundColor);
 
 			NEW(positions, editor.tv);
 			searchPanel.SetText(editor.text);
@@ -655,6 +666,7 @@ TYPE
 			splitEditor.tv.showLineNumbers.Set(settings.showLineNumbers);
 			splitEditor.tv.indicateTabs.Set(settings.indicateTabs);
 			splitEditor.tv.clBgCurrentLine.Set(settings.currentLineColor);
+			editor.tv.defaultTextBgColor.Set(settings.backgroundColor);
 
 			textViews[0] := editor.tv;
 			textViews[1] := splitEditor.tv;
@@ -2199,7 +2211,7 @@ TYPE
 			found : BOOLEAN;
 		BEGIN
 			found := FALSE;
-			NEW(pet, SELF); pet.alignment.Set(WMComponents.AlignClient); pet.fillColor.Set(0FFFFFFFFH); pet.takesFocus.Set(TRUE);
+			NEW(pet, SELF); pet.alignment.Set(WMComponents.AlignClient); pet.fillColor.Set(settings.backgroundColor); pet.takesFocus.Set(TRUE);
 			IF pet.editor.undoMgr # NIL THEN
 				pet.editor.undoMgr.nrUpdatesListener := NrUpdatesChanged;
 				NrUpdatesChanged(0, 0);