Help - Search - Members - Calendar
Full Version: DSDevEnv - Desktop Sidebar Script Panel Development Environment
Desktop Sidebar Forums > Customizations > Panel Development & Requests
GoMa
December 18, 2006:

I recompiled DSDevEnv to be compatible with the final version of SharpDevelop 2.0 (build 1710). Have fun!
Download here: Click to view attachment
September 9, 2006:

The first alpha of DSDevEnv is released! Unfortunately I didn't have sufficient time to test it properly.
It requires SharpDevelop 2.0.
Then download the attached file (removed old version).
Rename it to have an .sdaddin extension. Then double click this file and this addin should be installed in SharpDevelop. Restart SharpDevelop to load the addin.
To get started, click New Solution and choose Desktop Sidebar -> Script Panel. I don't have time to explain all functionality right now, but some pointers:
- There this green "play" button in the Toolbar. Click it when you want to test your panel.
- Right click the project in the Solution Explorer and click Properties for some config and Panel Properties.
- Double click the .dscanvas file. There's XML code completion. Note the Designer tab in the bottom of the code window. Click it. Add some controls from the Toolbox. Switch back to Code - it is added to the XML code of the canvas.

Note - the next step when I have time (probably in two weeks) is to make a dspackage creator.



July 26, 2006:

Hi to all the enthusiastic panel developers or to the newbies that never tried because it involved too much work or the average DS users who want to experiment with EASY panel development...
(drumroll)
Presenting the DSDevEnv.
Built on top of the leading .NET open source IDE SharpDevelop, DSDevEnv (Desktop Sidebar Development Environment, pronounced dee-ess-dev-env LOL) will be, when released, the only place you'll ever have to go to when developing DS panels, apart from the documentation maybe (which when finished will be integrated into the IDE as well).
DSDevEnv planned features:
- Project system built on top of the dsplugin file. Those who develop panels/applications in other programming languages will be familiar with this model. (working)
- Template for quickly creating a ready-to-run script panel.
- Code completion for the various XML files - .dscanvas (working), .dsskin (planned), .dslang (planned).
- WYSIWYG designer for canvases (the panel's user interface). (working preliminary)
- "Build" the panel (copy required files to DS directory, run DS if not running) with one click. (planned)
- When you finish your plugin, one click to package it into a .dspackage and post to the Extension Exchange. (planned)
- UI for managing Panel Properties for the panel, panel/author information, etc.
- Canvas WYSIWYG designer and XML completion will also be available to .NET developers using SharpDevelop.

Please note that I'm still developing this, and it might take quite some time to complete.
That said, now for the screenshots:
eitaneko
AWESOME!!!! GoMa, we don't say it enough - YOU RULE!
KeithI
That's fantastic GoMa clap.gif clap.gif clap.gif.

eitaneko is right - YOU RULE!
GoMa
Thanks guys. smile.gif
Status update...
Recently done:
  • Added Toolbox tab to contain canvas controls that can be drag-n-dropped to the designer.
  • Implemented designers for listoutput (with RTL support wink.gif), textoutput and button. The listoutput displays dummy items (items cannot be specified in the canvas) and button displays a dummy "image" (ellipse).
High priority todo:
  • Implement a simple clone of the canvas layouting logic in DS. I wish it was somehow externally available (along with skinning APIs... kdam said it's too much work wink.gif). moderate-difficult
  • "Build" system. easy
  • DSPackage creator. moderate
  • Generate event handlers in js file when double clicked in property grid. easy-moderate
  • Panel Properties declaration UI.
Low priority todo:
  • Implement the remaining controls (marquee, barchart, hwndholder, slider, progressbar). moderate
  • Skins/languages support. easy-moderate
  • Pretty icons everywhere. easy (copy from Microsoft ones tongue.gif).
  • XML schema for .install files (for code completion).
  • bmp file editor for icons. easy (to launch mspaint)
For now I'm going to take a break from the canvas designer, even though the most important part (layouts) is not implemented. This is in order to implement the "build" system (launch DS laugh.gif) and dspackage creator which are vital before the first release.
As you can see I still have plenty of showstopper todos, I just hope I can release the first version before the summer vacation is over (September). When I release it I'm going to record a screencast demonstrating building a simple panel and you will be able to hear my lovely voice.
GoMa
Another update:
Recently done:
  • Build system
  • Generate event handlers
  • Panel Properties UI
  • Icons
  • bmp "editor" (displays the image and launches mspaint).

To-do before first alpha-beta-gamma-ursa-minor release:
  • DSPackage creator. moderate
  • Canvas layouting - not everything, just flowlayout for now, so I can display the controls nicely on the canvas, and not one on top of the other. moderate
  • (maybe) Make the designer preserve your code if you make edits it cannot understand and display.

I really hope I can finish those before I go back to school (I'm currently in a state of OMG it's in 4 days and I haven't done any of my piles of homework! biggrin.gif)
I'm not sure I'll have time to put that screencast together, although I really wanted to. smile.gif
GoMa
The first alpha of DSDevEnv is released! Check first post for details.
Indian_Mayhem
Excellent, I'm going to play with it right now.
eitaneko
I really want to check this out, but I am waiting for my internet to be installed at home before I can download it.
GoMa
Have you managed to install it, eitaneko?
I'd be happy to get any feedback.
eitaneko
I'm so sorry GoMa. The cable company has messed up twice and keeps cancelling our installation appointment. It is very frustrating. I don't have internet at home yet, so I haven't been able to try it out yet. I hope to get service this week, so hopefully soon!
GoMa
You don't need to apologize, you're always so sorry and make me feel guilty for asking (and don't you feel guilty for doing that). biggrin.gif I hope they'll get your connection right soon. smile.gif
psych787
When I create a new solution I get this:
CODE

Cannot create object: DSDevEnv.DSPluginLanguageBinding
Future missing objects will not cause an error message.


Ok, swell... I press "OK" and get this:
CODE

An unhandled exception... bla bla bla...

(Textbox starts here)
.NET Version        : 2.0.50727.42
OS Version           : Microsoft Windows NT 5.2.3790 Service Pack 1
Current culture      : English (United States) (en-US)
Working Set Memory   : 40784kb
SharpDevelop Version : 2.0.0.1710

Exception thrown:
System.NullReferenceException: Object reference not set to an instance of an object.
   at ICSharpCode.Core.LanguageBindingService.GetCodonPerLanguageName(String languagename)
   at ICSharpCode.SharpDevelop.Internal.Templates.ProjectDescriptor.CreateProject(ProjectCreateInformation projectCreateInformation, String defaultLanguage)
   at ICSharpCode.SharpDevelop.Internal.Templates.CombineDescriptor.SolutionFolderDescriptor.AddContents(Solution solution, ProjectCreateInformation projectCreateInformation, String defaultLanguage, ISolutionFolderContainer parentFolder)
   at ICSharpCode.SharpDevelop.Internal.Templates.CombineDescriptor.CreateSolution(ProjectCreateInformation projectCreateInformation, String defaultLanguage)
   at ICSharpCode.SharpDevelop.Internal.Templates.ProjectTemplate.CreateProject(ProjectCreateInformation projectCreateInformation)
   at ICSharpCode.SharpDevelop.Project.Dialogs.NewProjectDialog.OpenEvent(Object sender, EventArgs e)
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnClick(EventArgs e)
   at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ButtonBase.WndProc(Message& m)
   at System.Windows.Forms.Button.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
(Textbox ends here)


I've just installed this stuff to a clean OS to be sure it wasnt my fault, so what is wrong here? Help!

If you could provide a zip file with your installation of SharpDevelop or something that might help a lot..
GoMa
I'll check it out in the weekend. It's probably something with the installation.
psych787
QUOTE(GoMa @ Sep 26 2006, 11:33 PM) *

I'll check it out in the weekend. It's probably something with the installation.

Thanks. Btw, I tried opening the .csproj file in a test2.zip file I found on this site (http://www.desktopsidebar.com/forums/index.php?showtopic=4255). When doing so SharpDevelop wouldnt open the file unless I allowed it to be converted from .NET 2k3 to .NET2k5. Dunno if that helps.

I just want to make things similar to toolbars for HTML and mabye some other languages. Having a programmer's toolkit in DS would change the way we think of "development" forever, particulary for novices like me. fun_08.gif
GoMa
The report says you're using SharpDevelop version 1710, which is a beta of 2.1. You must use SharpDevelop 2.0 final (revision 1591).
psych787
QUOTE(GoMa @ Oct 7 2006, 07:10 AM) *

The report says you're using SharpDevelop version 1710, which is a beta of 2.1. You must use SharpDevelop 2.0 final (revision 1591).

thanks, i'll try that. wink.gif
amix
Hi ! Would you mind updating it ? I changed the version-check in the sdplugin to 2.1 but ran into the same error soon after.

BTW: I just started developing my first script plugin using Eclipse (where I have oXygen XML and Aptana plugins for powerful XML and Javascript work) but then I came across this plugin when browsing the docs. I am very happy, that you have chosen #develop instead of VS, since, well, I can afford it ;-)

Thanks for the work!
GoMa
It's great to see you're using it. I'll try to compile it to be compatible with the 2.1 alphas. I just wanted to release it for #d 2.0 because it's stable, although I do have the 2.1 head sources.
amix
Okay. Thanks a lot.
psaraki
QUOTE(GoMa @ Oct 7 2006, 04:10 PM) *

The report says you're using SharpDevelop version 1710, which is a beta of 2.1. You must use SharpDevelop 2.0 final (revision 1591).


SharpDevelop 2.0 subversion 1710 is SharpDevelop 2.0, its not 2.1 beta.
It is just a newer build than yours.

----------Taken from SharpDevelop download page----------
Downloads for SharpDevelop2 2.0

* Setup Download [4237 KB]
* Source code Download [14799 KB]

Version information: SharpDevelop2 2.0.1.1710, 8/24/2006


Notes

* You need to have at least the .NET 2.0 runtime installed on your machine. The SDK is optional but recommended. .NET Framework 2.0 Runtime download (x86), .NET Framework 2.0 SDK download (x86)
* Supported operating systems: Windows 2000 and later

Recommended Software

* NCover for code coverage support inside SharpDevelop2
* FxCop - entirely optional, but recommended for writing quality code
---------------------------------------------------------------------

Revision 1591 is not referenced in sourceforge anymore.
Until a newer version of DSDevEnv is released you can use the following link and download the SharpDevelop 2.0 subversion 1591.
http://prdownloads.sourceforge.net/sharpde...up.exe?download

BTW keep up the good work GoMa fun_08.gif
GoMa
Thanks a lot, psaraki. I got mixed up with the releases. Unfortunately it'll take some time until I'll get the time to compile a new version of DSDevEnv so I really appreciate this. flowers.gif
Indian_Mayhem
Dang, I was hoping to start work on my panel. Get the lead out, wonderkin. smile.gif
GoMa
I have uploaded the new version. A new bonus is an improved way of creating Panel Properties for your panel. Do that by right clicking the project name in the Project Pad and clicking Properties.
Indian_Mayhem
Give me a million dollars. smile.gif Had to ask wink.gif
GoMa
I would happily, if I could... but first you give me a panel. biggrin.gif
MickeyMouse
I installed SharpDevelop 2.0. Double-clicking on sdaddin would not work, so I tried to add this using the AddIn Manager and I got the following error:

.NET Version : 2.0.50727.42
OS Version : Microsoft Windows NT 5.1.2600 Service Pack 2
Current culture : English (United States) (en-US)
Working Set Memory : 44952kb
SharpDevelop Version : 2.0.0.1591

Exception thrown:
ICSharpCode.SharpZipLib.Zip.ZipException: Cannot find central directory
at ICSharpCode.SharpZipLib.Zip.ZipFile.ReadEntries()
at ICSharpCode.SharpZipLib.Zip.ZipFile..ctor(String name)
at ICSharpCode.AddInManager.InstallableAddIn..ctor(String fileName, Boolean isPackage)
at ICSharpCode.AddInManager.ManagerForm.ShowInstallableAddIns(IEnumerable`1 fileNames)
at ICSharpCode.AddInManager.ManagerForm.InstallButtonClick(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I'm sure I did something wrong... any ideas?
GoMa
Judging by your error report, you're using a Release Candidate of SharpDevelop 2.0 (build 1591). Grab the final 2.0 version (build 1710) from their site and try again.
If the error persists try downloading the sdaddin file again, it seems like there was a download error.
MickeyMouse
QUOTE(GoMa @ Mar 5 2007, 08:12 AM) *

Judging by your error report, you're using a Release Candidate of SharpDevelop 2.0 (build 1591). Grab the final 2.0 version (build 1710) from their site and try again.
If the error persists try downloading the sdaddin file again, it seems like there was a download error.


I started out with "build 1710" which gave the same error. I then saw the post by psaraki and I tried 1591.

I will download sdaddin again and give it another try.
GoMa
SharpDevelop 2.1 final is out, with many improvements. I have tried to update DSDevEnv to the new version but ran into a few problems and I'm waiting for their developers for an answer.
The current version of DSDevEnv is, unfortunately, not compatible with SD 2.1.
GoMa
DSDevEnv is really nearing what I initially wanted it to be. My project today, an idea I've been toying with for some time, was to rip everything not strictly needed for DSDevEnv out of SharpDevelop. The result is a much cleaner environment for developing DS panels.
This will also simplify installation and reduce required disk space because SharpDevelop contains a lot of things that have nothing to do with DS.
The menus are much less cluttered (obviously you can't see that in the screenshot), and only the options DS panel devs really need are in there.
I'm still working on perfecting it, and it might take some time, as I'm going to school next week. Anyway here's a screenshot.
More changes: added support for "image" control, and made compatible with SD 2.1.
GoMa
I have published a brand new version of DSDevEnv and figured it deserved a new thread, so I'm unpinning and closing this one. Thanks to everybody for your invaluable feedback!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.