2
0
Эх сурвалжийг харах

Merge pull request #28 from GWRon/feat_override

Add support for "-override" and "-overerr"
Brucey 6 жил өмнө
parent
commit
dd785b14b8
2 өөрчлөгдсөн 63 нэмэгдсэн , 5 устгасан
  1. 3 1
      default.language.ini
  2. 60 4
      maxide.bmx

+ 3 - 1
default.language.ini

@@ -1,7 +1,7 @@
 [LanguageDefinition]
 [LanguageDefinition]
 
 
 LanguageID = English (English)
 LanguageID = English (English)
-LanguageVersion = v1.07
+LanguageVersion = v1.08
 LanguageAuthor = BRL
 LanguageAuthor = BRL
 
 
 ; Toolbar Tips
 ; Toolbar Tips
@@ -282,6 +282,8 @@ menu_program_buildoptions_verbose            = "Verbose Build"
 menu_program_buildoptions_quickscan          = "Quick Scan"
 menu_program_buildoptions_quickscan          = "Quick Scan"
 menu_program_buildoptions_universal          = "Universal Build"
 menu_program_buildoptions_universal          = "Universal Build"
 menu_program_buildoptions_warnover           = "Overload Warnings"
 menu_program_buildoptions_warnover           = "Overload Warnings"
+menu_program_buildoptions_requireoverride    = "Require 'Override' declaration"
+menu_program_buildoptions_overrideerrors     = "Raise 'override' errors not warnings"
 menu_program_buildoptions_gdbdebug           = "GDB Debug Generation"
 menu_program_buildoptions_gdbdebug           = "GDB Debug Generation"
 menu_program_lockbuildfile                   = "&Lock Build File"
 menu_program_lockbuildfile                   = "&Lock Build File"
 menu_program_unlockbuildfile                 = "&Unlock Build File"
 menu_program_unlockbuildfile                 = "&Unlock Build File"

+ 60 - 4
maxide.bmx

@@ -70,7 +70,7 @@ Const DEFAULT_LANGUAGEPATH$ = "incbin::default.language.ini"
 Incbin "window_icon.png"
 Incbin "window_icon.png"
 ?
 ?
 
 
-Const IDE_VERSION$="1.50 [ng]"
+Const IDE_VERSION$="1.51 [ng]"
 Const TIMER_FREQUENCY=15
 Const TIMER_FREQUENCY=15
 
 
 AppTitle = "MaxIDE "+IDE_VERSION
 AppTitle = "MaxIDE "+IDE_VERSION
@@ -188,6 +188,8 @@ Const MENUQUICKSCANENABLED=63
 Const MENUUNIVERSALENABLED=64
 Const MENUUNIVERSALENABLED=64
 Const MENUWARNOVERENABLED=65
 Const MENUWARNOVERENABLED=65
 Const MENUGDBDEBUGENABLED=66
 Const MENUGDBDEBUGENABLED=66
+Const MENUREQUIREOVERRIDEENABLED=67
+Const MENUOVERRIDEERRORSENABLED=68
 
 
 Const MENUAPPOPTIONS=70
 Const MENUAPPOPTIONS=70
 Const MENUCONSOLEENABLED=71
 Const MENUCONSOLEENABLED=71
@@ -5377,7 +5379,7 @@ Type TOpenCode Extends TToolPanel
 		Return True
 		Return True
 	End Method
 	End Method
 
 
-	Method BuildSource(quick,debug,threaded,consoleBuild,guiBuild,makelibBuild,run, verbose, quickscan, universal, warnover, gdbdebug, platform:String = Null, architecture:String = Null, appstub:String = Null)
+	Method BuildSource(quick,debug,threaded,consoleBuild,guiBuild,makelibBuild,run, verbose, quickscan, universal, warnover, gdbdebug, requireOverride, overrideError, platform:String = Null, architecture:String = Null, appstub:String = Null)
 		Local cmd$,out$,arg$
 		Local cmd$,out$,arg$
 		If isbmx Or isc Or iscpp
 		If isbmx Or isc Or iscpp
 			cmd$=quote(host.bmkpath)
 			cmd$=quote(host.bmkpath)
@@ -5396,6 +5398,9 @@ Type TOpenCode Extends TToolPanel
 			If universal cmd :+ " -i"
 			If universal cmd :+ " -i"
 			If warnover cmd :+ " -w"
 			If warnover cmd :+ " -w"
 			If gdbdebug cmd :+ " -gdb"
 			If gdbdebug cmd :+ " -gdb"
+			If requireOverride cmd :+ " -override"
+			'bmk requires "-override" to use "-overerr"
+			If requireOverride and overrideError cmd :+ " -overerr"
 			If appstub And appstub <> "brl.appstub" cmd :+ " -b " + appstub
 			If appstub And appstub <> "brl.appstub" cmd :+ " -b " + appstub
 
 
 			If platform cmd :+ " -l " + platform
 			If platform cmd :+ " -l " + platform
@@ -5505,9 +5510,9 @@ Type TOpenCode Extends TToolPanel
 			Case TOOLREPLACE
 			Case TOOLREPLACE
 				Return FindReplace(String(argument))
 				Return FindReplace(String(argument))
 			Case TOOLBUILD
 			Case TOOLBUILD
-				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.consoleenabled, host.guienabled, host.makelibenabled,False, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.gdbdebugenabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
+				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.consoleenabled, host.guienabled, host.makelibenabled,False, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.gdbdebugenabled, host.requireOverrideEnabled, host.overrideErrorsEnabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
 			Case TOOLRUN
 			Case TOOLRUN
-				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.consoleenabled, host.guienabled, host.makelibenabled,True, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.gdbdebugenabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
+				BuildSource host.quickenabled,host.debugenabled,host.threadedenabled,host.consoleenabled, host.guienabled, host.makelibenabled,True, host.verboseenabled, host.quickscanenabled, host.universalenabled, host.warnoverenabled, host.gdbdebugenabled, host.requireOverrideEnabled, host.overrideErrorsEnabled, host.GetPlatform(), host.GetArchitecture(), host.selectedappstub
 			Case TOOLLOCK
 			Case TOOLLOCK
 				SetLocked True
 				SetLocked True
 			Case TOOLUNLOCK
 			Case TOOLUNLOCK
@@ -5772,6 +5777,9 @@ Type TCodePlay
 	Field universalenable:TGadget,universalenabled		'menu,state
 	Field universalenable:TGadget,universalenabled		'menu,state
 	Field warnoverenable:TGadget,warnoverenabled		'menu,state
 	Field warnoverenable:TGadget,warnoverenabled		'menu,state
 	Field gdbdebugenable:TGadget,gdbdebugenabled		'menu,state
 	Field gdbdebugenable:TGadget,gdbdebugenabled		'menu,state
+	Field requireOverrideEnable:TGadget,requireOverrideEnabled		'menu,state
+	Field overrideErrorsEnable:TGadget,overrideErrorsEnabled		'menu,state
+
 	Field quickhelp:TQuickHelp
 	Field quickhelp:TQuickHelp
 	Field running
 	Field running
 	Field recentmenu:TGadget
 	Field recentmenu:TGadget
@@ -5921,6 +5929,8 @@ Type TCodePlay
 		universalenabled=False
 		universalenabled=False
 		warnoverenabled=True
 		warnoverenabled=True
 		gdbdebugenabled=False
 		gdbdebugenabled=False
+		requireOverrideEnabled=False
+		overrideErrorsEnabled=False
 		For Local i:Int = 0 Until platformenabled.length
 		For Local i:Int = 0 Until platformenabled.length
 			platformenabled[i] = False
 			platformenabled[i] = False
 		Next
 		Next
@@ -5988,6 +5998,10 @@ Type TCodePlay
 					warnoverenabled=Int(b$)
 					warnoverenabled=Int(b$)
 				Case "prg_gdbdebug"
 				Case "prg_gdbdebug"
 					gdbdebugenabled=Int(b$)
 					gdbdebugenabled=Int(b$)
+				Case "prg_requireoverride"
+					requireOverrideEnabled=Int(b$)
+				Case "prg_overrideerrors"
+					overrideErrorsEnabled=Int(b$)
 				Case "prg_platform"
 				Case "prg_platform"
 					For Local i:Int = 0 Until platformenabled.length
 					For Local i:Int = 0 Until platformenabled.length
 						platformenabled[i] = False
 						platformenabled[i] = False
@@ -6055,6 +6069,8 @@ Type TCodePlay
 		stream.WriteLine "prg_universal="+universalenabled
 		stream.WriteLine "prg_universal="+universalenabled
 		stream.WriteLine "prg_warnover="+warnoverenabled
 		stream.WriteLine "prg_warnover="+warnoverenabled
 		stream.WriteLine "prg_gdbdebug="+gdbdebugenabled
 		stream.WriteLine "prg_gdbdebug="+gdbdebugenabled
+		stream.WriteLine "prg_requireoverride="+requireOverrideEnabled
+		stream.WriteLine "prg_overrideerrors="+overrideErrorsEnabled
 		For Local i:Int = 0 Until platformenabled.length
 		For Local i:Int = 0 Until platformenabled.length
 			If platformenabled[i] Then
 			If platformenabled[i] Then
 				stream.WriteLine "prg_platform=" + i
 				stream.WriteLine "prg_platform=" + i
@@ -6300,6 +6316,13 @@ Type TCodePlay
 		If universalenabled cmd:+"-i "
 		If universalenabled cmd:+"-i "
 		If warnoverenabled cmd:+"-w "
 		If warnoverenabled cmd:+"-w "
 		If gdbdebugenabled cmd:+"-gdb "
 		If gdbdebugenabled cmd:+"-gdb "
+		If requireOverrideEnabled
+			cmd:+"-override "
+			'bmk requires "-override" to use "-overerr"
+			If overrideErrorsEnabled
+				cmd :+ " -overerr"
+			EndIf
+		EndIf
 		Local platform:String = GetPlatform()
 		Local platform:String = GetPlatform()
 		Local architecture:String = GetArchitecture()
 		Local architecture:String = GetArchitecture()
 		If platform cmd :+ "-l " + platform + " "
 		If platform cmd :+ "-l " + platform + " "
@@ -6889,6 +6912,8 @@ Type TCodePlay
 		universalenable=CreateMenu("{{menu_program_buildoptions_universal}}",MENUUNIVERSALENABLED,buildoptions)
 		universalenable=CreateMenu("{{menu_program_buildoptions_universal}}",MENUUNIVERSALENABLED,buildoptions)
 ?
 ?
 		warnoverenable=CreateMenu("{{menu_program_buildoptions_warnover}}",MENUWARNOVERENABLED,buildoptions)
 		warnoverenable=CreateMenu("{{menu_program_buildoptions_warnover}}",MENUWARNOVERENABLED,buildoptions)
+		requireOverrideEnable=CreateMenu("{{menu_program_buildoptions_requireoverride}}",MENUREQUIREOVERRIDEENABLED,buildoptions)
+		overrideErrorsEnable=CreateMenu("{{menu_program_buildoptions_overrideerrors}}",MENUOVERRIDEERRORSENABLED,buildoptions)
 
 
 		platform=CreateMenu("{{menu_program_platform}}",0,program)
 		platform=CreateMenu("{{menu_program_platform}}",0,program)
 ?Not raspberrypi
 ?Not raspberrypi
@@ -6951,6 +6976,11 @@ Type TCodePlay
 		If universalenabled CheckMenu universalenable
 		If universalenabled CheckMenu universalenable
 		If warnoverenabled CheckMenu warnoverenable
 		If warnoverenabled CheckMenu warnoverenable
 		If gdbdebugenabled CheckMenu gdbdebugenable
 		If gdbdebugenabled CheckMenu gdbdebugenable
+		If requireOverrideEnabled CheckMenu requireOverrideEnable
+		If overrideErrorsEnabled CheckMenu overrideErrorsEnable
+		'need to do this below "CheckMenu" as it automatically enables
+		'the menu (again)
+		If not requireOverrideEnabled DisableMenu overrideErrorsEnable
 
 
 		Local defaultArch:Int = -1
 		Local defaultArch:Int = -1
 		For Local i:Int = 0 Until architectureenabled.length
 		For Local i:Int = 0 Until architectureenabled.length
@@ -7246,6 +7276,32 @@ Type TCodePlay
 				EndIf
 				EndIf
 				UpdateWindowMenu window
 				UpdateWindowMenu window
 
 
+			Case MENUREQUIREOVERRIDEENABLED
+				If requireOverrideEnabled
+					requireOverrideEnabled=False
+					UncheckMenu requireOverrideEnable
+					'disable menu entry as it requires "require override"
+					'this keeps "checked" information intact in case of
+					'a settings reactivation
+					if overrideErrorsEnable then DisableMenu overrideErrorsEnable
+				Else
+					requireOverrideEnabled=True
+					CheckMenu requireOverrideEnable
+
+					if overrideErrorsEnable then EnableMenu overrideErrorsEnable
+				EndIf
+				UpdateWindowMenu window
+
+			Case MENUOVERRIDEERRORSENABLED
+				If overrideErrorsEnabled
+					overrideErrorsEnabled=False
+					UncheckMenu overrideErrorsEnable
+				Else
+					overrideErrorsEnabled=True
+					CheckMenu overrideErrorsEnable
+				EndIf
+				UpdateWindowMenu window
+
 			Case MENUGDBDEBUGENABLED
 			Case MENUGDBDEBUGENABLED
 				If gdbdebugenabled
 				If gdbdebugenabled
 					gdbdebugenabled=False
 					gdbdebugenabled=False