diff --git a/src/Makefile b/src/Makefile index e6c9553..5e2aafd 100644 --- a/src/Makefile +++ b/src/Makefile @@ -82,10 +82,10 @@ LD_OPT = -shared ## Libraries ## ##LIBPATH = -L/boot/home/config/lib -LIBPATHS = $(shell findpaths -a `getarch` B_FIND_PATH_LIB_DIRECTORY) . +LIBPATHS = $(shell findpaths -a `getarch` B_FIND_PATH_LIB_DIRECTORY;findpaths -a `getarch` B_FIND_PATH_DEVELOP_LIB_DIRECTORY) . LIBPATH=$(addprefix -L,$(LIBPATHS)) ##LIBPATH = -L`finddir B_SYSTEM_LIB_DIRECTORY` ##/boot/system/lib -LIB = -lbe -lroot -ltranslation -ltracker -lmedia +LIB = -lbe -lroot -ltranslation -ltracker -lmedia -llocalestub ## flags for flex (-d for debugging) FLEXFLAGS = -i -I -L -s diff --git a/src/YAB.rdef.rsrc b/src/YAB.rdef.rsrc index eedf689..fab91e5 100644 Binary files a/src/YAB.rdef.rsrc and b/src/YAB.rdef.rsrc differ diff --git a/yab-IDE/data/Help_En.dat b/yab-IDE/data/Help_En.dat index f1e7816..a1ca03b 100644 --- a/yab-IDE/data/Help_En.dat +++ b/yab-IDE/data/Help_En.dat @@ -2520,7 +2520,7 @@ Explanation: This program checks the string abc against various patterns and prints the result. The output is: -&exverbatim + abc matches a* abc does not match a? abc matches a?? @@ -2531,7 +2531,7 @@ abc does not match ? abc matches *c abc does not match A* abc does not match ???? -&exverbatim + & hex$() @@ -2841,7 +2841,7 @@ Explanation: This program prints the following output: -&exverbatim + Please enter a line: a 1 Tokens: a @@ -2871,7 +2871,7 @@ Please enter a line: a--b- Please enter a line: -a==b-c== 7 Tokens: (EMPTY),a,(EMPTY),b,c,(EMPTY),(EMPTY) -&exverbatim + Related: token @@ -2897,7 +2897,7 @@ Note, that for clarity, each space in the result has been replaced by the letter Examples for the format argument -&exverbatim + string | Result for converting 1000*pi | Description %2.5f 3141.59265 The '2' determines the minimum @@ -2953,7 +2953,7 @@ argument of "_," x3_141,59 Similar to the example above, specifies 2, yab does not know what to do; therefore it chooses just to reproduce the format string. -&exverbatim + Example: do @@ -3023,7 +3023,7 @@ Explanation: This program prints the following output: -&exverbatim + Please enter a line: a 1 Tokens: a @@ -3053,7 +3053,7 @@ Please enter a line: a--b- Please enter a line: -a==b-c== 3 Tokens: a,b,c -&exverbatim + Related: split @@ -3417,7 +3417,7 @@ Explanation: If this program is stored within a file test.yab and you enter this name when prompted for a file to read, you will see this output: -&exverbatim + Please enter the name of a file to read: test.yab input "Please @@ -3440,7 +3440,7 @@ b$ print b$ wend -&exverbatim + Related: line input @@ -3957,7 +3957,7 @@ Explanation: The library foo.bar (which is listed above) defines two functions bar and baz, however only the function bar is exported and therefore visible even outside the library; baz is not exported and may only be used within the library foo.yab. Now within your main program cux.yab (which imports the library foo.yab); note that this program produces an error: -&exverbatim + import foo print "Calling subroutine foo.bar (okay) ..." @@ -3975,11 +3975,11 @@ print "done." print "Calling subroutine baz (NOT okay) ..." baz() print "done." -&exverbatim + The output when executing yab foo.yab is this: -&exverbatim + Calling subroutine foo.bar (okay) ... Hello done. @@ -3993,7 +3993,7 @@ Calling subroutine baz (NOT okay) ... ---Error in main.yab, line 16: can't find subroutine 'baz' ---Dump: sub baz() called in main.yab,16 ---Error: Program stopped due to an error -&exverbatim + As the error message above shows, the subroutine baz must be qualified with the name of the library, if used outside the library, wherein it is defined (e.g. foo.baz. I.e. outside the library foo.yab you need to write foo.baz. baz alone would be an error. @@ -4037,7 +4037,7 @@ Lets say you have a yab-program foo.yab, which imports a library lib.yab. Now the library lib.yab reads: -&exverbatim + rem Make the subroutine x easily available outside this library export sub x(a) print a @@ -4050,18 +4050,18 @@ sub y(a) print a return end sub -&exverbatim + This program produces an error: -&exverbatim + 0 1 2 ---Error in foo.yab, line 13: can't find subroutine 'y' ---Dump: sub y() called in foo.yab,13 ---Error: Program stopped due to an error -&exverbatim + As you may see from the error message, yab is unable to find the subroutine y without specifying the name of the library (i.e. lib.y). The reason for this is, that y, other than x, is not exported from the library lib.yab (using the export-statement). @@ -4232,11 +4232,11 @@ Explanation: This program shows the difference between static and local variables within a subroutine; it produces this output: -&exverbatim + 1 1 2 1 3 1 -&exverbatim + The output shows, that the static variable a keeps its value between subroutine calls, whereas b is initialized with the value 0 at every call to the subroutine foo. @@ -4637,10 +4637,10 @@ Explanation: This program is very harsh in checking the users input; instead of just asking again, the program terminates with an error, if the user enters something wrong. The error message would look like this: -&exverbatim + ---Error in t.yab, line 2: Oh no ... ---Error: Program stopped due to an error -&exverbatim + & @@ -4666,9 +4666,9 @@ Explanation: The example simply prints Hello world!, which is the return value of the user defined subroutine foo$. The same could be achieved by executing: -&exverbatim + print foo$(a$,b$) -&exverbatim + Related: compile, execute @@ -6053,21 +6053,21 @@ For adding keyboard shortcuts to your program that are not related to menu entri The first letter of Shortcut$ specifys the shortcut key for this menu item. It is always combined with the command key which is ALT normally (or CTRL when CTRL and ALT are switched in the preferences). E.g. consider a Shortcut$ of "O" then ALT-O will send MyMessage$ to the message queue. Additionaly to the command key you can specify further modifiers which are set before the shortcut letter: -&exverbatim + "S" for the shift key "C" for the control key (CTRL, or ALT if CTRL and ALT are switched) "O" for the option key (on most keyboards probably the Windows button) -&exverbatim + These modifiers can be combined, but the following combinations do not work: "SO", "SC" and "SCO" Some Shortcut examples: -&exverbatim + "O" for ALT-O "SO" for Shift-ALT-O "COO" for Control-Option-ALT-O -&exverbatim + Message: Shortcut sends MyMessage$. @@ -6077,14 +6077,14 @@ To use shortcuts is good but to use shortcuts in menus is much better. In menus Use the default shortcuts as described for the menu command. Note: Other than with menu, the following shortcuts are reserved and cannot be overwritten: -&exverbatim + ALT-X ALT-C ALT-V ALT-A ALT-W ALT-Q -&exverbatim + Example: window open 100,100 to 300,200, "Example", "Example" @@ -6214,26 +6214,26 @@ Description: To add a menubar with menus to a window or a view named View$ is very easy. Simply call menu with the menu entry Head$ and a menu item called Menu$. If there is no menubar yet, a new one will be created. If the entry Head$ already exists, the item Menu$ will be added to the existing items at the end. If Menu$ is set as follows: -&exverbatim + Menu$ = "--" -&exverbatim + then the menu item will be a separator line. The first letter of Shortcut$ specifys the shortcut key for this menu item. It is always combined with the command key which is ALT normally (or CTRL when CTRL and ALT are switched in the preferences). E.g. consider a Shortcut$ of "O" then ALT-O will appear in the menu and the user has to press ALT-O to activate this menu item. Additionaly to the command key you can specify further modifiers which are set before the shortcut letter: -&exverbatim + "S" for the shift key "C" for the control key (CTRL, or ALT if CTRL and ALT are switched) "O" for the option key (on most keyboards probably the Windows button) -&exverbatim + These modifiers can be combined, but the following combinations do not work: "SO", "SC" and "SCO" Some Shortcut examples: -&exverbatim + "O" for ALT-O "SO" for Shift-ALT-O "COO" for Control-Option-ALT-O -&exverbatim + The height of the menubar (which depends on the size of the system menu font) can be checked with the peek command. @@ -6248,7 +6248,7 @@ Design: Although views can have a menubar too, you should only give windows a menu. Use capitalized words for English menu entries (like for headings). A menu item should have three dots (...) always when the user can expect a further dialog and not an immediate action. Use the default menu head entries: File, Edit, View, Help Use the following default shortcuts: -&exverbatim + For the menu Head$ "File": "N" -- New "O" -- Open @@ -6268,7 +6268,7 @@ Further default shortcuts: "G" -- Find Again "H" -- Help "P" -- Print -&exverbatim + Example: localize @@ -6323,12 +6323,12 @@ Given a MenuHead$ you can put the entire menu in radio mode, i.e. only one item Given a MenuHead$ and a MeniItem$ you can disable or enable the item or you can select it by putting a mark to it or remove the mark again. Thus the following options are valid: -&exverbatim + Option$ = "Disable" -- grey out the item so it cannot be selected anymore Option$ = "Enable" -- enable a formerly disabled item again Option$ = "Mark" -- mark this item Option$ = "Plain" -- remove a mark again -&exverbatim + Example: window open 100,100 to 400,300, "Example", "Example" @@ -6414,26 +6414,26 @@ Description: To have a submenu to an existing menu, you have to specify the menu title MenuHead$, the menu item that will contain the submenu MenuItem$ and the new name for the submenu entry SubMenuItem$. If MenuHead$ or MenuItem$ do not exist, they are created. Similar to the menu command the submenu item can be called by a shortcut key Shortcut$. This again explained below in detail. If SubMenuItem$ is set as follows: -&exverbatim + Menu$ = "--" -&exverbatim + then the submenu item will be a separator line. The first letter of Shortcut$ specifys the shortcut key for this submenu item. It is always combined with the command key which is ALT normally (or CTRL when CTRL and ALT are switched in the preferences). E.g. consider a Shortcut$ of "O" then ALT-O will appear in the menu and the user has to press ALT-O to activate this menu item. Additionaly to the command key you can specify further modifiers which are set before the shortcut letter: -&exverbatim + "S" for the shift key "C" for the control key (CTRL, or ALT if CTRL and ALT are switched) "O" for the option key (on most keyboards probably the Windows button) -&exverbatim + These modifiers can be combined, but the following combinations do not work: "SO", "SC" and "SCO" Some Shortcut examples: -&exverbatim + "O" for ALT-O "SO" for Shift-ALT-O "COO" for Control-Option-ALT-O -&exverbatim + Message: The submenu when selected or called by the shortcut key will return a message of the format: @@ -6509,12 +6509,12 @@ Given a MenuHead$ and a MenuItem$ you can put the entire submenu in radio mode, Given a MenuHead$, a MeniItem$ and a SubMenuItem$ you can disable or enable the item or you can select it by putting a mark to it or remove the mark again. Thus the following options are valid: -&exverbatim + Option$ = "Disable" -- grey out the item so it cannot be selected anymore Option$ = "Enable" -- enable a formerly disabled item again Option$ = "Mark" -- mark this item Option$ = "Plain" -- remove a mark again -&exverbatim + Example: window open 100,100 to 400,300, "Example", "Example" @@ -8794,13 +8794,13 @@ Dictionaries for stand-alone programs are normally put into the subdirectory Lan In the dictionary directory there should be files named like the programs name or like file name in Filename$. The files have a language code as ending. The language code consists of a two letter code for the language and a capitalized two letter code of the country. For a sample program named foobar.yab, some example dictionaries: foobar.deDE (language German (de) and country Germany (DE)), foorbar.enUS (language English (en) and country United States (US)), foobar.nlBE (language Dutch (nl) and country Belgium (BE)). The dictionary contains the English term in paranthesis ("") some spaces as separator and the translated text in the target language in paranthesis too. Example: -&exverbatim + # A comment starts with a # # English German "File" "Datei" "Quit" "Beenden" "This is a sentence." "Dies ist ein Satz." -&exverbatim + This all looks complicated, but the reader is encouraged to have a look at the localization of the yab IDE and other tools to understand localization completly. diff --git a/yab-IDE/data/Help_En_Index.dat b/yab-IDE/data/Help_En_Index.dat index 2db5458..50af38b 100644 --- a/yab-IDE/data/Help_En_Index.dat +++ b/yab-IDE/data/Help_En_Index.dat @@ -156,609 +156,509 @@ chr$() 62748 glob() 63610 -abc matches a* -64571 - -64759 hex$() -64768 +64746 instr() -65258 +65236 left$() -66272 +66250 len() -67573 +67551 lower$() -67947 +67925 ltrim$() -68355 +68333 rtrim$() -69007 +68985 mid$() -69655 +69633 right$() -70923 +70901 split() -72242 -Please enter a line: a -74879 - -75373 +72220 str$() -75399 -string | Result for converting 1000*pi | Description -76805 - -80202 +75355 token() -80504 -Please enter a line: a -83027 - -83425 +80438 trim$() -83452 +83364 upper$() -84065 +83977 val() -84713 +84625 & -85427 +85339 at() -85432 +85344 clear screen -86805 +86717 close -87603 +87515 color -88074 +87986 colour -89272 +89184 eof -89504 +89416 getscreen$() -90095 +90007 inkey$ -91327 +91239 input -92630 -Please enter the name of a file to read: test.yab -94024 - -94161 +92542 line input -94196 +94086 open -95038 +94928 print -98165 +98055 putscreen -101570 +101460 reverse -102549 +102439 screen -103412 +103302 seek() -103727 +103617 tell -105289 +105179 using -105950 +105840 # -106991 +106881 at() -108364 +108254 ; -109727 +109617 & -110373 +110263 end sub -110381 +110271 export -110813 -import foo -111860 - -112158 -Calling subroutine foo.bar (okay) ... -112259 - -112573 +110703 import -113108 -rem Make the subroutine x easily available outside this library -114044 - -114220 -0 -114269 - -114427 +112954 local -114712 +114514 numparams -116172 +115974 return -117623 +117425 static -119325 -1 1 -120127 - -120150 +119127 sub -120345 +120125 &Attributes -122634 +122414 & -122636 +122416 attribute clear -122652 +122432 attribute get -122891 +122671 attribute get$ -123622 +123402 attribute set -125280 +125060 bind() -125866 +125646 clipboard copy -126638 +126418 clipboard paste$ -127340 +127120 compile -127962 +127742 date$ -128518 +128298 doc -130243 +130023 docu$ -131398 +131178 error -132220 ----Error in t.yab, line 2: Oh no ... -132863 - -132919 +132000 execute$() -132933 -print foo$(a$,b$) -133968 - -133981 +132691 execute() -134021 +133757 exit -134426 +134162 iscomputeron -134820 +134556 pause -135208 +134944 peek -136435 +136171 peek$ -141988 +141724 poke -145605 +145341 rem -146843 +146579 sleep -147957 +147693 system$() -148316 +148052 system() -148905 +148641 thread get -149528 +149264 thread remove -150877 +150613 time$ -151800 +151536 to -152969 +152705 // -153523 +153259 : -154027 +153763 &Bitmaps -154660 +154396 & -154662 +154398 bitmap -154669 +154405 bitmap color -155028 +154764 bitmap get -155380 +155116 bitmap image -158505 +158241 bitmap remove -158792 +158528 bitmap save -159020 +158756 screenshot -159417 +159153 -159663 +159399 -159673 +159409 draw bitmap -159687 +159423 draw circle -160553 +160289 draw curve -161212 +160948 draw dot -162197 +161933 draw ellipse -162778 +162514 draw flush -163517 +163253 draw get -164647 +164383 draw get$ -166593 +166329 draw image -168006 +167742 draw line -169912 +169648 draw rect -170484 +170220 draw set -171140 +170876 draw text -174509 +174245 & -175679 +175415 ismousein() -175691 +175427 keyboard message$() -176413 +176149 message$ -178302 +178038 message send -180635 +180371 mouse message$() -181685 +181421 mousemove$ -183709 +183445 mouse set -184365 +184101 shortcut -184871 -"S" for the shift key -185671 - -185823 -"O" for ALT-O -185973 - -186038 -ALT-X -186462 - -186505 +184607 &Printing -187456 +187126 & -187458 +187128 printer -187466 +187136 printer setup -189839 +189509 & -190863 +190533 menu -190868 -Menu$ = "--" -191336 -then the menu item will be a separator line. -191393 -"S" for the shift key -191866 -These modifiers can be combined, but the following combinations do not work: "SO", "SC" and "SCO" -192115 -"O" for ALT-O -192166 - -192231 -For the menu Head$ "File": -193029 - -193279 +190538 menu set -194371 -Option$ = "Disable" -- grey out the item so it cannot be selected anymore -195174 - -195323 +193953 popupmenu -196434 +195994 submenu -198082 -Menu$ = "--" -198666 -then the submenu item will be a separator line. -198726 -"S" for the shift key -199202 -These modifiers can be combined, but the following combinations do not work: "SO", "SC" and "SCO" -199451 -"O" for ALT-O -199502 - -199567 +197642 submenu set -202453 -Option$ = "Disable" -- grey out the item so it cannot be selected anymore -203329 - -203478 +201947 &Boxview -204232 +203704 & -204234 +203706 boxview -204242 +203714 boxview set -205667 +205139 canvas -205898 +205370 layout -206336 +205808 & -207558 +207030 scrollbar -207568 +207040 scrollbar get -207788 +207260 scrollbar set -208067 +207539 & -209499 +208971 splitview -209509 +208981 splitview get -210447 +209919 splitview set -210677 +210149 & -211210 +210682 stackview -211220 +210692 stackview get -213334 +212806 stackview set -213625 +213097 & -214082 +213554 tabview -214090 +213562 tabview add -214370 +213842 tabview get -215267 +214739 tabview set -215466 +214938 & -215650 +215122 view -215655 +215127 view dropzone -215799 +215271 view get -216084 +215556 view remove -216359 +215831 & -216850 +216322 button -216857 +216329 button image -218172 +217644 calendar -219913 +219385 calendar get$ -221580 +221052 calendar set -222073 +221545 checkbox -222498 +221970 checkbox image -223755 +223227 checkbox set -225982 +225454 colorcontrol -226281 +225753 colorcontrol get -228303 +227775 colorcontrol set -228911 +228383 columnbox -229247 +228719 columnbox add -234457 +233929 columnbox clear -235638 +235110 columnbox color -236006 +235478 columnbox column -237051 +236523 columnbox count -238210 +237682 columnbox get -238648 +238120 columnbox get$ -239183 +238655 columnbox remove -239726 +239198 columnbox select -240083 +239555 & -240539 +240011 dropbox -240547 +240019 dropbox add -241752 +241224 dropbox clear -242026 +241498 dropbox count -242277 +241749 dropbox get$ -242527 +241999 dropbox remove -242821 +242293 dropbox select -243380 +242852 listbox -243659 +243131 listbox add -246624 +246096 listbox clear -247102 +246574 listbox count -247397 +246869 listbox get -247793 +247265 listbox get$ -248280 +247752 listbox remove -248698 +248170 listbox select -249037 +248509 listbox sort -249682 +249154 & -250391 +249863 option color -250404 +249876 option set -250614 +250086 radiobutton -251506 +250978 radiobutton set -253240 +252712 & -253644 +253116 slider -253651 +253123 slider color -254372 +253844 slider get -254795 +254267 slider label -255022 +254494 slider set -255273 +254745 spincontrol -255885 +255357 spincontrol get -256182 +255654 spincontrol set -256412 +255884 statusbar -256632 +256104 statusbar set -258101 +257573 text -258599 +258071 text set -259787 +259259 & -260909 +260381 textcontrol -260921 +260393 textcontrol clear -261446 +260918 textcontrol get$ -261684 +261156 textcontrol set -261976 +261448 textedit -263102 +262574 textedit add -263765 +263237 textedit clear -264090 +263562 textedit color -264432 +263904 textedit get -265413 +264885 textedit get$ -267105 +266577 textedit set -267544 +267016 & -270751 +270223 texturl -270759 +270231 texturl color -271367 +270839 tooltip -271747 +271219 tooltip color -273427 +272899 & -274710 +274182 treebox -274718 +274190 treebox add -275081 +274553 treebox clear -275606 +275078 treebox collapse -275869 +275341 treebox count -276167 +275639 treebox expand -276475 +275947 treebox get$ -276758 +276230 treebox remove -277085 +276557 treebox select -277570 +277042 treebox sort -277873 +277345 & -278167 +277639 localize -278176 -# A comment starts with a # -279740 - -279864 +277648 translate$() -281430 +280880 &Sound -282183 +281633 & -282185 +281635 beep -282190 +281640 bell -282424 +281874 sound play -282787 +282237 sound stop -283712 +283162 sound wait -284086 +283536 &Window -284491 +283941 & -284493 +283943 alert -284499 +283949 filepanel -286277 +285727 window open -289567 +289017 window close -292282 +291732 window count -292774 +292224 window get -293401 +292851 window set -295122 +294572