Results 1 to 5 of 5

Thread: User tools

  1. #1

    Question User tools

    Hi,

    thinAir seems limited to list only the five first tools specified in thinAir_Tools.ini.
    Five slots, three of them are already used by thinClippy, thinDownload and ressource editor.

    I have thinternational, gitPrepare and thinRad(nya). Please, could it be possible to have like 2 more slots ?
    ThinBasic 1.11.6.0 ALPHA - Windows 8.1 x64

  2. #2
    thinBasic author ErosOlmi's Avatar
    Join Date
    Sep 2004
    Location
    Milan - Italy
    Age
    57
    Posts
    8,777
    Rep Power
    10
    Next update will have up to 20 user tool menu items.
    Also it will load configuration from user file \thinBasic\thinAir\Tools\thinAir_Tools_Usr.ini that is actually just ignored

    Capture.PNG
    www.thinbasic.com | www.thinbasic.com/community/ | help.thinbasic.com
    Windows 10 Pro for Workstations 64bit - 32 GB - Intel(R) Xeon(R) W-10855M CPU @ 2.80GHz - NVIDIA Quadro RTX 3000

  3. #3
    Super Moderator Petr Schreiber's Avatar
    Join Date
    Aug 2005
    Location
    Brno - Czech Republic
    Posts
    7,128
    Rep Power
    732
    That would be superb, thanks a lot!


    Petr
    Learn 3D graphics with ThinBASIC, learn TBGL!
    Windows 10 64bit - Intel Core i5-3350P @ 3.1GHz - 16 GB RAM - NVIDIA GeForce GTX 1050 Ti 4GB

  4. #4

    Thumbs up

    thanks a lot!
    ThinBasic 1.11.6.0 ALPHA - Windows 8.1 x64

  5. #5
    thinBasic MVPs
    Join Date
    Oct 2012
    Location
    Germany
    Age
    54
    Posts
    1,530
    Rep Power
    171
    For that: small suggest to enable user-configurability to bit more order:

    How 'bout open XML-Style ?

    <?xml version="1.0" encoding="whatever needed"?>
    
    <!-- this is a non-configurable dummy which is only to display names etc.
           this is meant to be only a copy of the built-In thinAir_menu.xml to find in
           App_Path & "thinAir\local\" and probably named alike "thinAir_Menu.English.XML" -->
          
          <thinAir local="english" />
     
         <!-- supposed to work as the "default.theme.xml" but this one will not be used by thinAir
           the default-settings of thinAir with english captions should be hidden deep inside and not 
           accessible for the user. All we have to do if we like to return to shipping-defaults is to                 remove/rename our self-created thinAir_Menu.USER.xml file which anyone can create from         this template in his native language. I am not sure if that requires ANSI or is it possible 
           using UTF-8? You know for sure...-->
    
            
    <thinAir menubar>
       <popup>
            <item name="popup_file" text="&File" />
            <string>
                  <item name="file_new" text="&New..." accel="vk_N" ctrl="true" />
            </string>
            <popup> 
                  <item name="file_New_User" />
                  <!-- not visible because no text. the user can write inside "thinAir_Menu.User.XML"                    something that gives it a text to open his personalized submenu at this position -->
            </popup>
            <separator/>
            <string>
                   <item name="file_Open" text ="&Open..." accel="vk_O" ctrl="true" />
            </string>
            <popup>
                   <item name="file_Openrecentfile" text="Open &recent files..."/>
                   <strings>
                        <slots used="22" number="0" max=30 />
                        <repeat incr="%slots number%" until="%slots used%"
                             <item name="file_SlotRecentfile{1}" text="{1} {2}" 2="$recentfile({1})$" 1="%slots number%" />
                       </repeat>
                 </strings>
          </popup>
          <popup>
                <item name="file_openrecentPath" text="Open from recent paths..."/>
                <strings>
                     <slots used="12" number="0" max="20" />
                    <repeat incr="%slots number%" until="%slots used%"
                          <item name="file_SlotRecentPath{1}" text="{1} {2}" 2="$recentpath({1})$" 1="%slots number%" />
                    </repeat>
            </strings>
        </popup>
        <popup>
             <item name="file_OpenUser" />
             <!-- another currently invisible popup to node something user-defined right before the separator, just requires a text  -->
        </popup>
        <separator/>
    <!-- i will not complete it here. It serves for the idea, just repeat that pattern. ----------------------< -->
    
    its a start to have thinAir localized to any language - this is what users can do on their own - and attach translations here in the
    thinAir-forum-section somewhere. I am nosy how many different languages it will count...

    But there is - oh how could you know - more to it.

    menu-Icons for tools-files should be obtained directly from the files or the associated editor if "tools"-files are documents- sometimes we have a helpfile, html or pdf containing the information we currently need.

    Mentioning documents- especially htm/html/mhtml/chm should be easy to display in thinAir and even for pdf/fdf there are dlls to
    use it in browser - all it requires were to use the webbrowser-control instead of scintilla in a modified mdi-child of thinair- while
    such mdi-child is displayed the file-listview could add the file-pattern - to "*.tBasic*" & "*.inc" it could also show html-help or pdf-pages while the codebrowser/explorer could enable tabpage3 and display navigation of the help.
    Even F1 on hovering above Keyword and codetips could display full help in that area if the user likes to.

    But actually i am looking to find information about scripting thinAir - am searching how to display and highlight a certain token, how to make thinAir to save or reload a file or if it has to be the hard way to send bulk keys to select a keyword?
    If it could reply for example what is the control-handle within the mdi-child that currently displays a certain script, give a list of all the opened scriptfiles and to open and display a certain row & column without to force an error by saving a copy of the script to show with the name of the currently running and from within thinair started script where i fake the error-log just to display something in another instance - its not satisfying- especially when i try to rename some object that is referenced 100 times or more often. The way the previous thinAir did it ("Run script inside thinAir") was neither the solution that could convince me.

    i imagine that thinAir provides a few functions like if running a script as this:
    Uses "thinAir"
    
    Dim tA as New thinAir(getCurrentInstance[, Using {Direct|File ="c:\test\filename.txt"|Clipboard|Heap}]) 
    ' make sure it will not open a new one 
    ' Direct: revive the "direct-tabpage" to display a textbox as StdIn/StdOut 
    '              for "1-line-scripts"  that will be fired when Enter-key is pressed 
    ' File : returned results appended as new Line to the given file 
    ' Heap: returned results will be stored at Heap and it will only return a pointer. 
       
    ? tA.ListFiles ' in Direct-mode print names of currently loaded files directly to the built-in console-alike-textbox
                       ' in file-mode each item gets saved on a seperate line 
                       ' clipboard would contain a string delimited by newLine chars
                       ' pointed heap(HHHH) contains a list of pointers (equal to an array of dword) as
                       ' Heap_Get(HHHH) returns "PTR1PTR2PTR3PTR4PTR5etc."
                       ' Heap_Get(PTR1) returns 1st open filename, Heap_Get(PTR2) the second in the list ...
                       ' 
    ? tA.Show(sFilename, Row, Col) to make the current instance of thinAir display the file at the specified position
    ? tA.Backup(sFilename) to save sFilename & "_backup_" & Replace$(Now, Any ":'",".") & sFileExt               ' 
    ? tA.SelectAt(sFilename, StartRow, StartCol, {SelLength| EndRow, EndCol})
    ? tA.SelectToken(sFilename, Row, Col, sToken[, collate Ucase])
    ? tA.Reload(sFileName[, createBackupBeforeReload])
    ? tA.ReplaceAt, replaceToken, InsertAt, InsertBeforeToken, InsertAfterToken
    ? ta.MoveSelection(newRow, newCol) 
    
    tA.AddTabPage(
    ' so it allows to use any thinBasic-functions until i type: 
    STOP
    
    Requesting function results without any variables like using "?" at times when we were proud to own a computer thats memory
    just was 64kB and colon was a command seperator while semicolon meant to continue output still on the same line...
    I think there are missing some Forum-sections as beta-testing and support

Similar Threads

  1. OpenCL tools
    By Michael Clease in forum TBGL module by Petr Schreiber
    Replies: 1
    Last Post: 22-11-2011, 19:43
  2. M15 tools and resources
    By Petr Schreiber in forum M15 file format
    Replies: 0
    Last Post: 19-10-2008, 11:23
  3. Tools and modules
    By Michael Hartlef in forum thinStudio
    Replies: 1
    Last Post: 19-09-2008, 01:06
  4. B3D - Tools
    By Michael Hartlef in forum TBGL General
    Replies: 2
    Last Post: 01-08-2008, 21:39
  5. ? about thinAir TOOLS options
    By GSAC3 in forum thinAir General
    Replies: 21
    Last Post: 21-12-2007, 08:32

Members who have read this thread: 1

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •