@ MOS Tools developpement
: MRE
^ MOS Resource Editor (MRE)

^INTRODUCTION

 MRE is a software of assistance for the development under MOS.
 MRE allows you to create all sort of requesters (masks) using objects of MOS
 such as buttons, sliders, windows, etc.

 You have only to put on the screen somes gadgets, and MRE will create
 the TP7 source corresponding to the requester that you want to created.

 MRE created Turbo Pascal v7.0 sources, and uses graphic MOS units.
 You must have these units in the current repertory used by your Turbo Pascal
 to be able to compile the sources created by MRE.

^FILES OF MRE

  MRE Package:

    - MRE.EXE Program
    - MRE.CFG configuration file of MRE
    - MRE.INI initialisation file of MRE
    - MRE.TXT The documentation that you read
    - SOURCES\
      - MRE.PAS main Source of MRE
      - MRE_ITEM.PAS Unit managing objects of MOS
      - MRE_ACTS.PAS Unit managing actions of MOS
      - MRE_MENU.PAS Unit managing menus of MOS
    - PROJECTS \ *.MRE
      - Various examples of MRE files.

^GENERALITY

 MRE allows you to create several type of sources:

    - Requesters using a window,
    - Requesters on bottom of screen, without window...
    - Menus.

 You can use a lot of gadgets to compose your masks:

    - Simple buttons,
    - Cyclers buttons,
    - Radio buttons and Checks buttons,
    - Sliders,
    - Commands (Management of texts),
    - Bevels boxes (Simple box),
    - String boxes (Relief box),
    - Texts.

^TO CREATE A REQUESTER

 To create a requester, you have first to define the characteristics of your
 window.  Use in order the menu "WINDOW" following :

    - IDCMP EDIT
    - IDRES EDIT
    - EDIT MISCELLANEOUS

 Then you can use the menu "ITEMS" that you allows to select the type of
 object that you want to use.
    - Menu "BUTTON", "CYCLER", "RADIO", "SLIDER", "COMMAND" allow you
      to use gadgets defined by MOS.
    - Menu "BEVEL", "STRING", "TEXT" allow you to draw boxes and display text.
    - Menu "WINDOW TEST" allows you to test your new creation.

 You can save and load using "LOAD PROJECT" and "SAVE PROJECT" menu.

 To generate the source TP7 corresponding to your requester, you have only to
 to select the point "GENERATE TP7 SOURCE" of the menu "FILE".  You give
 then a name to your file source, and MRE will save the source TP7.

 To define options of creation of the source TP7, go to the point of menu
 "SOURCE PREFS" of the menu "PREFERENCES".

^UTILIZATION OF MENU

 There are 7 differents menus:

    - The menu "FILES" that allows you to access to files, ends, and exit.
    - The menu "EDIT" regrouping editings and option functions of objects.
    - The menu "ITEMS" that allows you to select the current object to use.
    - The menu "WINDOW" that allows youto define and manage the window.
    - The menu "PREFS" that defines, uses and saves the prefs of MRE.
    - The menu "PROJECTS" that allows you to work on several projects.

 MENU "FILES"
 ------------
 "NEW PROJECT"  Create a new project.
 "LOAD PROJECT" Load and restore a project saved.
 "PROJECT SAVE" Save current project to load it later.
 "UPDATE PROJECT" Automatic save of the current project (Same name)

 "GENERATE TP7 SOURCE" Generate the TP7 source for MOS

 "HELP FOR BEGINNERS" Display a summary assistance on some of functions of
                      MRE during its use.
 "DOS SHELL"    Make a dos shell, you can return under MRE by tapping
                EXIT under DOS.
 "QUIT"         Leave MRE.

 MENU "EDIT"
 -----------
 "CLONED ITEMS"  If this option is selected, new whole created
                 objects will have for parameters these of the
                 object that precedes it in the list.  For example:
                 A created button will have its position defined by
                 your care, but its carateristics such that the
                 color, the stamp, the status, etc that will be
                 copied of the preceding button.

 "ADJUST POSITION ONE GRID" Allows if this option is selected
                 of ajust the position of all objects
                 (buttons, frameworks, window, etc) according to
                 the grille (if the former defined Summer).


 "JUSTIFY ITEMS" If this option is selected, when the window
                 will be resized, objects ajusted their
                 positions and their sizes in the window
                 automatically.

 "DELETE ITEMS" Allows suppress an or several type of objects
                 that have been beforehands define.

 "ITEM GET INFO" Get the quantity of each objects that has been defined.

 "UNDO LAST ACTION" Cancels the last operation.
                 To each action you make, MRE create an
                 image file of your work.  It is this file that is
                 reminded in case of error.

 MENU "ITEMS"
 ------------
         Select the point of menu that you desire to use. For example,
 to create an elevators, click on "SLIDERS", and create it.
 To edit your objects by using the mouse, and arrows of the keyboard.
 To test your creations, select "WINDOW" TEST.


 MENU "WINDOW"
 -------------
 "IDCMP EDIT" Modify IDCMP flags of the wurrent window.
 "IDRES EDIT" Modify IDRES flags of the current window.
 "EDIT MISCELLANEOUS" Modify various parameters of the window as for example,
                      it's minimal size, maximal, its title, its color
                      of bottom,etc.

 "SET GRID"   Authorizes or not the action of the grille on all
              objects and allows equally to define its values X
              and Y.  The grille allows objects and windows to
              be displaced or defined according to a X or There
              more or less great.

 "INIT WINDOW" Initials a window to the case or that used
               would have been closed by accident.

 "DELETE WINDOW" Suppress the choice of the current window,
                 objects contained in the window, or well objects
                 and the window.

 MENU "PREFS"
 ------------
 "DEFINE SYSTEM" Allows to modify or config the MOS
                 system : config the level of the mouse, the
                 keyboard, management of the screen.  ..


 "GET MEMORY INFO" Displays the memory state (Memory requester).

 "HAND DEFINE PREFS" Allows to define general MRE preferences.

 "DEFINE SOURCE PREFS" Allows to define parameters that affect the
                 creation of the source code :

                 - The name of the program created.
                 - The name of the procedure that defined the requester.
                 - The generation of a whole program or simply of a procedure
                   (Generate full program).
                 - The generation of comments in the source.
                 - The optimization of the created source.(Optimize source).
                 - The generation of menus and their test.(Menu Generate).

 "CLEAR SCREEN"  This function clean the bottom of the screen to the case or
                 some objects would have been defined out of the window,
                 and the display have to be refresh.

 "CONFIGURATION SAVE" saves the MRE configuration other that parameters of MOS
                 management, and notably, higher defined preferences.


 MENU "PROJECTS"
 ---------------
 This menu allows you to work on several projects at the same time, like
 WinWord.

 Each time that a new project is opened or created, it is added in this menu.
 You can choose with requester you want to work on.
 When you exit MRE, you can save the current project or well all projects
 that have been modified.

^EDITING AND MODIFICATION OF OBJECTS

         Management of objects can be made with the keyboard or with the
 mouse. When an object is created (a button for example), it is natural to
 want to modify it. (Adjust some parameters of the object).

         In normal time, the window is in "TEST" mode (Last point of the menu
 "Gadget"), that allows you to test gadgets of this window, to move them, and
 to modify its parameters by the intermediary of the its buttons.  If you
 select then an other point of the menu "Gadget", as the point "Button" for
 example, MRE go in mode Edit/Modification.

 From the version 2.5 of MRE, you can edit every gadget ever is its type.
 You are no longer obliged to select the type of the gadget in the menu to
 be able to edit this type.  If you use the mouse to select gadgets, you
 can edit does not import what gadget.  On the other hand if you use as arrows
 of the keyboard, you select successively all gadgets of the same type.

         To create a new button, use the mouse, and select a screen zone with
 the left button of the mouse, a rectangle drawn to show you the zone, then
 get off the button when the size of the rectangle dressed you.
 You come to define a new object.  Immediately to show a window that allows
 you to define properties of this new element (according to the created
 element, properties can be different).

 Modify properties of your element, and click on the button 'OK' when you
 have ended the editing.

         In the case of the editing of parameters of a "Button", you can
 define an action for this button.  Action that will be undertaken when the
 button will be click. If you click on "ACTION" it will edit the
 parameters of the button, you have then a big choice:

         - No Action.
         - Exit of the current requester.
         - Call of an other requester.
         - Call of the requester "Palette".
         - Call of the requester "Memory".
         - Call of the requester "Hardware".
         - Call of the "File" requester (select a file).
         - Call of the requester "Dialog".
         - Call of the requester "Progress".
         - Call of the requester "Make" .
         - Call of the requester "Attrib".
         - Call of the requester "System".
         - Call of the requester "Register".
         - Call of the requester "String".
         - Call of the requester "Value".

 Select then the chosen option, and to click on OK.

         You can define parameters of the selected requester that you
 want to use by clicking on "EDIT".

         In some requesters that return parameters as the Requester File,
 you can redirect the parameters to a gadget Command (for example).
 Example:  In the Requester File, select the option" Send Result to"
 and enter the number of the gadget command in which you want to return
 successively:  The path, the name and the size of the file selected.

         To know the number of different object leave that you can define,
 use the point of the menu "ITEM GET INFO" of the menu "EDIT" that gives the
 maximum quantity of each definable element, as well as the current quantity
 defined.

         When several objects have been defined, you can select the object of
 your choice by using arrows keys to mode you in the list of objects of a same
 type. Keys '+' and '-' have the same action.  You can as all simply pass
 with the mouse on the gadget as you want to select, it surrounds then a
 framework.

         The edition of an object been made by pressing  "ENTER" when the
 desired object is selected, or well in double - clicking with the mouse on
 the object desired.

         The move of an object can be make by positioning on the object
 desired with the mouse, then while now the key "SHIFT" pressed, move the
 object in clicking over with the left button of the mouse.

^WHAT MRE DOES NOT MANAGE

 In the current state, MRE does not manage to 100% the MOS interface,
 what means that some functionalities of MOS can not be obtained by MRE.

 Here some functions that MRE does not manage:

    - The size and the style of fonts in windows created.
    - The call of a requester from an other requester.
    - The menu.

^MRE IN THE FUTURE

 MRE will be subject to many improvements in the next versions.
 In here is some:

 - Creation of an application in its entirety (Several requesters will call 
   some others requesters).
 - Management of menus.
 - Addition of a button "TEST" allowing to test the requester created.

 All yours suggests are welcome.

: MGF
^(MOS Graphic File)

 MGF is a program you can find in the directory tools of mos package.
 MGF convert a BMP file in MGF format.
 MGF format is the same format as BMP format, but the image don't use the
 16 first colors. It's the only difference there is between a BMP and a MGF
 file.

 Why this difference ??
 Because MOS need 16 colors for the GUI (Graphical User Interface), and if
 you are in 256 color mode, the BMP can use also 256 colors.
 So when you have converted a BMP with mgf, the BMP will use 240 colors,
 replacing the 16 first colors by the best colors.

 How i use it ??
 The use is "MGF Name_of_the_file /options"
 If you want help use /? commnd line parameter
 Example of use : MGF *.BMP
                  MGF 01.BMP

: MSC
^(MOS Source Converter)

 This tool was created by Frdrric CHEVEAU to big modifications to MOS
 MOS sources. We have decided to redefine some procedure and funtions names
 to make the search easier than the 2.8 version.

 So if you want to update your software you make with the 2.8 version, use
 MSC with the command files (CMD) you will find in the installation package.

 But MSC is a very powerful tool, and you can use it for your needs :
 A command file (.CMD) is a text file witch begin by :

 "MSC v1.0 Command File"

 Then here are the commands :

 [Commands]
 <Define> [CaseSensitive] Is [No/Yes]
 <Skip>   [BlankLines] Is [No/Yes]
 <ReplaceString>  [..] by [..]
 <DeleteString>   [..]
 <ReplaceItem>    [..] by [..]
 <DeleteItem>     [..]
 <DeleteOccurence> After [..] After [0/1/..]
 <InsertLine> Before
 <InsertLine> After
 <DeleteLine>
 <DeleteLines> Size
 <InsertBlock>    [..] pos [0/1..]
 <DeleteBlock>    [..] size [0..]
 <Upper>          [..]
 <Lower>          [..]
 <Midder>         [..]
 <InsertParam>    [..] in [0/1/..] at [..]
 <DeleteParam>    [..] in [..]
 <Exit>
 <Cls>

 Rem ...

 Some Examples :

 <Define>  [CaseSensitive] Is [No]
 <Skip>    [BlankLines] Is [Yes]

 Rem <Cls>
 <Write> []
 <Write> [First Writing Test...]
 <Write> [2 Writing Test...]
 <Exit>

 Rem <ReplaceItem>      [Baki] by  [Ubu]
 Rem <DeleteOccurence> [Baki] After [0]
 Rem <DeleteOccurence> [Position] After [1]
 <DeleteLines> [Toto] Size [4]
 <DeleteLines> [Bik]  Size [3]

 <DeleteParam> [1] in [VESA_SetTextStyle]
 <InsertParam> [Get_System_Path(SP_FONTS)+'litt.chr'] in [VESA_SetTextStyle] at [1]

 <InsertParam> ['Bk'] in [Position] at [1]

 <ReplaceItem>      [Ppp] by  [Atika]
 <ReplaceItem>      [Zpk] by  [Ubu]
 <DeleteItem>       [Ubu]
 <ReplaceString>    [Uses] by [UsEs]
 <Lower>      [v2.4]
 <Upper>      [Boufftou]
 <InsertParam>[0] in [Baki] at [1]
 <DeleteParam>[1] in [Pos]
 <DeleteParam>[1] in [Bak]

 <Define>  [CaseSensitive] Is [Yes]
 <ReplaceString>    [MOS_NET] by [MOS_IPX]
 <InsertLine> [     MOS_KBD,] After [MOS_MSE]
 <InsertLine> [     MOS_TSK,] Before [MOS_REQ]
 <DeleteLine> [MOS_VAR]
 <Midder>     [Unit]
 <InsertBlock>[{!}] pos [3]
 <DeleteBlock>[6] size [3]
 <DeleteString>  [BP7]

: DID
^(Didacticial) The demo


 The didacticial (DID.EXE) presents the main functionality of MOS
 you find all examples of menus, requesters, windows and gadgets

 But this didacticial have no examples of : - playing FLI
                                            - using List
                                            - the Onglet.
 If you create an program with MOS and an example of what you want to make
 is in the didacticial you can use the didacticial source (did_cod.pas,
 did_mul.pas and did.pas).
