diff --git a/Projects/Simba/Simba.inc b/Projects/Simba/Simba.inc index b0079f7..d8ec62b 100644 --- a/Projects/Simba/Simba.inc +++ b/Projects/Simba/Simba.inc @@ -30,7 +30,7 @@ //{$DEFINE USE_CPASCAL} // TODO //{$DEFINE USE_LAPE} // TODO -//{$DEFINE USE_EXTENSIONS} // TODO +//{$DEFINE USE_EXTENSIONS} //{$DEFINE USE_CODECOMPLETION} // TODO //{$DEFINE TERMINALWRITELN} // Only used once. Remove from SimbaUnit? diff --git a/Projects/Simba/psextension.pas b/Projects/Simba/psextension.pas index c100096..7a7a2f3 100644 --- a/Projects/Simba/psextension.pas +++ b/Projects/Simba/psextension.pas @@ -265,7 +265,7 @@ begin begin {$I ../../Units/MMLAddon/PSInc/pscompile.inc} AddTypes('TStringArray','Array of String'); - AddConstantN('ExtPath','string').SetString(ExtPath); + AddConstantN('ExtPath', 'string').SetString({$IFDEF USE_EXTENSIONS}ExtPath{$ELSE}''{$ENDIF}); for i := 0 to high(VirtualKeys) do AddConstantN(Format('VK_%S',[VirtualKeys[i].Str]),'Byte').SetInt(VirtualKeys[i].Key); end; diff --git a/Projects/Simba/simbaunit.lfm b/Projects/Simba/simbaunit.lfm index 95f42de..f396c98 100644 --- a/Projects/Simba/simbaunit.lfm +++ b/Projects/Simba/simbaunit.lfm @@ -5,7 +5,7 @@ object SimbaForm: TSimbaForm Width = 660 AllowDropFiles = True Caption = 'THA FUKING Simba' - ClientHeight = 598 + ClientHeight = 603 ClientWidth = 660 KeyPreview = True Menu = MainMenu @@ -207,8 +207,8 @@ object SimbaForm: TSimbaForm end object StatusBar: TStatusBar Left = 0 - Height = 21 - Top = 577 + Height = 23 + Top = 580 Width = 660 Panels = < item @@ -230,7 +230,7 @@ object SimbaForm: TSimbaForm object PanelMemo: TPanel Left = 0 Height = 154 - Top = 423 + Top = 426 Width = 660 Align = alBottom ClientHeight = 154 @@ -253,19 +253,19 @@ object SimbaForm: TSimbaForm Cursor = crVSplit Left = 0 Height = 5 - Top = 418 + Top = 421 Width = 660 Align = alBottom ResizeAnchor = akBottom end object ScriptPanel: TPanel Left = 0 - Height = 394 + Height = 397 Top = 24 Width = 660 Align = alClient BevelOuter = bvNone - ClientHeight = 394 + ClientHeight = 397 ClientWidth = 660 DockSite = True TabOrder = 4 @@ -273,7 +273,7 @@ object SimbaForm: TSimbaForm OnDockOver = ScriptPanelDockOver object PageControl1: TPageControl Left = 155 - Height = 359 + Height = 362 Top = 0 Width = 505 Align = alClient @@ -292,7 +292,7 @@ object SimbaForm: TSimbaForm object SearchPanel: TPanel Left = 0 Height = 35 - Top = 359 + Top = 362 Width = 660 Align = alBottom BevelOuter = bvSpace @@ -387,7 +387,7 @@ object SimbaForm: TSimbaForm end object LabeledEditSearch: TLabeledEdit Left = 104 - Height = 27 + Height = 23 Top = 6 Width = 80 EditLabel.AnchorSideLeft.Control = LabeledEditSearch @@ -395,10 +395,10 @@ object SimbaForm: TSimbaForm EditLabel.AnchorSideTop.Side = asrCenter EditLabel.AnchorSideRight.Control = LabeledEditSearch EditLabel.AnchorSideBottom.Control = LabeledEditSearch - EditLabel.Left = 66 - EditLabel.Height = 18 - EditLabel.Top = 10 - EditLabel.Width = 35 + EditLabel.Left = 71 + EditLabel.Height = 16 + EditLabel.Top = 9 + EditLabel.Width = 30 EditLabel.Caption = 'Find: ' EditLabel.ParentColor = False LabelPosition = lpLeft @@ -413,7 +413,7 @@ object SimbaForm: TSimbaForm Left = 320 Height = 19 Top = 7 - Width = 93 + Width = 80 Caption = 'Match case' OnClick = CheckBoxMatchCaseClick TabOrder = 1 @@ -421,38 +421,38 @@ object SimbaForm: TSimbaForm end object SplitterFunctionList: TSplitter Left = 150 - Height = 359 + Height = 362 Top = 0 Width = 5 OnCanResize = SplitterFunctionListCanResize Visible = False end inline frmFunctionList: TFunctionListFrame - Height = 359 + Height = 362 Width = 150 - ClientHeight = 359 + ClientHeight = 362 ClientWidth = 150 OnEndDock = nil TabOrder = 3 inherited FunctionList: TTreeView - Height = 310 - Top = 22 + Height = 319 + Top = 20 Width = 150 - DefaultItemHeight = 19 + DefaultItemHeight = 17 OnChange = FunctionListChange OnEnter = FunctionListEnter OnExit = FunctionListExit end inherited editSearchList: TEdit - Height = 27 - Top = 332 + Height = 23 + Top = 339 Width = 150 OnExit = editSearchListExit OnKeyDown = editSearchListKeyDown OnKeyPress = editSearchListKeyPress end inherited FunctionListLabel: TLabel - Height = 18 + Height = 16 Width = 146 end end @@ -3006,6 +3006,7 @@ object SimbaForm: TSimbaForm Caption = '&Extensions' OnExecute = ActionExtensionsExecute OnUpdate = ActionExtensionsUpdate + Visible = False end object ActionPascalScript: TAction Caption = 'PascalScript' diff --git a/Projects/Simba/simbaunit.pas b/Projects/Simba/simbaunit.pas index 2eea2dd..b99ad6b 100644 --- a/Projects/Simba/simbaunit.pas +++ b/Projects/Simba/simbaunit.pas @@ -51,8 +51,9 @@ uses SynExportHTML, SynEditKeyCmds, SynEditHighlighter, SynEditMarkupHighAll, LMessages, Buttons, mmisc, stringutil,mufasatypesutil, mufasabase, - about, framefunctionlist, ocr, updateform, Simbasettings, psextension, virtualextension, - extensionmanager, settingssandbox, + about, framefunctionlist, ocr, updateform, Simbasettings, + {$IFDEF USE_EXTENSIONS}psextension, virtualextension, extensionmanager,{$ENDIF} + settingssandbox, v_ideCodeParser, v_ideCodeInsight, CastaliaPasLexTypes, // Code completion units CastaliaSimplePasPar, v_AutoCompleteForm, // Code completion units @@ -418,7 +419,7 @@ type function GetInterpreter: Integer; function GetDefScriptPath: string; function GetScriptPath : string; - function GetExtPath: string; + {$IFDEF USE_EXTENSIONS}function GetExtPath: string;{$ENDIF} function GetFontPath: String; function GetHighlighter: TSynCustomHighlighter; function GetIncludePath: String; @@ -428,7 +429,7 @@ type function GetShowCodeCompletionAuto: Boolean; function GetSimbaNews: String; procedure SetDefScriptPath(const AValue: string); - procedure SetExtPath(const AValue: string); + {$IFDEF USE_EXTENSIONS}procedure SetExtPath(const AValue: string);{$ENDIF} procedure SetFontPath(const AValue: String); procedure SetIncludePath(const AValue: String); procedure SetInterpreter(const AValue: Integer); @@ -501,7 +502,7 @@ type property IncludePath : String read GetIncludePath write SetIncludePath; property FontPath : String read GetFontPath write SetFontPath; property PluginPath : string read GetPluginPath write SetPluginPath; - property ExtPath : string read GetExtPath write SetExtPath; + {$IFDEF USE_EXTENSIONS}property ExtPath : string read GetExtPath write SetExtPath;{$ENDIF} property ScriptDir : string read GetScriptPath write SetScriptPath; property DefScriptPath : string read GetDefScriptPath write SetDefScriptPath; property CurrHighlighter : TSynCustomHighlighter read GetHighlighter; @@ -545,7 +546,7 @@ uses InterfaceBase, bitmapconv, bitmaps, - extensionmanagergui, + {$IFDEF USE_EXTENSIONS}extensionmanagergui,{$ENDIF} colourhistory, math @@ -744,6 +745,7 @@ begin end; procedure TSimbaForm.HandleConnectionData; +{$IFDEF USE_EXTENSIONS} var Args : TVariantArray; begin @@ -758,6 +760,9 @@ begin on e : Exception do mDebugLn('ERROR in HandleConnectiondata: ' + e.message); end; +{$ELSE} +begin +{$ENDIF} end; function TSimbaForm.GetInterpreter: Integer; @@ -781,6 +786,7 @@ begin end; procedure TSimbaForm.HandleOpenFileData; +{$IFDEF USE_EXTENSIONS} var Args : TVariantArray; begin @@ -795,9 +801,13 @@ begin on e : Exception do mDebugLn('ERROR in HandleOpenFileData: ' + e.message); end; +{$ELSE} +begin +{$ENDIF} end; procedure TSimbaForm.HandleWriteFileData; +{$IFDEF USE_EXTENSIONS} var Args : TVariantArray; begin @@ -812,9 +822,13 @@ begin on e : Exception do mDebugLn('ERROR in HandleWriteFileData: ' + e.message); end; +{$ELSE} +begin +{$ENDIF} end; procedure TSimbaForm.HandleScriptStartData; +{$IFDEF USE_EXTENSIONS} var Args : TVariantArray; begin @@ -829,6 +843,9 @@ begin on e : Exception do mDebugLn('ERROR in HandleScriptStartData: ' + e.message); end; +{$ELSE} +begin +{$ENDIF} end; procedure TSimbaForm.ProcessDebugStream(Sender: TObject); @@ -1361,7 +1378,7 @@ begin CreateSetting('Settings/CodeHints/ShowAutomatically','True'); CreateSetting('Settings/CodeCompletion/ShowAutomatically','True'); CreateSetting('Settings/SourceEditor/LazColors','True'); - CreateSetting('Settings/Extensions/FileExtension','sex'); + {$IFDEF USE_EXTENSIONS}CreateSetting('Settings/Extensions/FileExtension','sex');{$ENDIF} CreateSetting('Settings/Updater/RemoteLink',SimbaURL + 'Simba'{$IFDEF WINDOWS} +'.exe'{$ENDIF}); CreateSetting('Settings/Updater/RemoteVersionLink',SimbaURL + 'Version'); @@ -1372,8 +1389,10 @@ begin {Creates the paths and returns the path} PluginsPath := CreateSetting('Settings/Plugins/Path', ExpandFileName(MainDir+ DS+ 'Plugins' + DS)); + {$IFDEF USE_EXTENSIONS} extensionsPath := CreateSetting('Settings/Extensions/Path',ExpandFileName(MainDir +DS + 'Extensions' + DS)); CreateSetting('Extensions/ExtensionCount','0'); + {$ENDIF} CreateSetting('LastConfig/MainForm/Position',''); CreateSetting('LastConfig/MainForm/State','Normal'); {$ifdef MSWindows} @@ -1387,10 +1406,12 @@ begin CreateDir(FontPath); if not DirectoryExists(PluginsPath) then CreateDir(PluginsPath); + {$IFDEF USE_EXTENSIONS} if not DirectoryExists(extensionsPath) then CreateDir(extensionsPath); if not DirectoryExists(ExtPath) then CreateDir(ExtPath); + {$ENDIF} if not DirectoryExists(ScriptDir) then CreateDir(ScriptDir); SettingsForm.SettingsTreeView.Items.GetFirstNode.Expand(false); @@ -1491,19 +1512,21 @@ begin else SetSetting('LastConfig/Console/Visible','False'); {$endif} + {$IFDEF USE_EXTENSIONS} SetSetting('Extensions/ExtensionCount',inttostr(ExtManager.Extensions.Count)); for i := 0 to ExtManager.Extensions.Count-1 do begin; - path :='Extensions/Extension' + inttostr(I); SetSetting(Path + '/Path',TVirtualSimbaExtension(ExtManager.Extensions[i]).Filename); SetSetting(Path + '/Enabled',BoolToStr(TVirtualSimbaExtension(ExtManager.Extensions[i]).Enabled,True)); end; + {$ENDIF} SaveToXML(SimbaSettingsFile); end; end; procedure TSimbaForm.LoadExtensions; +{$IFDEF USE_EXTENSIONS} var extCount : integer; function LoadExtension(Number : integer) : boolean; @@ -1551,6 +1574,9 @@ begin str := LoadSettingDef('Settings/Extensions/Path',ExpandFileName(MainDir +DS + 'Extensions' + DS)); str2 := LoadSettingDef('Settings/Extensions/FileExtension','sex'); ExtManager.LoadPSExtensionsDir(str,str2); +{$ELSE} +begin +{$ENDIF} end; procedure TSimbaForm.AddRecentFile(const filename: string); @@ -1834,15 +1860,17 @@ end; procedure TSimbaForm.ActionExtensionsExecute(Sender: TObject); begin + {$IFDEF USE_EXTENSIONS} if not ExtensionsForm.Showing then ExtensionsForm.Show else ExtensionsForm.Hide; + {$ENDIF} end; procedure TSimbaForm.ActionExtensionsUpdate(Sender: TObject); begin - TAction(Sender).Checked := ExtensionsForm.Showing; + {$IFDEF USE_EXTENSIONS}TAction(Sender).Checked := ExtensionsForm.Showing;{$ENDIF} end; procedure TSimbaForm.ActionFindNextExecute(Sender: TObject); @@ -2312,7 +2340,7 @@ begin end; FunctionListTimer.Enabled:= false; CloseAction := caFree; - FreeAndNil(ExtManager); + {$IFDEF USE_EXTENSIONS}FreeAndNil(ExtManager);{$ENDIF} end; procedure CCFillCore; @@ -2414,6 +2442,7 @@ begin UpdateTimer.OnTimer:= @UpdateTimerCheck; Application.CreateForm(TSimbaUpdateForm, SimbaUpdateForm); + {$IFDEF USE_EXTENSIONS}Application.CreateForm(TExtensionsForm, ExtensionsForm);{$ENDIF} if FileExistsUTF8(SimbaSettingsFile) then begin @@ -2468,13 +2497,15 @@ begin FillThread.Resume; //Load the extensions - LoadExtensions; + {$IFDEF USE_EXTENSIONS}LoadExtensions;{$ENDIF} UpdateTitle; {$IFNDEF USE_RUTIS} MenuItemRUTIS.Enabled:=False; {$ENDIF} + + {$IFDEF USE_EXTENSIONS}ActionExtensions.Visible := True;{$ENDIF} self.EndFormUpdate; if SettingsForm.Oops then @@ -2492,8 +2523,10 @@ begin for i := 0 to high(RecentFileItems) do RecentFileItems[i].Free; - if ExtManager <> nil then - FreeAndNil(extmanager); + {$IFDEF USE_EXTENSIONS} + if ExtManager <> nil then + FreeAndNil(extmanager); + {$ENDIF} Tabs.Free; @@ -2803,10 +2836,12 @@ begin SetSetting('Settings/SourceEditor/DefScriptPath',AValue,True); end; +{$IFDEF USE_EXTENSIONS} procedure TSimbaForm.SetExtPath(const AValue: string); begin SetSetting('Settings/Extensions/Path',AValue,true); end; +{$ENDIF} procedure TSimbaForm.NewsTimerTimer(Sender: TObject); var @@ -2936,6 +2971,7 @@ end; procedure TSimbaForm.PickerPick(Sender: TObject; const Colour, colourx, coloury: integer); +{$IFDEF USE_EXTENSIONS} var Args : TVariantArray; begin @@ -2944,6 +2980,9 @@ begin Args[1] := Colourx; Args[2] := Coloury; ExtManager.HandleHook(EventHooks[SExt_OnColourPick].HookName,Args); +{$ELSE} +begin +{$ENDIF} end; procedure TSimbaForm.PopupItemFindClick(Sender: TObject); @@ -2977,10 +3016,12 @@ begin Result := IncludeTrailingPathDelimiter(LoadSettingDef('Settings/Fonts/Path', ExpandFileName(MainDir+DS+'Fonts' + DS))); end; +{$IFDEF USE_EXTENSIONS} function TSimbaForm.GetExtPath: string; begin - result :=IncludeTrailingPathDelimiter(LoadSettingDef('Settings/Extensions/Path', ExpandFileName(MainDir+DS+'Extensions' + DS))); + Result := IncludeTrailingPathDelimiter(LoadSettingDef('Settings/Extensions/Path', ExpandFileName(MainDir+DS+'Extensions' + DS))); end; +{$ENDIF} function TSimbaForm.GetHighlighter: TSynCustomHighlighter; begin @@ -3299,7 +3340,8 @@ begin else InitialDir := ScriptDir; Options := [ofAllowMultiSelect, ofExtensionDifferent, ofPathMustExist, ofFileMustExist, ofEnableSizing, ofViewDetail]; - Filter:= 'Simba Files|*.simba;*.simb;*.cogat;*.mufa;*.txt;*.' +LoadSettingDef('Settings/Extensions/FileExtension','sex')+ + Filter:= 'Simba Files|*.simba;*.simb;*.cogat;*.mufa;*.txt' + + {$IFDEF USE_EXTENSIONS}';*.' + LoadSettingDef('Settings/Extensions/FileExtension', 'sex') + {$ENDIF} '|Any files|*.*'; if Execute then begin @@ -3406,8 +3448,8 @@ begin InitialDir := ExtractFileDir(CurrScript.ScriptFile) else InitialDir := ScriptDir; - filter := 'Simba Files|*.simba;*.simb;*.cogat;*.mufa;*.txt;*.' + - LoadSettingDef('Settings/Extensions/FileExtension','sex')+ + filter := 'Simba Files|*.simba;*.simb;*.cogat;*.mufa;*.txt' + + {$IFDEF USE_EXTENSIONS}';*.' + LoadSettingDef('Settings/Extensions/FileExtension','sex') + {$ENDIF} '|Any files|*.*'; if Execute then begin;