PDA

View Full Version : Dot Net Gantt Chart test


PEN
09-04-2009, 08:47 PM
Check it out, it works, well it is getting there. Need to impliment in the full tool now but the idea is there.

http://www.paulneale.com/temp/dotNetGanttChart.mov

Kameleon
09-04-2009, 09:58 PM
Damn, that's cool, I was doing something similar but using the calendar control, is that a custom control you've wrote? I never heard of the gantchart control :\ Cheers.

EricDLegare
09-05-2009, 02:16 AM
Woo... Fancy :P

Gravey
09-05-2009, 02:49 AM
looks cool but i cant think of an immediate use for it. what are you using it for?

eek
09-05-2009, 04:08 AM
NLA editor im presuming

Kameleon
09-05-2009, 08:06 PM
Just found this, http://www.codeproject.com/KB/webforms/EventCalendarControl.aspx maybe it can be of use to someone. Cheers.

martroyx
09-05-2009, 09:32 PM
Look nice :thumbsup:
do you plan to add snap capability, I mean snapping on other one in different row ?

PEN
09-06-2009, 12:06 PM
Charles get the prize.

Thanks Artur, that looks interesting but I think that I would find my self fighting against the real purpose of it to make it do what I need.

I will be adding all sorts of features to it, snapping might be one of them. I will also draw into the bars and make them look pretty.

The solution I'm using it not a custom but instead lots of labels. I have a flowLayoutPanel that I'm placing a label in it for each row and then in that row I'm adding more labels. If any one has a faster cleaner way please let me know. Sounds messy having all the labels for the rows but it makes it really easy to manage and work with as I can click on a row and get event handlers and get all of the bars from the controls properties. I'm evening thinking that I will add grouping by taking a group of rows and placing them in another label. Each label can hold reference to the things that it controls via the tab property, I'm placing a struct of data in each one.

I tried using other controls with columns that would represent time but each time I tried to load 10000 frames (columns) into it Max would freeze. I need that many or more frames for the project this is for. The way that I'm doing it the width of a row represents time and I can scale that as I like. 1 pixel = 1 frame, 10 p=1f or even 1p=10f.

Please let me know if you have any better ideas.

Kameleon
09-06-2009, 02:40 PM
Wow, that was some real simple solution, never thought of that, props to you Paul. Please let us know of the advances you make :) Cheers.

eek
09-06-2009, 04:03 PM
Charles get the prize.

Thanks Artur, that looks interesting but I think that I would find my self fighting against the real purpose of it to make it do what I need.

I will be adding all sorts of features to it, snapping might be one of them. I will also draw into the bars and make them look pretty.

The solution I'm using it not a custom but instead lots of labels. I have a flowLayoutPanel that I'm placing a label in it for each row and then in that row I'm adding more labels. If any one has a faster cleaner way please let me know. Sounds messy having all the labels for the rows but it makes it really easy to manage and work with as I can click on a row and get event handlers and get all of the bars from the controls properties. I'm evening thinking that I will add grouping by taking a group of rows and placing them in another label. Each label can hold reference to the things that it controls via the tab property, I'm placing a struct of data in each one.

I tried using other controls with columns that would represent time but each time I tried to load 10000 frames (columns) into it Max would freeze. I need that many or more frames for the project this is for. The way that I'm doing it the width of a row represents time and I can scale that as I like. 1 pixel = 1 frame, 10 p=1f or even 1p=10f.

Please let me know if you have any better ideas.

Is the flowLayoutPanel thing a dotnet control? I'm new to this stuff.

MarcoBrunetta
09-06-2009, 04:25 PM
Yep .NET, pretty useful for creating dynamic interfaces as you can easily add and remove other controls to it, and the FLP takes care of organizing them.

"The FlowLayoutPanel control arranges its contents in a horizontal or vertical flow direction. You can wrap the control's contents from one row to the next, or from one column to the next. Alternately, you can clip instead of wrap its contents."

LoneRobot
09-06-2009, 06:41 PM
great stuff, as always Paul.

Only other NLA editor i've seen is Kees's Clip Editor in Puppetshop, but a reckon that is probably not accessible to Maxscript (please correct me if im wrong)

I use the flowlayout panel all the time, i love it! its just a great way of providing resizable logic without having to worry about coding it. I use it on most of my current pipeline scripts based on DotNet.

One thought Paul was that if you are sure about having the horizontal layout of the control you are using, you might want to try a similar control - the tablelayoutpanel. You can split into rows and each row cell could contain a track of the the label objects and is completely separate and would function much like a layered track editor. If you were thinking of using the resizing properties of these controls, each row would stay intact without risking the label rolling over into the same row as another. Probably a moot point as it wouldnt happen but i thought id mention it anyway. :cool:

PEN
09-07-2009, 03:05 PM
That is a good thought Pete, I will look into it. What is easy about this is when I want to hide a row I can do just that or remove it all together and move the others up. I will need this as it will be tied to a treeView control as well.

Charles, this is entirely dotnet other then the createDialog that I'm displaying it in. I could have used a form or MaxForm instead but I needed to test this in a createDialog as that is the way that final tool is being developed as I need to display rollouts as well.

LoneRobot
09-07-2009, 04:12 PM
hi paul, hiding tracks should be possible with the tablelayout control too - you can set the row cell height to 0, and the others will all resize accordingly (unless you lock their heights of course!)

PEN
09-08-2009, 11:28 AM
Sounds good but I need the height of each row to be locked so that it will remain sync'd up with the treeView. I will have a look and see if it will make my life easier.

JHaywood
09-08-2009, 07:57 PM
I've used the tableLayout control too, and it's really nice. The only downside of setting a row's height to zero in order to hide it, is that you end up with a double thick border between the rows above and below it. Not a huge deal, but if your as obsessive about how things look as I am, then it would be a consideration.

CGTalk Moderation
09-08-2009, 07:57 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.