During the last few days I was kind of busy, but I managed to make some improvements to my free toolkit. First of them was adding several methods to VizConnection class and making it more flexible and easy to use. I decided this component will be base component in VizToolkit library. All other controls and components will be using VizConnection instance to communicate with engine. So here’s the list of added methods:
public int AddToBuffer(string command); public int AddToBuffer(string command, bool requireResponse); public void ClearBuffer(); public void SendBuffer(); public int SendSingleCmd(string command, bool requireResponse);
As may have noticed AddToBuffer methods and SendSingleCmd method return a integer value. What is it exacly? Well it’s a CommandID that is prepended to viz command (i.e. for “1 RENDERER GET_OBJECT” CommandID=1). Internal mechanism of VizConnection class ensures there is a CommandID in each command sent to engine. So you can also use this methods like this:
int cmdID = vizConnection1.AddToBuffer("RENDERER GET_OBJECT", true);
Whats more. There is a command counter built into VizConnection class so if you add commands without CommandID, each command you will mark with requireResponse=true will be given different CommandID so you can identify incomming responses. Quite smart isn’t it?
VizConnectionButton
Once I finished with VizConnection class I move to another control I decided to include in free VizToolkit. It should be simple button which will manage connection. Click – we’re connected, click – we’re disconnected. :-) User should be able to see if connection has been made. So I added three visual states to my new control. Take a look.

VizConnectionButton - connection states
Once you place VizConnectionButton on your form there is only one thing you should do to make it operational – select existing VizConnection object. Yep, that’s all. It works like a charm. Here’s how it looks in editing mode with SmartTags.

VizConnectionButton with SmartTags opened
I think my library has reached that moment when it should be tested by someone else than me. So as soon as I make some documentation I will provide you with downloadable version. This should happen pretty soon.
GHTime Code(s): 73aaa nc
This is the first page of your work which I am reading and it sounds better than what could expect.
Will follow continuesly!