Your DesktopX Documentation Resource Guide

Documentation Home

Quick Start

User's Guide

Developer's Guide

Resources

Tutorials


Object Properties

So let’s create an object. To do that you will need to be in the DesktopX development environment (i.e. have the DesktopX builder loaded). Then either right click on its system tray icon and choose “new object” or from the builder dialog go to the desktop page and press the “New” object button.

The object properties dialog has 4 pages:

  • General
  • Relation
  • States
  • Summary

Object Properties: General


The General tab on the object properties dialog

Object Label field

This field lets you specify a text label for your object. This is much like the label you’d have for an icon.

Object Type

This specifies what type of object. Default is “Layer” which is just a techie word for “a picture that’s really not doing anything but looking pretty”. By pressing the “Change..” you load a dialog that displays other object type options.

Object types include:

  • Shortcut. This links to a given program on your computer.

  • URL. This has the object link to a particular website.

  • Object Controller. This tells the object to perform some action on another object.

  • Taskbar. This tells the object that it is to list the running tasks.

  • SysTray. This tells the object that it is to use the system tray (note, this requires the MCP service to be running to be accurate).

  • System. This means that the object is to represent a special system command such as the Find dialog, Shut down, log off, etc.

  • DesktopX Builder. This tells the object that it is to perform some DesktopX specific command.

  • Widget. This means that if this object is exported as a widget that it will function as some widget specific feature (such as closing the widget).

Default Appearance

This allows you to control how the object is going to look by default.

New Script

The “New” button will allow you to start working on a new script for the object. See the scripting guide to learn more on scripting.

Additional Abilities

More features can be added to DesktopX objects by loading a plugin. Plugins are add-ons to DesktopX created by either Stardock or third-parties. Popular plugins include DXPlayer which comes with DesktopX and enables users to easily create media players, DXPerf which also comes with DesktopX that makes it easy to create performance monitoring objects.

When a plugin is added, it will need to be selected and then configured.

Object Properties: Relation Page


The Relation page

The relation page is designed to allow you to control how this object will interact with the desktop and you.

Visible

This determines whether the object’s initial state is visible or not.

Z-Order

This option controls the relative Z position of the object. Options are Desktop (like icons), Normal (like programs) or always on top.

Movement

This controls how and when an object can be moved around. There are many times when you may wish for an object not to be moved. However, even when an object is locked, it can still be moved by holding down the CTRL key when selecting it.

Activation

This controls when the object will receive messages from the mouse. That is, whether the mouse cursor actually needs to be on the visible part of the object or just near it or not have it react to mouse messages at all which can be useful if you want to make the object semi-transparent and therefore have the object UNDER that object be what reacts to the mouse messages.

Start with

This controls what is necessary to make the object “execute”. Single click, double click, mouse over or mouse down.

Popup

This determines whether this object is a pop-up object. Pop-up objects are then controlled by other objects that are of the class “Object Controller”. The types of pop-ups are:

  • Static

  • Toggle (turn on and off)

  • Menu (acts like a Windows menu – as soon as something else is clicked, it hides)

  • Volatile (hides when another pop-up is opened, great for working with multiple pop-ups).

Cursor

This controls whether the mouse cursor changes when it is over this object. For instance, a text link object may want to have the mouse cursor change to the hand mouse cursor.

Position Adjusting (for resolution independence)

Objects can be set to move themselves upon resolution changing. For instance, the object’s position can stay relative to the center the screen or to a given edge when the resolution changes.

Object Properties: States page


The States page

The states page of the object properties is the most complex page in all of DesktopX. That’s because states, like messages, are what make objects different from say icons. DesktopX objects can have an infinite number of different states.

For instance, a printer object might have its “default” state and it might have a “printing” state and it also might have a “paper out” state and a “out of ink” state and so forth. Each state can have its own image, color, animation, sound effect, etc. And upon a “State change”, a message can then be sent. So perhaps that hypothetical printer object, upon changing to “out of ink” state could then send a “Printer Attention” message to a “Administrative” object that, using some scripting, sends an email to the system administrator.

Everything listed below in this section can work on a per state basis.

Add (state)

This option allows you to add another state. There are some built in ones that have to do with mouse actions (mouse over, mouse away, mouse down, etc.).

Remove (state)

This removes the selected state.

Copy from.. (state)

This option will copy the state data from an existing data (a time saver).

Reset (state)

Resets the selected state to the default settings.

Appearance

The contents of this tab allow you to control what the object looks like in the selected state. You can choose “Image” to have a bitmap represent the state or a text. Note that all states have to be either an image or a text (you can’t have some states be text and others be an image).

Image based states
States that are represented by images are just a matter of selecting a ICO BMP, TGA, or PNG to represent that state.

Text based states
States represented by a text field have more options such as selecting the font, selecting the color of the font, selecting whether it has a border, whether it’s anti-aliased, etc. Text will word-wrap if it becomes larger than its specified size.

Animation

This determines the animation settings for this state. If the image is a “bit strip” (an image with frames of animation in it horizontally) then you would set the number of frames involved.

The static animation option indicates that the image only has one frame in it (a single static image) but that want it to have multiple animation frames anyway. This is useful on the transparency page where you might want to have the image pulsate from 20% opacity to 100% in 20 steps (frames).

The loop option will tell the animation to keep playing. Interruptible determines whether the animation will fully play out its animation on a state change or stop immediately (if there are multiple states involved, you will probably want this option selected). Scripted means that which frame is displayed is controlled via a script.

The style determines which direction the frames will be played.

Transparency

This tab determines whether you want the object to be fully opaque or not. The default is no transparency. However, options include having 0% to 100% opacity or having it vary from X% to Y% in conjunction with the static image animation option.

If it’s a bitmap that contains alpha blending information, you can use the bitmap contains per-pixel alpha blending information. PNG files tend to include an alpha channel in which case this option will be hidden.

Shadow/Glow

Objects can be given a shadow. Sharpness determines the size of it. Darkness is on a scale from 0 to 255. Offset determines how many pixels the shadow is offset.

Color

An object’s hue, brightness and contrast can be controlled here. So you could easily have an object’s “mouse over” state have its contrast increased 50% through this option.

Sound

When the object’s state changes to the selected state, a sound can be played (or even looped for as long as it is in that state). Be the most popular guy in the office by having a really obnoxious sound play and loop…

Messages

When an object changes to the selected state, you can have a message be sent to another object. This will change that object to the state of the same name.

Object Properties: Summary

The summary page provides some information for the object and allows the user to configure the object in general. The X, Y position of the object is displayed here.

Users can also control the size of the object by setting its width and height. Note that changing the height and width of some objects can have some nasty side effects (such as if it’s an animated object).

You can also assign a tooltip to the object here.

Object ID

The object ID is very important. By default, objects do not have a name (an ID). In order to interact with a particular object, it needs a name. You can click on the Object ID field “(unassigned)” by default to change its name.

Parent/Owner

You can also set what its parent object is if applicable.

Child

The child option determines whether the object has been merged as part of the window of a parent object.

Group

If the object is part of a group, it’ll be displayed here.

Widget

If the object was imported, it will be given a “widget” ID which allows DesktopX to try to keep it distinct from other objects. It’s through this that it knows what objects are “Related” to it.
 


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!