-
Notifications
You must be signed in to change notification settings - Fork 9
The pane on the left is called VivideLight. If you have closed it you can reopen it by executing: VivideLight open.
Just get a copy of your tool by dragging form the +
icon at the top left corner of the tool's window and drop it in the bookmarks section.
Profile information can be serialized into a class, called archive, to be committed to a version control system. This information includes all scripts. The following steps explain how to store scripts into a subclass of ViScriptArchive
:
- Be sure to have added all your scripts to your profile. Bookmarks and open tools will not be considered. If needed, add your script(s) to your profile:
ViProfile active addScript: myScript.
- If
ViProfile active archive
does not return a class located in your project namespace, you can set the archive class withViProfile active createArchiveNamed: 'MyScripts' inCategory: #'MyProject-Scripts'
. - Now serialize all scripts in the current profile into that class/archive with
ViProfile active serializeIntoArchive
. - Finally, you can commit that archive class to your repository.
Loading scripts from an archive works with MyScripts merge
, where MyScripts
is a subclass of ViScriptArchive
. Do not forget to checkout the most recent version of your script archive before merging.
To get the default bookmarks like Workspace, Add class etc. back, activate the new profile and execute the following in a Workspace: ViProfile active initializeBasicBookmarks
The bookmarks might not appear instantly, but only after you switch to another profile and back.
Metacello does not support updating projects that are already installed. For now, execute this code in a workspace to update Vivide:
{ Metacello new
baseline: 'Signals';
repository: 'github://hpi-swa/signals:master/repository'.
Metacello new
baseline: 'Animations';
repository: 'github://hpi-swa/animations:master/repository'.
Metacello new
baseline: 'Widgets';
repository: 'github://hpi-swa/widgets:master/repository'.
Metacello new
baseline: 'Vivide';
repository: 'github://hpi-swa/vivide/repository'. }
do: [ :baseline | baseline get ];
do: [ :baseline | baseline load].
ViScriptArchive mergeAll.
You might need to close Vivide before doing that. Ensure that the currently loaded versions of BaselineOfSignals
, BaselineOfAnimations
, BaselineOfWidgets
, and BaselineOfVivide
point to dependent projects that have the same repository URLs as printed here.
After updates in the Squeak environment, the default tool set might have changed. You have to ensure that ToolSet default
returns a Vivide tool set:
ToolSet default: ViToolset.
There are some messages you can send to a behavior such as Object
that result in a class being created or updated. The regular system browser shows this code; the bookmarks in an empty profile should include "Add class", which is a block that creates a code snippet containing that code as well:
Object subclass: #NameOfSubclass
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'Uncategorized'
You can modify the (base) class, the name of your (new) subclass, its instance variables, category, etc. Then, you need to select the whole snippet and do-it (i.e. [CMD]+[D]).
When dragging objects, you can decide what to do with them on a drop. Usually, environments support holding shift, control, alt, or command keys to modify drag/drop operations. Or combinations of them. This is somewhat limited in Smalltalk environments because the underlying operating system or the virtual machine catches several combinations, making them inaccessible for Vivide.
Thus, simple letter key presses can modify drag operations. As Vivide promotes working with sets of objects, you can hit [s]
to script them or [u]
to use them as a new input in a pane. Additionally, sending #value
to objects seems to be useful from time to time. For example, when dragging block closures that hold plans for constructing objects or when dragging associations that enriched objects with a readable key.
You do not have to hold a letter key. Hitting [Escape]
aborts a drag operation.
Please also have a look at the beginner issues.