programmable relational database
with graphical user interface
Below documentation is part of the MUIbase dictribution and is also available in PDF.
MUIbase offers several preferences items the user can set to his likes. This chapter shows what preferences items are available and gives general information about how the preferences system works.
All preferences items can be divided into user settings and project settings.
7.1 User Settings
The user settings contain preferences items that depend on the choice of a user, e.g. the user's language, country or taste. The user settings are shown and can be customized in the top part of menu `Preferences'.
User settings are stored in the environment of the user. On Windows, Mac OS and Linux they are kept in the home directory of the user as `.MUIbase.prefs'. On the Amiga they are stored under `ENV:MUIbase.prefs' and `ENVARC:MUIbase.prefs'.
The user settings contain the preferences items listed below. Whenever any of these items is changed in the `Preferences' menu, the settings are written to disk in order to make them permanent.
By selecting menu item `Preferences - Formats' you can specify the formats used when displaying or printing real and date values. After selecting the menu item a new window appears containing the following items:
The initial values for real and date formats are determined according to the information found in the operating system's `locale' environment.
When you are done with all settings, press the `Ok' button to leave the window and update the display.
7.1.2 External Editor
Besides providing an internal editor built into MUIbase through the employed GUI toolkit, MUIbase also offers to edit text contents by using an external editor (e.g. the context menu of the built-in editor includes an item that allows to call the external editor for editing the contents). The name of the editor and its parameters are specified by selecting menu item `Preferences - External editor'. You should enter a command string that gets executed when calling the external editor. The special string `%f' can be used at the place of the filename and is replaced with the actual filename (or a temporary filename MUIbase creates for exchanging the text data) before execution.
For example, on Linux you can specify `emacs %f' for using the powerful GNU Emacs editor, or on the Amiga, you can use `CED %f -keepio' for switching to the famous CED editor as external editor.
Default is `Notepad %f' on Windows, `open -tWn %f' on Mac OS, `gvim -f %f' on Linux, and `Ed %f' on the Amiga.
Note that on Mac OS, the default setting
starts the external editor synchronously,
i.e. MUIbase waits for the editor to quit
(see the `-W' and `-n' flags in `open --help').
This is required when using menu item `External editor'
in the context menu of a Memo attribute (see Changing records)
and when using the
On the Amiga, additionally the sequence `%p' can be used in the command string. When calling the external editor this sequence is replaced by the name of the public screen MUIbase is running on.
7.1.3 External Viewer
MUIbase uses an external viewer for displaying the contents of external files, e.g. images, movies or any kind of documents. For example you can use the string data type for storing filenames in a table and then let MUIbase display them using the external viewer. To specify this viewer select menu item `Preferences - External viewer'. Like for the external editor (see External editor) you have to enter a command string here.
Default is `%f' on Windows (using ShellExecute), `open %f' on Mac OS, `gnome-open %f' on Linux, `Open %f' on MorphOS, and `Multiview %f' on other Amiga systems.
Note that on Mac OS, the default setting
always starts the external viewer asynchronously,
i.e. MUIbase never waits for the viewer to quit.
If you are running Mac OS 10.5 or higher then you can use
`open -Wn %f' for enabling synchronous viewing.
This is required when using the
On the Amiga, additionally the sequence `%p' can be used in the command string. When calling the external viewer this sequence is replaced by the name of the public screen MUIbase is running on.
7.1.4 Extra Buttons in Tab Chain
In the graphical user interface specified in the structured editor there might exist several extra buttons. Under extra buttons fall popup buttons, e.g. file, font or listview popups beneath a string field, auto-show and filter buttons of a reference field, and view buttons next to a string field.
These buttons are usually not included in the cycle chain, that is, you can't use the Tab key to activate them. However if you check menu item `Preferences - Extra buttons in Tab chain' then these buttons are also included in the Tab chain. Default is checked.
On the Amiga please note that changing the status of this menu item has only an effect after rebuilding the user interface, e.g. by switching to the structure editor and back to the user interface.
7.1.5 Advance on Enter
When the cursor is in an editable single-line text field in the user interface of a project, pressing the Enter key can either advance to the next item in the user interface or keep the cursor in the current text field.
If you check menu item `Preferences - Advance on <Enter>' then the cursor jumps to the next item in the user interface, otherwise it stays on the current text field. Default is checked.
Note that in any case, pressing Enter confirms and stores the entered text.
7.1.6 Confirm Quit
If you try to quit MUIbase and there are unsaved projects then a dialog pops up asking for confirmation. However if all projects have been saved, MUIbase quits silently.
In order to always enforce confirmation when quitting MUIbase, menu item `Preferences - Confirm quit' has to be checked. In this case you always get a confirmation dialog when selecting menu item `Project - Quit' or when closing the last open project. Default is unchecked.
Amiga only. As MUIbase on the Amiga is a MUI application, you can also specify the MUI preferences for this application by choosing menu item `Preferences - MUI'.
7.2 Project Settings
Project settings consists of preferences items that are stored along with a project. These items are shown and changeable in the lower part of menu `Preferences' and in menu `Program' (the reason to spread these among two menus is to keep menus compact and clear).
The following preferences items belong to the project settings. Whenever any of these settings is changed, the count of changes for the project is incremented.
7.2.1 Record Memory
MUIbase does not need to keep all records of a project in memory. Instead it uses a buffer for holding only a small number of records. By choosing a value from menu item `Preferences - Record memory' you can set the size of this buffer. Each project has its own buffer, so if you have opened two projects each having a record buffer size of 1MB, MUIbase will use up to 2MB for the records of both projects.
MUIbase does not allocate the memory a priori but uses a dynamic allocation scheme. Furthermore, the specified buffer size is only a soft limit and occasionally MUIbase might exceed it.
Once the buffer gets full, or if MUIbase runs out of memory, all records are flushed from the buffer. This means that unchanged records are simply freed and changed records are first written to disk and then freed (see Swap records).
By giving MUIbase a higher value for the record buffer you can notice a speed increase in accessing the records as more records can be held in memory and fewer disk access is needed. If there is enough memory to hold all records in memory and if you have specified a large enough memory limit (e.g. `unlimited') then MUIbase operates with optimal speed.
Default is `unlimited'.
7.2.2 Confirm Delete Record
You should check menu item `Preferences - Confirm delete record' if you want MUIbase to pop up a dialog asking for confirmation whenever you try to delete a record. Leave the item unchecked if records should be deleted silently. Default is checked.
7.2.3 Paths Relative to Project
If you want to reference external data (e.g. documents or images) then the filename of these data need to be stored in the project. For this purpose you can use absolute path names or path names containing assign names (see Filename conventions). Another way is to store external data relative to the directory of the project (note: this is not the project directory itself but the directory containing the project).
By activating menu item `Preferences - Paths relative to directory of project', MUIbase changes the current working directory to the directory containing the project. This means that if you have several projects open, MUIbase changes directories according to the currently active project. Once this menu item has been activated for a project, filenames can be specified relative to the directory of the project. This makes a project independent of where it is stored in the file system.
If you leave this menu item unchecked, MUIbase uses the initial working directory when the program was started.
Default is unchecked.
7.2.4 Confirm Auto Reload
When MUIbase finds an updated version of your project on disk, it automatically reloads the project. If menu item `Preferences - Confirm auto reload' is checked, MUIbase first opens a dialog for confirming the reload operation. If unchecked, the project is reloaded silently. Default is checked.
7.2.5 Confirm Save & Reorg
Saving and reorganizing a project can take quite some time depending on the size of the project. Therefore, if you select menu item `Project - Save & reorg' or `Project - Save & reorg as', a dialog pops up asking for confirmation of this operation. The dialog only appears if menu item `Preferences - Confirm save & reorg' is checked, thus you can disable this dialog by de-selecting the menu item. Default is checked.
7.2.6 Program Source
You can set the program source of a project in menu item `Program - Source' to be `Internal' or `External'. If set to `Internal', you can use MUIbase' built-in editor for editing and compiling the project's program. This is the default. If you wish to use an external editor for programming, you choose `External' and enter the name of a new file to which MUIbase then writes the program source. This allows to load and edit the program source into your favorite editor. For more information about how to use this feature, see External program source.
Note that when setting this menu item from `External' back to `Internal', the last successfully compiled version of the program is kept.
7.2.7 Cleanup External Program Source
Menu item `Program - Cleanup external program source' decides if the external program source file of a project should be deleted when closing the project or when changing menu item `Program - Source' back to `Internal'. See External program source, for more information about external source files. Default is checked.
7.2.8 Program Debug Information
For compiling a project's program, you can choose whether debug information should be included in the executable or not. If you compile without debug information and a run-time error occurs then an error description is generated but there is no information about where exactly the error occurred. If you compile with debug information then you also get the exact error location. Compiling with debug information is a bit slower, requires more memory and the resulting program is slightly less efficient.
Use menu item `Program - Embed debug information' to turn debug information for compilation on and off. Default is checked. After changing this state, don't forget to recompile the project's program by choosing menu item `Program - Compile'.
7.2.9 Obsolete Functions
Since MUIbase version 2.7 a few programming functions have been made obsolete (see List of obsolete functions). The functionality of these obsolete functions have been replaced by other mechanisms and the functions do not work as expected any longer. When opening projects containing programming functions which are now obsolete, you can choose how to handle them.
Menu item `Program - Obsolete functions' specifies how to react when an obsolete function is called. When choosing `Ignore silently' any call of an obsolete function is ignored and program execution continues by skipping over the function call. `Warn when called' opens a dialog window informing the user whenever an obsolete function is called and allows to continue execution or to abort with an error message. This is the default. If `Treat as error' is selected, any call of an obsolete function generates an error and compilation of programs containing obsolete functions fails with a proper error message.
It is recommended to choose `Treat as error' after all calls of obsolete functions have been removed from a project program. In order to find out if your project contains any calls of obsolete functions select `Treat as error' and recompile the project program.
7.2.10 Sort Trigger Functions
If menu item `Preferences - Sort trigger functions in pop-ups' is checked then functions available as triggers are sorted alphabetically for display in dialogs for creating and changing tables (see Creating tables) and for creating and changing attributes (see Creating attributes). Otherwise, functions are listed as they occur in the project's program. Default is unchecked.
7.2.11 Program Include Directory
The programming feature of MUIbase allows to include external source files within the project's program (see #include for more information). Menu item `Program - Include directory' allows to set a directory where MUIbase should search for such include files. Default is `MUIbase:Include'.
7.2.12 Program Output File
When executing a MUIbase program all output directed to `stdout' is actually printed to a file. The name of this file can be entered in a dialog by choosing menu item `Program - Output file'. You also specify if the output should be appended to the file or if the file should be erased and re-created on new output.
On Windows, Mac OS and Linux you can direct the output to an external program for processing the data. For this, the first character of the filename must be the pipe symbol `|' followed by the external program and its arguments. The external program has to read the data from its standard input. This allows on Linux for example the following re-directions:
On the Amiga there are a few special filenames for directing the output, e.g.:
7.3 Save as Default
The project settings are individual for each project, i.e. different projects can have different settings. For new projects a default setting is chosen. This default setting is stored together with the user settings in the user environment (see User settings).
In order to customize the default settings to your needs, you can store the settings of the current project as the default settings for new projects by choosing menu item `Preferences - Save as default'.
This document was generated on September, 11 2016 using texi2html