Home
Prashanth Xpressed
28 November 2009 @ 07:24 pm
And of-course the time inbetween talks/sessions where I get to meet incredibly talented folks from the community.

PS: My talk on "Writing Qt Creator Plugins" would be on 4th of Dec, Thursday between 7 and 8 PM.

 
 
Prashanth Xpressed
20 November 2009 @ 03:11 pm
We have been working on improving medical imaging support in VTK Designer for quite sometime. However, due to heavy workload in other products and projects; this one took a back seat. Up-until now users could select DICOM image set and do a surface render.



But now; over and above this we also support something called "Axial, Coronal and Sagittal plane views". When DICOM images are loaded in this view, you will get...



The DICOM data-file loader in VTK Designer automatically creates the required pipeline, script and configuration form; and embeds it into the right panel. In that form users can view details about the patient and also extract different axial, coronal and sagittal planes by dragging the sliderbars and clicking "Refresh".

We are also working on supporting volume rendering of medical images in VTK Designer.
 
 
Prashanth Xpressed
04 November 2009 @ 10:32 am
Just saw that my talk on "Writing Plugins for Qt Creator" is selected as Tech Talk (Hacker session) at FOSS.IN 2009. The event is going to be between 1st and 5th of December. The last time I gave a talk @ FOSS.IN was in 2007, nice to get back to it after 2 years :-)

http://foss.in/news/foss-in2009-first-shortlist.html
Tags: ,
 
 
Prashanth Xpressed
28 October 2009 @ 08:38 pm
http://www.themenwhostareatgoatsmovie.com/

The movie seems very interesting!

 
 
Prashanth Xpressed
07 October 2009 @ 03:45 pm
With every new release, the size of Qt SDK is increasing. Given the slow and often unreliable BSNL Internet connection @ work (and home), it is not a good idea to download new releases using a browser or an FTP client. Recently we bought a Mac at work and I have been trying hard for the past few days to download the 440 MB Qt/Mac SDK. Everytime I download like 100 MB or so, the net connection goes down and I have to restart the download from scratch.

Girish (ex-Troll) told me that I could use wget to download as much as possible in the first try and then use --continue option to continue the download from where it stopped. This suggestion has turned out to be very useful. I am blogging about this because this tip might help other people too..

If you want to download the huge Qt/Mac package for example you can..

wget http://get.qt.nokia.com/qtsdk/qt-sdk-mac-opensource-2009.04.dmg

If the connection breaks down in the middle, you can continue the download by

wget --continue http://get.qt.nokia.com/qtsdk/qt-sdk-mac-opensource-2009.04.dmg

Update: Finally after 5 hours, the Qt/Mac SDK was fully downloaded on to my notebook :-)
Tags:
 
 
Prashanth Xpressed
17 September 2009 @ 07:02 pm
When you open a GCF project in Qt Creator, you will notice that the project tree on the left hand side also shows GUIXML files against each component and the global ComponentLoaderComponent.xml (CLC for short) file. The CLC file describes the order of loading of components. Each component's GUIXML file describes the GUI of the component.

When you double click on any of the GUIXML files, you will get a fancy XML editor that color codes the whole file. Known elements and attributes are marked in bold face; while unknown ones are color coded but in italics. The custom XML editor works only for GCF's GUIXML files, Qt Creator will default to a simple QPlainTextEdit for other kinds of XML files. We have also implemented find support for the GUIXML editor; that way users can just hit "Ctrl+F" and search for text using the familiar "find text bar" along the bottom edge of the window.



[ Chapter 5 of the document on Writing Qt Creator Plugins was very useful for implementing this feature. Thanks to my colleague Vasudha for researching on this one]
Tags: , ,
 
 
Prashanth Xpressed
15 September 2009 @ 06:47 pm
Over the past few weeks we have been researching on Qt Creator, its architecture and plugin model. In a previous blog my colleague JK has written about a document that we wrote on Qt Creator plugins. This week (ie yesterday) we started working on a plugin for Qt Creator called GCFSupport. The idea behind the plugin is to make GCF programming in Qt Creator really really really simple. The progress has been good so far..

You can now click on "File -> New" (Note: the GCFSupport plugin code is still not made available on the public SVN, but it will be very soon)



and notice that the "New.." project dialog box shows an option for creating a GCF application.



Upon selecting "GCF Application", you will see the CreateAppTemplateWizard in Qt Creator.



......



After generating the code and clicking "Finish", you will notice that Qt Creator loads the newly created GCF application project.



The GCFSupport plugin automatically detects whether an Qt 4 project is a GCF project or not. If yes, then it automatically inserts PROJECT_BASE and GCF_BASE variables into the QMake build step.



Because of this, the user will be able to build and run GCF applications directly from Qt Creator. The goals for the GCFSupport plugin goes beyond just creating and compiling GCF applications. Will blog more about it as we make progress.

Tags: , ,
 
 
Prashanth Xpressed
04 September 2009 @ 10:34 am
A feature that has been requested the most over the past few months is the code generator. I have personally received several emails from VTK Designer 2 users asking about the code generator that existed in the 1.x series but has magically disappeared in the 2.x series. Since then we invested some efforts in getting the code generator design right. All the wrong design choices in the first code generator (written for 1.x) were discarded and a new design was engineered from scratch.

Adithya, an Intern at our company, and I set out on this task. Over the past 2 months the code generator has taken good shape. The CodeGenerator is implemented as a whole new component (thanks very much to GCF). It hooks into exposed interfaces from the canvas and visualization network components of VTK Designer and uses hints provided by nodes and connections to automatically generate the code. We still dont have the whole thing ready, but the results are showing up.

 

There is still a lot of work left, which I am sure Adithya will complete by the time his internship gets over at VCL. Right now we are only concentrating on a simple VTK/C++ code generator; however we have plans to provide Python and a pure OpenGL code generator as well.


 
 
Prashanth Xpressed
31 August 2009 @ 01:31 pm
The next version (2.3) of GCF should (ideally) have a plugin for Qt Creator that will make creation and maintenance of GCF applications with Qt Creator easy. We started our progress towards that end by studying Qt Creator and understanding how plugins for it can be written. The result of that effort is a small document that explains a Qt Creator newbie how to write plugins. The document is a work in progress, but I am sure that it will be a useful starting point for Qt Creator plugin developers. Have a look at if for yourself, we would love to hear feedback from you.

URL: http://www.vcreatelogic.com/resources/downloads/. Click on the "Other Downloads" tab.


5th September Update: Added a chapter on providing editors for new file types in Qt Creator
11th September Update: Added a section (2.6) on building plugins located outside Qt Creator source. [Thanks to Eike Ziller for helping with this one]
 
 
Prashanth Xpressed
27 July 2009 @ 02:32 pm
GCF 2.2 is now released. The 2.2 release is an effort of 8 months, hope you like it.

Key Highlights

  • Software Updater Framework - GCF now includes a software updater framework that can be activated to have your applications automatically download and install updates. GCF provides tools for you to create updates that you can host on a serer site of your choice and have your applications download and install them!
  • Logger Module - GCF now provides a logger module that helps log messages from your programs.
  • CreateAppTemplateWizard replaces the old CreateAppTemplate tool. The new application generation wizard generates better code and helps configure more aspects of your application.

New Classes and Methods

  • GCF::AbstractFileDownloader and subclasses help in downloading files from local, http and ftp servers with ease.
  • GCF::ObjectIterator - This class helps in iterating through all exposed objects in a GCF application.
  • GCF::findObject<>() and GCF::findObjects<>() - These methods now make it easy to look for objects in GCF. Moreover developers can now search for objects from any class, not just from subclasses of GCF::AbstractComponent
  • GCF::connect() and GCF::disconnect() help make it easy for developers to make signal/slot connections between local and remote objects.
The above are in addition to the extended documentation and bug fixes. For a complete log of changes please read the changelog.

How to get the new version?

Just visit http://www.vcreatelogic.com/products/gcf/ and click on "Download GCF 2.2". Once you download the ZIP file, unpack it and read the CompileHOWTO.txt file to figure out how to compile GCF on your system.
  • The cross-referenced documentation are available within doc/html.
  • You can add doc/help/GCFHelp.qch into Qt Assistant and refer to the documentation within assistant.
  • You can also read the new and updated manual contained within doc/Manual.




 
 
Prashanth Xpressed
15 July 2009 @ 05:26 pm
How easy it is to make signal/slot connections between local and remote objects :-)

GCF::RemoteAppAccessPoint* rap = ....
GCF::RemoteObject* remoteObject = rap->getRemoteObject("ComponentName.ObjectName");

GCF::connect(remoteObject, SIGNAL(someSignal(int,char,QString,QPixmap)),
             localObjectPtr, SLOT(someSlot(int,char,QString,QPixmap)));

Isnt this sweet :-)

 
 
Prashanth Xpressed
09 July 2009 @ 04:43 pm
Qt provides a QDirModel class that makes it easy to display directory structures in a view. For a project that we are working on, we needed a model that would make it easy to display the structure of a FTP directory. Thats exactly what we have in FtpDirModel right now. Using the FtpDirModel class is very simple,
#include <QApplication>
#include <QTreeView>
 
#include "FtpDirModel.h"

int main(int argc, char** argv)
{
    QApplication a(argc, argv);
    
    FtpDirModel model;
    model.setUrl(QUrl("ftp://ftp.trolltech.com"));
    
    QTreeView view;
    view.setModel(&model);
    view.show();
    
    return a.exec();
}
Upon executing the above program, you will see a QTreeView that shows the directory structure of ftp.trolltech.com.



While the model is fetching data for a directory, it shows a nice "Fetching..." text in the first column :-).

Take a look at the code. You can checkout a copy from here: https://svn2.hosted-projects.com/vcreatelogic/FtpDirModel. Username and password is anonymous.







 
 
Prashanth Xpressed
The article on "Adding Components for VTK Designer" has now been updated to provide information about how new components can be provided via VTK Designer's "Software Updater", which is designed using GCF.

The updated document can be downloaded from here http://www.vcreatelogic.com/resources/downloads/

 
 
Prashanth Xpressed
16 June 2009 @ 03:19 pm
The article I talked about yesterday now has another section that talks about extending VTK Designer by adding more meaning features. This means we make use of one or more existing components in VTK Designer and mash-up a totally new functionality. Specifically the article talks about adding an "Export to VRML" feature to VTK Designer.



Download the updated article from here.

All of this extensibility is because of the use of "Generic Component Framework - GCF" in VTK Designer.
 
 
Prashanth Xpressed
15 June 2009 @ 07:40 pm
A document titlted "Adding Components to VTK Designer" has been long overdue. So here it is.

The article explains how to write simple components and components that provide more visualization algorithms for use within the pipeline. It is still very much a draft, but usable I hope.
 
 
Prashanth Xpressed
Taray Technologies India, a EDA solutions products and solutions provider in India has released its 7Circuits product. The product's development began in early 2006 and reached 1.0 stage sometime last year. Over the last year or so Taray's team of engineers fine-tuned their 7Circuits product, customized it and integrated it with several toolchains. The latest development is that they have signed an OEM deal with Cadence. Read more about it here: http://www.cadence.com/rl/Resources/datasheets/pcb_fpga_ds.pdf



Why am I blogging about this?

Because our company worked as consultants and product development partners with Taray for the GUI aspects of 7Circuits. We did a lot of ground work for the GUI, established the highlevel framework and developed a lot of complex widgets for them. Taray's current team comprises of a bunch of top notch Qt developers and EDA experts. Together they have mashed up a killer product. I am proud of our company's association with Taray. :-)





 
 
Prashanth Xpressed
15 May 2009 @ 06:56 pm
This week we removed all traces of Menu Strip (which was never ribbon) from the GCF code. VTK Designer now has no menu-strip as well. We did however reuse the ActionContainer stuff to make the pull-down menus look a little bit different.



Over the next few weeks we need to cleanup the new menu system and make it better looking.


 
 
Prashanth Xpressed
13 May 2009 @ 09:10 am
Prof. M. B. Patil of IIT Bombay has been conducting workshops on SequelGUI at several engineering colleges and universities over the past few months. SequelGUI is a product that we developed for IIT Bombay using GCF. It is basically a visualization front-end for their Sequel circuit solver. More info can be found here.



Its exciting to see that university students across India, for their semester course, will be using a piece of software built on top of GCF and developed by us :-)
 
 
Prashanth Xpressed
I have the following so far



hmmmm.. I think it looks ok..
 
 
Prashanth Xpressed
25 April 2009 @ 11:24 pm
After several months of educating people that Menu Strip is not RIBBON, I have realized that most people do make that association unconsciously. To avoid any confusion, we have decided to pull the plug on the menu-strip. From the next version of GCF (and VTK Designer); you wont find the menu-strip anymore. Good old toolbar and menubar is good :-)