IDE, LCL: Lazarus help output refactoring by n7800, issue #40690:

1. The text has been slightly corrected and made more uniform.
2. The parameters are sorted in some logical order, starting with the more "global" ones. A long list of values for debugging is located at the end. Now all parameters are visible at once, without scrolling.
3. Indentations fixed.
4. The list of values for the --skip-checks parameter is listed in a column, similar to the values for the --debug-enable parameter. This is easier to read and does not create a very long line, which is visible in the screenshot.
5. The "LCL Interface specific options:" header is displayed only if such parameters exist.
6. Changed max line length to a more standard 80.
7. Help output has been moved in a nested function.
8. Removed unused code.
This commit is contained in:
Maxim Ganetsky 2024-01-20 02:31:54 +03:00
parent e585a9016f
commit f0eb9b849d
26 changed files with 338 additions and 444 deletions

View File

@ -146,27 +146,27 @@ resourcestring
lisErrOptionNeeded = 'Option at position %d needs an argument : %s';
// command line help
listhisHelpMessage = 'this help message';
lisprimaryConfigDirectoryWhereLazarusStoresItsConfig = 'primary config '+
'directory where Lazarus stores its config files. Default is ';
lislazarusOptionsProjectFilename = 'lazarus [options] <project-filename>';
lisThisHelpMessage = 'This help message.';
lisPrimaryConfigDirectoryWhereLazarusStoresItsConfig = 'Primary config '+
'directory where Lazarus stores its config files. Default is "%s".';
lisLazarusOptionsProjectFilename = 'lazarus [options] <project-filename>';
lisIDEOptions = 'IDE Options:';
lisCmdLineLCLInterfaceSpecificOptions = 'LCL Interface specific options:';
lisDoNotShowSplashScreen = 'Do not show splash screen';
lisSkipLoadingLastProject = 'Skip loading last project';
lisDoNotCheckIfAnotherIDEInstanceIsAlreadyRunning = '%sDo not check if '
+'another IDE instance is already running';
lisOverrideLanguage = 'Override language. For example --language=de.'+
' For possible values see files in the languages directory.';
lissecondaryConfigDirectoryWhereLazarusSearchesFor = 'secondary config '+
'directory where Lazarus searches for config template files. Default is ';
lisDoNotShowSplashScreen = 'Do not show splash screen.';
lisSkipLoadingLastProject = 'Skip loading last project.';
lisDoNotCheckIfAnotherIDEInstanceIsAlreadyRunning = 'Do not check if '
+'another IDE instance is already running.';
lisOverrideLanguage = 'Override language. '+
'For possible values see files in the "languages" directory. Example: "--language=de".';
lisSecondaryConfigDirectoryWhereLazarusSearchesFor = 'Secondary config '+
'directory where Lazarus searches for config template files. Default is "%s".';
lisFileWhereDebugOutputIsWritten =
'file where debug output is written to. If it is '+
'not specified, debug output is written to the console.';
lisSkipStartupChecks = 'Skip selected checks at startup.';
lisGroupsForDebugOutput = 'Enable or Disable groups of debug output.' +
' Valid Options are:';
lisLazarusDirOverride = 'directory to be used as a basedirectory';
'File where debug output is written to. Default is write to the console.';
lisSkipStartupChecks = 'Skip selected checks at startup. Valid options are:';
lisGroupsForDebugOutput = 'Enable or disable groups of debug output. ' +
'Valid options are:';
lisLazarusDirOverride = 'Directory to be used as a basedirectory.';
lisMaximumNumberOfThreadsForCompilingInParallelDefaul = 'Maximum number of '
+'threads for compiling in parallel. Default is 0 which guesses the '
+'number of cores in the system.';
@ -5495,11 +5495,11 @@ resourcestring
lisAddPackageSToListOfInstalledPackagesCombineWithBui = 'add package(s) to '
+'list of installed packages (combine with --build-ide to rebuild IDE).';
lisBuildIDEWithPackages = 'build IDE with packages';
lisShowVersionAndExit = 'show version and exit';
lisBeLessVerboseCanBeGivenMultipleTimes = 'be less verbose, can be given '
+'multiple times';
lisBeMoreVerboseCanBeGivenMultipleTimes = 'be more verbose, can be given '
+'multiple times';
lisShowVersionAndExit = 'Show version and exit.';
lisBeLessVerboseCanBeGivenMultipleTimes = 'Be less verbose. Can be given '
+'multiple times.';
lisBeMoreVerboseCanBeGivenMultipleTimes = 'Be more verbose. Can be given '
+'multiple times.';
lisOverrideTheProjectOperatingSystemEGWin32LinuxDefau = '%soverride the '
+'project operating system. e.g. win32 linux. default: %s';
lisOverrideTheProjectWidgetsetEGGtkGtk2QtWin32CarbonD = '%soverride the '
@ -5965,7 +5965,7 @@ resourcestring
lisCFETheComponentEditorOfClassHasCreatedTheError = 'The component editor '
+'of class "%s"has created the error:%s"%s"';
lisShowSetupDialogForMostImportantSettings = 'Show setup dialog for most '
+'important settings';
+'important settings.';
lisShowPositionOfSourceEditor = 'Show position of source editor';
//Initial setup dialog

View File

@ -1040,68 +1040,14 @@ end;
Parses the command line for the IDE.
-------------------------------------------------------------------------------}
class procedure TMainIDE.ParseCmdLineOptions;
const
space = ' ';
var
AHelp: TStringList;
HelpLang: string;
procedure AddHelp(Args: array of const);
lHelp: TStringList;
//
procedure TranslateHelp;
var
i: Integer;
s: String;
begin
s:='';
for i := Low(Args) to High(Args) do
begin
case Args[i].VType of
vtInteger: s+=dbgs(Args[i].vinteger);
vtInt64: s+=dbgs(Args[i].VInt64^);
vtQWord: s+=dbgs(Args[i].VQWord^);
vtBoolean: s+=dbgs(Args[i].vboolean);
vtExtended: s+=dbgs(Args[i].VExtended^);
{$ifdef FPC_CURRENCY_IS_INT64}
// fpc 2.x has troubles in choosing the right dbgs()
// so we convert here
vtCurrency: s+=dbgs(int64(Args[i].vCurrency^)/10000, 4);
{$else}
vtCurrency: s+=dbgs(Args[i].vCurrency^);
{$endif}
vtString: s+=Args[i].VString^;
vtAnsiString: s+=AnsiString(Args[i].VAnsiString);
vtChar: s+=Args[i].VChar;
vtPChar: s+=Args[i].VPChar;
vtPWideChar: {%H-}s+=Args[i].VPWideChar{%H-};
vtWideChar: {%H-}s+=Args[i].VWideChar{%H-};
vtWidestring: {%H-}s+=WideString(Args[i].VWideString){%H-};
vtObject: s+=DbgSName(Args[i].VObject);
vtClass: s+=DbgSName(Args[i].VClass);
vtPointer: s+=Dbgs(Args[i].VPointer);
end;
end;
AHelp.Add(s);
end;
procedure WriteHelp(const AText: string);
begin
if TextRec(Output).Mode = fmClosed then
// Note: do not use IDEMessageDialog here:
Dialogs.MessageDlg(lisInformation, AText, mtInformation, [mbOk],0)
else
WriteLn(UTF8ToConsole(AText));
Application.Terminate;
end;
var
i: integer;
ConfFileName: String;
Cfg: TXMLConfig;
begin
ParamBaseDirectory:=GetCurrentDirUTF8;
StartedByStartLazarus:=false;
SkipAutoLoadingLastProject:=false;
EnableRemoteControl:=false;
if IsHelpRequested then
HelpLang: string;
ConfFileName: string;
Cfg: TXMLConfig;
begin
HelpLang := GetLanguageSpecified;
if HelpLang = '' then
@ -1118,66 +1064,117 @@ begin
end;
end;
TranslateResourceStrings(ProgramDirectoryWithBundle, HelpLang);
AHelp := TStringList.Create;
AddHelp([lislazarusOptionsProjectFilename]);
AddHelp(['']);
AddHelp([lisIDEOptions]);
AddHelp(['']);
AddHelp(['--help or -? ', listhisHelpMessage]);
AddHelp(['']);
AddHelp(['-v or --version ', lisShowVersionAndExit]);
AddHelp(['--quiet ', lisBeLessVerboseCanBeGivenMultipleTimes]);
AddHelp(['--verbose ', lisBeMoreVerboseCanBeGivenMultipleTimes]);
AddHelp(['']);
AddHelp([ShowSetupDialogOptLong]);
AddHelp([BreakString(space+lisShowSetupDialogForMostImportantSettings, 75, 22)]);
AddHelp(['']);
AddHelp([PrimaryConfPathOptLong, ' <path>']);
AddHelp(['or ', PrimaryConfPathOptShort, ' <path>']);
AddHelp([BreakString(space+lisprimaryConfigDirectoryWhereLazarusStoresItsConfig,
75, 22), LazConf.GetPrimaryConfigPath]);
AddHelp(['']);
AddHelp([SecondaryConfPathOptLong,' <path>']);
AddHelp(['or ',SecondaryConfPathOptShort,' <path>']);
AddHelp([BreakString(space+lissecondaryConfigDirectoryWhereLazarusSearchesFor,
75, 22), LazConf.GetSecondaryConfigPath]);
AddHelp(['']);
AddHelp([SkipChecksOptLong,''.Join(',', SkipChecksKeys)]);
AddHelp([BreakString(space+lisSkipStartupChecks, 75, 22)]);
AddHelp(['']);
AddHelp([DebugLogOpt,' <file>']);
AddHelp([BreakString(space+lisFileWhereDebugOutputIsWritten, 75, 22)]);
AddHelp(['']);
AddHelp([DebugLogOptEnable,' [[-]OptName][,[-]OptName][...]']);
AddHelp([BreakString(space+lisGroupsForDebugOutput, 75, 22)]);
end;
//
procedure WriteHelp(const AText: string);
begin
if TextRec(Output).Mode = fmClosed then
// Note: do not use IDEMessageDialog here:
Dialogs.MessageDlg(lisInformation, AText, mtInformation, [mbOk], 0)
else
WriteLn(UTF8ToConsole(AText));
Application.Terminate;
end;
//
function GetCmdLineParamDescForLazarus: TStringList;
var
e: TSkipAbleChecks;
i: Integer;
lDescr: String;
lLogGroups: TStringList;
begin
result := TStringList.Create;
// help
AddCmdLineParamDesc(result, ['-?', '-h', '--help'], lisThisHelpMessage);
// version
AddCmdLineParamDesc(result, ['-v', '--version'], lisShowVersionAndExit);
// language
AddCmdLineParamDesc(result, [LanguageOpt + '<id>'], lisOverrideLanguage);
// setup
AddCmdLineParamDesc(result, [ShowSetupDialogOptLong], lisShowSetupDialogForMostImportantSettings);
// skipchecks
lDescr := lisSkipStartupChecks;
for e := low(TSkipAbleChecks) to high(TSkipAbleChecks) do
lDescr := lDescr + LineEnding + SkipChecksKeys[e];
AddCmdLineParamDesc(result, [SkipChecksOptLong + '[OptName][,OptName][...]'], lDescr);
// lazdir
AddCmdLineParamDesc(result, [LazarusDirOpt + '<directory>'], lisLazarusDirOverride);
// config
AddCmdLineParamDesc(result, [PrimaryConfPathOptShort + '<path>', PrimaryConfPathOptLong + '<path>'],
Format(lisPrimaryConfigDirectoryWhereLazarusStoresItsConfig, [LazConf.GetPrimaryConfigPath]));
AddCmdLineParamDesc(result, [SecondaryConfPathOptShort + '<path>', SecondaryConfPathOptLong + '<path>'],
Format(lisSecondaryConfigDirectoryWhereLazarusSearchesFor, [LazConf.GetSecondaryConfigPath]));
// new instance
AddCmdLineParamDesc(result, [ForceNewInstanceOpt], lisDoNotCheckIfAnotherIDEInstanceIsAlreadyRunning);
// skip last project
AddCmdLineParamDesc(result, [SkipLastProjectOpt], lisSkipLoadingLastProject);
// splash
AddCmdLineParamDesc(result, [NoSplashScreenOptShort, NoSplashScreenOptLong], lisDoNotShowSplashScreen);
// verbose
AddCmdLineParamDesc(result, ['--quiet'], lisBeLessVerboseCanBeGivenMultipleTimes);
AddCmdLineParamDesc(result, ['--verbose'], lisBeMoreVerboseCanBeGivenMultipleTimes);
// debug file
AddCmdLineParamDesc(result, [DebugLogOpt + '<file>'], lisFileWhereDebugOutputIsWritten);
// debug groups (sorted)
lLogGroups := TStringList.Create;
for i := 0 to DebugLogger.LogGroupList.Count - 1 do
AddHelp([space + DebugLogger.LogGroupList[i]^.ConfigName]);
AddHelp(['']);
AddHelp([NoSplashScreenOptLong]);
AddHelp(['or ',NoSplashScreenOptShort]);
AddHelp([BreakString(space+lisDoNotShowSplashScreen,75, 22)]);
AddHelp(['']);
AddHelp([ForceNewInstanceOpt]);
AddHelp([BreakString(Format(
lisDoNotCheckIfAnotherIDEInstanceIsAlreadyRunning, [space]), 75, 22)]);
AddHelp(['']);
AddHelp([SkipLastProjectOpt]);
AddHelp([BreakString(space+lisSkipLoadingLastProject, 75, 22)]);
AddHelp(['']);
AddHelp([LanguageOpt]);
AddHelp([BreakString(space+lisOverrideLanguage,75, 22)]);
AddHelp(['']);
AddHelp([LazarusDirOpt,'<directory>']);
AddHelp([BreakString(space+lisLazarusDirOverride, 75, 22)]);
AddHelp(['']);
AddHelp([lisCmdLineLCLInterfaceSpecificOptions]);
AddHelp(['']);
AddHelp([GetCmdLineParamDescForInterface]);
AddHelp(['']);
lLogGroups.Add(DebugLogger.LogGroupList[i]^.ConfigName);
lLogGroups.Sort;
lDescr := lisGroupsForDebugOutput + LineEnding + lLogGroups.Text;
FreeAndNil(lLogGroups);
AddCmdLineParamDesc(result, [DebugLogOptEnable + '[[-]OptName][,[-]OptName][...]'], lDescr);
end;
//
// lOptions is freed at the end
procedure AddHelpSection(aHeader: string; lOptions: TStringList);
const
cDescrIndent = 16;
cMaxLength = 80;
var
i: Integer;
begin
if lOptions = nil then exit;
WriteHelp(AHelp.Text);
AHelp.Free;
// header
lHelp.Add('');
lHelp.Add(aHeader);
lHelp.Add('');
// indent for descriptions (all lines not starting with '-' or '/')
for i := 0 to lOptions.Count - 1 do
if (lOptions[i] <> '') and not (lOptions[i][1] in ['-', '/']) then
lOptions[i] := BreakString(StringOfChar(' ', cDescrIndent) + lOptions[i], cMaxLength, cDescrIndent);
lHelp.AddStrings(lOptions);
FreeThenNil(lOptions);
end;
//
procedure CallHelp;
begin
TranslateHelp;
lHelp := TStringList.Create;
// command line
lHelp.Add(lisLazarusOptionsProjectFilename);
// IDE options
AddHelpSection(lisIDEOptions, GetCmdLineParamDescForLazarus);
// interface options
AddHelpSection(lisCmdLineLCLInterfaceSpecificOptions, GetCmdLineParamDescForInterface);
WriteHelp(lHelp.Text);
FreeThenNil(lHelp);
end;
//
begin
ParamBaseDirectory:=GetCurrentDirUTF8;
StartedByStartLazarus:=false;
SkipAutoLoadingLastProject:=false;
EnableRemoteControl:=false;
if IsHelpRequested then
begin
CallHelp;
exit;
end;
if IsVersionRequested then

View File

@ -373,9 +373,9 @@ begin
Result := false;
end;
function TWidgetSet.GetCmdLineParamDescForInterface: string;
function TWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result := '';
Result := nil;
end;
function TWidgetSet.GetControlConstraints(Constraints: TObject): boolean;

View File

@ -238,7 +238,7 @@ end;
Returns a description of the command line parameters, that are understood by
the interface.
------------------------------------------------------------------------------}
function GetCmdLineParamDescForInterface: string;
function GetCmdLineParamDescForInterface: TStringList;
begin
Result := WidgetSet.GetCmdLineParamDescForInterface;
end;

View File

@ -70,7 +70,7 @@ function GetAvailableNativeCanvasTypes(DC: HDC; AAllowFallbackToParent: Boolean
function GetAvailableNativeHandleTypes(Handle: HWND; AAllowFallbackToParent: Boolean = False): TNativeHandleTypes; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetCaretRespondToFocus(handle: HWND; var ShowHideOnFocus: boolean): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetClientBounds(handle : HWND; var ARect: TRect) : Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetCmdLineParamDescForInterface: string; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetCmdLineParamDescForInterface: TStringList; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetControlConstraints(Constraints: TObject): boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetDCOriginRelativeToWindow(PaintDC: HDC; WindowHandle: HWND; var OriginDiff: TPoint): boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}
function GetDesignerDC(WindowHandle: HWND): HDC; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF}

View File

@ -1306,7 +1306,7 @@ begin
Result := TCarbonDeviceContext(DC).CopyClipRegion(TCarbonRegion(RGN));
end;
function TCarbonWidgetSet.GetCmdLineParamDescForInterface: string;
function TCarbonWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=inherited GetCmdLineParamDescForInterface;
end;

View File

@ -98,7 +98,7 @@ function GetClientBounds(Handle: HWND; var ARect: TRect): Boolean; override;
function GetClientRect(Handle: HWND; var ARect: TRect): Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC : hDC; RGN : hRGN) : Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint): Boolean; override;
function GetDC(HWnd: HWND): HDC; override;

View File

@ -2576,40 +2576,6 @@ begin
end;
end;
(*function TQtWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
begin
Result:=
b(rsqtOptionNoGrab)
+b(rsqtOptionDoGrab)
+b(rsqtOptionSync)
+b(rsqtOptionStyle)
+b(rsqtOptionStyleSheet)
+b(rsqtOptionGraphicsStyle)
+b(rsqtOptionSession)
+b(rsqtOptionWidgetCount)
+b(rsqtOptionReverse)
{$IFDEF HASX11}
+b(rsqtOptionX11Display)
+b(rsqtOptionX11Geometry)
+b(rsqtOptionX11Font)
+b(rsqtOptionX11BgColor)
+b(rsqtOptionX11FgColor)
+b(rsqtOptionX11BtnColor)
+b(rsqtOptionX11Name)
+b(rsqtOptionX11Title)
+b(rsqtOptionX11Visual)
+b(rsqtOptionX11NCols)
+b(rsqtOptionX11CMap)
+b(rsqtOptionX11IM)
+b(rsqtOptionX11InputStyle)
{$ENDIF}
;
end;*)
{------------------------------------------------------------------------------
Method: GetCurrentObject
Params:

View File

@ -2634,40 +2634,6 @@ begin
end;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
begin
Result:=
b(rsqtOptionNoGrab)
+b(rsqtOptionDoGrab)
+b(rsqtOptionSync)
+b(rsqtOptionStyle)
+b(rsqtOptionStyleSheet)
+b(rsqtOptionGraphicsStyle)
+b(rsqtOptionSession)
+b(rsqtOptionWidgetCount)
+b(rsqtOptionReverse)
{$IFDEF HASX11}
+b(rsqtOptionX11Display)
+b(rsqtOptionX11Geometry)
+b(rsqtOptionX11Font)
+b(rsqtOptionX11BgColor)
+b(rsqtOptionX11FgColor)
+b(rsqtOptionX11BtnColor)
+b(rsqtOptionX11Name)
+b(rsqtOptionX11Title)
+b(rsqtOptionX11Visual)
+b(rsqtOptionX11NCols)
+b(rsqtOptionX11CMap)
+b(rsqtOptionX11IM)
+b(rsqtOptionX11InputStyle)
{$ENDIF}
;
end;
{------------------------------------------------------------------------------
Method: GetCurrentObject
Params:

View File

@ -2619,40 +2619,6 @@ begin
end;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
begin
Result:=
b(rsqtOptionNoGrab)
+b(rsqtOptionDoGrab)
+b(rsqtOptionSync)
+b(rsqtOptionStyle)
+b(rsqtOptionStyleSheet)
+b(rsqtOptionGraphicsStyle)
+b(rsqtOptionSession)
+b(rsqtOptionWidgetCount)
+b(rsqtOptionReverse)
{$IFDEF HASX11}
+b(rsqtOptionX11Display)
+b(rsqtOptionX11Geometry)
+b(rsqtOptionX11Font)
+b(rsqtOptionX11BgColor)
+b(rsqtOptionX11FgColor)
+b(rsqtOptionX11BtnColor)
+b(rsqtOptionX11Name)
+b(rsqtOptionX11Title)
+b(rsqtOptionX11Visual)
+b(rsqtOptionX11NCols)
+b(rsqtOptionX11CMap)
+b(rsqtOptionX11IM)
+b(rsqtOptionX11InputStyle)
{$ENDIF}
;
end;
{------------------------------------------------------------------------------
Method: GetCurrentObject
Params:

View File

@ -106,7 +106,7 @@ function BackendGetClientBounds(handle : HWND; var ARect : TRect) : Boolean;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC: hDC; RGN: hRGN): Longint; override;
//function GetCmdLineParamDescForInterface: string; override;
//function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint ): Boolean; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -4831,26 +4831,22 @@ end;
Returns a description of the command line parameters, that are understood by
the interface.
------------------------------------------------------------------------------}
function TGtkWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
function TGtkWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=
b(rsgtkOptionNoTransient)
+b(rsgtkOptionModule)
+b(rsgOptionFatalWarnings)
+b(rsgtkOptionDebug)
+b(rsgtkOptionNoDebug)
+b(rsgdkOptionDebug)
+b(rsgdkOptionNoDebug)
+b(rsgtkOptionDisplay)
+b(rsgtkOptionSync)
+b(rsgtkOptionNoXshm)
+b(rsgtkOptionName)
+b(rsgtkOptionClass);
result := TStringList.Create;
AddCmdLineParamDesc(result, ['--lcl-no-transient'], rsgtkOptionNoTransient);
AddCmdLineParamDesc(result, ['--gtk-module <module>'], rsgtkOptionModule);
AddCmdLineParamDesc(result, ['--g-fatal-warnings'], rsgOptionFatalWarnings);
AddCmdLineParamDesc(result, ['--gtk-debug <flags>'], rsgtkOptionDebug);
AddCmdLineParamDesc(result, ['--gtk-no-debug <flags>'], rsgtkOptionNoDebug);
AddCmdLineParamDesc(result, ['--gdk-debug <flags>'], rsgdkOptionDebug);
AddCmdLineParamDesc(result, ['--gdk-no-debug <flags>'], rsgdkOptionNoDebug);
AddCmdLineParamDesc(result, ['--display <h:s:d>'], rsgtkOptionDisplay);
AddCmdLineParamDesc(result, ['--sync'], rsgtkOptionSync);
AddCmdLineParamDesc(result, ['--no-xshm'], rsgtkOptionNoXshm);
AddCmdLineParamDesc(result, ['--name <progname>'], rsgtkOptionName);
AddCmdLineParamDesc(result, ['--class <classname>'], rsgtkOptionClass);
end;
{------------------------------------------------------------------------------

View File

@ -94,7 +94,7 @@ function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC : hDC; RGN : hRGN) : Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCursorPos(var lpPoint: TPoint): Boolean; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -4620,27 +4620,23 @@ end;
Returns a description of the command line parameters, that are understood by
the interface.
------------------------------------------------------------------------------}
function TGtk2WidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
function TGtk2WidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=
b(rsgtkOptionNoTransient)
+b(rsgtkOptionModule)
+b(rsgOptionFatalWarnings)
+b(rsgtkOptionDebug)
+b(rsgtkOptionNoDebug)
+b(rsgdkOptionDebug)
+b(rsgdkOptionNoDebug)
+b(rsgtkOptionDisplay)
+b(rsgtkOptionSync)
+b(rsgtkOptionNoXshm)
+b(rsgtkOptionName)
+b(rsgtkOptionClass)
+b(rsqtOptionDisableAccurateFrame);
result := TStringList.Create;
AddCmdLineParamDesc(result, ['--lcl-no-transient'], rsgtkOptionNoTransient);
AddCmdLineParamDesc(result, ['--gtk-module <module>'], rsgtkOptionModule);
AddCmdLineParamDesc(result, ['--g-fatal-warnings'], rsgOptionFatalWarnings);
AddCmdLineParamDesc(result, ['--gtk-debug <flags>'], rsgtkOptionDebug);
AddCmdLineParamDesc(result, ['--gtk-no-debug <flags>'], rsgtkOptionNoDebug);
AddCmdLineParamDesc(result, ['--gdk-debug <flags>'], rsgdkOptionDebug);
AddCmdLineParamDesc(result, ['--gdk-no-debug <flags>'], rsgdkOptionNoDebug);
AddCmdLineParamDesc(result, ['--display <h:s:d>'], rsgtkOptionDisplay);
AddCmdLineParamDesc(result, ['--sync'], rsgtkOptionSync);
AddCmdLineParamDesc(result, ['--no-xshm'], rsgtkOptionNoXshm);
AddCmdLineParamDesc(result, ['--name <progname>'], rsgtkOptionName);
AddCmdLineParamDesc(result, ['--class <classname>'], rsgtkOptionClass);
AddCmdLineParamDesc(result, ['--disableaccurateframe'], rsqtOptionDisableAccurateFrame);
end;
{------------------------------------------------------------------------------

View File

@ -111,7 +111,7 @@ function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC : hDC; RGN : hRGN) : Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint): Boolean; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -1911,7 +1911,7 @@ begin
end;
end;
function TGtk3WidgetSet.GetCmdLineParamDescForInterface: string;
function TGtk3WidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
{$IFDEF GTK3DEBUGNOTIMPLEMENTED}
DebugLn('WARNING: TGtk3WidgetSet.GetCmdLineParamDescForInterface not implemented ...');

View File

@ -112,7 +112,7 @@ function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC : hDC; RGN : hRGN) : Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint): Boolean; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -2791,39 +2791,35 @@ begin
end;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=
b(rsqtOptionNoGrab)
+b(rsqtOptionDoGrab)
+b(rsqtOptionSync)
+b(rsqtOptionStyle)
+b(rsqtOptionStyleSheet)
+b(rsqtOptionGraphicsStyle)
+b(rsqtOptionSession)
+b(rsqtOptionWidgetCount)
+b(rsqtOptionReverse)
{$IFDEF HASX11}
+b(rsqtOptionX11Display)
+b(rsqtOptionX11Geometry)
+b(rsqtOptionX11Font)
+b(rsqtOptionX11BgColor)
+b(rsqtOptionX11FgColor)
+b(rsqtOptionX11BtnColor)
+b(rsqtOptionX11Name)
+b(rsqtOptionX11Title)
+b(rsqtOptionX11Visual)
+b(rsqtOptionX11NCols)
+b(rsqtOptionX11CMap)
+b(rsqtOptionX11IM)
+b(rsqtOptionX11InputStyle)
+b(rsqtOptionDisableAccurateFrame)
{$ENDIF}
;
result := TStringList.Create;
AddCmdLineParamDesc(result, ['-nograb'], rsqtOptionNoGrab);
AddCmdLineParamDesc(result, ['-dograb'], rsqtOptionDoGrab);
AddCmdLineParamDesc(result, ['-sync'], rsqtOptionSync);
AddCmdLineParamDesc(result, ['-style <style>', '-style=<style>'], rsqtOptionStyle);
AddCmdLineParamDesc(result, ['-stylesheet <stylesheet>', '-stylesheet=<stylesheet>'], rsqtOptionStyleSheet);
AddCmdLineParamDesc(result, ['-graphicssystem <param>'], rsqtOptionGraphicsStyle);
AddCmdLineParamDesc(result, ['-session <session>'], rsqtOptionSession);
AddCmdLineParamDesc(result, ['-widgetcount'], rsqtOptionWidgetCount);
AddCmdLineParamDesc(result, ['-reverse'], rsqtOptionReverse);
{$IFDEF HASX11}
AddCmdLineParamDesc(result, ['-display <display>'], rsqtOptionX11Display);
AddCmdLineParamDesc(result, ['-geometry <geometry>'], rsqtOptionX11Geometry);
AddCmdLineParamDesc(result, ['-fn <font>', '-font <font>'], rsqtOptionX11Font);
AddCmdLineParamDesc(result, ['-bg <color>', '-background <color>'], rsqtOptionX11BgColor);
AddCmdLineParamDesc(result, ['-fg <color>', '-foreground <color>'], rsqtOptionX11FgColor);
AddCmdLineParamDesc(result, ['-btn <color>', '-button <color>'], rsqtOptionX11BtnColor);
AddCmdLineParamDesc(result, ['-name <name>'], rsqtOptionX11Name);
AddCmdLineParamDesc(result, ['-title <title>'], rsqtOptionX11Title);
AddCmdLineParamDesc(result, ['-visual TrueColor'], rsqtOptionX11Visual);
AddCmdLineParamDesc(result, ['-ncols <count>'], rsqtOptionX11NCols);
AddCmdLineParamDesc(result, ['-cmap'], rsqtOptionX11CMap);
AddCmdLineParamDesc(result, ['-im'], rsqtOptionX11IM);
AddCmdLineParamDesc(result, ['-inputstyle'], rsqtOptionX11InputStyle);
AddCmdLineParamDesc(result, ['-disableaccurateframe'], rsqtOptionDisableAccurateFrame);
{$ENDIF}
end;
{------------------------------------------------------------------------------

View File

@ -96,7 +96,7 @@ function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC: hDC; RGN: hRGN): Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint ): Boolean; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -2732,39 +2732,35 @@ begin
end;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=
b(rsqtOptionNoGrab)
+b(rsqtOptionDoGrab)
+b(rsqtOptionSync)
+b(rsqtOptionStyle)
+b(rsqtOptionStyleSheet)
+b(rsqtOptionGraphicsStyle)
+b(rsqtOptionSession)
+b(rsqtOptionWidgetCount)
+b(rsqtOptionReverse)
{$IFDEF HASX11}
+b(rsqtOptionX11Display)
+b(rsqtOptionX11Geometry)
+b(rsqtOptionX11Font)
+b(rsqtOptionX11BgColor)
+b(rsqtOptionX11FgColor)
+b(rsqtOptionX11BtnColor)
+b(rsqtOptionX11Name)
+b(rsqtOptionX11Title)
+b(rsqtOptionX11Visual)
+b(rsqtOptionX11NCols)
+b(rsqtOptionX11CMap)
+b(rsqtOptionX11IM)
+b(rsqtOptionX11InputStyle)
+b(rsqtOptionDisableAccurateFrame)
{$ENDIF}
;
result := TStringList.Create;
AddCmdLineParamDesc(result, ['-nograb'], rsqtOptionNoGrab);
AddCmdLineParamDesc(result, ['-dograb'], rsqtOptionDoGrab);
AddCmdLineParamDesc(result, ['-sync'], rsqtOptionSync);
AddCmdLineParamDesc(result, ['-style <style>', '-style=<style>'], rsqtOptionStyle);
AddCmdLineParamDesc(result, ['-stylesheet <stylesheet>', '-stylesheet=<stylesheet>'], rsqtOptionStyleSheet);
AddCmdLineParamDesc(result, ['-graphicssystem <param>'], rsqtOptionGraphicsStyle);
AddCmdLineParamDesc(result, ['-session <session>'], rsqtOptionSession);
AddCmdLineParamDesc(result, ['-widgetcount'], rsqtOptionWidgetCount);
AddCmdLineParamDesc(result, ['-reverse'], rsqtOptionReverse);
{$IFDEF HASX11}
AddCmdLineParamDesc(result, ['-display <display>'], rsqtOptionX11Display);
AddCmdLineParamDesc(result, ['-geometry <geometry>'], rsqtOptionX11Geometry);
AddCmdLineParamDesc(result, ['-fn <font>', '-font <font>'], rsqtOptionX11Font);
AddCmdLineParamDesc(result, ['-bg <color>', '-background <color>'], rsqtOptionX11BgColor);
AddCmdLineParamDesc(result, ['-fg <color>', '-foreground <color>'], rsqtOptionX11FgColor);
AddCmdLineParamDesc(result, ['-btn <color>', '-button <color>'], rsqtOptionX11BtnColor);
AddCmdLineParamDesc(result, ['-name <name>'], rsqtOptionX11Name);
AddCmdLineParamDesc(result, ['-title <title>'], rsqtOptionX11Title);
AddCmdLineParamDesc(result, ['-visual TrueColor'], rsqtOptionX11Visual);
AddCmdLineParamDesc(result, ['-ncols <count>'], rsqtOptionX11NCols);
AddCmdLineParamDesc(result, ['-cmap'], rsqtOptionX11CMap);
AddCmdLineParamDesc(result, ['-im'], rsqtOptionX11IM);
AddCmdLineParamDesc(result, ['-inputstyle'], rsqtOptionX11InputStyle);
AddCmdLineParamDesc(result, ['-disableaccurateframe'], rsqtOptionDisableAccurateFrame);
{$ENDIF}
end;
{------------------------------------------------------------------------------

View File

@ -96,7 +96,7 @@ function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC: hDC; RGN: hRGN): Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint ): Boolean; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -2729,39 +2729,35 @@ begin
end;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: string;
function b(const s: string): string;
begin
Result:=BreakString(s,75,22)+LineEnding+LineEnding;
end;
function TQtWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=
b(rsqtOptionNoGrab)
+b(rsqtOptionDoGrab)
+b(rsqtOptionSync)
+b(rsqtOptionStyle)
+b(rsqtOptionStyleSheet)
+b(rsqtOptionGraphicsStyle)
+b(rsqtOptionSession)
+b(rsqtOptionWidgetCount)
+b(rsqtOptionReverse)
{$IFDEF HASX11}
+b(rsqtOptionX11Display)
+b(rsqtOptionX11Geometry)
+b(rsqtOptionX11Font)
+b(rsqtOptionX11BgColor)
+b(rsqtOptionX11FgColor)
+b(rsqtOptionX11BtnColor)
+b(rsqtOptionX11Name)
+b(rsqtOptionX11Title)
+b(rsqtOptionX11Visual)
+b(rsqtOptionX11NCols)
+b(rsqtOptionX11CMap)
+b(rsqtOptionX11IM)
+b(rsqtOptionX11InputStyle)
+b(rsqtOptionDisableAccurateFrame)
{$ENDIF}
;
result := TStringList.Create;
AddCmdLineParamDesc(result, ['-nograb'], rsqtOptionNoGrab);
AddCmdLineParamDesc(result, ['-dograb'], rsqtOptionDoGrab);
AddCmdLineParamDesc(result, ['-sync'], rsqtOptionSync);
AddCmdLineParamDesc(result, ['-style <style>', '-style=<style>'], rsqtOptionStyle);
AddCmdLineParamDesc(result, ['-stylesheet <stylesheet>', '-stylesheet=<stylesheet>'], rsqtOptionStyleSheet);
AddCmdLineParamDesc(result, ['-graphicssystem <param>'], rsqtOptionGraphicsStyle);
AddCmdLineParamDesc(result, ['-session <session>'], rsqtOptionSession);
AddCmdLineParamDesc(result, ['-widgetcount'], rsqtOptionWidgetCount);
AddCmdLineParamDesc(result, ['-reverse'], rsqtOptionReverse);
{$IFDEF HASX11}
AddCmdLineParamDesc(result, ['-display <display>'], rsqtOptionX11Display);
AddCmdLineParamDesc(result, ['-geometry <geometry>'], rsqtOptionX11Geometry);
AddCmdLineParamDesc(result, ['-fn <font>', '-font <font>'], rsqtOptionX11Font);
AddCmdLineParamDesc(result, ['-bg <color>', '-background <color>'], rsqtOptionX11BgColor);
AddCmdLineParamDesc(result, ['-fg <color>', '-foreground <color>'], rsqtOptionX11FgColor);
AddCmdLineParamDesc(result, ['-btn <color>', '-button <color>'], rsqtOptionX11BtnColor);
AddCmdLineParamDesc(result, ['-name <name>'], rsqtOptionX11Name);
AddCmdLineParamDesc(result, ['-title <title>'], rsqtOptionX11Title);
AddCmdLineParamDesc(result, ['-visual TrueColor'], rsqtOptionX11Visual);
AddCmdLineParamDesc(result, ['-ncols <count>'], rsqtOptionX11NCols);
AddCmdLineParamDesc(result, ['-cmap'], rsqtOptionX11CMap);
AddCmdLineParamDesc(result, ['-im'], rsqtOptionX11IM);
AddCmdLineParamDesc(result, ['-inputstyle'], rsqtOptionX11InputStyle);
AddCmdLineParamDesc(result, ['-disableaccurateframe'], rsqtOptionDisableAccurateFrame);
{$ENDIF}
end;
{------------------------------------------------------------------------------

View File

@ -96,7 +96,7 @@ function GetClientBounds(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClientRect(handle : HWND; var ARect : TRect) : Boolean; override;
function GetClipBox(DC : hDC; lpRect : PRect) : Longint; override;
function GetClipRGN(DC: hDC; RGN: hRGN): Longint; override;
function GetCmdLineParamDescForInterface: string; override;
function GetCmdLineParamDescForInterface: TStringList; override;
function GetCurrentObject(DC: HDC; uObjectType: UINT): HGDIOBJ; override;
function GetCursorPos(var lpPoint: TPoint ): Boolean; override;
function GetDC(hWnd: HWND): HDC; override;

View File

@ -1471,7 +1471,7 @@ begin
Result := Windows.GetCurrentObject(DC, uObjectType);
end;
{function TWinCEWidgetSet.GetCmdLineParamDescForInterface: string;
{function TWinCEWidgetSet.GetCmdLineParamDescForInterface: TStringList;
begin
Result:=inherited GetCmdLineParamDescForInterface;
end;}

View File

@ -235,9 +235,13 @@ function UnicodeToUTF16(u: cardinal): UnicodeString; deprecated 'Use LazUTF16.Un
// identifier
function CreateFirstIdentifier(const Identifier: string): string;
function CreateNextIdentifier(const Identifier: string): string;
// Font
function IsFontNameDefault(const AName: string): boolean; inline;
// Help
procedure AddCmdLineParamDesc(var aText: TStringList; aParamOpts: array of string; aDescr: string);
implementation
const
@ -1766,6 +1770,33 @@ begin
Result := CompareText(AName, 'default') = 0;
end;
procedure AddCmdLineParamDesc(var aText: TStringList; aParamOpts: array of string; aDescr: string);
var
i: Integer;
s: String;
begin
if Length(aParamOpts) = 0 then exit;
// parameter options (separate lines)
for i := 0 to high(aParamOpts) do
aText.Add(aParamOpts[i]);
// parameter options (one line)
//s := aParamOpts[0];
//for i := 1 to high(aParamOpts) do
// s := s + ', ' + aParamOpts[i];
//aText.Add(s);
// extra line between name and description
//aText.Add('');
// description
aText.Add(aDescr);
// extra line between parameters
//aText.Add('');
end;
{ TDebugLCLItems }
constructor TDebugLCLItems.Create(const TheName: string);

View File

@ -120,96 +120,84 @@ resourceString
rsBlank = 'Blank';
rsUnableToLoadDefaultFont = 'Unable to load default font';
rsFileInfoFileNotFound = '(file not found: "%s")';
rsgtkOptionNoTransient = '--lcl-no-transient Do not set transient order for'
+' modal forms';
rsgtkOptionModule = '--gtk-module module Load the specified module at '
+'startup.';
rsgOptionFatalWarnings = '--g-fatal-warnings Warnings and errors '
rsgtkOptionNoTransient = 'Do not set transient order for modal forms.';
rsgtkOptionModule = 'Load the specified module at startup.';
rsgOptionFatalWarnings = 'Warnings and errors '
+'generated by Gtk+/GDK will halt the application.';
rsgtkOptionDebug = '--gtk-debug flags Turn on specific Gtk+ trace/'
+'debug messages.';
rsgtkOptionNoDebug = '--gtk-no-debug flags Turn off specific Gtk+ trace/'
+'debug messages.';
rsgdkOptionDebug = '--gdk-debug flags Turn on specific GDK trace/debug '
+'messages.';
rsgdkOptionNoDebug = '--gdk-no-debug flags Turn off specific GDK trace/'
+'debug messages.';
rsgtkOptionDisplay = '--display h:s:d Connect to the specified X '
rsgtkOptionDebug = 'Turn on specific Gtk+ trace/debug messages.';
rsgtkOptionNoDebug = 'Turn off specific Gtk+ trace/debug messages.';
rsgdkOptionDebug = 'Turn on specific GDK trace/debug messages.';
rsgdkOptionNoDebug = 'Turn off specific GDK trace/debug messages.';
rsgtkOptionDisplay = 'Connect to the specified X '
+'server, where "h" is the hostname, "s" is the server number (usually 0), '
+'and "d" is the display number (typically omitted). If --display is not '
+'specified, the DISPLAY environment variable is used.';
rsgtkOptionSync = '--sync Call XSynchronize (display, True) '
rsgtkOptionSync = 'Call XSynchronize (display, True) '
+'after the Xserver connection has been established. This makes debugging '
+'X protocol errors easier, because X request buffering will be disabled '
+'and X errors will be received immediately after the protocol request that '
+'generated the error has been processed by the X server.';
rsgtkOptionNoXshm = '--no-xshm Disable use of the X Shared '
+'Memory Extension.';
rsgtkOptionName = '--name programe Set program name to "progname". '
rsgtkOptionNoXshm = 'Disable use of the X Shared Memory Extension.';
rsgtkOptionName = 'Set program name to "progname". '
+'If not specified, program name will be set to ParamStrUTF8(0).';
rsgtkOptionClass = '--class classname Following Xt conventions, the '
rsgtkOptionClass = 'Following Xt conventions, the '
+'class of a program is the program name with the initial character '
+'capitalized. For example, the classname for gimp is "Gimp". If --class '
+'is specified, the class of the program will be set to "classname".';
// qt interface
rsqtOptionNoGrab = '-nograb, tells Qt that it must never grab '
+'the mouse or the keyboard. Need QT_DEBUG.';
rsqtOptionDoGrab = '-dograb (only under X11), running under a debugger can '
+'cause an implicit -nograb, use -dograb to override. Need QT_DEBUG.';
rsqtOptionSync = '-sync (only under X11), switches to synchronous mode '
+'for debugging.';
rsqtOptionStyle = '-style style or -style=style, sets the application GUI '
rsqtOptionNoGrab = 'Tells Qt that it must never grab '
+'the mouse or the keyboard. Needs QT_DEBUG.';
rsqtOptionDoGrab = 'Running under a debugger can cause an implicit -nograb, '
+'use -dograb to override. Works only under X11, needs QT_DEBUG.';
rsqtOptionSync = 'Switches to synchronous mode for debugging. Works only under X11.';
rsqtOptionStyle = 'Sets the application GUI '
+'style. Possible values are motif, windows, and platinum. If you compiled '
+'Qt with additional styles or have additional styles as plugins these '
+'will be available to the -style command line option. NOTE: Not all '
+'will be available to the -style command line option. NOTE: Not all '
+'styles are available on all platforms. If style param does not exist '
+'Qt will start an application with default common style (windows).';
rsqtOptionStyleSheet = '-stylesheet stylesheet or -stylesheet=stylesheet, '
+'sets the application Style Sheet. '
rsqtOptionStyleSheet = 'Sets the application Style Sheet. '
+'The value must be a path to a file that contains the Style Sheet. '
+'Note: Relative URLs in the Style Sheet file are relative '
+'to the Style Sheet file''s path.';
rsqtOptionGraphicsStyle = '-graphicssystem param, sets the backend to be '
rsqtOptionGraphicsStyle = 'Sets the backend to be '
+'used for on-screen widgets and QPixmaps. '
+'Available options are native, raster and opengl. OpenGL is still unstable.';
rsqtOptionSession = '-session session, restores the application from an '
+'earlier session.';
rsqtOptionWidgetCount = '-widgetcount, prints debug message at the end about '
rsqtOptionSession = 'Restores the application from an earlier session.';
rsqtOptionWidgetCount = 'Prints debug message at the end about '
+'number of widgets left undestroyed and maximum number of widgets existed '
+'at the same time.';
rsqtOptionReverse = '-reverse, sets the application''s layout direction '
+'to Qt::RightToLeft.';
rsqtOptionReverse = 'Sets the application''s layout direction to Qt::RightToLeft.';
// qt X11 options
rsqtOptionX11Display = '-display display, sets the X display (default is $DISPLAY).';
rsqtOptionX11Geometry = '-geometry geometry, sets the client geometry of '
+'the first window that is shown.';
rsqtOptionX11Font = '-fn or -font font, defines the application font. The '
rsqtOptionX11Display = 'Sets the X display. Default is $DISPLAY.';
rsqtOptionX11Geometry = 'Sets the client geometry of the first window that is shown.';
rsqtOptionX11Font = 'Defines the application font. The '
+'font should be specified using an X logical font description.';
rsqtOptionX11BgColor = '-bg or -background color, sets the default background '
rsqtOptionX11BgColor = 'Sets the default background '
+'color and an application palette (light and dark shades are calculated).';
rsqtOptionX11FgColor = '-fg or -foreground color, sets the default foreground color.';
rsqtOptionX11BtnColor = '-btn or -button color, sets the default button color.';
rsqtOptionX11Name = '-name name, sets the application name.';
rsqtOptionX11Title = '-title title, sets the application title.';
rsqtOptionX11Visual = '-visual TrueColor, forces the application to use a '
rsqtOptionX11FgColor = 'Sets the default foreground color.';
rsqtOptionX11BtnColor = 'Sets the default button color.';
rsqtOptionX11Name = 'Sets the application name.';
rsqtOptionX11Title = 'Sets the application title.';
rsqtOptionX11Visual = 'Forces the application to use a '
+'TrueColor visual on an 8-bit display.';
rsqtOptionX11NCols = '-ncols count, limits the number of colors allocated '
rsqtOptionX11NCols = 'Limits the number of colors allocated '
+'in the color cube on an 8-bit display, if the application is using the '
+'QApplication::ManyColor color specification. If count is 216 then a '
+'6x6x6 color cube is used (i.e. 6 levels of red, 6 of green, and 6 of '
+'blue); for other values, a cube approximately proportional to a 2x3x1 '
+'cube is used.';
rsqtOptionX11CMap = '-cmap, causes the application to install a private '
rsqtOptionX11CMap = 'Causes the application to install a private '
+'color map on an 8-bit display.';
rsqtOptionX11IM = '-im, sets the input method server (equivalent to setting '
rsqtOptionX11IM = 'Sets the input method server (equivalent to setting '
+'the XMODIFIERS environment variable).';
rsqtOptionX11InputStyle = '-inputstyle, defines how the input is inserted '
rsqtOptionX11InputStyle = 'Defines how the input is inserted '
+'into the given widget, e.g. onTheSpot makes the input appear directly '
+'in the widget, while overTheSpot makes the input appear in a box '
+'floating over the widget and is not inserted until the editing is done.';
rsqtOptionDisableAccurateFrame = '-disableaccurateframe, disables fully accurate '
rsqtOptionDisableAccurateFrame = 'Disables fully accurate '
+'window frame under X11. This feature is implemented for Qt, Qt5 and Gtk2 interfaces '
+'and used mostly by GetWindowRect().';