diff --git a/G940LEDControl/Bin/FSX-SE-SimConnect.dll b/G940LEDControl/Bin/FSX-SE-SimConnect.dll index a70883d..afa03e9 100644 Binary files a/G940LEDControl/Bin/FSX-SE-SimConnect.dll and b/G940LEDControl/Bin/FSX-SE-SimConnect.dll differ diff --git a/G940LEDControl/Forms/ButtonFunctionFrm.dfm b/G940LEDControl/Forms/ButtonFunctionFrm.dfm index ddbe85c..eddd84b 100644 --- a/G940LEDControl/Forms/ButtonFunctionFrm.dfm +++ b/G940LEDControl/Forms/ButtonFunctionFrm.dfm @@ -40,8 +40,7 @@ object ButtonFunctionForm: TButtonFunctionForm Margins.Bottom = 0 Align = alBottom BevelOuter = bvNone - TabOrder = 3 - ExplicitTop = 441 + TabOrder = 2 DesignSize = ( 692 43) @@ -76,42 +75,6 @@ object ButtonFunctionForm: TButtonFunctionForm TabOrder = 1 end end - object vstFunctions: TVirtualStringTree - AlignWithMargins = True - Left = 8 - Top = 60 - Width = 257 - Height = 450 - Margins.Left = 8 - Margins.Top = 8 - Margins.Right = 0 - Margins.Bottom = 0 - Align = alLeft - Header.AutoSizeIndex = 0 - Header.Font.Charset = DEFAULT_CHARSET - Header.Font.Color = clWindowText - Header.Font.Height = -11 - Header.Font.Name = 'Tahoma' - Header.Font.Style = [] - Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible] - IncrementalSearch = isAll - TabOrder = 1 - TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScrollOnExpand, toAutoSort, toAutoTristateTracking, toAutoDeleteMovedNodes] - TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toWheelPanning, toEditOnClick] - TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowTreeLines, toThemeAware, toUseBlendedImages] - TreeOptions.SelectionOptions = [toFullRowSelect] - OnFocusChanged = vstFunctionsFocusChanged - OnGetText = vstFunctionsGetText - OnPaintText = vstFunctionsPaintText - OnIncrementalSearch = vstFunctionsIncrementalSearch - ExplicitHeight = 373 - Columns = < - item - Position = 0 - Width = 253 - WideText = 'Available functions' - end> - end object pnlFunction: TPanel AlignWithMargins = True Left = 273 @@ -124,8 +87,7 @@ object ButtonFunctionForm: TButtonFunctionForm Margins.Bottom = 0 Align = alClient BevelOuter = bvNone - TabOrder = 2 - ExplicitHeight = 373 + TabOrder = 1 object pnlName: TPanel Left = 0 Top = 0 @@ -197,7 +159,6 @@ object ButtonFunctionForm: TButtonFunctionForm Align = alClient BorderStyle = bsNone TabOrder = 1 - ExplicitHeight = 276 end end object pnlHeader: TPanel @@ -266,4 +227,80 @@ object ButtonFunctionForm: TButtonFunctionForm ParentFont = False end end + object pnlFunctions: TPanel + AlignWithMargins = True + Left = 8 + Top = 60 + Width = 257 + Height = 450 + Margins.Left = 8 + Margins.Top = 8 + Margins.Right = 0 + Margins.Bottom = 0 + Align = alLeft + BevelOuter = bvNone + TabOrder = 3 + ExplicitLeft = 265 + ExplicitTop = 52 + ExplicitHeight = 458 + object vstFunctions: TVirtualStringTree + Left = 0 + Top = 29 + Width = 257 + Height = 421 + Align = alClient + Header.AutoSizeIndex = 0 + Header.Font.Charset = DEFAULT_CHARSET + Header.Font.Color = clWindowText + Header.Font.Height = -11 + Header.Font.Name = 'Tahoma' + Header.Font.Style = [] + Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible] + IncrementalSearch = isAll + TabOrder = 1 + TreeOptions.AutoOptions = [toAutoDropExpand, toAutoScrollOnExpand, toAutoSort, toAutoTristateTracking, toAutoDeleteMovedNodes] + TreeOptions.MiscOptions = [toAcceptOLEDrop, toFullRepaintOnResize, toInitOnSave, toWheelPanning, toEditOnClick] + TreeOptions.PaintOptions = [toShowButtons, toShowDropmark, toShowTreeLines, toThemeAware, toUseBlendedImages] + TreeOptions.SelectionOptions = [toFullRowSelect] + OnFocusChanged = vstFunctionsFocusChanged + OnGetText = vstFunctionsGetText + OnPaintText = vstFunctionsPaintText + OnIncrementalSearch = vstFunctionsIncrementalSearch + ExplicitTop = 8 + ExplicitHeight = 450 + Columns = < + item + Position = 0 + Width = 253 + WideText = 'Available functions' + end> + end + object edtSearch: TEdit + Tag = 1 + AlignWithMargins = True + Left = 0 + Top = 0 + Width = 257 + Height = 21 + Margins.Left = 0 + Margins.Top = 0 + Margins.Right = 0 + Margins.Bottom = 8 + Align = alTop + Font.Charset = DEFAULT_CHARSET + Font.Color = clGrayText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 0 + Text = 'Search...' + OnChange = edtSearchChange + OnEnter = edtSearchEnter + OnExit = edtSearchExit + ExplicitLeft = 72 + ExplicitTop = 216 + ExplicitWidth = 121 + end + end end diff --git a/G940LEDControl/Forms/ButtonFunctionFrm.pas b/G940LEDControl/Forms/ButtonFunctionFrm.pas index a1e81bf..495691a 100644 --- a/G940LEDControl/Forms/ButtonFunctionFrm.pas +++ b/G940LEDControl/Forms/ButtonFunctionFrm.pas @@ -43,6 +43,8 @@ type lblCurrentFunction: TLabel; lblCurrentCategory: TLabel; bvlFooter: TBevel; + pnlFunctions: TPanel; + edtSearch: TEdit; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); @@ -51,6 +53,9 @@ type procedure vstFunctionsFocusChanged(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex); procedure vstFunctionsIncrementalSearch(Sender: TBaseVirtualTree; Node: PVirtualNode; const SearchText: string; var Result: Integer); procedure btnOKClick(Sender: TObject); + procedure edtSearchChange(Sender: TObject); + procedure edtSearchEnter(Sender: TObject); + procedure edtSearchExit(Sender: TObject); private FProfile: TProfile; FButtonIndex: Integer; @@ -64,6 +69,7 @@ type procedure Initialize(AProfile: TProfile; AButtonIndex: Integer); procedure LoadFunctions; + procedure ApplyFilter(const AFilter: string); procedure SetFunction(AProvider: ILEDFunctionProvider; AFunction: ILEDFunction); procedure LoadStates(AProvider: ILEDFunctionProvider; AFunction: ILEDMultiStateFunction); @@ -99,6 +105,7 @@ type implementation uses System.Math, + System.StrUtils, System.SysUtils, Winapi.Windows, @@ -232,6 +239,55 @@ begin end; +procedure TButtonFunctionForm.ApplyFilter(const AFilter: string); +var + hasFilter: Boolean; + categoryNode: PVirtualNode; + functionNode: PVirtualNode; + hasVisibleChildren: Boolean; + nodeData: PFunctionNodeData; + +begin + hasFilter := (Length(AFilter) > 0); + + vstFunctions.BeginUpdate; + try + categoryNode := vstFunctions.GetFirst; + while Assigned(categoryNode) do + begin + hasVisibleChildren := False; + + functionNode := vstFunctions.GetFirstChild(categoryNode); + while Assigned(functionNode) do + begin + nodeData := vstFunctions.GetNodeData(functionNode); + if nodeData^.NodeType = ntFunction then + begin + if hasFilter and (not ContainsText(nodeData^.LEDFunction.GetDisplayName, AFilter)) then + Exclude(functionNode^.States, vsVisible) + else + Include(functionNode^.States, vsVisible); + end; + + if vsVisible in functionNode^.States then + hasVisibleChildren := True; + + functionNode := vstFunctions.GetNextSibling(functionNode); + end; + + if hasVisibleChildren then + Include(categoryNode^.States, vsVisible) + else + Exclude(categoryNode^.States, vsVisible); + + categoryNode := vstFunctions.GetNextSibling(categoryNode); + end; + finally + vstFunctions.EndUpdate; + end; +end; + + procedure TButtonFunctionForm.SetFunction(AProvider: ILEDFunctionProvider; AFunction: ILEDFunction); var multiStateFunction: ILEDMultiStateFunction; @@ -476,6 +532,39 @@ begin end; +procedure TButtonFunctionForm.edtSearchChange(Sender: TObject); +begin + if edtSearch.Tag = 1 then + ApplyFilter('') + else + ApplyFilter(Trim(edtSearch.Text)); +end; + + +procedure TButtonFunctionForm.edtSearchEnter(Sender: TObject); +begin + if edtSearch.Tag = 1 then + begin + edtSearch.Text := ''; + edtSearch.Font.Color := clWindowText; + edtSearch.Tag := 0; + end; +end; + + +procedure TButtonFunctionForm.edtSearchExit(Sender: TObject); +begin + if Length(Trim(edtSearch.Text)) = 0 then + begin + edtSearch.Tag := 1; + edtSearch.Text := 'Search...'; + edtSearch.Font.Color := clGrayText; + end else + edtSearch.Tag := 0; +end; + + + { TStateControlInfo } constructor TStateControlInfo.Create(AState: ILEDState; AStateLabel: TLabel; AComboBox: TComboBox); begin diff --git a/G940LEDControl/Forms/MainFrm.dfm b/G940LEDControl/Forms/MainFrm.dfm index 5f2a07a..24163a6 100644 --- a/G940LEDControl/Forms/MainFrm.dfm +++ b/G940LEDControl/Forms/MainFrm.dfm @@ -1,7 +1,7 @@ object MainForm: TMainForm Left = 0 Top = 0 - ActiveControl = cbTrayIcon + ActiveControl = cmbProfiles BorderIcons = [biSystemMenu, biMinimize] BorderStyle = bsSingle Caption = 'G940 LED Control' @@ -30,15 +30,11 @@ object MainForm: TMainForm Margins.Top = 8 Margins.Right = 8 Margins.Bottom = 8 - ActivePage = tsConfiguration + ActivePage = tsButtons Align = alClient TabOrder = 0 object tsButtons: TTabSheet Caption = ' Button assignment ' - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 DesignSize = ( 442 452) @@ -533,10 +529,6 @@ object MainForm: TMainForm object tsAbout: TTabSheet Caption = 'About' ImageIndex = 1 - ExplicitLeft = 0 - ExplicitTop = 0 - ExplicitWidth = 0 - ExplicitHeight = 0 object lblVersionCaption: TLabel Left = 16 Top = 67 diff --git a/G940LEDControl/Forms/MainFrm.pas b/G940LEDControl/Forms/MainFrm.pas index c7e0808..a8c18d8 100644 --- a/G940LEDControl/Forms/MainFrm.pas +++ b/G940LEDControl/Forms/MainFrm.pas @@ -13,6 +13,7 @@ uses Vcl.StdCtrls, Winapi.Messages, Winapi.Windows, + Vcl.AppEvnts, OtlComm, OtlEventMonitor, @@ -27,7 +28,7 @@ uses LEDStateConsumer, Profile, ProfileManager, - Settings, Vcl.AppEvnts; + Settings; const diff --git a/G940LEDControl/G940LEDControl.dproj b/G940LEDControl/G940LEDControl.dproj index eab5b18..0e27dc6 100644 --- a/G940LEDControl/G940LEDControl.dproj +++ b/G940LEDControl/G940LEDControl.dproj @@ -8,7 +8,7 @@ VCL 13.4 True - Release + Debug Win32 1 Application @@ -49,8 +49,7 @@ true - 1 - 1 + 2 1 rtl;dbrtl;$(DCC_UsePackage) Lib @@ -60,7 +59,7 @@ None G940LEDControl_Icon.ico Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) - CompanyName=X²Software;FileDescription=G940 LED Control;FileVersion=1.1.1.1;InternalName=;LegalCopyright=© 2011 - 2015 X²Software;LegalTrademarks=;OriginalFilename=G940LEDControl.exe;ProductName=G940 LED Control;ProductVersion=1.1;Comments= + CompanyName=X²Software;FileDescription=G940 LED Control;FileVersion=1.1.2.0;InternalName=;LegalCopyright=© 2011 - 2015 X²Software;LegalTrademarks=;OriginalFilename=G940LEDControl.exe;ProductName=G940 LED Control;ProductVersion=1.1;Comments= 1033 @@ -98,7 +97,7 @@ /restart false - CompanyName=;FileDescription=;FileVersion=0.2.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=0.2;Comments= + CompanyName=;FileDescription=;FileVersion=1.1.1.1;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=0.2;Comments= $(BDS)\bin\default_app.manifest @@ -196,7 +195,8 @@ - JVCL BDE Components + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components diff --git a/G940LEDControl/G940LEDControl.res b/G940LEDControl/G940LEDControl.res index 25a0be1..3a9a558 100644 Binary files a/G940LEDControl/G940LEDControl.res and b/G940LEDControl/G940LEDControl.res differ diff --git a/G940LEDControl/Units/FSXLEDFunction.pas b/G940LEDControl/Units/FSXLEDFunction.pas index ac7de2e..52250f5 100644 --- a/G940LEDControl/Units/FSXLEDFunction.pas +++ b/G940LEDControl/Units/FSXLEDFunction.pas @@ -54,6 +54,13 @@ type function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; end; + TFSXAutoBrakeFunction = class(TCustomFSXFunction) + protected + function GetCategoryName: string; override; + procedure RegisterStates; override; + function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; + end; + TFSXPressDumpSwitchFunction = class(TCustomFSXInvertedOnOffFunction) protected function GetCategoryName: string; override; @@ -120,6 +127,13 @@ type function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; end; + TFSXSpoilersArmedFunction = class(TCustomFSXFunction) + protected + function GetCategoryName: string; override; + procedure RegisterStates; override; + function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; + end; + { Lights } TCustomFSXLightFunction = class(TCustomFSXOnOffFunction) @@ -346,6 +360,27 @@ begin end; +{ TFSXAutoBrakeFunction } +function TFSXAutoBrakeFunction.GetCategoryName: string; +begin + Result := FSXCategorySystems; +end; + +procedure TFSXAutoBrakeFunction.RegisterStates; +begin + RegisterState(TLEDState.Create(FSXStateUIDAutoBrake0, FSXStateDisplayNameAutoBrake0, lcGreen)); + RegisterState(TLEDState.Create(FSXStateUIDAutoBrake1, FSXStateDisplayNameAutoBrake1, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDAutoBrake2, FSXStateDisplayNameAutoBrake2, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDAutoBrake3, FSXStateDisplayNameAutoBrake3, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDAutoBrake4, FSXStateDisplayNameAutoBrake4, lcRed)); +end; + +function TFSXAutoBrakeFunction.GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; +begin + Result := TFSXAutoBrakeFunctionWorker; +end; + + { TFSXPressDumpSwitchFunction } function TFSXPressDumpSwitchFunction.GetCategoryName: string; begin @@ -530,6 +565,27 @@ begin end; +{ TFSXSpoilersArmedFunction } +function TFSXSpoilersArmedFunction.GetCategoryName: string; +begin + Result := FSXCategoryControlSurfaces; +end; + + +procedure TFSXSpoilersArmedFunction.RegisterStates; +begin + RegisterState(TLEDState.Create(FSXStateUIDSpoilersNotAvailable, FSXStateDisplayNameSpoilersNotAvailable, lcOff)); + RegisterState(TLEDState.Create(FSXStateUIDOn, FSXStateDisplayNameOn, lcRed)); + RegisterState(TLEDState.Create(FSXStateUIDOff, FSXStateDisplayNameOff, lcGreen)); +end; + + +function TFSXSpoilersArmedFunction.GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; +begin + Result := TFSXSpoilersArmedFunctionWorker; +end; + + { TFSXLightFunction } function TCustomFSXLightFunction.GetCategoryName: string; begin diff --git a/G940LEDControl/Units/FSXLEDFunctionProvider.pas b/G940LEDControl/Units/FSXLEDFunctionProvider.pas index 4a604e1..826d812 100644 --- a/G940LEDControl/Units/FSXLEDFunctionProvider.pas +++ b/G940LEDControl/Units/FSXLEDFunctionProvider.pas @@ -137,6 +137,7 @@ begin RegisterFunction(TFSXExitDoorFunction.Create( Self, FSXFunctionDisplayNameExitDoor, FSXFunctionUIDExitDoor)); RegisterFunction(TFSXGearFunction.Create( Self, FSXFunctionDisplayNameGear, FSXFunctionUIDGear)); RegisterFunction(TFSXParkingBrakeFunction.Create( Self, FSXFunctionDisplayNameParkingBrake, FSXFunctionUIDParkingBrake)); + RegisterFunction(TFSXAutoBrakeFunction.Create( Self, FSXFunctionDisplayNameAutoBrake, FSXFunctionUIDAutoBrake)); RegisterFunction(TFSXPressDumpSwitchFunction.Create( Self, FSXFunctionDisplayNamePressDumpSwitch, FSXFunctionUIDPressDumpSwitch)); RegisterFunction(TFSXTailHookFunction.Create( Self, FSXFunctionDisplayNameTailHook, FSXFunctionUIDTailHook)); @@ -152,6 +153,7 @@ begin { Control surfaces } RegisterFunction(TFSXFlapsFunction.Create( Self, FSXFunctionDisplayNameFlaps, FSXFunctionUIDFlaps)); RegisterFunction(TFSXSpoilersFunction.Create( Self, FSXFunctionDisplayNameSpoilers, FSXFunctionUIDSpoilers)); + RegisterFunction(TFSXSpoilersArmedFunction.Create( Self, FSXFunctionDisplayNameSpoilersArmed, FSXFunctionUIDSpoilersArmed)); { Lights } RegisterFunction(TFSXBeaconLightsFunction.Create( Self, FSXFunctionDisplayNameBeaconLights, FSXFunctionUIDBeaconLights)); diff --git a/G940LEDControl/Units/FSXLEDFunctionWorker.pas b/G940LEDControl/Units/FSXLEDFunctionWorker.pas index d1dd624..6c27288 100644 --- a/G940LEDControl/Units/FSXLEDFunctionWorker.pas +++ b/G940LEDControl/Units/FSXLEDFunctionWorker.pas @@ -45,6 +45,12 @@ type procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; end; + TFSXAutoBrakeFunctionWorker = class(TCustomFSXOnOffFunctionWorker) + protected + procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; + procedure HandleData(AData: Pointer); override; + end; + TFSXPressDumpSwitchFunctionWorker = class(TCustomFSXOnOffFunctionWorker) protected procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; @@ -103,6 +109,12 @@ type procedure HandleData(AData: Pointer); override; end; + TFSXSpoilersArmedFunctionWorker = class(TCustomFSXFunctionWorker) + protected + procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; + procedure HandleData(AData: Pointer); override; + end; + { Lights } TFSXLightStatesFunctionWorker = class(TCustomFSXFunctionWorker) @@ -313,6 +325,36 @@ begin end; +{ TFSXAutoBrakeFunctionWorker } +procedure TFSXAutoBrakeFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); +begin + ADefinition.AddVariable('AUTO BRAKE SWITCH CB', FSX_UNIT_NUMBER, SIMCONNECT_DATAType_INT32); +end; + +procedure TFSXAutoBrakeFunctionWorker.HandleData(AData: Pointer); +type + PAutoBrakeData = ^TAutoBrakeData; + TAutoBrakeData = packed record + Position: Cardinal; + end; + +var + autoBrakeData: PAutoBrakeData; + +begin + autoBrakeData := AData; + + case autoBrakeData^.Position of + 0: SetCurrentState(FSXStateUIDAutoBrake0); + 1: SetCurrentState(FSXStateUIDAutoBrake1); + 2: SetCurrentState(FSXStateUIDAutoBrake2); + 3: SetCurrentState(FSXStateUIDAutoBrake3); + else + SetCurrentState(FSXStateUIDAutoBrake4); + end; +end; + + { TFSXPressDumpSwitchFunctionWorker } procedure TFSXPressDumpSwitchFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); begin @@ -631,7 +673,7 @@ var begin spoilersData := AData; - if SpoilersData^.SpoilersAvailable <> 0 then + if spoilersData^.SpoilersAvailable <> 0 then begin case Trunc(SpoilersData^.SpoilersHandlePercent) of 0..5: SetCurrentState(FSXStateUIDSpoilersRetracted); @@ -643,6 +685,40 @@ begin end; +{ TFSXSpoilersArmedFunctionWorker } +procedure TFSXSpoilersArmedFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); +begin + ADefinition.AddVariable('SPOILER AVAILABLE', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable('SPOILERS ARMED', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); +end; + + +procedure TFSXSpoilersArmedFunctionWorker.HandleData(AData: Pointer); +type + PSpoilersArmedData = ^TSpoilersArmedData; + TSpoilersArmedData = packed record + SpoilersAvailable: Cardinal; + SpoilersArmed: Cardinal; + end; + +var + spoilersArmedData: PSpoilersArmedData; + +begin + spoilersArmedData := AData; + + if spoilersArmedData^.SpoilersAvailable <> 0 then + begin + if spoilersArmedData^.SpoilersArmed <> 0 then + SetCurrentState(FSXStateUIDOn) + else + SetCurrentState(FSXStateUIDOff); + end else + SetCurrentState(FSXStateUIDSpoilersNotAvailable); +end; + + + { TFSXLightStatesFunctionWorker } procedure TFSXLightStatesFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); begin diff --git a/G940LEDControl/Units/FSXResources.pas b/G940LEDControl/Units/FSXResources.pas index a8d68d0..4aa6b1c 100644 --- a/G940LEDControl/Units/FSXResources.pas +++ b/G940LEDControl/Units/FSXResources.pas @@ -278,6 +278,26 @@ const FSXStateDisplayNamePitotOnIceFull = 'Heat on - Fully iced'; + FSXFunctionUIDAutoBrake = 'autoBrake'; + FSXFunctionDisplayNameAutoBrake = 'Auto brake'; + + FSXStateUIDAutoBrake0 = '0'; + FSXStateUIDAutoBrake1 = '1'; + FSXStateUIDAutoBrake2 = '2'; + FSXStateUIDAutoBrake3 = '3'; + FSXStateUIDAutoBrake4 = '4'; + + FSXStateDisplayNameAutoBrake0 = 'Off / not available'; + FSXStateDisplayNameAutoBrake1 = '1'; + FSXStateDisplayNameAutoBrake2 = '2'; + FSXStateDisplayNameAutoBrake3 = '3'; + FSXStateDisplayNameAutoBrake4 = '4'; + + + FSXFunctionUIDSpoilersArmed = 'spoilersArmed'; + FSXFunctionDisplayNameSpoilersArmed = 'Auto-spoilers armed'; + + FSXMenuProfiles = 'G940 Profile'; FSXMenuProfileFormat = 'G940: %s'; FSXMenuProfileFormatCascaded = '%s'; diff --git a/Test/G940Test.dproj b/Test/G940Test.dproj index 9ba027b..cd7cedc 100644 --- a/Test/G940Test.dproj +++ b/Test/G940Test.dproj @@ -1,62 +1,148 @@ - - - {e15b9b2c-c6df-43f5-b397-01c1885281f4} - Debug - AnyCPU - DCC32 - G940Test.exe - G940Test.dpr - - - 7.0 - False - False - 0 - RELEASE - - - 7.0 - DEBUG - Lib - Lib - Lib - ..\DirectX;..\Shared - ..\DirectX;..\Shared - ..\DirectX;..\Shared - ..\DirectX;..\Shared - - - Delphi.Personality - - -FalseTrueFalseFalseFalse1000FalseFalseFalseFalseFalse104312521.0.0.01.0.0.0G940Test.dpr - - - - - - - - - - - - - - - - WPViewPDF - PDFViewClass - madExceptVcl 2.0c - www.madshi.net - ExpressPivotGrid 2 OLAP by Developer Express Inc. - - - - - - MainSource - - -
MainForm
-
-
-
\ No newline at end of file + + + {e15b9b2c-c6df-43f5-b397-01c1885281f4} + Debug + DCC32 + G940Test.exe + G940Test.dpr + VCL + 13.4 + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + 1043 + + + G940Test_Icon1.ico + $(BDS)\bin\default_app.manifest + + + true + G940Test_Icon1.ico + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + 1033 + $(BDS)\bin\default_app.manifest + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments= + + + 7.0 + False + False + 0 + RELEASE;$(DCC_Define) + + + 7.0 + DEBUG;$(DCC_Define) + Lib + Lib + Lib + ..\DirectX;..\Shared;$(DCC_UnitSearchPath) + ..\DirectX;..\Shared;$(DCC_ResourcePath) + ..\DirectX;..\Shared;$(DCC_ObjPath) + ..\DirectX;..\Shared;$(DCC_IncludePath) + + + Delphi.Personality.12 + + + + + False + True + False + + + False + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1043 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + G940Test.dpr + + + WPViewPDF - PDFViewClass + madExceptVcl 2.0c - www.madshi.net + ExpressPivotGrid 2 OLAP by Developer Express Inc. + + + + False + True + + + 12 + + + + + MainSource + + +
MainForm
+
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ +