SimDesignerCanvas Control v1.5 Available

Matt, did you have a look at doing connectors (like visio) i.e. auto rerouting when an object is moved?

What custom objects can be added. Could a container control be an object. What I am thinking is having multiple container controls or canvases on the canvas and them being connected by connectors and being able to drag an move around the containers at run time and the connectors reroute appropriately.

[quote=85786:@Mike Charlesworth]Matt, did you have a look at doing connectors (like visio) i.e. auto rerouting when an object is moved?

What custom objects can be added. Could a container control be an object. What I am thinking is having multiple container controls or canvases on the canvas and them being connected by connectors and being able to drag an move around the containers at run time and the connectors reroute appropriately.[/quote]

The connectors are completed and ready as of version 1.4 (release tomorrow) :slight_smile: I called them LinkChains in the designer. They feature reroutable connections as well as 16 attachment points for every object (4 on each side…4th being corners) and each connector can be a straight line or have an arrow at either end or both sides :slight_smile:

Im actually working on the embed code to embed physical controls “into” canvasobjects (its all virtual since canvasobjects aren’t physical controls…but that doesn’t stop them from acting like any other ;-)). So yes you should be able to embed a container, textfield, pushbutton, whatever you desire as long as it is part of the RectControl class :-). To demonstrate embedding I’m working on another demo of the virtual operating system demo that will have a demo notepad, calculator, webbrowser (basic stuff for demo purposes) and virtual folder view with say the photos directory which will show lil thumbnails of the photos as fileobjects and when you click them, they’ll open up into a virtual photo-viewer. Itll even have a windows style startbar with clock and ill see what other goodies I can throw in for demo purposes. But that demo will come later this week :slight_smile:

Great stuff, very powerful. I think this is going to be very valuable to a lot of people.

[quote=85780:@Richard Summers]The pleasure was all mine :slight_smile: :slight_smile:

In that case, I have LOTS MORE “ideas” for you ! :slight_smile: :slight_smile: :)[/quote]

I would love to hear. Ideas benefit everyone in the end :slight_smile:

Version 1.4 has been sent out and the demo with full source is available at

http://www.xojodevspot.com/demos/SimDesignerCanvas.zip

All previously discussed features have been implemented. LinkChains are preserved in all exports (image exports, XML, and HTML) I’ve also included the SimRuler control which displays inches and millimeters and resizes depending upon DPI. Let me know if there are anymore features that would be useful.

I would like to see your control as a scrolling stock ticker with these features. or may be totally another control canvas control.

  1. Able to scroll right or left
  2. control the scroll speed
  3. change background color or assign picture
  4. change font color / size
  5. insert images in the ticker for scrolling.

[quote=86301:@S Abraham]I would like to see your control as a scrolling stock ticker with these features. or may be totally another control canvas control.

  1. Able to scroll right or left (can already do with a timer)
  2. control the scroll speed (dependant upon the timer)
  3. change background color or assign picture (done)
  4. change font color / size (done)
  5. insert images in the ticker for scrolling. (Done)[/quote]

Tomorrow I will compose a ticker demo using the control :slight_smile: should take very little time and very little code to implement. :slight_smile: the more ideas, the more demos I can compose for people to “learn by example” using the control. Thanks Abraham!

The included StockTicker demo can be modified to go any direction up/down/left/right by changing to Top+1/Top-1/Left+1/Left-1. The following StockTicker demo took 10 minutes to write with the SimDesignerCanvas control and includes the full source. (I know Xojo isn’t on WallStreet…but in my demo they are :-)) Text Colors, sizes, fonts, speed of scrolling…everything is customizable in the StockTicker demo. I even implemented pause when the mouse is hovering a stock as well as some other mouse events :wink:

Download: http://www.xojodevspot.com/demos/SimStockTicker.zip

Also, here’s a screenshot of the latest SimDesignerCanvas demo application featuring the added object-link-chaining with re-routable arrows/lines.

This week, I will be focusing on expanding the Manual, and adding many “Getting Started” guides.

Hi Matthew, I am working my way through the latest version which looks really great. You said you wanted ideas so here goes. At present the canvas control works in desktop environment, any chance you might consider creating a web version as that would be really cool. Also how about the idea of being able to create object dynamically within the canvas?

I have froze desktop development of the SimDesignerCanvas as it is pretty well rounded, optimized, and quite stable (no complaints yet! :-)) so that I may complete an extensive manual with many help and getting started guides. I intend that anyone could pick it up and immediately follow the guide to do any number of things without getting lost. When you say create object dynamically within the canvas…what exactly do you mean? At present creating a new object dynamically is as easy as appending a CanvasObject to the SimDesignerCanvas.CanvasObjects array.

In code this would be achieved as:

[code]Dim dynamicObject as CanvasObject = new CanvasObject
dynamicObject.Pic = MyPicture
dynamicObject.Name = “MyName”
dynamicObject.WhatEverPropertiesDesired = Value

SimDesignerCanvas.CanvasObjects.Append dynamicObject

SimDesignerCanvas.Redraw //makes our new dynamic object appear :-)[/code]

Indeed I am porting the SimDesignerCanvas to both OpenGL (will mimic the Canvas control identically…only offer 3D capabilities), and a customWebCanvas. I say custom because the current WebCanvas, if subclassed, would be sending too many requests to the webapp server which would bog down the CPU. So, I have started (behind closed doors :-)) a custom webcanvas which relies on javascript and HTML5 clientside to handle resizing/drawing/etc and relay the pertinent information back to the server (ie saving, drawing to pictureobjects within Xojo code, etc). These of course are extension of the current control, so anyone who’s already purchased it will obtain those when they are ready as well.

Sweet! A web version? Couldn’t be happier! :wink:

One more request for the desktop version. Is it possible for an animated GIF, to be shown as animated in your control.

Unfortunately the gif file format (LZW) is proprietary to CompuServe and any dabbling in their proprietary domain requires extra licensing and royalty stipulations. Microsoft encountered this issue with a hefty lawsuit in the late 90’s, followed by Apple receiving a lawsuit thereafter. Due to the patent controversy between the patent holder Unisys and Compuserve, the PNG format arose to “smooth things over.” I did consider introducing animated GIFs, but the “dangers” outweigh the necessity. It is however possible to embed a transparent htmlviewer (which can load animated GIFs) in a CanvasObject. Direct embedding of objects/controls will be introduced in version 1.5, which should complete all “major” functionality feats. Further additions and extensions will arrive in modules designed to extend the SimDesignerCanvas.

[quote=85786:@Mike Charlesworth]Matt, did you have a look at doing connectors (like visio) i.e. auto rerouting when an object is moved?

What custom objects can be added. Could a container control be an object. What I am thinking is having multiple container controls or canvases on the canvas and them being connected by connectors and being able to drag an move around the containers at run time and the connectors reroute appropriately.[/quote]

Hi mike,

The last major feature’s testing (before extensive module addons :-)) has been completed and I’d like you to take a look at the beta for SimDesignerCanvas v1.5 before it is released (anyone is welcome and appreciated).

Beta Download : http://www.xojodevspot.com/demos/SimDesignerCanvas-1.5beta.zip

Screenshot of Embedded controls in a Canvas that actually interact and move around with their associated CanvasObjects. Although…don’t forget that Xojo itself does not allow Z-order manipulation of native controls, so even though the CanvasObjects can manipulate their Z-order…run two embedded CanvasObjects over one another and you’ll see the issue. But, this really should not be an issue as controls generally never overlap regardless. (In the virtual OS I’m working on, I actually use the Visibility property to hide controls as the canvasobject (virtual windows) moves infront of one another) I implemented two buttons one for control and one for ContainerControl demonstrating embedding objects in CanvasObjects. Embedding within the SimDesignerCanvas itself is permitted using 2 separate functions (see autocomplete…until the release manual is available). Embedded objects move with the canvasobjects, are enabled/disabled and made visible/invisible with the canvasobject (see the visible/enabled checkboxes on the demo app).

In all, I don’t think there is anything else I could add to the control besides the modules to extend capabilities :slight_smile: RectControls/ContainerControls are not exported to XML as that would most likely constitute some violation of the Xojo End User License Agreement (somehow…most likely “a derivative of the Xojo IDE”)…so if that is required, I leave that upto the individual to loop through the embeddedcontainers/embeddedcontrols array and implement the methodology. Controls/Containers are not exported to image, although the ability will be possible, in the public release via one of the module extensions.

ScreenShot:

Apologies for my lack of punctuation in my last post. It has been quite a long day.

Here’s an animation demo. This one was for someone in the forums that was looking for an animated advertizing canvas. It implements a number of the graphics routines to produce a “slide-show” movie (don’t worry all the new extensions will be included in the 1.5 releases :-)).

Demo:
http://www.xojodevspot.com/demos/animator.zip

And for those who missed the Cinco De Mayo Sale, its been extended for another week at www.xojodevspot.com

:slight_smile:

I will be using the SimDesignerCanvas in my next public release of an “eye candy” control builder. …the new update to the demo version of the SimDesignerCanvas, ill be posting shortly, uses a couple of the eye-candy control templates :slight_smile: the control builder will allow developers to create unique custom controls in minutes…export the control to native xojo code and load into their applications…:slight_smile:

Hi Matthew,

Any news about the eye-candy control templates ?

News would be good