GUI toolkit question

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • eguy@devio.us

    #1

    GUI toolkit question

    I'm building an app that operates on tuples (typically pairs) of
    hierarchical structures, and i'd like to add a GUI to display my
    internal representation of them, and simplify manipulations/operations
    on them. My requirements are:

    1) Draw a single 3D representation of the hierarchies, and the
    connections between them.

    2) All objects must be interactive. That is, they should have
    left/middle/rightClick behavior; they must be draggable (with rubber
    band behavior of their conncections); the user should be able to
    highlight a set of them, associate them as a group, then execute
    some group operation.

    3) I don't need very fancy stuff from the normal widgets. Just
    menus, a few buttons, dialog boxes, etc.

    4) Don't need complex 3D behavior.

    5) Don't need to ever run on Windows, just *nix.

    6) May eventually need to either compile the Python, or port
    part/all of it to C++.

    I started looking into Qt, Wx, Blender, etc, but don't even know if i
    have the right questions in mind. Any thoughts, considerations,
    recommendations would be much appreciated.

    thanks in advance,
    Eric


  • gsteff

    #2
    Re: GUI toolkit question

    If you may need to port to another language, you'll probably want to
    use a toolkit that helps you store the interface description seperately
    from the code. The example I'm most familiar with is libglade for GTK,
    although I believe Qt and wx have analagous facilities. I don't do 3D
    stuff myself, but I'd guess that your best bet for that will be OpenGL.
    wxwidgets 2.1.14 and higher has an OpenGL canvas included with the
    stock distribution. OpenGL widgets also exist for GTK, and the
    Trolltech website says that OpenGL functionality is included with
    QT/X11, though I have no experience with this. Others can offer more
    informed advice than I can, but I'd probably reccommend Qt. Very good
    documentation, Qt designer rocks, and I'd trust their OpenGl stuff more
    than the others.

    Greg Steffensen

    Comment

    • Harry George

      #3
      Re: GUI toolkit question

      eguy@devio.us writes:
      [color=blue]
      > I'm building an app that operates on tuples (typically pairs) of
      > hierarchical structures, and i'd like to add a GUI to display my
      > internal representation of them, and simplify manipulations/operations
      > on them. My requirements are:
      >
      > 1) Draw a single 3D representation of the hierarchies, and the
      > connections between them.
      >
      > 2) All objects must be interactive. That is, they should have
      > left/middle/rightClick behavior; they must be draggable (with rubber
      > band behavior of their conncections); the user should be able to
      > highlight a set of them, associate them as a group, then execute
      > some group operation.
      >
      > 3) I don't need very fancy stuff from the normal widgets. Just
      > menus, a few buttons, dialog boxes, etc.
      >
      > 4) Don't need complex 3D behavior.
      >
      > 5) Don't need to ever run on Windows, just *nix.
      >
      > 6) May eventually need to either compile the Python, or port
      > part/all of it to C++.
      >
      > I started looking into Qt, Wx, Blender, etc, but don't even know if i
      > have the right questions in mind. Any thoughts, considerations,
      > recommendations would be much appreciated.
      >
      > thanks in advance,
      > Eric
      >
      >[/color]

      The GUI toolkits (gtk, qt, wx, fltk, etc) generally give you a 3D
      window, and then you are on your own. In the window you could use
      VRML, X3D, or your own homegrown OpenGL treatment.

      Next up the foodchain, there are visualization tools which can link
      together lots of nodes and arcs. See:



      --
      harry.g.george@ boeing.com
      6-6M21 BCA CompArch Design Engineering
      Phone: (425) 294-4718

      Comment

      Working...