View Full Version : Ext GUI Design support in Visual Studio
StaticVoidMain
2 Aug 2007, 10:46 AM
Hi guys, first of all let me say: Awesome work Jack!!! Thank you :D
I'm working in a project for some time now to add GUI design capabilities to qooxdoo within Visual Studio a brief can be found here: http://aspnetriaen.blogspot.com but i have to say that while qooxdoo its an excellent framework it is slow and very heavy thus for some web projects its impossible to use it coz of resource consumption on client and rendering times, Ext on the other hand is extremely fast and quite light considering all the functionality it brings.
So... I started to do the same (GUI design and server persistence of widgets and data) with Ext now, you can have a feel of what i'm talking about here: http://www.netjswire.com.ar/ all you can see there was designed on Visual Studio, not a single line of Javascript or HTML was handwritten, even the databinding its automatic.
I'm looking for help on this coz i find myself often (e.j.) wrapping a widget into a div to position it and a couple of other things that i cant accomplish in the best way.
Well, Let me know what you think and if this is something that the comunity can benefit of so we can share information, the project is gonna be released under LGPL so there is no license problems.
P.S.: English is not my main language, so excuse my spelling please :)
Ok now the project is in SourceForge at: http://sourceforge.net/projects/netjswire/
In the trunk you can grab the last 1.1.1 code and in branches we started the port to Ext2-alpha1 (almost done just need to finish layouts).
I gonna update the demo to reflect latest changes which, among other things, includes:
Added ability to set custom Renderer on a Table Column.
Dynamic images on Button, Toolbar.Button and Menu.Item, that means you just set the image in the GUI Design and it pases a dynamic URL to "icon" property, no need to set images manually.
Any kind of collaboration is very welcomed, we need all... testers, developers, critics, etc. :) just post here, on SF or send me a PM.
J.C. Bize
2 Aug 2007, 1:12 PM
That sounds awesome! Not sure how I could help just yet... haven't had a chance to look at the C# code.
Hopefully others will find this interesting as well!
StaticVoidMain
2 Aug 2007, 1:23 PM
Thank you J.C. :) There is a lot of ways to help, not just write code in C# you can test o write some tutorial on how to use (after you figure it out :) ), etc.
rodiniz
3 Aug 2007, 7:49 AM
Hey ..are you using server-side controls to generate the ExtJs code?
If you are take a look at this http://www.codeplex.com/GridExtender
StaticVoidMain
3 Aug 2007, 9:04 AM
Hi rodiniz, yes and no, i'm autogenerating the code but not using server side controls, i'm using Windows.Forms Controls to show on the design surface and hooking my own rendering to the rpc to generate the javascript "on the fly", the idea behind this is that you can design your app like any desktop app and deploy it to the web with no aditional effort, just take a look, i posting some screen shots now.
So far i only have implemented a basic set of widgets:
Label (Just a div wrapper to show text on a fixed position)
Button
CheckBox
ComboBox
TextField
Grid (can be used with paging and remoting)
TabPanel
My plan is to implement all the other widgets in Ext set.
Screenshot of a Window being designed on Visual Studio
Notice how all the widgets are on the design surface you can check how it looks on the browser if you go to: http://testext.celtasoft.com.ar/ and play with the demo.
http://testext.administracionglobal.com/SS_1.jpg
Screenshot of the result on the browser
http://testext.administracionglobal.com/SS_2.jpg
Well, i hope this help to understand what i'm trying to acomplish here :)
nteknetium
3 Aug 2007, 10:58 AM
Soy nuevo con Ext me parece espectacular pero no he podido avanzar mucho... no se si existe algun manual para novatos con Ext, como haces para dise
StaticVoidMain
3 Aug 2007, 12:19 PM
Hola Javier, de poder podr
rodiniz
3 Aug 2007, 12:37 PM
I see...your developing a windows forms app but generating ExtJs..
I saw something similar but not using ExtJs..
Hope to see some code soon...
nteknetium
3 Aug 2007, 12:48 PM
Tendrias algunos ejemplos mas sencillos de entender que me puedas facilitar? o sabes de donde los pueda bajar, lo que pasa es que he encontrado los ejemplos de la ayuda algo complejos, por ejemplo quiero hacer un toolbar pero si empiezo a editar los del ejemplo no funciona y lo mismo pasa con los otros componentes, me demore 2 dias trabando de hacer que el ComboBox autocompletara y funcionara con JSON y JSP. No se si me puedas ayudar.
Muchas gracias
StaticVoidMain
3 Aug 2007, 2:48 PM
I gonna put some code examples available to download during weekend, about other similar not using ExtJS, well i did almost the same for qooxdoo, well i still doing it, in fact, with my new model you can switch between qooxdoo and ext at no cost with just a few lines of code, no need to change design or server logic :D
Gunmen
4 Aug 2007, 1:53 PM
Looks very interesting! I believe this can save a lot of time. :-?
How does the event handling works for the buttons? Are you there using C# with ajax? Or javascript?
What kind of version of Ext Js are you using?
If I understand correctly, your application generates the Ext Js code... thus a js file?
StaticVoidMain
6 Aug 2007, 7:46 AM
Hi Gunmen you are right, the project as born as a time saver, i'm developing an application with lots of complex windows thus this saves me alot of time.
The event handlig works like all events handling in .NET e.g.: Button.Click += ...
I'm using C# on server to generate the invocation in Javascript, the beauty of it is that you dont have to do anything special just connect ur events and the framework does the rest :)
I'm using Ext 1.1.
The application generates the Javascript on the fly, not a file just the code needed for each widget and the events.
Kind Regards
Jer
Neehouse
7 Aug 2007, 7:14 PM
I am very interested in testing, and assisting where I can with this project.
Let me know when you are ready for some testers.
Case
StaticVoidMain
10 Aug 2007, 1:06 PM
Im, sory about the delay i got tons of work with my main project...
Here is a link to see a demo:
http://testext.celtasoft.com.ar/
And from here you can download the source code of the demo, all the code, the website, the gui project, and the framework wich makes it possible :)
http://testext.celtasoft.com.ar/TestExt.zip
I gonna need some help with the project, so everyone is welcome to share ideas, thougs, anything, even critics are welcome :)
Neehouse
10 Aug 2007, 1:20 PM
I will definately be all over this over the weekend.
First thing I do notice is the dialog/window is resizable, but the content does not resize. Maybe set the window to not be resizable.
Still... I am rather impressed.
StaticVoidMain
10 Aug 2007, 1:23 PM
Yes, the dialog is resizable by default i gonna add config option to disable it and i'm working with the content resizing repositioning :)
** Added data to the grid to show dynamic load and remote paging **
Teflon
12 Aug 2007, 9:10 PM
Wow ... i'm not sure what else to say ...
Great integration.
I'm waiting new messages about this subject !!! :)
StaticVoidMain
13 Aug 2007, 4:26 PM
HI, thanks Teflon and DeeZ :)
Jut have put up a new demo with some interesting changes:
1) Added remoteSort to the grid.
2) Added NestedLayouts.
3) Start to implemement (kind of) namespace for widgets returned from server (need help here)
I maybe have to say that all of this can be done at design time, in the example that is shown, the only lines of code writen are the ones declaring the data for the grid, all the rest of the demo was done at design time, not a single line of Javascript/HTML was needed to build the demo.
The demo is at: http://testext.celtasoft.com.ar/
And source is here: http://testext.celtasoft.com.ar/TestExt.zip
seroy
17 Aug 2007, 1:18 AM
How it use in Linux :-? It's a possible?
StaticVoidMain
22 Aug 2007, 11:53 AM
seroy: Maybe i'll have to try it gonna do it in my box at home.
xarux
27 Aug 2007, 12:42 AM
Hi there,
I develop C# applications for about 5 years, web, desktop and mobile applications. Your project is really a unique approach :)
First I need some explanation about your source code, I just see an empty page for the web project. The layout is defined in BrowserDocument.cs and TestForm1.cs but I don't see how you display it on web server. Where do you create the instance for BrowserDocument?
Second, I would be happy to help you with this project, even I'm also very occupied with my own projects. But this is an exiting project I think and may be I can help you with some parts of it.
Please inform me if you would like so.
StaticVoidMain
27 Aug 2007, 10:36 AM
Hi xarux, thank you! :)
First: The BrowserDocument is instaciated in Principal.cs (in the project TestUI, the project is buil as a dll and added as reference to the web project)
namespace TestUI
{
public class Principal
{
public Principal()
{
//Just instanciating it sets it as the application document ( I need to change this in the future )
BrowserDocument browserDoc = new BrowserDocument();
}
}
}
Second: Of course you are very welcome to help if you like to :) i really need some help on several areas i'm also occupied with my own projects too (i'm developing a big one based on this framework), thats why i started with this project anyway :P well lemme know how you want to do this, i can set up a SVN to share code or we just exchange files, etc.
Kind Regards
Jer
gregkats
28 Aug 2007, 7:26 PM
I would also be happy to be involved as much as I can.
I would think an svn repository somewhere would be the best approach to sharing the files.
StaticVoidMain
30 Aug 2007, 11:22 AM
Ok gregkats i gonna set up an SVN now so we can start sharing i would recomend to start downloading the code get a in touch with it before we start doing something good :)
I also started to port it to linux the first version worked (about a year ago) but then i changed the IHTTPHandler implementation to a multi-thread one and xsp seems not to like it, gonna change it back and do some more tests.
boris_b
9 Sep 2007, 1:17 PM
Hi, StaticVoidMain
I must say that I'm really impressed with what you have done so far.
A question: I was trying to get selected value in datagridview (table) but without any luck.
Is it possible?
Kind regards,
Boris
StaticVoidMain
10 Sep 2007, 6:55 AM
Hi boris_b, of course you can get it... a quick snippet would be:
// The only row selected is '0' coz i didnt implemented multiselect yet...
DataGridViewRow selRow = table1.SelectedRows[0];
// After that you can work with cells like this:
object selectedValInCell2 = selRow.Cells[2].Value;
I hope this helps.
gregkats and xarux the svn is up i'll post the dir as soon as i get the firewall configured, sorry about the delay but i was installing my gentoo box and didnt had the time before, now i have everything as i like gentoo as base and a virtual to run XP for VS :)
mdissel
10 Sep 2007, 12:52 PM
Very nice initiative! Let us know when the svn is up and running.. I see this is coded against the 1.1 version.. Maybe you (or we) should implement Ext version control in the framework..
The Ext 2.0 is really great and has some big changes in the Container / Panel / Form structure. Maybe you should split the Ext.NET into one base project and for each Ext version create another project containing the controls / properties for a specific Ext version.
One remark about performance.. The interface is fully created with javascript, are you considering to render some controls with html (and some/less Ext javascript)?
Thanks
Marco
leo.pfeifenberger
10 Sep 2007, 11:48 PM
Call me in, too, i'd be glad to help out.
ITM, we're doing a large scale SOA / WCF App, and where thinking of using EXT for the WebClient. Let me know when SVN is set up (right now, DEMO / Download URL seem to be down...)
StaticVoidMain
11 Sep 2007, 8:11 AM
Ok, SVN is up and working now :) you can get the source from here: svn://celtasoft.com.ar/Ext.NET
Also demo page and zip download are working again.
Well, lets checkout the code and see what we can do :)
StaticVoidMain
11 Sep 2007, 2:00 PM
Hi Marco.
About Ext2, I fully agree with you the thing is: I dont have the code to work with ext2, maybe I could get it from one of the many demos but i dont like that way...
About perfromance: Maybe... i didnt noticed that much penalty but maybe on a slow machine or with really, and i mean it, really complicated layouts, but... we have to use the DOM to append the HTML at the right place... I dont know, maybe we can spend some time in a sort of white paper to define this... just remember we need to access the controls created on the client from the server so anyway we should use Ext.get to 'get' an Element for manipulation when needed, also if you look at my 'Label' implementation its just that, an HTML template applied where it needs to be... I'm really tired cant think anything better :P
Kind Regards
Jeronimo
boris_b
11 Sep 2007, 10:20 PM
Hi, StaticVoidMain,
It helped. Thank you.
Kind regards,
Boris.
Hi boris_b, of course you can get it... a quick snippet would be:
// The only row selected is '0' coz i didnt implemented multiselect yet...
DataGridViewRow selRow = table1.SelectedRows[0];
// After that you can work with cells like this:
object selectedValInCell2 = selRow.Cells[2].Value;
I hope this helps.
leo.pfeifenberger
11 Sep 2007, 10:55 PM
Hi Static ;-D
I looked into the Demo Project - niche work, this will be very interesting...
Unfortunately, i cant get access to SVN... login/ pwd needed?
Before i digg more deeply into this, have you thought about Licensing?
Greets,
Leo
babsevensix
12 Sep 2007, 4:44 AM
Great work... have you ever seen http://www.visualwebgui.com/?
leo.pfeifenberger
12 Sep 2007, 5:59 AM
Yes, i evaluated that a while ago, and wasn't too impressed concerning performance & widget quality (compeared to Ext, IMHO)
For example, the NumericUpDown control, the menu or dropdowns: they take ~half a second to react to clicks. From a user's perspective, this is painfully slow - consider editing values in a grid!
StaticVoidMain
12 Sep 2007, 7:22 AM
I'm so sorry leo, that was my fault i forgot to add apache to default so svn was starting but apache was not serving it :S now is working as it should.
Licensing, yes, i think LGPL is the best for this kind of project so anyone can use it wich is what i want, i want that all can use it without restrictions, did you agree on that?
babsevensix: about VisualWebGui yes i checked out the project some time ago, i liked the idea but it was very, very slow.
leo.pfeifenberger
12 Sep 2007, 9:53 AM
ok, i'll try the SVN access first thing tomorrow morning.
About Licensing: yes, LGPL would be great; i just wanted to clarify that before putting a lot of work into this and not being able to use it ;-D
leo.pfeifenberger
13 Sep 2007, 7:52 AM
Hmmm. I just tried the SVN Access... Still no luck...
In the meanwhile, i'm fiddling with the Demo you provided; i must say, impressive piece of work.
Personally, i would go for an templating approach instead of Stringbuilders for the Render() of Widgets (better maintainability when Ext 2.0 arrives ;-D).
I am also thinking of a way to dynamically inject JS Snippets for e.g Grid Extensions (Display Functions and the like). But i think we're better off discussing this in private ;-D
Greets,
Leo
J.C. Bize
13 Sep 2007, 8:22 AM
Hmmm. I just tried the SVN Access... Still no luck...
I tried it just now and it's working fine using TortoiseSVN... trunk is at revision 10.
Cheers,
JC
StaticVoidMain
13 Sep 2007, 8:26 AM
Hi leo, can you ell me wich software u using to access SVN, i tryied with: monodevelop from linux, svn from command line, and tortoise on Windows on several PCs and in all worked fine...
The Acces from the trunk is: svn://celtasoft.com.ar/Ext.NET/trunk
Please let me know if you still cant access i'll do my best to let you and anyone download the code...
Kind regards
Jer
leo.pfeifenberger
13 Sep 2007, 8:30 AM
[quote=StaticVoidMain;62940]Hi leo, can you ell me wich software u using to access SVN, i tryied with: monodevelop from linux, svn from command line, and tortoise on Windows on several PCs and in all worked fine...
The Acces from the trunk is: svn://celtasoft.com.ar/Ext.NET/trunk
Please let me know if you still cant access i'll do my best to let you and anyone download the code...
Kind regards
Jer
StaticVoidMain
13 Sep 2007, 8:41 AM
Yes, of course, maybe an SF project i like it more...
Here is my MSN/Jabber: jeronimomilea@gmail.com, add me or mail me.
Kind Regards
Jer
StaticVoidMain
13 Sep 2007, 1:29 PM
Hi seroy, linux support is done now, except for toolbar menus, that arent working very well for now, but i'm on it, its tested on linux + mono-1.2.5 + xsp-1.2.5, lemme know if you need anything else.
kind regards
Jer
DragonFist
14 Sep 2007, 7:36 AM
I have to say that I am having trouble with the CVS as well. Granted, I am quite new to the whole thing and could very well be doing something wrong but Tortious can't seem to find the svn link.
Error I am getting is "bad cvsroot"
Also, I am not sure which protocal to choose.
StaticVoidMain
14 Sep 2007, 8:52 AM
Hi DragonFist, the problem is you are using CVS, and the repository is SVN, you have to use TortoiseSVN not TortoiseCVS, try with that and letme know what happens.
you can get TortoiseSVN from here: http://tortoisesvn.tirgris.org/
Kind regards
Jer
StaticVoidMain
14 Sep 2007, 9:47 AM
Well as the title says it is a SourceForge project now, you can find it at: http://sourceforge.net/projects/netjswire
For all the people who wants to collaborate you can checkout the code from the sf svn and if you interested you can mail me at: jeronimomilea <at> gmail <dot> com.
I hope this grows :D
Jer
DragonFist
17 Sep 2007, 5:43 AM
Thanks, figured it was something I was doing wrong. :">
StaticVoidMain
17 Sep 2007, 6:13 AM
Np :)
Hey for anyone willing to participate in the project drop me a note or mail me...
Kind regards
Jer
GDragoN
26 Sep 2007, 6:10 AM
I have tried to run example project, when a page is loaded in EI (debug mode), I only get EXT Debug console and errors.
StaticVoidMain
26 Sep 2007, 3:03 PM
Hi GDragoN, did you included the GUI project when compiled? also, can you give details on the error?
Kind Regards
Jer
toreinar
27 Sep 2007, 2:33 PM
First let me say that this seems like an interesting project indeed !
I have a question :
If you want to make a new form, do you do it like this :
Create a new Windows Form and then change its class to inherit from CeltaSoft.Widgets.Ui.Window.Window ?
Or is there another way ?
Maybe I can help a little on this project. I have already come across a couple of errors that I could try to fix.
Tor Einar
StaticVoidMain
27 Sep 2007, 2:59 PM
Hi toreinar, yes for now thats the way to do it, later we gonna implement a template Form, but for now, thats the way.
If you wanna help send me ur patches to check and i put it in SVN or if you wanna make active contributions you can join us with the project in SF, drop me a line along with your patches if you already downloaded the code from SVN and want to join the project, or tell how you want to collaborate.
Kind regards
Jer
0bscur3
1 Oct 2007, 7:49 PM
Amazing job, Jeronimo... Does the source from SVN breaks the demo? I could run it from the zip file but when i get the latest files, I always get the error:
[CODE]
System.NullReferenceException occurred
Message="Refer
toreinar
2 Oct 2007, 1:24 AM
Some things have been renamed in the SVN-version. You have to make some changes in your web.config-file :
<configuration>
<configSections>
<sectionGroup name="NetJsWireSettings">
<section name="NetJsWire" type="JSONRpcHandler.Util.SettingsHandler, Ext.NET" allowLocation="true" allowDefinition="Everywhere"/>
</sectionGroup>
</configSections>
--------------
<httpHandlers>
<add path="*.ashx" verb="*" type="JSONRpcHandler.Handlers.CSHandlerFactory,Ext.NET"/>
</httpHandlers>
--------------
<NetJsWireSettings>
<NetJsWire MainClassName="TestUI.Principal,TestUI" Library="Ext">
</NetJsWire>
</NetJsWireSettings>
Hope that helps !
Tor Einar
0bscur3
2 Oct 2007, 4:34 AM
Thank you, Tor, it works!
I'll try to play a little more with the project during the week but I'm very impressed from what I see until now...
StaticVoidMain
2 Oct 2007, 10:04 AM
Hi Obscur3, i glad you like it :)
As for usign XML data in a grid, well the Rendering of the data for grids reads the data from the values in the cells so if you can use your XmlDataSource as a standard DataSource is going to be rendered without problems on client side :)
Hope that helps.
Jer
Arrrr, I can't view your site, always get timed out error :(
zeusent
31 Mar 2008, 6:41 AM
can someone send me the zip file ? i can't download it from the link.... thanks... zeusent@msn.com
roundcrisis
1 Apr 2008, 1:26 PM
sounds good i ll give it a try
Cheers
sergiopassal
23 Jan 2009, 6:06 AM
Hello
This project is a brilliant idea !! =D>
Is this project still active? It would be a real shame if it weren't.
Congratulations on a job well done.
StaticVoidMain
23 Jan 2009, 6:11 AM
Thank you Sergio, yes this project is very active, you can check it in sourceforge (https://sourceforge.net/projects/netjswire/) or in the home page (http://www.netjswire.com.ar/).
Let me know if i can be of any help.
Kind regards
Jerónimo Milea
sergiopassal
23 Jan 2009, 11:34 AM
Hello
thank you, I did get the latest source code and solution. Forgive me for maybe asking the obvious, but once I build a windows forms .net app and include some of your controls...where should I expect to see the javascript file built?
Or maybe I have the wrong idea about this project and I don't understand it completely yet.
thanks again
Sergio
StaticVoidMain
26 Jan 2009, 7:33 AM
Hi, well the framework doesnt work that way, the framework generates on demand JavaScript meaning you can design your application like any other Winforms app and get it automagically rendered in javascript, check at the test solution in source and if you still have problems trying to figure out how it works you can add me to your IM jeronimomilea@gmail.com
Kind regards
Jerónimo Milea
Powered by vBulletin® Version 4.1.5 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.