DesktopX - Bugs, issues and feature requests
I've compiled a list of bugs and issues I've come across with DesktopX. Additionally I've added a list of features I'd like to see. I'll be updating this list as I discover new bugs or issues, or they get fixed.
Apparently there will be a wiki section up at the Wincustomize Wiki soon. I'll contribute to the list once it comes online.
Last updated: 16 September 2007
Index
Bugs
NULL character inObject_OnDropFiles
- Missing events in javascript
Object Lister ColumnsMsgBox
arguments- Code insight misplaces on second monitor
- Can not set forms' button caption
Issues
- Cloning related objects with Widget property
- Linebreaks in Edit Controls
- Javascript Syntax Highlighting
- Old File Dialog
- It's
Script.MsgBox
, notDesktopX.MsgBox
System.SimpleRead
returns junk on error- Undocumented
Script
namespace - Opacity doesn't affect child objects
- Can not set filedialog filter in forms.
Feature Requests
- HTTP Headers
- Quick Code Insert
- Function List
- Treeview Object List
- Get Text Size
- GIF support
- Default Scripting Language
- Colour Picker Dialog
- Debug Console
- HSL Colour Control
- Disable Objects
- Quickfind Objects
Bugs
NULL character inObject_OnDropFiles
- Fixed in 3.49e[b].014.
The Object_OnDropFiles function will return a string with a NULL character at the end of the list of strings. If you try to output this string to a DX text object any text after the NULL character will not be rendered.
Example, if you drop some files (for instance foo.file and bar.file) onto an object with the following script:
This will return: start + foo.file|bar.file as oppose to the expected start + foo.file|bar.file end. Until a fix for this is made it's recommended that in your code you check for the NULL character at the end of the string is trim it if it should be present.function Object_OnDropFiles(files) { DesktopX.Object('lblStatus').Text = files.charCodeAt(files.length-1) + ' start ' + files + ' end'; }
- Missing events in javascript
-
When you use Javascript the
Object_OnSetFocus()
andObject_OnKillFocus()
events does not trigger. It works fine when using VBScript. Object Lister Columns- Fixed in 3.49e[b].014. In DesktopX 3.5 beta the columns in the Object Lister doesn't save the order of the columns.
MsgBox
argumentsMsgBox
is suppose to be able to take up to four arguments, letting you define the icon, buttons and title. However, if you use more than one argument the function throws an error.// This works - Simple message box text Script.MsgBox('message'); // This throws an error - Messagebox with stop icon and title text Script.MsgBox('message', 16 'title');
- Code insight misplaces on second monitor
- When the script editor is used on a monitor other than the primary, the code insigh drop down list appears on the edge on the primary monitor.
- Can not set forms' button caption
-
DesktopX throws an error when you try to set the caption of forms' Ok and Cancel button using
Form.OkButton
andForm.CancelButton
.var frm = DesktopX.CreateForm; frm.Caption = 'Choose a Colour'; frm.OkButton = 'foo'; // <-- this throws an error frm.CancelButton = 'bar'; // <-- as do this
Issues
- Cloning related objects with Widget property
- When an object, which has a widget name defined, is cloned; and you choose to clone its child and group objects, all the objects with the same widget name is cloned. Though the same widget group might be considered being related its something that can cause problems if you have imported a widget into your existing project as the widget name is then generally applied to all the newly imported objects. Maybe it's a feature and the widget group is regarded as being related, but I'd prefer if it didn't.
- Linebreaks in Edit Controls
- To add linebreaks in the DX edit control when using Javascript you have to use nr. Any other combination of the line break characters does not result in anything. The standard DX text object however accepts nr, rn, n and n as linebreaks.
- Javascript Syntax Highlighting
-
The syntax highlighting in the script editor when using Javascript does not highlight many important keywords rendering the code harder to read.
The syntax highlighting doesn't seem to account for regular expressions. For instance the following code example will mess up the highlighting:
var regex = /<link rel="pingback" href="([^"]+)" ?/?>/g;
- Old File Dialog
- When selecting custom files to be added to an object you're presented with an old style file dialog which doesn't cope well with files that's not following the 8-3 naming scheme.
- It's
Script.MsgBox
, notDesktopX.MsgBox
-
The DX manual states that you use
DesktopX.MsgBox
to call the prompt dialog, but that's incorrect. It'sScript.MsgBox
. System.SimpleRead
returns junk on error-
If
System.SimpleRead
is told to read a non existing file it will not return an error, but instead random characters of junk. Be adviced to check manually for the existance of files for error recovery. - Undocumented
Script
namespace -
When you use the DesktopX script editor and type Script. the code insight pops up a menu displaying the following commands;
InputBox
,InputBoxEx
,MsgBox
,MsgBoxEx
,MsgDbg
. None of these commands are explained anywhere in the documentation. - Opacity doesn't affect child objects
- Setting the opacity doesn't affect child objects, they retain they full opacity. I had expected it to apply the same opacity to all child objects at's set to be tru children. If an object only has the parent attribute set, but child attribute to false, I wouldn't expect it to inherit the opacity.
- Can not set filedialog filter in forms.
- There's not way to spesify the file dialog's filter when using forms or widget preferences.
Feature Requests
- HTTP Headers
-
Being able to set headers for the
System.SendRequest
function. In order to for instance set the user-agent header as certain sites will return 403 unless you provide an acceptible user-agent string. Something many sites use to fight spambots. - Quick Code Insert
-
A dropdownbox in the script editor that contains a list of availible functions for the
Object
,DesktopX
,Widget
andSystem
namespace. The user can then choose a function from the list and the editor will then insert necessary framework for that function. This list being saved in a textfile would be nice so it could be customized. - Function List
- A dropdownbox in the script editor that contains a list of all the functions in the script. This would make navigation easier when scripts begin to grow in length.
- Treeview Object List
- Have a treeview in the Object List so that you can contract/expand the tree of objects. Useful when the list of objects grow. Then it's nice to be able to hide the children of objects you are not working on.
- Get Text Size
-
Be able to retrieve the width and height of a string based on the font settings of the current object. For instance:
Object.TextWidth("fooBar")
. Example usage: be able to create a pure DX textbox object that uses variable width font. - GIF support
- Being able to load GIF files. (being able to load animated GIFs would be a plus)
- Default Scripting Language
- As people might prefer Javascript as oppose to VBScript it'd be nice to set the default language for when you create new scripts.
- Colour Picker Dialog
- In addition to the file dialog it'd be nice to have access to the colour picker dialog.
- Debug Console
-
A debug console where you could print debug data into would be of great help. I.e.:
Console.Print(foo, bar);
Allows the developer to use MsgBoxes and custom text objects as debug output. - HSL Colour Control
- Being able to set all respective HSL values would be nice. Currently Hue and Lightness is supported, but not Saturation.
- Disable Objects
- Being able to disable object preventing events to do not trigger.
- Quickfind Objects
- It'd be nice if there was a textbox where you could enter parts of an object name and it'd filter out the objects listed to only those that match. It'd make it alot easier to manage many objects.
Comments
-
On 15.09.07 23:45 GMT Skarn said:
Please to submit the following:
Object.Text if set with Null character will freeze/crash DesktopX.
e.g. Object.Text = Chr(13)
(could be related to your null character bug above)
Setting object as non contained child of a parent will set it as the child of the parent's parent instead (if it has one)
Maybe the following could be put in a 'user suggested work around' part of your blog/wiki?
-----------
Slightly disagree with your opacity property should flow on to all children.
Maybe a seperate opacity 'function' to set object, and all children to a level.
Work around would be users to script this function themselves, something like (pseudo code - not functional):
Function set_opacity(obj.Name,o_level)
For each child of obj.Name
child.opacity = o_level
Next
obj.Opacty = o_level
Exit Function
-------------
Getting width and height of text as a certain font etc.
You can make text object, set its font and properties to the desired values, then read the object.width and object.height values. If the object is invisible this helps a little with it impacting on resource usage to just calculate these values, but it does give them. -
On 16.09.07 10:02 GMT Thomas Thomassen said:
Please to submit the following:
It's probably best if submit it to Stardock yourself, if they need to follow up the issue.
If you mean adding it to this list, then I can do that
Setting object as non contained child of a parent will set it as the child of the parent's parent instead (if it has one)
I didn't quite understand that...
Getting width and height of text as a certain font etc. You can make text object, set its font and properties to the desired values, then read the object.width and object.height values. If the object is invisible this helps a little with it impacting on resource usage to just calculate these values, but it does give them.
Yes, that's what I do at the moment. But text renderings in DesktopX are dead slow and I want to avoid it whenever possible.
Archived Posts:
Subscribe to this Blog:
Labels:
- accessibility
- animation
- api
- background-image
- barcelona
- career
- changelog
- christmas
- code
- colour
- com
- css
- deardiary
- del
- desktopx
- distance
- documentation
- dom
- england
- events
- film
- fun
- gadget
- games
- gestures
- halloween
- html
- ie
- innerhtml
- ins
- javacript
- keyboard
- life
- list-style-image
- lists
- london
- modelmaking
- moving
- msn
- paintball
- performance
- php
- pingback
- pixar
- position
- printer
- product
- ruby
- scanner
- scheme
- scripting
- semantic
- server
- sidebar
- sketchup
- skype
- snow
- software
- speed
- split()
- test
- travel
- underground
- userinterface
- vertex
- vista
- voip
- w3c
- webdesign
- website
- whitespace