Your DesktopX Documentation Resource Guide

Documentation Home

Quick Start

User's Guide

Developer's Guide

Resources

Tutorials


The Basics of Relationships

You've already learnt about how the objects you create can interact with the user, and will now learn how they interact with each other.
DesktopX allows you to tweak how they interact with users, but also how they interact with the desktop and other applications on screen.
To access these settings, open up the Object Properties dialogue and then click the 'Relation' tab.

Visibility

The first thing you can specify is whether the object is visible or not. You may wonder why you would want to hide objects. There are two main reasons. The first is that the object may be doing work in the background such as loading a webpage which you don’t want visible. Alternatively, you may only want the object to be visible at certain times which are controlled by script or popups which we will come onto later.

Z-Order

If you consider a desktop, then all objects on there have an 'x' and 'y' position which defines where they are on the screen. What you might not consciously have thought about is their 'Z-Order'. This defines which object or application appears 'on top' of the other when they overlap. Objects with a higher Z-Order appear on top of those with a lower Z-Order.
You have three Z-Order options for your objects. The first is 'Desktop'. This means that running applications will always appear above your objects. They will open on the desktop. Those interacted with most recently (clicked/moved), will be on top of other objects.
A 'Normal' Z-Order means like the object will behave like a mini-application. Objects with a 'Normal' Z-Order appear above or below applications and other 'Normal' Z-Order objects depending on which were interacted with most recently.
An 'Always on Top' Z-Order means that this object will always be visible above all applications and objects. It functions in the same way as the 'Always on top' setting of the default Windows taskbar.

Movement

'Movement' can be defined as 'Normal' or 'Locked'. If it is 'Normal' then the user can drag the object around the screen. If 'Locked', this is not possible. The user can still move the object by holding down the CTRL key and dragging, but accidental movement is not possible. You can also choose the 'Default' mode, which means that its movement is defined by the User's DesktopX Settings as we discussed in the last section.

Activation

'Activation' defines how the user can interact with the object. If the setting is 'Default' then it simply follows the user's settings, but you have three other options. 'Rectangular' activation is based on the size of the source graphic and ignores any transparency in the object, whereas 'Visible Area' means that only those areas of the object visible on screen can be interacted with. The final option 'None' means that the user cannot interact with this object and any attempts to do so are ignored. This is usually most important for cosmetic objects on the desktop.

Start with

'Start with' defines the way in which a user interacts with an object. It is not always the case that you want a user to have to click an object to activate it. In addition to the standard 'Default' option, you have four more ways in which a user can interact with the object. Sometimes for example you may simply want the user to move over an object for something to occur.

Default Cursor

This option allows you to specify which cursor will be displayed when the mouse moves over the object. This is a very useful way to indicate to the user the effect of their interaction with the object, for example if you want a user to drag and move the object rather than clicking it then it would make sense to use the ‘Move’ cursor.

Popups

OK, now onto 'Popups'. These are a really cool feature in DesktopX that we briefly mentioned in the Object Types section.
Earlier in this section we discussed visibility. You don't always want objects to be visible on the screen, and in some cases you may want them to be 'Popups' whose appearance on screen is controlled by other objects that have the 'Object Controller' type.
If the object is referenced by an object controller then it will function as a popup depending on the value set here. If the object is not used as a popup in this way, then this value is simple ignored.
You should note that when an object is called as a popup then all children of that object or objects in the same group will also inherit the popup functionality of that object. This is because popups are just really a shortcut for the visibility setting. By this, I mean that popups are essentially a dynamic way of setting the visibility of the object. Visibility is a property the is shared by group members and children inherit it from their parent. Don’t worry if you don’t understand the parent/children definition. We discuss them in more detail later.
Here are the popup types.
'Static' popups - Normally, an Object Controller will toggle the appearance of a popup (open it or close it depending on whether it already is visible). Once these 'Static' popups are opened they must have a different Object Controller to the original one to close them. Think of them like a normal program. Clicking a link to a program will open it, but clicking the link again will not close the application. A separate 'Object Controller', the close button, is required to do this.
'Toggle' popups - Are the simplest types. If the popup is hidden when you click the Object Controller it will be shown. If the popup is visible when you click the Object Controller it will be hidden.
'Menu' popups - These popups once displayed, will only remain until the user interacts with the desktop in anyway. They have this name because they function just like menus; unless you click them immediately to carry out the function they are there to do they disappear.
'Volatile' popups - Once a 'Volatile' popup is shown, it will remain until either the controller is toggled or another popup is opened.
'Volatile (No toggle)' popups - This is just like the previous version, except that toggling the Object Controller is disabled like in a 'Static' popup, so the only way to make it disappear is to activate another popup.

Position Adjustment

When you are developing for yourself you will design everything so it fits your screen perfectly. So, what happens if you change your screen resolution or you give your work to another user who runs at a different resolution?
Well, DesktopX can make a fairly good guess but it is certainly not perfect, so if you are going to make good objects you should pay attention to the two options you see above.
By specifying values in here, you can define how the object will reposition itself when the screen resolution changes. DesktopX logs what resolution the screen was designed on and therefore detects changes and reacts according.
The 'Dock to Left' and 'Dock to Right' options mean that the object will remain the same distance from that edge as it was when originally designed.
'Dock to Nearest xxxx Border' means that the object will align itself to the nearest edge of the screen (vertical or horizontal depending on option). For example, if you have an object against the tight edge of the screen then increase the resolution, you run the risk that it will end up floating away from the new edge.
An object that repositions based on the 'Center' option will be relatively the same distance from the center of the screen as it was in the resolution for which it was developed.
The final option 'Rescale' means that the object will be relatively the same distance across the screen at different resolutions. For example, and object positioned at 200,200 on an 800x600 screen would be positioned at 320x341 on a 1280x1024 screen (25% across, 33% down).
 


7/29 

SkinStudio 6.2 Released

7/25 

A God Has Fallen - New Demigod Trailer Released

7/24 

Sins of a Solar Empire v1.1 Beta has Arrived

7/23 

Stardock Releases New WindowBlinds 6.2 Update

7/22 

Stardock Releases The Political Machine v1.04 with New Characters

7/22 

Stardock Releases MyColors 2.5

7/17 

DesktopX 3.5 Officially Released

7/11 

Corel WinDVD 9 and Painter X Now Available on Impulse!