We would like to point out that there are currently significant problems for using devices with multipanel surfaces on Apple Macintosh computers in XTC mode. At the moment we cannot make any precise statement if these problems will be solved. We would recommend to use pages instead of multiple panels.

There are two different possibilities:

1) You would like to convert a multipanel surface
2) You would like to build a multipanel surface from an old-style drawer surface

1) You would like to convert a multipanel surface

To convert a multipanel surface so that it is XTC compatible load the device and open the surface.Select the mainpanel in the Project Explorer and use the conversion function from the context menu (RMB -> Tools -> Convert Surface (make XTC compatible)). This converts the main panel to a 'Surfaces@BasicSurface' and adds a 'SurfaceInterface' to which the main panel is connected. Also the ViewID of all control elements is set to 'Surface'. The subpanels are still 'ChildView' surfaces (the control elements' ViewIDs however are already set to 'Surface').

The main panel should replace the MinimizeView and the old Close button with the 'CloseGroup' and the 'ParentTopChanger'. Read more about placing the 'CloseGroup' and the 'ParentTopChanger'.

Afterwards you should convert each subpanel the same way. As you do not need the 'SurfaceInterfaces' you ought to delete them. Normally you should etablish a parent-child connection between the main panel and the subpanels - to do so it might be the handiest to have the subpanels on the same level as the main panel. Read more about establishing a parent-child connection between the main panel and the subpanels.

As a last step you could add 'CloseGroups' to the subpanels but it is not combelling.




2) Creating a multipanel surface from an old-style drawer surface

If your former surface was constructed with multiple drawers and you do not like to use pages you might like to use a multipanel surface for your device. Before you actually start to convert the surface you might like to group (fold) the control elements on your drawers so that it will be easier to drag them from your drawer to a specific panel. (This way you could build control groups and enable the 'Draw ClipChildren' flag for the control groups.)

To be able to illustrate this tutorial we provide a simple example for you. You could find the data in the folder 'XTC Special/Tutorials/Drawer2Multipanel' in the files that come with the new Scope /DP software. This is a step by step tutorial and starts with the 'State One' module.

Drag the 'State One' module from the File Browser into the Project Window. You should see a surface with three drawers. This is a dummy module that is only a surface with drawers.

Control groups and ViewIDs
When you look into the Project Explorer you should note that the controls are not grouped. There are all on one level and the algorithm will search on the whole surface for control elements that are related to each control. This takes some time. This way it could easily become time consuming and therefore inefficient. Instead you should group related elements together and set the 'Draw ClipChildren' flag for the group. Later on in this tutorial we will move the existing controllers from the drawers to new panels. Also for this task it will more convenient to move groups and not every single control element.
Furthermore you should remark that the ViewID (in the GO Attributes) of the controls is set to 'Circuit' - for the new surfaces it should be set to 'Surface'.

First we will now convert the ViewID of the control elements to 'Surface'. In the Project Explorer you should go to the surface - in this case 'Drawer Surface', right click and select 'Tools -> Swap ViewID Circuit->Surface'.

Now you could group your controls. To do so drag 'SurfaceGroup' modules from the File Browser onto the appropriate surface/drawer inside the Project Explorer. It is the best idea to drag it directly into the Project Explorer as an empty 'SurfaceGroup' could be hard to see when it becomes deselected. Move the controls into these groups. Adjust each 'SurfaceGroup' using the GO Attributes (turn off the 'Custom horizontal/vertical size' flag and turn on 'ViewTree Group' and the 'Draw/Select ClipChildren').


This state has been saved as 'State Two'.

Repalcing the drawers with subpanels
We converted the controls to 'Surface' elements and we grouped them. Now we could continue with placing the controls on subpanels. For this example we assume that there will be a panel for every drawer. It is much easier to start with the subpanels and convert the main panel afterwards.

For a new subpanel drag in a 'DefaultPanel'(XTC Specials/Surface Kit/) onto the same level where the old surface is situated. Do illustrate that better we have marked the equivalent part of the ModuleTree with a yellow ellipse in the picture below. You might like to 'flip in' the old surface (RMB -> Flip In) . If you are in Circuit View you will now see a 'DefaultPanel' node in your circuit ( which is marked red in the screenshot). As the panel is ´hidden it is not visible immediately after dragging in the 'DefaultSurface'.

You might like to select 'Show' from the context menu of the node (right mouse click on it) to see the new panel.
Please open the Module Attributes (right mouse click and select 'Attributes') and note that the lately added subpanel is a 'Surfaces@BasicSurface' and the old ones are 'ChildView' surfaces.
(Please note that you see the name of the selected note in the bottom line of the Modules Attributes window)

Then 'flip out' the old surface and Ctrl-drag the control groups from the drawer which you want to replace to the new subpanel. Ctrl-drag will assure that the connections between the controls and the circuit are maintained. Do this inside the Project Explorer. To be able to edit the new subpanel you should hide it and switch to 'Surface View' (by pressing the 'F8' key inside the Project Window). You also might like to turn off 'Draw ClipChildren' for the surface of the subpanel or double click the subpanel to enter it. Position and align the control groups as you like. After you have dragged all controls from the drawer to the surface you could delete the empty drawer (in the Project Explorer) and rename your subpanel.
Inside a surface: double click the panel to get to this view. You can see all the elements that belong to this surface. It is not necessary that all the elements that belong to the surface are visible on the surface. Some could be placed next to the surface and the 'Draw ClipChildren' flag might be set.

Repeat this procedure for all the drawers. (This is saved as 'State Three')

Now that we have exchanged all drawers with subpanels we can convert the main panel - with is indeed still an old 'ChildView' - to a SurfaceInterface. If you have a look at the next image you might notice that the new subpanels are on the same level (in the Project Explorer/ModuleTree) as the old Drawer Surface. The new subpanels are no subnodes of the old surface but until now independent nodes. This structure allows us to only select and convert the old surface without touching the new subpanels.
This is important because we would like to have a simple hierarchy when we convert the surface to 'SurfaceInterface'. Additionally the new subpanels are already new surfaces and thus need not to e converted. As they are subpanels there is no need that everyone has its own 'SurfaceInterface'.

In the Project Explorer right click on the old surface ('Drawer Surface') and select 'Tools - > Convert Surface (Make XTC compatible)'.

After the conversion process is completed there is a circuit representation and a SurfaceInterface in the circuit. The surface is converted to a 'Surfaces@BasicSurface' which is the new surface type.

In the next step you should replace the close button and the Minimize button with the 'CloseGroup'. Right click the panel and select 'Hide' from the context menu. In the Project Window navigate to the level were you find the circuit node of the panel and switch to Surface View. You should now see your surface in the Project Window ready for editing. Be be more precise you should see the main panel as well as the subpanel in the Project Window. Delete the old 'close' and 'Minimize' buttons in the Project Explorer as well as the 'MinimizeView' item.

Drag in the 'CloseGroup' (/XTC Special/Surface Kit/) upon your surface and position it (normally in the upper right corner of your device). You might like to align the 'CloseGroup' to the panel. Connect the close button to the SurfaceInterface's 'AddShow' pad.

Drag in a 'ParentTopChanger' (/XTC Special/Surface Kit/) with which you could control if the surface should always stay on top or not. Connect the 'Keep on Top' button to the ParentTopChanger's 'Top' pad. (This is saved as 'State Four')

Finally we should add some buttons to the main panel which will control the visibility of the subpanels. Again switch to 'Surface View' if necessary and add some buttons. To be visible on the surface the ViewID of these buttons has to be set to 'Surface'. You could select them in the Project Explorer and change their ViewID in the GO Attributes window. Connect the 'Val' Pad of the buttons to the 'Show' pads of the subpanels.

Back in circuit mode right click the circuit node of the main panel an select 'Special Pads -> Enable Parent' to add a 'Parent pad' to this node. For the subpanels right click and select 'Special Pads -> Enable Child'. Their nodes will display a 'Child' pad. Connect these 'Child' pads to the 'Parent' pad of the main panel node. This assures that all subpanels hide with the main panel.(This is saved as 'State Five')

  © 2000, 2001 CreamWare GmbH. All features and specifications are subject to change without notice.
Product names are trademarks of their respective holders.