Saturday, April 21, 2007

I was never much of a JavaScript guy. There were probably lots of reasons why I never found the need or want to code in it. I’ll just mention a few here, chime in if they resonate with you too ;-).

1.       Tooling around JavaScript has always been comical at best

2.       Difficult to debug. (kinda like #1.)

3.       Difficult to maintain.

4.       Drank too much Koolaid  as a child (nuff said ay?).

5.       Who understands this stuff any way; everyone copies online samples or does “View Source” on your favorite site?

However, my biggest impedance with it may have been the fact that I always wanted the full power of the OS (machine) behind my code, so that I could do all those cool Computer Sciency things, like OO, compilation, type safety, etc.

In either case a while back (Dec or Jan I think)I decided to play around with this great (Script #) tool.  I did have to learn a bit of HTML and CSS, but I was able to build a set of controls rather quickly. I believe I had it all in done in about 2 weeks (including getting up to speed with the HMTL and CSS and DOM). Not bad for a newbie if I say so my self. I do however credit S# and Nikhil's API for that , the ability to build browser client code quickly, especially since I was able to apply the techniques I have used for years.

Now a few months past that initial proof of concept I decided to share the controls with the community. Ok, brace for the BIG Disclaimer. The first control was the Tab and probably the worst in usability, some of the others are cleaner. I will eventually refactor the whole thing, but for now they are built around a pseudo Winforms  style.

I put together a couple of pages demoing some of the controls, namely ComboBox,TreeView, GridView and TabControl.

 

I may add some more usage samples soon or if I ever blog again. I may also share more of my original proof of concept, in the mean time enjoy the controls. You can always just rip the JavaScript and use that directly (I am a realist) :-P, the code could be used as plain ol' vanilla Java Script Controls.

Eddy

 

Windark.Script.zip (420.66 KB)

Updated the link to Nikhil.

PS. Added a link here or there.

4/21/2007 6:05:10 PM (Eastern Standard Time, UTC-05:00)  #    Comments [3]  | 
Friday, August 11, 2006

So everyone thinks concurrency will be super important in the years to come. And who would disagree? I recently found this link on the MS Research page. Of course everyone's heard about C Omega, since it was the prototype for the implementation of generics, but did you know about the concurrency lib?

Joins - A Concurrency Library

Comega promised C# programmers a more pleasant world of concurrent programming. Comega had a simple, declarative, and powerful model of concurrency—Join Patterns—applicable both to multithreaded applications and to the orchestration of asynchronous, event-based distributed applications. By exploiting Generics in the Common Language Runtime, we can provide join patterns as a library rather than as a language feature. Offering a library has advantages: The library is language neutral, supporting C#, Visual Basic, and other languages; and the library's join patterns are dynamic, supporting solutions difficult to express with the static join patterns of Comega. The Joins library is efficient and has a simple interface that makes it easy to translate Comega programs to C#. The installer includes a tutorial, documentation, samples, and demos.

8/11/2006 8:58:50 AM (Eastern Standard Time, UTC-05:00)  #    Comments [3]  | 
Wednesday, August 02, 2006

So I came across this site (http://www.infoq.com/) recently. It has lots of industry news, but more importantly has a free eBook "Visual Studio Tips and Tricks" http://www.infoq.com/minibooks/vsnettt. You have to sign up to download, so spam might be a small price to pay ;-)

I pride myself in knowing lots of VS shortcuts and the like, but I have to admit I have already picked up quite a few new ones.

8/2/2006 10:07:08 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 

Probably good advice for anyone starting out.

http://samizdat.mines.edu/howto/HowToBeAProgrammer.html#id2791515

8/2/2006 9:58:39 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Monday, June 05, 2006
See for yourself...
6/5/2006 9:55:13 AM (Eastern Standard Time, UTC-05:00)  #    Comments [1]  | 
Tuesday, April 11, 2006
Microsoft videos showcasing the difference Visual Studio 2005 makes
4/11/2006 11:19:14 PM (Eastern Standard Time, UTC-05:00)  #    Comments [2]  | 
Monday, April 10, 2006
Team Foundation Server install gripe
4/10/2006 11:01:17 AM (Eastern Standard Time, UTC-05:00)  #    Comments [1]  | 
How to use ASP.NET Providers in Windows Forms
4/10/2006 9:57:59 AM (Eastern Standard Time, UTC-05:00)  #    Comments [6]  | 
Friday, March 31, 2006
Presentation collaterals.
3/31/2006 9:16:49 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]  | 
Monday, February 20, 2006

Download: [Removed] See Lutz Roeder's site for the new additions.

 

As the title suggests the control in the provided download is based on Lutz’s Roeder’s Command Bar control (http://www.aisto.com/Roeder/dotnet/ ). One of the main new features I added to the library was the DropDown and SplitButtons.

 

Split Button à          Dropdown Button à

 

Additionally, there was no setting aka .NET property for displaying the Text of the button. The Buttons now support displaying an image, text or both. Along with these new capabilities is the Image and Text relation property. The buttons are now capable of displaying the text to the right of the image as it’s used in Internet Explorer, or underneath as is the case with Outlook Express.

 

IE

 

 

Outlook Express

 

 

According to the MSDN documentation (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/rebar/rebar.asp ), the Rebar control is a container controls for any control or window as it is known in the Win32 world. The most popular implementation is of course Internet Explorer aka Windows Explorer.

 

I took the liberty of creating a … well see for yourself…

 

 

Keep in mind I only added very limited functionality for the demo.

 

Microsoft has however supplied some information regarding implementing an Explorer like app. See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/faq/ietoolbar.asp for further details.

 

A couple of important notes:

 

I have modified the object model from the original found on Lutz’s site. Unfortunately, I don’t recall all the changes. Also, when working with the bits, just know that the code in initialization phase of the control is critical. This is a function of how the Win32 (Windows Common Controls) work. I have added things like “//new Code here” to demarcate changes form the original where possible, but not everywhere. Also, much of the new functionality I added uses Windows Constants defined by the MSDN documentation http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/toolbar/toolbar.asp . The Windows SDK will be needed (this is an option when installing Visual Studio), to define further constants that I did not provide.

 

One last thing to consider, because there is extensive use of PInvoke throughout, remember to clean up unmanaged resources.

 

Enjoy!

2/20/2006 12:11:51 AM (Eastern Standard Time, UTC-05:00)  #    Comments [4]  | 

Theme design by Jelle Druyts