pas2js: options link to simplewebserver options frame

This commit is contained in:
mattias 2022-04-17 10:37:14 +02:00
parent 057c2581dd
commit 46d97ed223
12 changed files with 109 additions and 47 deletions

View File

@ -273,6 +273,10 @@ msgstr "Application navigateur Web"
msgid "Web Project (pas2js)"
msgstr "Projet Web (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -277,6 +277,10 @@ msgstr "Webböngésző alkalmazás"
msgid "Web Project (pas2js)"
msgstr "Web projekt (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -261,6 +261,10 @@ msgstr ""
msgid "Web Project (pas2js)"
msgstr ""
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -276,6 +276,10 @@ msgstr "Aplicação navegador web"
msgid "Web Project (pas2js)"
msgstr "Projeto Web (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -274,6 +274,10 @@ msgstr "Приложение для веб-браузера"
msgid "Web Project (pas2js)"
msgstr "Веб-проект (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -275,6 +275,10 @@ msgstr "Web Tarayıcı Uygulaması"
msgid "Web Project (pas2js)"
msgstr ""
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -275,6 +275,10 @@ msgstr "Додаток для веб-оглядача"
msgid "Web Project (pas2js)"
msgstr "Веб-проєкт (pas2js)"
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -276,6 +276,10 @@ msgstr "网页浏览器(Web Browser)应用程序"
msgid "Web Project (pas2js)"
msgstr ""
#: strpas2jsdesign.pjsdwebserveroptions
msgid "Web server options"
msgstr ""
#: strpas2jsdesign.pjsdyoucanuseidemacroslikemakeexewithoutafullpathissea
#, object-pascal-format
msgid "You can use IDE macros like $MakeExe(). Without a full path, %s is searched in PATH."

View File

@ -9,8 +9,8 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
ParentShowHint = False
ShowHint = True
TabOrder = 0
DesignLeft = 388
DesignTop = 200
DesignLeft = 1042
DesignTop = 410
object Pas2jsPathLabel: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Owner
@ -64,7 +64,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 30
Top = 78
Top = 97
Width = 74
BorderSpacing.Top = 2
MaxValue = 65353
@ -74,14 +74,14 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
end
object ServerPortLabel: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Pas2jsPathComboBox
AnchorSideTop.Control = SimpleWebServerLinkLabel
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 61
Top = 80
Width = 114
BorderSpacing.Left = 6
BorderSpacing.Top = 8
BorderSpacing.Top = 6
Caption = 'Standard server port'
ParentColor = False
end
@ -92,7 +92,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = BBrowserBrowseButton
Left = 6
Height = 30
Top = 131
Top = 150
Width = 470
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
@ -106,7 +106,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 114
Top = 133
Width = 258
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -121,7 +121,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom
Left = 476
Height = 30
Top = 131
Top = 150
Width = 25
Anchors = [akTop, akRight, akBottom]
AutoSize = True
@ -136,7 +136,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 167
Top = 186
Width = 105
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -150,7 +150,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = NodeJSBrowseButton
Left = 6
Height = 30
Top = 184
Top = 203
Width = 470
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
@ -166,7 +166,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom
Left = 476
Height = 30
Top = 184
Top = 203
Width = 25
Anchors = [akTop, akRight, akBottom]
AutoSize = True
@ -181,7 +181,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 220
Top = 239
Width = 185
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -195,7 +195,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = NodeJSBrowseButton
Left = 6
Height = 30
Top = 237
Top = 256
Width = 470
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
@ -211,7 +211,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom
Left = 476
Height = 30
Top = 237
Top = 256
Width = 25
Anchors = [akTop, akRight, akBottom]
AutoSize = True
@ -226,7 +226,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 273
Top = 292
Width = 209
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -240,7 +240,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideRight.Control = NodeJSBrowseButton
Left = 6
Height = 30
Top = 290
Top = 309
Width = 470
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 2
@ -256,7 +256,7 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
AnchorSideBottom.Side = asrBottom
Left = 476
Height = 30
Top = 290
Top = 309
Width = 25
Anchors = [akTop, akRight, akBottom]
AutoSize = True
@ -265,4 +265,21 @@ object Pas2jsOptionsFrame: TPas2jsOptionsFrame
OnClick = VSCodeTemplateDirBrowseButtonClick
TabOrder = 10
end
object SimpleWebServerLinkLabel: TLabel
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = Pas2jsPathComboBox
AnchorSideTop.Side = asrBottom
Cursor = crHandPoint
Left = 6
Height = 15
Top = 59
Width = 107
BorderSpacing.Left = 6
BorderSpacing.Top = 6
Caption = 'Web server options'
Font.Color = clBlue
ParentColor = False
ParentFont = False
OnClick = SimpleWebServerLinkLabelClick
end
end

View File

@ -18,12 +18,13 @@ uses
// IdeIntf
IDEOptionsIntf, IDEOptEditorIntf, IDEUtils, IDEDialogs,
// Pas2Js
PJSDsgnOptions, strpas2jsdesign;
PJSDsgnOptions, strpas2jsdesign, SimpleWebSrvOptionsFrame;
Type
{ TPas2jsOptionsFrame }
TPas2jsOptionsFrame = class(TAbstractIDEOptionsEditor)
SimpleWebServerLinkLabel: TLabel;
VSCodeTemplateDirBrowseButton: TButton;
VSCodeTemplateDirComboBox: TComboBox;
BBrowserBrowseButton: TButton;
@ -45,8 +46,10 @@ Type
procedure AtomTemplateDirBrowseButtonClick(Sender: TObject);
procedure NodeJSBrowseButtonClick(Sender: TObject);
procedure Pas2jsPathBrowseButtonClick(Sender: TObject);
procedure SimpleWebServerLinkLabelClick(Sender: TObject);
procedure VSCodeTemplateDirBrowseButtonClick(Sender: TObject);
private
FDialog: TAbstractOptionsEditorDialog;
function CheckCompiler({%H-}Buttons: TMsgDlgButtons): boolean;
public
function GetTitle: String; override;
@ -82,6 +85,11 @@ begin
end;
end;
procedure TPas2jsOptionsFrame.SimpleWebServerLinkLabelClick(Sender: TObject);
begin
FDialog.OpenEditor(GroupEnvironment,SimpleWebServerOptionID);
end;
procedure TPas2jsOptionsFrame.VSCodeTemplateDirBrowseButtonClick(Sender: TObject
);
var
@ -194,12 +202,15 @@ procedure TPas2jsOptionsFrame.Setup(ADialog: TAbstractOptionsEditorDialog);
var
DefPas2jsExe: String;
begin
FDialog := ADialog;
DefPas2jsExe:=GetStandardPas2jsExe;
Pas2jsPathLabel.Caption:=SafeFormat(pjsdPathOfXMacroPas2js, ['pas2js'+GetExeExt]);
Pas2jsPathLabel.Hint:=Format(
pjsdYouCanUseIDEMacrosLikeMakeExeWithoutAFullPathIsSea, [DefPas2jsExe]);
Pas2jsPathBrowseButton.Hint:=pjsdBrowse;
SimpleWebServerLinkLabel.Caption:=pjsdWebServerOptions;
ServerPortLabel.Caption:=pjsdPortNumberToStartAllocatingFrom;
ServerPortLabel.Hint:=pjsdServerInstancesWillBeStartedWithAPortStartingFromT;

View File

@ -36,6 +36,7 @@ Resourcestring
pjsdBrowse = 'Browse';
pjsdPortNumberToStartAllocatingFrom = 'Port number to start allocating '
+'from, macro $(Pas2JSWebServerPort)';
pjsdWebServerOptions = 'Web server options';
pjsdServerInstancesWillBeStartedWithAPortStartingFromT = 'Server instances '
+'will be started with a port starting from this number, increasing per '
+'new project';

View File

@ -1,20 +1,20 @@
object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
Left = 0
Height = 339
Height = 437
Top = 0
Width = 565
ClientHeight = 339
ClientHeight = 437
ClientWidth = 565
TabOrder = 0
DesignLeft = 469
DesignTop = 358
object ServerAddrLabel: TLabel
AnchorSideTop.Control = ServerAddrComboBox
AnchorSideTop.Side = asrCenter
AnchorSideTop.Control = ServerExeComboBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ServerAddrComboBox
Left = 8
Height = 15
Top = 67
Top = 59
Width = 44
BorderSpacing.Left = 20
BorderSpacing.Right = 2
@ -22,15 +22,15 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
ParentColor = False
end
object ServerAddrComboBox: TComboBox
AnchorSideLeft.Control = ServerAddrLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ServerExeComboBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = ServerAddrLabel
AnchorSideTop.Side = asrBottom
Left = 54
Left = 6
Height = 30
Top = 59
Top = 76
Width = 136
BorderSpacing.Top = 6
BorderSpacing.Left = 6
BorderSpacing.Top = 2
BorderSpacing.Bottom = 6
ItemHeight = 0
TabOrder = 0
@ -38,27 +38,28 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
end
object PortLabel: TLabel
AnchorSideLeft.Control = ServerAddrLabel
AnchorSideTop.Control = PortComboBox
AnchorSideTop.Side = asrCenter
AnchorSideTop.Control = ServerAddrComboBox
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = PortComboBox
Left = 8
Height = 15
Top = 103
Top = 112
Width = 24
BorderSpacing.Top = 6
BorderSpacing.Right = 2
Caption = 'Port'
ParentColor = False
end
object PortComboBox: TComboBox
AnchorSideLeft.Control = PortLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ServerAddrComboBox
AnchorSideLeft.Control = Owner
AnchorSideTop.Control = PortLabel
AnchorSideTop.Side = asrBottom
Left = 34
Left = 6
Height = 30
Top = 95
Top = 129
Width = 100
BorderSpacing.Top = 6
BorderSpacing.Left = 6
BorderSpacing.Top = 2
BorderSpacing.Bottom = 6
ItemHeight = 0
TabOrder = 1
@ -112,11 +113,11 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
object BindAnyCheckBox: TCheckBox
AnchorSideLeft.Control = ServerAddrComboBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ServerAddrLabel
AnchorSideTop.Control = ServerAddrComboBox
AnchorSideTop.Side = asrCenter
Left = 196
Left = 148
Height = 23
Top = 63
Top = 80
Width = 123
BorderSpacing.Left = 6
Caption = 'Bind Any (0.0.0.0)'
@ -128,7 +129,7 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 131
Top = 165
Width = 268
BorderSpacing.Left = 6
BorderSpacing.Top = 6
@ -142,7 +143,7 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
AnchorSideRight.Side = asrBottom
Left = 6
Height = 30
Top = 253
Top = 287
Width = 186
BorderSpacing.Top = 2
BorderSpacing.Right = 6
@ -157,7 +158,7 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
AnchorSideTop.Side = asrBottom
Left = 6
Height = 15
Top = 236
Top = 270
Width = 258
BorderSpacing.Left = 6
BorderSpacing.Top = 15
@ -172,7 +173,7 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
AnchorSideRight.Side = asrBottom
Left = 6
Height = 73
Top = 148
Top = 182
Width = 553
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
@ -188,7 +189,7 @@ object SimpleWebSrvOptsFrame: TSimpleWebSrvOptsFrame
AnchorSideRight.Side = asrBottom
Left = 21
Height = 30
Top = 285
Top = 319
Width = 538
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 15