Documentation
Below documentation is part of the BeeBase dictribution and is also available in PDF.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
7. Preferences
BeeBase 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 | Global settings stored in user environment. | |
7.2 Project settings | Settings stored with a project. | |
7.3 Save as default | Saves project settings for future projects. |
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 `.BeeBase.prefs'. On the Amiga they are stored under `ENV:BeeBase.prefs' and `ENVARC:BeeBase.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.
7.1.1 Formats | Real and date formats. | |
7.1.2 External editor | Specify your external editor. | |
7.1.3 External viewer | Specify your external viewer. | |
7.1.4 Extra buttons in Tab chain | Include extra buttons in the Tab chain. | |
7.1.5 Advance on Enter | Move to next field when pressing Enter key. | |
7.1.6 Confirm quit | Confirmation dialog when quitting BeeBase. | |
7.1.7 MUI | MUI's preferences. |
7.1.1 Formats
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:
- a field `Real format' for setting the decimal character
of real values. You can choose between `Decimal point'
and `Decimal comma'.
- a field `Date format' for specifying how date values
are output. You can choose between `Day.Month.Year',
`Month/Day/Year' and `Year-Month-Day'.
- two buttons `Ok' and `Cancel' for leaving the window.
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 BeeBase through the employed GUI toolkit, BeeBase 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 BeeBase 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. BeeBase 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 field (see Changing records)
and when using the EDIT
command for programming BeeBase (see EDIT).
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 BeeBase is running on.
7.1.3 External Viewer
BeeBase 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 BeeBase 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. BeeBase 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 VIEW
command
for programming BeeBase (see VIEW).
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 BeeBase is running on.
Starting with BeeBase 4.0 an external viewer is chosen automatically based on your system settings on Windows and Linux, and this setting is not available.
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 BeeBase and there are unsaved projects then a dialog pops up asking for confirmation. However if all projects have been saved, BeeBase quits silently.
In order to always enforce confirmation when quitting BeeBase, 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.
7.1.7 MUI
Amiga only. As BeeBase 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 | Size of record buffer. | |
7.2.2 Confirm delete record | Confirmation dialog when deleting records. | |
7.2.3 Paths relative to project | How relative path names are treated. | |
7.2.4 Confirm auto reload | Confirmation dialog when auto-reloading a project. | |
7.2.5 Confirm save & reorg | Confirmation dialog when saving and reorganizing a project. | |
7.2.6 Vacuum after reorg | Run the SQLite Vacuum command after reorganizing a project. | |
7.2.7 Program source | Internal or external program source. | |
7.2.8 Cleanup ext. prg. source | Delete external source files when no longer needed. | |
7.2.9 Embed debug info | Compile with or without debug information. | |
7.2.10 Obsolete functions | How to handle calls of obsolete functions. | |
7.2.11 Sort trigger functions | Alphabetical sorting in pop-up windows. | |
7.2.12 Program include dir | Where to look for external include files. | |
7.2.13 Program output file | Where program output goes. |
7.2.1 Record Memory
BeeBase 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, BeeBase will use up to 2MB for the records of both projects.
BeeBase 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 BeeBase might exceed it.
Once the buffer gets full, or if BeeBase 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 BeeBase 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 BeeBase 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 BeeBase 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', BeeBase changes the current working directory to the directory containing the project. This means that if you have several projects open, BeeBase 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, BeeBase uses the initial working directory when the program was started.
Default is unchecked.
7.2.4 Confirm Auto Reload
When BeeBase finds an updated version of your project on disk, it automatically reloads the project. If menu item `Preferences - Confirm auto reload' is checked, BeeBase 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 Vacuum After Reorg
If `Preferences - Vacuum after reorg' is checked, the SQLite3 project file is optimized by running the `Vacuum' command. This reduces the size of the file to a minimum.
On the Amiga, this command can fail when another BeeBase instance has access to the database due to a limitation of the filesystem to truncate a file. The project file is still valid though, it just is not as compact as it could be.
Default is checked.
7.2.7 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 BeeBase' 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 BeeBase 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.8 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.9 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. After changing this state, don't forget to recompile the project's program by choosing menu item `Program - Compile'.
Default is checked.
7.2.10 Obsolete Functions
Since BeeBase 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.11 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 fields (see Creating fields). Otherwise, functions are listed as they occur in the project's program.
Default is unchecked.
7.2.12 Program Include Directory
The programming feature of BeeBase 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 BeeBase should search for such include files.
Default is `BeeBase:Include'.
7.2.13 Program Output File
When executing a BeeBase 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:
- `|lpr' prints the output on the default printer.
- `|mknod /tmp/pipe p; (xterm -e less -f /tmp/pipe &); cat > /tmp/pipe; rm /tmp/pipe' displays the output using the program `less' in its own
`xterm' window.
- `/dev/pts/0' writes the output to a terminal
connected to `pts/0'.
On some desktop environments, e.g. KDE, a daemon listens to this terminal
and the output gets displayed in a window.
- `/dev/stdout' passes the output to the standard output channel
of BeeBase. This is the default.
On the Amiga there are a few special filenames for directing the output, e.g.:
- `PRT:' prints the output on your printer.
- `CON:////BeeBase output/CLOSE/WAIT' prints the output in a
Shell window.
- `CONSOLE:' prints the output in the Shell window
where BeeBase has been started from. This is the default.
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'.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated on September, 30 2024 using texi2html