Getting Started with the ActiveGanttCSW Gantt Chart Scheduler Component

Saturday, November 12, 2011

ActiveGanttCSW is a Gantt Chart / Scheduler component designed for the Windows Presentation Foundation (WPF) and C#. This is a complete tutorial that describes how to get started with the ActiveGanttCSW Component. It covers installing the component, as well as creating a very simple WPF application with ActiveGanttCSW.

1. ActiveGanttCSW Requirements

2. Downloading the ActiveGanttCSW component.

3. Installing the ActiveGanttCSW component.

4. Examining the files created by the ActiveGanttCSW install program.

      4.1. The ActiveGanttCSW HTML Help Shortcut.

      4.2. The ActiveGanttCSW Demo Project Shortcut.

      4.3. The ActiveGanttCSW Demo Executable.

5. How to create a simple WPF application using the ActiveGanttCSW component.

1. ActiveGanttCSW Requirements.

For developing applications with ActiveGanttCSW:

For deploying your applications that use ActiveGanttCSW:

Notes:

2. Downloading the ActiveGanttCSW component.

The latest version of the ActiveGanttCSW component is accessible from this page in our website:

http://www.sourcecodestore.com/TrialDownloads/ActiveGantt/Default.aspx

Select ActiveGanttCSW from the drop down list and press the Download Now button, select the destination directory (this procedures varies according to the type of browser being used) and begin downloading.

The ActiveGanttCSW install program is packaged in a compressed .zip file. The file names are structured according to the following convention:

3. Installing the ActiveGanttCSW component.

Downloading will have left you with a file named AGCSW_NETXX_X_X_X(D/R).zip.

The ActiveGanttCSW install program does not contain any spyware, viruses or useless third party tools.

 

This .zip file contains two files: the .msi install package and a readme file in .rtf format. The readme file can be viewed using Microsoft Word or Word Pad.

 

Extract both files from the .zip file

 

Double click on the AGCSW_NETXX_X_X_X(D/R).msi file to begin the install process. In Windows Vista and above you will get a security prompt. Click on the Yes button to continue.

 

You will be taken to the welcome screen of the ActiveGanttCSW installation program. Click on the Next button.

 

You will then be prompted for the installation directory. Click on the Next button.

 

The install program will ask for your confirmation before beginning to install ActiveGanttCSW, click on the Next button.

 

Another security screen will ask you if you want the ActiveGanttCSW install program to copy software onto your computer. Click on the Yes button.

 

After the ActiveGanttCSW installation program finishes copying files to your computer, a browser window will open which contains all the above setup instructions plus any version specific information that might be of use.

 

Click on the Close button to terminate the installation of ActiveGanttCSW.

 

The ActiveGanttCSW component can now be uninstalled using the control panel. Always use the control panel application to uninstall ActiveGanttCSW. After uninstalling the ActiveGanttCSW component you can also erase the "C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\" directory for a complete uninstall.

You must completely uninstall the ActiveGanttCSW component when upgrading to a more recent version or when switching from the Trial to the Release version.

4. Examining the files created by the ActiveGanttCSW install program.

On a default install of the ActiveGanttCSW component, all files will be copied to the "C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\" directory.

The most important files in this directory are the following:

Path File Description
C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\ AGCSW_TR.sln The Visual Studio Solution File
C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\AGCSWCON\ AGCSWCON.vbproj The example's C# project file
C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\AGCSWCON\bin\ AGCSWCON.exe The example's executable file
C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\AGCSWCON\AGCSW\ AGCSW.dll The ActiveGanttCSW WPF Control
C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\Additional Files\ AGCSW.chm The ActiveGanttCSW compiled HTML Help file

 

The install program will generate one shortcut on the desktop, the ActiveGanttCSW Demo Project is a shortcut to the AGCSW_TR.sln file.

 

The install program will also create an ActiveGanttCSW menu in Programs. This menu contains copies of the shortcut installed on the desktop, plus a shortcut to the ActiveGanttCSW help file and a shortcut to the ReadMe file.

4.1. The ActiveGanttCSW HTML Help Shortcut.

 

Clicking on the ActiveGanttCSW Help shortcut in the ActiveGanttCSW menu will bring up the local HTML help file for the component.

 

This help file is also available online from this link:

http://www.sourcecodestore.com/Documentation/DOCFrameset.aspx?PN=AG&PL=CSW

4.2. The ActiveGanttCSW Demo Project Shortcut.

Clicking on the ActiveGanttCSW Demo Project shortcut will generate an elevated permissions prompt in the operating system. Click on the Restart this application under different credentials option.

 

You will then get a User Access Control prompt. Click on the Yes button.

 

You will then get the AGCSW_TR.sln Visual Studio solution file.

The Visual Studio solution file contains all the source code for the ActiveGanttCSW example. You can press the F5 key to begin debuging.

4.3. The ActiveGanttCSW Demo Executable.

 

In a default installation the AGCSWCON.exe file will be located in "C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\AGCSWCON\bin".

 

Clicking on the AGCSWCON.exe file will bring up this screen.

The ActiveGanttCSW Demo has two main examples:

Both examples have three modes:

Additionally the ActiveGanttCSW Demo has three examples on how to read Microsoft Project 2003, 2007 and 2010 XML files.

All the code used to generate the demo is included in the AGCSW_TR.sln Visual Studio Solution.

*Microsoft has not released and does not intend to release an ODBC driver for Access databases for x64 systems and therefore, the Access data source mode is not available when running the demo in 64 bit mode on a 64 bit system.

5. How to create a simple WPF application using the ActiveGanttCSW component.

Start a new instance of Visual Studio.

 

Select   File -> New -> Project....

.

 

In the New Project dialog select   Installed Templates -> Visual C# -> Windows -> WPF Application. Leave the solution's name as the default: WpfApplication2.

 

The template will generate a WPF application with a single WPF Window named MainWindow.

 

Select the Toolbox tab on left. Right click on any control and from the drop down menu select the Choose Items... option.

 

The Choose Toolbox Items dialog will pop-up. Click on the Browse button in the WPF Components tab.

 

Select the ActiveGanttCSW component (AGCSW.dll). In a default installation it will be located in "C:\Program Files\Boötes Systems SAS\ActiveGanttCSW\AGCSWCON\AGCSW\AGCSW.dll". Then click on the Open button.

 

The ActiveGanttCSWCtl is now included in the Choose Toolbox Items dialog. Click on the OK button to exit the dialog.

 

After exiting the Choose Toolbox Items dialog, the ActiveGanttCSWCtl component will now be present in the Toolbox.

 

Drag the ActiveGanttCSWCtl from the Toolbox onto the MainWindow.

In the trial version of the ActiveGanttCSW control you will be presented with a nag screen, click the OK button to continue.

In the trial version of the component the nag screen will pop-up when:

  • You are adding a new control from the Toolbox onto a Window.
  • You are opening a Window in design view that contains an ActiveGanttCSW control.
  • You are building the project.
  • You are opening a WPF Window during runtime that contains the ActiveGanttCSW control.

When you change the MainWindow's XAML code to the following:


<Window x:Class="WpfApplication2.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="650" Width="850" xmlns:AGCSW="clr-namespace:AGCSW;assembly=AGCSW">
    <Grid>
        <AGCSW:ActiveGanttCSWCtl Name="ActiveGanttCSWCtl1" />
    </Grid>
</Window>

Notice how we have changed the name of the control from activeGanttCSWCtl1 to ActiveGanttCSWCtl1 capitalizing the first letter.

 

The ActiveGanttCSW control and the MainWindow will be resized to a more appropriate size. Press the F5 key to begin debugging or alternatively you can go to the  Debug -> Start Debugging  menu.

 

At this time you will only have an ActiveGanttCSW control with no functionality. The watermark on the lower right hand side will only be present in the trial version of the ActiveGanttCSW component.

 

Close the window to exit debugging. You will again have the MainWindow in design view. Go to the Properties Window on the bottom right hand side. Click on the Events tab. Scroll down to Loaded and double click on the dropdown on the right.

Include the following code:


        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            int i;
            ActiveGanttCSWCtl1.Columns.Add("Column 1", "", 125, "");
            ActiveGanttCSWCtl1.Columns.Add("Column 2", "", 100, "");
            for (i = 1; i <= 10; i++)
            {
                ActiveGanttCSWCtl1.Rows.Add("K" + i.ToString(), "Row " + i.ToString() + " (Key: " + "K" + i.ToString() + ")", true, true, "");
            }

            ActiveGanttCSWCtl1.Redraw();
        }

The above code will create two Columns and ten empty Rows. Notice that every Row has to be identified by a unique key, "K1", "K2", K3", etc.

 

Press the F5 key to begin debugging. You will now have an ActiveGanttCSW control with no Task objects.

 

You can add Task objects by clicking and dragging over any Row in the Client Area of the ActiveGanttCSW control.

You can also add Task objects programmatically:


        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            int i;
            ActiveGanttCSWCtl1.Columns.Add("Column 1", "", 125, "");
            ActiveGanttCSWCtl1.Columns.Add("Column 2", "", 100, "");
            for (i = 1; i <= 10; i++)
            {
                ActiveGanttCSWCtl1.Rows.Add("K" + i.ToString(), "Row " + i.ToString() + " (Key: " + "K" + i.ToString() + ")", true, true, "");
            }

            ActiveGanttCSWCtl1.CurrentViewObject.TimeLine.Position(new AGCSW.DateTime(2011, 11, 21, 0, 0, 0));
            ActiveGanttCSWCtl1.Tasks.Add("Task 1", "K1", new AGCSW.DateTime(2011, 11, 21, 0, 0, 0), new AGCSW.DateTime(2011, 11, 21, 3, 0, 0), "", "", "");
            ActiveGanttCSWCtl1.Tasks.Add("Task 2", "K2", new AGCSW.DateTime(2011, 11, 21, 1, 0, 0), new AGCSW.DateTime(2011, 11, 21, 4, 0, 0), "", "", "");
            ActiveGanttCSWCtl1.Tasks.Add("Task 3", "K3", new AGCSW.DateTime(2011, 11, 21, 2, 0, 0), new AGCSW.DateTime(2011, 11, 21, 5, 0, 0), "", "", "");

            ActiveGanttCSWCtl1.Redraw();
        }

 

The above code will produce this result.

The examples included in the demo cover almost every piece of functionality present in the ActiveGanttCSW component, but if you need further assistance please read our ActiveGantt support options. Important: if you are sending an e-mail you have to specify that you are referring to the ActiveGanttCSW component, otherwise you will inevitably experience delays in having your query answered.

 

All trademarks are property of their respective holders, and are only used to directly describe the products and services being provided. Their use in no way indicates any relationship or endorsement between The Source Code Store LLC and the holders of said trademarks.