LetItBe 0.3.0 Tutorial

Copyright ý 1998 Pascal Goguey. All rights reserved.


This tutorial will explain you how to use the database software and also how to stuff data from an external program.
 
1. Start LetItBe

No surprise here: double click LetItBe's green apple or drag a file you have already created (red apple), or double-click an already created file. If you are a UNIX junkie, you van also start it from a terminal.

Your database GUI starts empty if you start by double click, or with some contents if you have drag & dropped or double-click a red apple. We will assume first that you have started from the scratch by double-clicking the green apple and choosing "new".
A database file is created and you have to provide a user name and a password. For the time being, the password is just a proof of concept of the multi-user database, and it is not encrypted. A later version will offer this security, as soon as I have found the proper encryption scheme. Any contribution is welcome.

2. Editing a layout

Important note:
For the time being, there is no guarantee that you can modify the layout of an existing file. You have thus to edit the layout first, and then use the file.

The layout editing is quite standard. Pick up an object from the editor's "Edit" menu and perform the necessary operations on it.
Reissue: You can reissue an object by dragging its handles (corners).
Text alignment: You can modify the alignment by clicking some special zones. The View menu's "Show hot spots" will show you the click able zones. The red zones are for reissue, the yellow ones are for alignment. Otherwise, you can also move the object by dragging a non-hotspot zone.

If you want to repeat an object with the same attributes (same font, same text alignment, same label alignment ...), you can set a first object as a template. Then, any new object creation will not create by default, but will clone the template. When you want to set an object as a template, a single object must be selected. If two objects are selected, even of the same type, the template will not be set. When an object is set as a template, its corners become red instead of black. When not selected, the corners become pink instead of red.

There is also a way to repeat object (with the cmd-R option or the menu). The repeat command repeats the last object with an offset. Try to set up a caption, and repeat it a couple of times...

The text field may be buggy because I have focused first on the caption. The text field can store large amounts of data. I have tried to store c++ source files in text fields and it works. Basically, there is no more limits than on a non-stylable text field.

When your interface is finished, you can switch to the database area. At that point, the configuration will be automatically saved into the file.
 

3. Using the database

In fact, there is not too much to say here. It works like the main stream databases.

  • If you type cmd-N, the current fields will be emptied and you can enter a new record which will be added at the end of the current database when you save it (cmd-s).
  • If you edit the currently displayed data and type cmd-s, the data will overwrite the currently edited record.
  • Beside that, you can navigate in the database using the two arrows and also use the find function (arrow + "?"). The first click on the find button empties the fields. You can enter data in one of the fields. In the current implementation, the search is sequential and works on a single field. The first non-empty field will be taken into account and the other fields ignored. The subsequent click on the find arrow is not tested yet.


If you quit without saving, only the last record may be lost. Otherwise, the updates are very frequent, and the losses should be minimal.
 

4. Using the message interface

This is documented in the main documentation, except the password and login of the "AddressBook" file. Login as "Guest" and enter "hello" as a password.
As a summary, if you want to send data to the program using BMessages, you should:

  • Create a BMessage with an ID equal to 'SDat';
  • Add a data pointer to the message with the label "data";
  • Add a map of your data (the sequence of the fields lengths in int64 format, -1 being used for empty fields);
  • Add a "where" int32 to the message. If where is less than the records count, it will simply replace the data at the "where" location. If the data labeled "where" is less than 0 (typically -1), the corresponding field will be ignored.
 
5. Message stuffing example

I have written a short piece of code to stuff the database. It is called "DataStuff".

  • Open the file "AddressBook" first. The username is "guest" and the password "hello".
  • Run the "DataStuff" program. Add data in the fields and send with the 
Well, I think it's time to use it. You can now add / remove fields and records. Have fun!

Return to documentation

Copyright ý 1998 Pascal Goguey. All rights reserved.