Skip to content

Commit

Permalink
Merge some more import sections
Browse files Browse the repository at this point in the history
  • Loading branch information
ollydev committed Mar 8, 2024
1 parent 72a00aa commit 0b55c39
Show file tree
Hide file tree
Showing 18 changed files with 1,337 additions and 953 deletions.
6 changes: 1 addition & 5 deletions DocGen/docgen.simba
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ var
end;

begin
APIFiles += ['Source\script\imports\simba.import_system.pas', 'System' ];
APIFiles += ['Source\script\imports\simba.import_base.pas', 'Base' ];
APIFiles += ['Source\script\imports\simba.import_colormath.pas', 'Color Math' ];
APIFiles += ['Source\script\imports\simba.import_point.pas', 'TPoint' ];
APIFiles += ['Source\script\imports\simba.import_tpa.pas', 'TPointArray' ];
Expand All @@ -41,24 +41,20 @@ begin
APIFiles += ['Source\script\imports\simba.import_circle.pas', 'TCircle' ];
APIFiles += ['Source\script\imports\simba.import_windowhandle.pas', 'TWindowHandle' ];
APIFiles += ['Source\script\imports\simba.import_debugimage.pas', 'Debug Image' ];
APIFiles += ['Source\script\imports\simba.import_variant.pas', 'Variant' ];
APIFiles += ['Source\script\imports\simba.import_script.pas', 'Script' ];
APIFiles += ['Source\script\imports\simba.import_random.pas', 'Random' ];
APIFiles += ['Source\script\imports\simba.import_input.pas', 'Input' ];
APIFiles += ['Source\script\imports\simba.import_finder.pas', 'Finder' ];
APIFiles += ['Source\script\imports\simba.import_target.pas', 'Target' ];
APIFiles += ['Source\script\imports\simba.import_web.pas', 'Web' ];
APIFiles += ['Source\script\imports\simba.import_file.pas', 'File' ];
APIFiles += ['Source\script\imports\simba.import_encoding.pas', 'Encoding' ];
APIFiles += ['Source\script\imports\simba.import_compress.pas', 'Compress' ];
APIFiles += ['Source\script\imports\simba.import_timing.pas', 'Timing' ];
APIFiles += ['Source\script\imports\simba.import_string.pas', 'String' ];
APIFiles += ['Source\script\imports\simba.import_process.pas', 'Process' ];
APIFiles += ['Source\script\imports\simba.import_math.pas', 'Math' ];
APIFiles += ['Source\script\imports\simba.import_matchtemplate.pas', 'Match Template' ];
APIFiles += ['Source\script\imports\simba.import_misc.pas', 'Misc' ];
APIFiles += ['Source\script\imports\simba.import_matrix.pas', 'Matrix' ];
APIFiles += ['Source\script\imports\simba.import_dialogs.pas', 'Dialogs' ];
APIFiles += ['Source\script\imports\simba.import_json.pas', 'JSON' ];
APIFiles += ['Source\script\imports\simba.import_image.pas', 'Image' ];
APIFiles += ['Source\script\imports\simba.import_dtm.pas', 'DTM' ];
Expand Down
43 changes: 43 additions & 0 deletions DocGen/source/tutorials/Variant Data Type.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#################
Variant data type
#################

The variant datatype can store most base types.

.. code-block::
var
v: Variant;
begin
WriteLn('Should be unassigned: ', not v.IsAssigned());
WriteLn();
v := 'I am a string';
Writeln('Now should *not* be unassigned: ', v.IsAssigned());
WriteLn('And should be string:');
WriteLn(v.VarType, ' -> ', v);
WriteLn();
v := Int64(123);
WriteLn('Now should be Int64:');
WriteLn(v.VarType, ' -> ', v);
WriteLn();
v := 0.123456;
WriteLn('Now should be Double:');
WriteLn(v.VarType, ' -> ', v);
end;
.. Note::

If curious to how the Variant datatype works, internally it's a record:

.. code-block::
// pseudo code
type
InternalVariantDataType = record
VarType: EVariantType;
Value: array[0..SizeOf(LargestDataTypeVariantCanStore)] of Byte;
end;
1 change: 1 addition & 0 deletions DocGen/source/tutorials/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ Tutorials
Sleep Until.rst
Input & Finder Target.rst
Mouse & Keyboard.rst
Variant Data Type.rst

plugins/index.rst
4 changes: 2 additions & 2 deletions Source/forms/simba.filebrowserform.pas
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ procedure TSimbaFileBrowserForm.DoFindFiles;
Files, Directories: TStringList;
I: Integer;
begin
Files := FindAllFiles(node^.Info.FileName, '', False);
Directories := FindAllDirectories(node^.Info.FileName, False);
Files := FindAllFiles(Node^.Info.FileName, '', False);
Directories := FindAllDirectories(Node^.Info.FileName, False);

SetLength(Node^.Files, Files.Count);
SetLength(Node^.Directories, Directories.Count);
Expand Down
10 changes: 3 additions & 7 deletions Source/forms/simba.functionlistform.pas
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
interface

uses
Classes, SysUtils, Forms, Controls, ComCtrls, ExtCtrls,
Classes, SysUtils, Forms, Controls, ComCtrls, ExtCtrls, StrUtils,
simba.base, simba.ide_codetools_parser, simba.ide_codetools_insight, simba.component_treeview, simba.dictionary;

type
Expand Down Expand Up @@ -665,13 +665,9 @@ procedure TSimbaFunctionListForm.AddSimbaNodes;
for Decl in Parser.Items.ToArray do
if (Decl.Name <> '') and (not Decl.isOverrideMethod) and (Decl.Name[1] <> '_') then
AddSimbaDecl(ParentNode, Decl);
end;

ParentNode := FSimbaNode.FindNode('Base');
if Assigned(ParentNode) then
ParentNode.CustomSort(@CompareNodes);

ArrangeBaseNodes();
end;

FSimbaNode.AlphaSort();
FSimbaNode.Expanded := True; // This needs to be on main thread it seems?
Expand Down Expand Up @@ -761,7 +757,7 @@ procedure TSimbaFunctionListForm.ArrangeBaseNodes;

function TSimbaFunctionListForm.CompareNodes(A, B: TTreeNode): Integer;
begin
Result := CompareText(A.Text, B.Text);
Result := NaturalCompareText(A.Text, B.Text);

case A.ImageIndex of
IMG_TYPE: Dec(Result, 2000);
Expand Down
Loading

0 comments on commit 0b55c39

Please sign in to comment.