Squeak SmalltalkJoker Squeak Smalltalk : Morphic : prevnext Bobs UI

Thanks for trying BobsUI. There is no tutorial yet.  I will make one and upload 
it to the swiki, but right now I am very busy and will not be able to work on 
BobsUI for a couple of months. 

Until I write the tutorial, there are a few things you can look at if you want 
to experiment. 1. If you haven't done this, download BobsUI from SqueakMap.

2. The screenshot app is called ExampleRolodex.  You can open this by typing 
"ExampleRolodex open" in a workspace, highlighting it, and selecting "do it" 
from the workspace menu. 

3. The ExampleRolodex is the most complete example I have of how most BobsUI 
windows will be written.  It has an application model, (ExampleRolodex), 
composite models, and elements.  You can start at ExampleRolodex and find how 
the models interact. 

4.  Developing visual components in BobsUI is unlike any other tool I have ever 
used, so it might be confusing for new BobsUI users.  In order to develop a 
BobsUI window, you do not start with a window and add components to it.  You 
start with components, save them, and when they are done add them to a window.  
The last thing you do is save the window.  With models and visual components, 
you are always building from small to large in BobsUI. 

5.  The visual components in BobsUI are created from the bobsUI menu, which is 
found on the World menu. You create a component, like a button, and drop it 
onto the desktop.  Then you change the settings to what you want using the 
viewer button on its halo.  When you are done, you push the bottom left purple 
button on its halo, and save it to a repository. 

6.  When visual components are saved, they are written in XML format to what I 
called a repository.  You can browse the repositories with the repository 
browser, which is located on the bobsUI menu.  On the browser there are four 
panes from left to right.  These panes are: 

    - Builders      The builder that you will use to build components in the 
    browser. - Repositories  Where components are written.  There are two 
    repositories here, one for the view used by the bobsUI tools, and one for 
    example windows.  You can also create your own.  Whichever repository is 
    set to default is the one you will write components in. 

    - Categories    The type of documents to make searching easier.
    - Documents     These are the names of the components. Selecting these will 
    display their XML in the pane below. 

For example, the XML document that represents the ExampleRolodex window is 
located in Examples, window, rolodexExampleView. 

You can open any document in the repository for editing by selecting its name 
and selecting "open" on the document name pane's menu. 

There are other examples in the download.  Mostly they are there for my testing 
purposes, but they are small enough that you can look at them and learn 
something. They are much less complex than the ExampleRolodex. You can send 
"open" to any of these models in a workspace.  These include: 

ButtonTestModel
CheckBoxTestModel
DropDownListTestModel
EnableDisableTestModel
EntryFieldTestModel
AddComponentTestModel
PanelTestModel
PanelSwapTestModel
RadioButtonTestModel
SliderTestModel
SpinButtonTestModel
TestHideUnhideModel

I hope this gives you something to look at until I can write proper 
documentation.  

I have two warnings.  One is the next update to BobsUI will likely break any 
windows you create in the current version, so don't create anything important, 
because you might have to delete it. I hope to release the next version in a 
few months.  After that change, BobsUI will be more stable and safe to use.  

The second warning is that the goal for BobsUI is to be able to write business 
applications in it, but it is not close to that goal yet.  If you look closely 
at the code you will find bugs, bad code, and things which are only beginning 
to be implemented that need a lot of work.  Eventually these things will be 
worked on, but today it is only about half finished. 

If you have any questions, you can send an email.

- Doug