Skip to content

Commit

Permalink
+ключ комстроки experimentalfeatures
Browse files Browse the repository at this point in the history
+ключ experimentalfeatures в документацию
*рефакторинг
  • Loading branch information
zamtmn committed Jan 8, 2025
1 parent b570285 commit f536d00
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
производится, интерфейс остается английским
| [.filepath]#noloadlayout# | Не загружать файл раскладки окон
| [.filepath]#debugui# | Включить "отладочный" интерфейс - некоторые элементы интерфейса для разработчика
| [.filepath]#experimentalfeatures# | Включить "экспериментральные" фичи - то что разрабатывается на данный момент не закончено и не нужно пользователю
| [.filepath]#notcheckuniqueinstance# | Не проверять повторный запуск, с данным ключом может быть запущено несколько копий программы
| [.filepath]#logfile# | Принудительно задать путь к лог файлу. Требует аргумент - путь и имя файла
| [.filepath]#leam# | Принудительно разрешить все модули логирования
Expand Down
4 changes: 2 additions & 2 deletions cad_source/zcad.lpi
Original file line number Diff line number Diff line change
Expand Up @@ -312,14 +312,14 @@
</PublishOptions>
<RunParams>
<local>
<CommandLineParams Value="nosplash updatepo qleam qlcl qlm_trace debugui"/>
<CommandLineParams Value="experimentalfeatures nosplash updatepo qleam qlcl qlm_trace debugui"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default">
<local>
<CommandLineParams Value="nosplash updatepo qleam qlcl qlm_trace debugui"/>
<CommandLineParams Value="experimentalfeatures nosplash updatepo qleam qlcl qlm_trace debugui"/>
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T &apos;Lazarus Run Output&apos; -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
</local>
</Mode0>
Expand Down
6 changes: 4 additions & 2 deletions cad_source/zcad/uzccommandlineparser.pas
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,8 @@ interface

NOSPLASHHDL, //опция nosplash - не показывать сплэш
UPDATEPOHDL, //опция updatepo - актуализация файлов локализации, необходима для команды updatepo
DEBUGUIHDL, //опция debugui - наличие отладочных элементов в интерфейсе
DEBUGUIHDL, //опция debugui - наличие отладочных элементов в интерфейсе. для разработчика
EXPERIMENTALFEATURESHDL, //опция experimentalfeatures - включение не доделаных возможностей. для разработчика
NOLOADLAYOUTHDL, //опция noloadlayout - запуск без загрузки начального состояния раскладки окон
LOGFILEHDL, //опция logfile - указание лог файла, требует аргумент(ы) имя файла
NOTCHECKUNIQUEINSTANCEHDL,//опция noloadlayout - запуск без загрузки начального состояния раскладки окон
Expand All @@ -42,7 +43,7 @@ interface
LCLHDL, //опция lcl -(Log Current Level) установка текущего уровня лога, требует аргумент
MaxStackFrameCountHDL, //опция MaxStackFrameCount - максимальная глубина стека для обработчика исключений
RunScript, //опция runscript - запуск скрипта при старте программы, требует аргумент(ы)
MemProfiling //опция memprofiling - ранний запуск профилировщика памяти на этапе инициализации программы
MemProfiling //опция memprofiling - ранний запуск профилировщика памяти на этапе инициализации программы. для разработчика
:TCLOptionHandle;

implementation
Expand All @@ -52,6 +53,7 @@ initialization
NOSPLASHHDL:=CommandLineParser.RegisterArgument('nosplash',AT_Flag);
UPDATEPOHDL:=CommandLineParser.RegisterArgument('updatepo',AT_Flag);
DEBUGUIHDL:=CommandLineParser.RegisterArgument('debugui',AT_Flag);
EXPERIMENTALFEATURESHDL:=CommandLineParser.RegisterArgument('experimentalfeatures',AT_Flag);
NOLOADLAYOUTHDL:=CommandLineParser.RegisterArgument('noloadlayout',AT_Flag);
LOGFILEHDL:=CommandLineParser.RegisterArgument('logfile',AT_WithOperands);
NOTCHECKUNIQUEINSTANCEHDL:=CommandLineParser.RegisterArgument('notcheckuniqueinstance',AT_Flag);
Expand Down
4 changes: 3 additions & 1 deletion cad_source/zcad/uzcsysinfo.pas
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
interface
uses
uzbCommandLineParser,uzcCommandLineParser,
uzcsysparams,uzcsysvars,
uzeSysParams,uzcSysParams,uzcsysvars,
{uzbLogTypes,}uzbLog,uzcLog,
uzbPaths,uzcPathMacros,uzcFileStructure,
Forms,{$IFNDEF DELPHI}LazUTF8,{$ENDIF}sysutils;
Expand Down Expand Up @@ -102,6 +102,8 @@ procedure ProcessParamStr;
ZCSysParams.notsaved.PreloadedFile:='';

//значения некоторых параметров из комстроки, если есть
if CommandLineParser.HasOption(EXPERIMENTALFEATURESHDL) then
ZESysParams.UseExperimentalFeatures:=true;
if CommandLineParser.HasOption(NOSPLASHHDL) then
ZCSysParams.saved.NoSplash:=true;
if CommandLineParser.HasOption(MemProfiling) then
Expand Down
2 changes: 1 addition & 1 deletion cad_source/zcad/uzcsysparams.pas
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ TZCNotSavedParams=record
Ver:TmyFileVersionInfo;(*'Version'*)(*oi_readonly*)
DefaultHeight:Integer;(*'Default controls height'*)(*oi_readonly*)
end;
PZCsysParam=^TZCSysParams;
PZCSysParams=^TZCSysParams;
{REGISTERRECORDTYPE TZCsysParam}
TZCSysParams=record
saved:TZCSavedParams;(*'Saved params'*)
Expand Down
35 changes: 35 additions & 0 deletions cad_source/zengine/uzesysparams.pas
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
*****************************************************************************
* *
* This file is part of the ZCAD *
* *
* See the file COPYING.txt, included in this distribution, *
* for details about the copyright. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
* *
*****************************************************************************
}
{
@author(Andrey Zubarev <[email protected]>)
}

unit uzeSysParams;
{$INCLUDE zengineconfig.inc}
interface
uses
SysUtils;
type
PZESysParams=^TZESysParams;
TZESysParams=record
UseExperimentalFeatures:Boolean;
end;
var
ZESysParams: TZESysParams;
implementation
initialization
ZESysParams.UseExperimentalFeatures:=False;
finalization
end.
6 changes: 4 additions & 2 deletions cad_source/zengine/zgl/openglmodern/uzglviewareaoglmodern.pas
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ interface
GLext,
uzglbackendmanager,
uzgldrawerogl,uzglviewareaogl,uzgldraweroglmodern,gl,
gzctnrBufferAllocator;
gzctnrBufferAllocator,
uzeSysParams;
const
CVBOSize=256*1024*1024;
type
Expand Down Expand Up @@ -86,5 +87,6 @@ procedure TOpenGLModernViewArea.getareacaps;
VBO.vboAllocator.init(CVBOSize);
end;
begin
RegisterBackend(TOpenGLModernViewArea,'OpenGLModern');
if ZESysParams.UseExperimentalFeatures then
RegisterBackend(TOpenGLModernViewArea,'OpenGLModern');
end.

0 comments on commit f536d00

Please sign in to comment.