Blog « VCreate Logic Blog
 
Home
 
 

GCF - Qt Creator Integration

Post: Blog — Tags: , , , — Posted by: prashanthudupa @ 6:15 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.

 

VTK Designer + Code Generator

Post: Blog — Posted by: prashanthudupa @ 10:39 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.

 

Document on Writing plugins for Qt Creator

Post: Blog — Posted by: jayakrishnan @ 1:33 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]

 

GCF 2.2 Released

Post: Blog, News And Events — Posted by: kiran @ 2:59 pm

Date: 27th July 2009. Place: Bangalore

VCreate Logic announces the release of GCF 2.2.0, in tune with the roadmap announced early in the year. Version 2.2 has been under active design and development since December 2008. Listed below are some of the key changes

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 server 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. 
 

Remote Signal/Slot connections

Post: Blog — Posted by: prashanthudupa @ 5:36 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 :-)

 

FtpDirModel - A QAbstractItemModel implementation for browsing FTP directories

Post: Blog — Posted by: prashanthudupa @ 6:20 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.

 

“Adding Components for VTK Designer” - Updated

Post: Blog — Posted by: prashanthudupa @ 2:52 pm

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.

Grab your copy from here now: http://www.vcreatelogic.com/resources/downloads/

 

Create App Template Wizard

Post: Blog — Posted by: prashanthudupa @ 3:21 pm

GCF introduced a tool called CreateAppTemplate in version 1.6.3 (released in March of 2008). The tool basically helped in quickly creating new GCF based applications. By providing the tool with some basic information, developers could expect a fully compilable application to be generated. Once the template was generated, developers only had to fill in the details to get their ‘functional application’ up and running.

With time, CreateAppTemplate became a maintenance nightmare. Whenever new components got added, it became difficult to add support for them. More over CreateAppTemplate was not handling dependencies between components. Hence we thought that it was time to let go of CreateAppTemplate.

Enter CreateAppTemplateWizard.

CreateAppTemplateWizard is a new tool that developers can now use to generate code for GCF applications.

The tool, as the name suggests, is a wizard that asks a series of simple questions and generates a customized GCF application for you.

The wizard also knows how to configure your applications for using the “automatic updates” feature in the next version of GCF.

Later this year, we have plans to support GCF applications in Qt Creator. This wizard will, I am sure, prove to be very useful there.

 

Hello world!

Post: Blog, News And Events — Posted by: admin @ 3:56 pm

VCreate Logic now has a brand new website. Thanks to Kamal (http://www.eficacy.com) for doing such a fantastic work for us. Even more thanks to Pradeepto for discovering Kamal and introducing us to him.

 
« Newer Posts