Results 1 to 10 of 10

Thread: Introducing ChainLink: Matlab-style GUI for Qt4 developers

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Jan 2006
    Posts
    369
    Thanks
    14
    Thanked 18 Times in 17 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: Introducing ChainLink: Matlab-style GUI for Qt4 developers

    The fist compilation was done by "qmake; make". This lead to problems which were described earlier.

    I removed the source, and just issued a ./build command and now the project was compiled. The application loads, but it seems I still need some dependencies to build some libraries.

    It's a shame there is no documentation about the building process, and not the requirements for building (a build.txt file in the root of the project should be enough).

    The application seems HUGE, and kinda funky, it will take me a few days until I know how to use it, since now a simple "plot" command does not work (I am missing a library).

  2. #2
    Join Date
    Feb 2007
    Location
    Philadelphia, USA
    Posts
    255
    Thanks
    43
    Thanked 21 Times in 21 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Introducing ChainLink: Matlab-style GUI for Qt4 developers

    Quote Originally Posted by elcuco View Post
    It's a shame there is no documentation about the building process, and not the requirements for building (a build.txt file in the root of the project should be enough).
    There is an Install.txt in the root of the project, but I will include a README.txt as well... thanks for the info.

    Quote Originally Posted by elcuco View Post
    The application seems HUGE, and kinda funky, it will take me a few days until I know how to use it, since now a simple "plot" command does not work (I am missing a library).
    Yes it's quite large (but powerful!).

    Let me take this opportunity to explain about ChainLink's plugin library system:

    The purpose of ChainLink is to link together C++ libraries and Qt projects through a Matlab-style console. This is done through plugin libraries. Each plugin library is defined by a subfolder of the chainlink/lib directory (for example system_libraries/real_library defines the functionality of real numbers, and standard_libraries/qwt_library provides plotting capabilities).

    In order to be able to use the standard plugin libraries included with ChainLink (e.g. for plotting etc.) the following third party software is required:

    qwt_library --- Qt Widgets for Technical Applications (http://qwt.sourceforge.net)
    QGLViewer_library --- libQGLViewer (http://artis.imag.fr/~Gilles.Debunne/QGLViewer/)
    qwtplot3d_library --- QwtPlot3D (http://qwtplot3d.sourceforge.net)
    fftw_library --- fftw3 (http://www.fftw.org)
    linear algebra library --- GNU Scientific library (http://www.gnu.org/software/gsl/)

    Download and compile a subset of these 3rd party projects, and then the simplest way to make sure that ChainLink can see them is to manually place the object files (.so*) in the chainlink/3rdparty/lib directory... then try to compile the plugins from within ChainLink.

    You can also write your own plugins. See documentation for more info.

    Please report problems or suggestions.

    Thanks!
    J Magland

  3. The following user says thank you to magland for this useful post:

    sincnarf (13th October 2007)

  4. #3
    Join Date
    Feb 2007
    Location
    Philadelphia, USA
    Posts
    255
    Thanks
    43
    Thanked 21 Times in 21 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default ChainLink 1.0.1 released

    I've updated ChainLink significantly since my last post, particularly motivated by the programming contest. I will not go into detail until asked specific questions, but let me just say that the software is really quite powerful in a number of different ways.

    In one sense its a Matlab clone. In another sense, its like command-line and scripting access to Qt widgets - both custom and built-in. In the example below, the code in the first screenshot generates the output in the second screenshot (of course the plotting details are found in the "demo1" program).

    Check it out : http://chainlink.sourceforge.net

    Windows binary is now available. For Linux, you will need to gather some 3rd party libraries, such as Qwt, if you want to see the full functionality.

    Also, the QObjectBrowser (see another thread) is built in to chainlink. Just type "QObjectBrowser" from within ChainLink.




  5. #4

    Default Re: Introducing ChainLink: Matlab-style GUI for Qt4 developers

    This is really cool. I installed on windows and it worked perfectly. I'm still playing around with the qt interface, but so far it has been very intuitive. I do have a few suggestions on the matlab syntax side of things:

    First, if I define a variable a = 1:20, I get a vector from 1 through 20 (as I should). But then, if I try to append-- a(21) = 6 -- I get an error. It seems that there is no dynamic memory realocation? This would be nice to have.

    Also, being able to use the 'end' syntax, or something like it is useful, for example a(end) = 20.

    Nice work!

  6. #5
    Join Date
    Feb 2007
    Location
    Philadelphia, USA
    Posts
    255
    Thanks
    43
    Thanked 21 Times in 21 Posts
    Qt products
    Qt4
    Platforms
    Unix/X11

    Default Re: Introducing ChainLink: Matlab-style GUI for Qt4 developers

    Thanks, mkarlsso, I'm glad you find this interesting. Please watch the forums over the coming weeks as I announce the next step in chainlink development. I agree about your syntax comments (efficient dynamic memory allocation for multi-dim arrays is a big issue), but first I've got some other issues I need to work out. In the mean time, you may want to check out development of haiq, which will soon merge with chainlink, in a sense.


    Quote Originally Posted by mkarlsso View Post
    This is really cool. I installed on windows and it worked perfectly. I'm still playing around with the qt interface, but so far it has been very intuitive. I do have a few suggestions on the matlab syntax side of things:

    First, if I define a variable a = 1:20, I get a vector from 1 through 20 (as I should). But then, if I try to append-- a(21) = 6 -- I get an error. It seems that there is no dynamic memory realocation? This would be nice to have.

    Also, being able to use the 'end' syntax, or something like it is useful, for example a(end) = 20.

    Nice work!

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.