| By Jason Weathersby, Iana Chatalbasheva, Tom Bondur | Article Rating: |
|
| March 7, 2007 11:15 AM EST | Reads: |
45,541 |
For example, the RotatedLabelItemFactoryImpl class instantiates a new report item when the user drags a rotated label report item from the Palette and drops the report item in the BIRT Report Designer Editor. This class extends the adapter class, org.eclipse.birt.report.model.api.extension.ReportItemFactory.
In the implementation class, the newReportItem( ) method receives a reference to DesignElementHandle, which provides the interface to the BIRT report model. The newReportItem( ) method instantiates the report item, as shown in Listing 2.
In the RotatedLabelUI class, the getLabel( ) method provides the text representation for the label to BIRT Report Designer. RotatedLabelUI extends the adapter class, org.eclipse.birt.report.designer.ui.extensions.ReportItemLabelProvider. Listing 3 shows the code for the getLabel( ) method.
The RotatedLabelPresentationImpl class specifies how to process and render the report item at presentation time. This class extends the org.eclipse.birt.report.engine.extension.ReportItemPresentationBase class.
The method, onRowSets( ), renders the rotated label report item as an image, rotated by the angle specified in the report design, as shown in Listing 4.
In the RotatedLabelReportItemImpl class, the method, getPropertyDefinitions( ), instantiates RotatedLabelPropertyDefinitionImpl objects for the displayText and rotationAngle properties. RotatedLabelReportItemImpl extends the adapter class, org.eclipse.birt.report.model.api.extension.ReportItem. Listing 5 shows the code for the getPropertyDefinitions( ) method.
The RotatedLabelPropertyEditUIImpl class builds the UI using the RotatedLabelGeneralTabUIImpl class to set up the controls for the UI. RotatedLabelPropertyEditUIImpl implements the org.eclipse.birt.report.designer.ui.extensions.IReportItemPropertyEditUI interface.
In the RotatedLabelPropertyEditUIImpl class, the get-CategoryTabs ( ) method instantiates the RotatedLabelGeneral-TabUIImpl class, as shown in Listing 6.
The RotatedLabelGeneralTabUIImpl class contains an internal class GeneralCategoryWrapper that creates the UI contents, as shown in Listing 7.
The GraphicsUtil class creates the image containing the specified text and rotates the text image to the specified angle, using the following methods:
- createRotatedText( ) performs the following operations:
- Gets the display text and rotation angle properties
- Sets the display text font and determines the font metrics
- Creates an image the same size as the display text String
- Draws the display text as an image
- Calls the rotateImage( ) method to rotate the image at the specified angle
- Disposes of the operating system resources used to render the image
- Returns the image object - rotateImage( ) rotates the image and determines the width, height, and point of origin for the image
On the PDE Manifest Editor, in Overview, the Testing section contains links to launch a plug-in as a separate Eclipse application in either Run or Debug mode. In Testing, choose Launch an Eclipse application. Eclipse launches the runtime workbench.
In Report Design, choose File->New->Project, and choose Report Project. Create a new report in the project by choosing File->New->Report.
In File name, type a file name if you want to change the default file name. Choose Next. New Report displays the report templates. In Report templates, choose Blank Report, and choose Finish.
The layout editor displays the report design, new_report.rptdesign. The Palette contains the RotatedText report item.
From the Palette, drag RotatedLabel to Layout, as shown in Figure 1. In new_report.rptdesign, choose Preview. The preview appears, displaying the rotated label report item, as shown in Figure 2.
This article is an excerpt from the book, Integrating and Extending BIRT by Jason Weathersby, Don French, Tom Bondur, Jane Tatchell, and Iana Chatalbasheva, soon to be published by Addison-Wesley. The book is the second volume in a two-book series about business intelligence and reporting technology. The book introduces programmers to BIRT architecture and the reporting framework. It shows programmers how to build and deploy customized reports using scripting and BIRT APIs. It also describes how to use key extension points to create a customized report item, a rendering extension for generating output other than HTML or PDF, and an Open Data Access (ODA) driver for a new data source. Integrating and Extending BIRT. Copyright 2007 Actuate. ISBN 0321443853. For more information, please visit www.awprofessional.com.
Published March 7, 2007 Reads 45,541
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Jason Weathersby
Jason Weathersby is a member of the extended BIRT development team at Actuate Corporation and has backgrounds in both computer science and technical writing. He has many years experience in technical consulting, training, writing, and publishing about reporting, business intelligence tools, and database technologies.
More Stories By Iana Chatalbasheva
Iana Chatalbasheva is a member of the extended BIRT development team at Actuate Corporation and has backgrounds in both computer science and technical writing. She has many years experience in technical consulting, training, writing, and publishing about reporting, business intelligence tools, and database technologies.
More Stories By Tom Bondur
Tom Bondur is a member of the extended BIRT development team at Actuate Corporation and has backgrounds in both computer science and technical writing. He has many years experience in technical consulting, training, writing, and publishing about reporting, business intelligence tools, and database technologies.
- Kindle 2 vs Nook
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- Confessions of a Ulitzer Addict
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- It's the Java vs. C++ Shootout Revisited!
- Cloud Computing Can Revitalize Your Career as Software Developer
- IBM Could "Reinvent" Java: Mills
- Oracle & Cloud Computing: Exclusive Q&A with SVP Richard Sarwal
- A Brief History of Cloud Computing
- Kindle 2 vs Nook
- Cloud CEOs, CTOs & SVPs to Speak at 4th International Cloud Computing Expo
- Why IBM’s Server Chief Got Busted
- Is Cloud Computing Like Teenage Sex?
- Industry Experts Discuss the State of Cloud Computing
- Performance Tuning Essentials for Java
- The Difference Between Web Hosting and Cloud Computing
- Cloud Computing Expo: Exclusive Q&A with Yahoo! SVP Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Confessions of a Ulitzer Addict
- My Thoughts on Ulitzer
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- A Cup of AJAX? Nay, Just Regular Java Please
- Java Developer's Journal Exclusive: 2006 "JDJ Editors' Choice" Awards
- The i-Technology Right Stuff
- JavaServer Faces (JSF) vs Struts
- Rich Internet Applications with Adobe Flex 2 and Java
- Java vs C++ "Shootout" Revisited
- Bean-Managed Persistence Using a Proxy List
- Reporting Made Easy with JasperReports and Hibernate
- Creating a Pet Store Application with JavaServer Faces, Spring, and Hibernate
- What's New in Eclipse?
- Why Do 'Cool Kids' Choose Ruby or PHP to Build Websites Instead of Java?
- i-Technology Predictions for 2007: Where's It All Headed?







































