JIDE Gantt Chart Developer Guide



Similar documents
Virto SharePoint Gantt Chart App for Office 365 Release User and Installation Guide

Project Management within ManagePro

Virto SharePoint Gantt Chart Web Part for SharePoint 2013 Release User and Installation Guide

Creating and Viewing Task Dependencies between Multiple Projects using Microsoft Project

M-Files Gantt View. User Guide. App Version: Author: Joel Heinrich

User Guide for TeamDirection Dashboard

EXCEL Using Excel for Data Query & Management. Information Technology. MS Office Excel 2007 Users Guide. IT Training & Development

Computer Training Centre University College Cork. Excel 2013 Pivot Tables

FastTrack Schedule 10. Tutorials Manual. Copyright 2010, AEC Software, Inc. All rights reserved.

MERLIN. The Quick Start Guide to professional project management ProjectWizards GmbH, Melle, Germany. All rights reserved.

Module One: Getting Started Opening Outlook Setting Up Outlook for the First Time Understanding the Interface...

Basic Microsoft Excel 2007

Microsoft Project 2010

Microsoft Word 2010 Prepared by Computing Services at the Eastman School of Music July 2010

Appointment Scheduler

Network Probe User Guide

Module A2 Item Activities, Gantt Chart and Utilization Sheet

BID2WIN Workshop. Advanced Report Writing

Hypercosm. Studio.

Business Insight Report Authoring Getting Started Guide

GETTING STARTED WITH COVALENT BROWSER

TRAINING MANUAL. Executing Reports. Formatting Options. Copyright 2004 University of San Diego. All rights reserved.

Using Spreadsheets, Selection Sets, and COGO Controls

How to make a line graph using Excel 2007

Database Forms and Reports Tutorial

Data Visualization. Brief Overview of ArcMap

Access 2007 Creating Forms Table of Contents

Planning and Managing Projects with Microsoft Project Professional 2013

Excel 2013 What s New. Introduction. Modified Backstage View. Viewing the Backstage. Process Summary Introduction. Modified Backstage View

Business Objects Version 5 : Introduction

Open Workbench. User Guide. v2.0.00

Microsoft Access Basics

IST 195 Lab 12 Introduction to Microsoft Project

Using Microsoft Project 2000

Aras Corporation Aras Corporation. All rights reserved. Notice of Rights. Notice of Liability

Applicant Tracking System Job Aids. Prepared by:

Administration. Welcome to the Eastwood Harris Pty Ltd MICROSOFT PROJECT 2010 AND PMBOK GUIDE FOURTH EDITION training course presented by

JustClust User Manual

Welcome to the topic on Master Data and Documents.

SAS BI Dashboard 4.3. User's Guide. SAS Documentation

All V7 registers support barcode printing, except the Sharp 410/420 1A ROM and that limitation is based upon the register.

Module A2 Item Activities, Gantt Chart and Utilization Sheet. A2.1 Project item activities A2.2 Gantt chart A2.3 Utilization sheet

MyTax Illinois Help. General use information Access and logon information... 12

Agenda2. User Manual. Agenda2 User Manual Copyright Bobsoft 1 of 34

Introduction... 1 Welcome Screen... 2 Map View Generating a map Map View Basic Map Features... 4

Visualization with Excel Tools and Microsoft Azure

6. If you want to enter specific formats, click the Format Tab to auto format the information that is entered into the field.

SAS/GRAPH Network Visualization Workshop 2.1

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

QUICK START GUIDE RESOURCE MANAGERS. Last Updated: 04/27/2012

Using the Drag-and-Drop Report Builder

DataPA OpenAnalytics End User Training

Logi Ad Hoc Reporting Report Design Guide

Creating Drawings in Pro/ENGINEER

Managing Projects. With. MinuteMan Project Management Software

Business Analytics Enhancements June 2013

WebSphere Business Monitor

1-Step Appraisals Jewelry Appraisal Software

CATIA Basic Concepts TABLE OF CONTENTS

Top 10 Oracle SQL Developer Tips and Tricks

Fleet Maintenance Software

History Explorer. View and Export Logged Print Job Information WHITE PAPER

Timeless Time and Expense Version 3.0. Copyright MAG Softwrx, Inc.

TechnologyOne Financials Overview, Navigation and Shortcuts. Training guide for end users

Release Notes Assistance PSA 2015 Summer Release

1 Start a new project

ScrumDesk Quick Start

Project Management. For Microsoft Dynamics CRM

Using MS Project in Translation Projects Management

Handout: Word 2010 Tips and Shortcuts

OX Spreadsheet Product Guide

Explore commands on the ribbon Each ribbon has groups, and each group has a set of related commands.

Table of Contents. Part I Welcome. Part II Introduction. Part III Getting Started. Part IV The User Interface. Part V Quick Start Tutorials

USER CONVERSION P3, SURETRAK AND MICROSOFT PROJECT ASTA POWERPROJECT PAUL E HARRIS EASTWOOD HARRIS

Converting Dimensions to Measures & Changing Data Types

for Sage 100 ERP Business Insights Overview Document

1. Introduction. P2O is automatically loaded when you open Ms Project (2010 or 2013). The add-in can be found under the M5 Tools menu. 2.

Microsoft Project 2007 Level 2: Working with Resources and Managing a Project

Project planning with MindGenius

Using an Access Database

MS Project Tutorial for Senior Design Using Microsoft Project to manage projects

Asset Track Getting Started Guide. An Introduction to Asset Track

Copyright EPiServer AB

Beginning Microsoft Project

Introduction to Microsoft Project 2010

In this session, we will explain some of the basics of word processing. 1. Start Microsoft Word 11. Edit the Document cut & move

LEGO Digital Designer 4.3 User Manual

Using the SAS Enterprise Guide (Version 4.2)

User's Guide. ver RSRicksoft.

Scanned image. If multiple scanner installed in the computer then click here to select desired scanner. Select Resolution, Color, and Scan Type.

Project Setup and Data Management Tutorial

MyOra 3.0. User Guide. SQL Tool for Oracle. Jayam Systems, LLC

EditAble CRM Grid. For Microsoft Dynamics CRM. How To Guide. Trial Configuration: Opportunity View EditAble CRM Grid Scenario

Logi Ad Hoc Reporting Report Design Guide

Microsoft Word Quick Reference Guide. Union Institute & University

CREATE A 3D MOVIE IN DIRECTOR

Using the Query Analyzer

How To Use The Arles Image Page Creator On Pc Or Mac Or Macbook Or Macintosh (Or Mac) With A Web Browser (Or Ipc) With An Ipc (Or Pc Or Ipc).Html (Or Your Mac)

How to Filter and Sort Excel Spreadsheets (Patient-Level Detail Report)

Relationships Field Definitions Using the WPs & Docs Tab WPs & Docs Field Definitions... 52

Transcription:

JIDE Gantt Chart Developer Guide Contents PURPOSE OF THIS DOCUMENT... 1 FEATURES... 1 JIDE GANTT CHART... 2 OVERVIEW OF JIDE GANTT CHART APIS... 3 GANTTENTRY... 3 GANTTMODEL... 3 DEFAULTGANTTMODEL... 5 GANTT CHART... 5 Markers... 5 GANTTCHARTPANE... 5 SCALEMODEL... 6 SCALEAREA... 7 MOUSE AND KEYBOARD SUPPORT IN GANTTCHART... 7 MOUSE... 7 KEYBOARD... 8 INTERNATIONALIZATION SUPPORT... 10 Purpose of This Document A Gantt chart is a graphical representation of the duration of tasks against the progression of time. It is a useful tool for planning and scheduling projects. A Gantt chart is helpful when monitoring a project's progress. JIDE Gantt Chart is a pure Java Swing library that makes it possible to create a Gantt chart inside your Swing application. Just like many other components from JIDE, it provides all the basic features and a lot of APIs for you to further customize for your application. Features Here are the main features of JIDE Gantt Chart. v Tree table view and GanttChart view side by side. v Supports mouse interactive to change starting date, ending date and completion of the task entry

v GanttEntryRenderer support. User can write one s own renderer to render the Gantt entry and entry group on the GanttChart. v GanttLabelRenderer support. User can write one s own renderer to render the label for the Gantt entry on the GanttChart. v Keyboard navigation supported. v Entry group supported. v Multiple levels of periods on the scale area. v Period format support on the scale area. v Zoom in and zoom out. v Entry relationship supported. v Support both numeric and date as the period v Context menu supported. JIDE Gantt Chart Here is what a Gantt chart looks like under Window L&F under Office 2007 style. Figure 1 JIDE Gantt Chart On the left hand side, there is TreeTable from JIDE Grids. 2

Overview of JIDE Gantt Chart APIs GanttEntry GanttEntry is an interface representing an entry in a Gantt chart. It has a name, a range (i.e. the starting date and the ending date) and a completion percentage. GanttEntry only has getters for those properties. GanttEntry extends ExpandableRow which means it can be used inside a TreeTableModel, a model defined in the JIDE Grids product. MutableGanttEntry interface extends GanttEntry and adds setters for those properties. DefaultGanttEntry implements the MutableGanttEntry and provides the getters/setters for all the properties. Please note, there is no separate class for the Gantt entry group. If a GanttEntry has children, it automatically becomes an entry group and will be rendered as a group in the UI. If a DefaultGanttEntry is rendered as a group, it will update its range automatically to the union of the ranges of all its child entries. If the range has the same start and end, it will be rendered as a milestone. GanttModel GanttModel contains a list of GanttEntries. Since an entry could have children entries, it forms a tree hierarchy. Here are the three main methods on GanttModel interface. * Gets the total entry count. * * @return the total entry count. int getentrycount(); * Gets the entry at the entry index. * * @param index the entry index. * @return Returns the GanttEntry at the index or null if the index is out of bounds. S getentryat(int index); * Gets the index of the entry. * * @param entry the entry * @return the index. int getindexof(s entry); Note the generic type S is defined as extending from GanttEntry. In the other word, users can define their own subclass of GanttEntry and use it inside GanttModel. GanttModel also defined several sub-models. They are TreeTableModel, ScaleModel and GanttEntryRelationModel. 3

* @return The TreeTableModel to be displayed in the TreeTable of the GanttChartPane. ITreeTableModel<S> gettreetablemodel(); * Gets the ScaleModel. * * @return the ScaleModel. ScaleModel<T> getscalemodel(); * Gets the model that defines the relationship among gantt entries. * * @return the GanttEntryRelationModel. GanttEntryRelationModel<T, S> getganttentryrelationmodel(); The TreeTableModel is the same model that is used by TreeTable in JIDE Grids product. Since TreeTableModel is a tree hierarchical data model that supports filtering and sorting, we decide to leverage it as Gantt entries are also represented in a hierarchical data model and also need filtering and sorting. Since we will use this TreeTableModel and display it in a TreeTable in the case of GanttChartPane, so using TreeTableModel seems like a good choice. The ScaleModel provides information needed to display different scales in the ScaleArea. The model provides functions to map an instant in the base unit to a position on a long scale. The GanttEntryRelationModel defines relationships between two entries. There are four types of relationships that are defined as constants on GanttEntryRelation. In order to explain the relation, we call the first entry the predecessor entry and the second entry the successor entry. Please note, the line that represents the relation always draws from the predecessor entry to the successor entry. ENTRY_RELATION_FINISH_TO_START: The successor entry cannot begin until the task that it depends (the predecessor entry) on is complete. ENTRY_RELATION_START_TO_START: The successor entry cannot begin until the task that it depends (the predecessor entry) has begun. ENTRY_RELATION_FINISH_TO_FINISH: The successor entry cannot be completed until the task that it depends on (the predecessor entry) is completed. ENTRY_RELATION_START_TO_FINISH: The successor entry cannot be completed until the task that it depends on (the predecessor entry) begins. 4

In JIDE Gantt Chart, we display the four relations of the entries but we didn t enforce them. You would still need to implement the logic in your code. DefaultGanttModel Although you can implement your own GanttModel, most likely you will stay with DefaultGanttModel, which is a default implement we provided for GanttModel interface. DefaultGanttModel allows you to define the period unit type and the GanttEntry type as generic. In the example code below, we created a DefaultGanttModel whose period unit type is Date and the GanttEntry is DefaultGanttEntry. DefaultGanttModel<Date, DefaultGanttEntry<Date>> model = new DefaultGanttModel<Date, DefaultGanttEntry<Date>>(); model.setscalemodel(new DateScaleModel()); Gantt Chart Once you have the GanttModel created, creating a GanttChart is very simple. GanttModel<T, S> ganttmodel = ; GanttChart<T, S> chart = new GanttChart<T, S>(); chart.setmodel(ganttmodel); Markers The GanttChart can be customized with background painter to mark certain range or periods, for example to mark the weekends on the chart. The IntervalMarker can be used to mark any interval or instant on the scale, while the AbstractPeriodMarker can be used to mark the periods. See the GanttChartDemo for examples of IntervalMarker and DatePeriodMarker. GanttChartPane In addition to GanttChart, we also create a class called GanttChartPane. This is a pane that has both a TreeTable and a GanttChart. GanttModel<T, S> ganttmodel = ; GanttChartPane ganttchartpane = new GanttChartPane<Integer, GanttEntry<Integer>>(ganttModel); 5

By default, the TreeTable has five columns as shown above. However you can customize it by creating your TreeTableModel. See below for a screenshot from ProjectGanttChartDemo which is one of the demos on Gantt chart. ScaleModel The ScaleModel is an interface to provide the GanttChart with information how to translate the GanttEntry range to positions on a long scale. It also defines the available periods and how they map to intervals on the long scale. If you implement your own ScaleModel, it is important to follow the invariants specified in the Javadoc of the ScaleModel especially that period intervals always ends at the same instant where the next period interval begins. But typically a GanttChart deals with time for which the DateScaleModel is provided to map java.util.date to a millisecond long scale. 6

You can customize the available periods of by providing the appropriate DatePeriods to the DateScaleModel constructor (always from the smallest to the largest). If the predefined periods do not include the period you want, you can specify your own DatePeriod as below. Note that if you want irregular periods, you ll need to create or extend your own custom ScaleModel which correctly implements getperiodstart/end and calculateperiods for that period. // A fiscal year which starts in July instead of January DatePeriod fiscalyear = new DatePeriod(Calendar.MONTH, 12, Calendar.JULY); DateScaleModel scalemodel = new DateScaleModel( DatePeriod.DAY_OF_WEEK, DatePeriod.WEEK_OF_YEAR, DatePeriod.MONTH, fiscalyear); // don t forget to add a PeriodConverter for your new period scalearea.setperiodconverter(fiscalyear, new DatePeriodConverter("Fiscal Year", new SimpleDateFormat("'FY' yyyy"), new SimpleDateFormat("'Fiscal Year' yyyy"))); ScaleArea The ScaleArea is the header of the Gantt chart and can show the scale in different granularities. It allows the user to pick from the available periods defined in the ScaleModel and zoom the GanttChart in and out. The default setup of the ScaleArea can be customized by setting the visible periods, the start and end instants and the preferred visible periods count and size to control the preferred width of the GanttChart. ScaleAreaPopupMenuCustomizers can be installed on the ScaleArea to provide a context sensitive popup menu depending on which period is clicked. By default the resize periods and the visible periods popup menu customizers are installed. For each period, a PeriodConverter can be set on the ScaleArea to control the text and tooltip of that period. DateGanttChartPane configures the ScaleArea with PeriodConverters for the default DatePeriods. By default if the GanttChart is used in a GanttChartPane, we will renderer the period headers using the TableHeader of the TreeTable for a consistent look and feel. If you replace the table header of the TreeTable, special care might need to be taken so the ScaleArea renders correctly. See the ProjectGanttChartDemo for an example. Mouse and Keyboard Support in GanttChart Mouse In addition to mouse click, press and drag to select the rows in GanttChart, GanttChart also supports mouse zoom and mouse editing. If you put the mouse over the entry, there are four possible actions depending on where the mouse is: move, resize upper range, resize lower range, and change completion. The cursor will change shape to tell you which action it will take when the mouse is pressed and dragged. 7

The mouse wheel will scroll up and down the GanttChart without any modification keys. When the CTRL is pressed and hold, mouse wheel will zoom in and out the GanttChart. There is also a panning mode which you can set using GanttChart#setViewMode. Once setting to panning mode, mouse movement will pan the GanttChart. This is useful when the GanttChart is in view-only (not editable). Keyboard When GanttChart has focus, you can use keyboard to navigate the GanttChart. Here are the list of keystrokes that GanttChart supports. Keyboard DOWN or KP_DOWN shift DOWN or shift KP_DOWN or ctrl shift DOWN or ctrl shift KP_DOWN ctrl DOWN or ctrl KP_DOWN UP or KP_UP shift UP or shift KP_UP or ctrl shift UP or ctrl shift KP_UP ctrl UP or ctrl KP_UP HOME shift HOME or ctrl shift HOME ctrl HOME END shift END or Action selectnextrow selectnextrowextendselection selectnextrowchangelead selectpreviousrow selectpreviousrowextendselection selectpreviousrowchangelead selectfirstrow selectfirstrowextendselection selectfirstrowchangelead selectlastrow selectlastrowextendselection 8

ctrl shift END ctrl END PAGE_UP selectlastrowchangelead scrollup shift PAGE_UP or ctrl shift PAGE_UP ctrl PAGE_UP PAGE_DOWN shift PAGE_DOWN or ctrl shift PAGE_DOWN ctrl PAGE_DOWN TAB shift TAB ENTER shift ENTER ctrl A or ctrl SLASH ctrl BACK_SLASH SPACE ctrl SPACE shift SPACE ctrl shift SPACE ctrl EQUALS ctrl MINUS scrollupextendselection scrollupchangelead scrolldown scrolldownextendselection scrolldownchangelead selectnextcolumncell selectpreviouscolumncell selectnextrowcell selectpreviousrowcell selectall clearselection addtoselection toggleandanchor extendto moveselectionto zoominperiods zoomoutperiods 9

Internationalization Support All Strings used in JIDE Gantt Chart are contained in one properties file called gantt.properties under com/jidesoft/gantt and scale.properties under com/jidesoft/scale. Some users contributed localized version of this file and we put those files inside jide-properties.jar. If you want to support languages other than those we provided, just extract this properties file, translated to the language you want, add the correct postfix and then jar it back into jideproperties jar. You are welcome to send the translated properties file back to us if you want to share it. 10