1. 11 Oct, 2013 4 commits
  2. 09 Oct, 2013 1 commit
  3. 08 Oct, 2013 1 commit
  4. 24 Sep, 2013 3 commits
    • Christian Schulte zu Berge's avatar
      Revised event handling system: Got rid of campvis::AbstractEventHandler and... · 31d6af0f
      Christian Schulte zu Berge authored
      Revised event handling system: Got rid of campvis::AbstractEventHandler and replaced with functionality of tgt::EventListener and tgt::EventHandler
    • Artur Grunau's avatar
      FloatPropertyWidget: configurable decimal places · ecf594d5
      Artur Grunau authored
      FloatPropertyWidget and VecPropertyWidget configure their adjusters to
      display as many decimals as their properties have significant decimal
      places. Moreover, they connect to the s_decimalsChanged signal in order
      to reconfigure their adjusters when the number of significant decimal
      places of their properties changes.
    • Artur Grunau's avatar
      Update the typedefs of floating point properties · f318af5c
      Artur Grunau authored
      Floating point properties were previously typedef'd to specific
      instantiations of NumericProperty. Now that we have
      FloatingPointProperty, which extends NumericProperty to control how many
      decimal places should be shown when displaying the property's value, all
      typedefs for floating point properties have been updated to point to it
      As a result, many processors and pipelines needed to have their includes
      and/or constructors fixed to import and work with the new typedefs.
  5. 21 Sep, 2013 9 commits
    • Artur Grunau's avatar
      Support setting the step of numeric properties · ec9a8b81
      Artur Grunau authored
      A new attribute has been added to all numeric properties: step value. It
      determines the value of a single increment/decrement that numeric
      property widgets use when their associated properties are modified using
      sliders or spin boxes (users are still able to type any valid property
      value in text edits).
      Numerous processors and pipelines had to be updated to work with the
      changed NumericProperty interface. However, choosing a well-suited step
      value for each property can make it easier for users to modify the
      property — using one step value for all properties leads to cases where
      it is either too small, causing users to go through property values
      which don't cause any visible change, or too big, making it difficult to
      quickly determine the right property value.
    • Artur Grunau's avatar
      Use IntAdjusterWidget in int and vector<int> property widgets · a3b78a9c
      Artur Grunau authored
      Previously, widgets for int and vector<int> properties used only spin
      boxes to display and let users modify the values of their associated
      Now that we have IntAdjusterWidget, IntPropertyWidget and all
      IVecPropertyWidgets have been updated to use it to make it possible to
      change the values of their components with not only a spin box, but also
      a slider.
    • Artur Grunau's avatar
      Derive DoubleAdjusterWidget from AbstractAdjusterWidget · edb7d691
      Artur Grunau authored
      DoubleAdjusterWidget used to inherit directly from QWidget. Rebasing it
      on top of AbstractAdjusterWidget<double>, however, greatly simplified
      its implementation and provided it with several additional API methods
      for free.
    • Artur Grunau's avatar
      Update property widgets in the GUI thread · 4f72e6fd
      Artur Grunau authored
      AbstractPropertyWidget's onPropertyChanged slot is invoked from non-GUI
      threads. Previously, it would call updateWidgetFromProperty directly,
      which resulted in Qt widgets being accessed from non-GUI threads. This
      in turn led to random crashes when properties were modified quickly and
      repeatedly from the GUI.
      Now we invoke updateWidgetFromProperty via a signal-slot connection with
      an internal signal, s_propertyChanged. This makes Qt take care of
      queueing slot accesses in the GUI thread for us.
      Fixes #36
    • Artur Grunau's avatar
      Add support for boxed display of property widgets · 8b316f0c
      Artur Grunau authored
      Previously, property widgets have always had their components displayed
      horizontally next to a label with the property name. However, that made
      widgets consisting of many components (e.g. widgets for vector
      properties) hard to use because their components were squeezed together.
      Now AbstractPropertyWidget takes one additional optional argument,
      displayBoxed. If it's false, the widget is displayed as before. When
      it's true, the widget is laid out vertically in a QGroupBox. For now
      only widgets for vector properties set displayBoxed to true.
    • Artur Grunau's avatar
      Use DoubleAdjusterWidget in vector property widgets · e5e1bff3
      Artur Grunau authored
      Previously, widgets for double-valued vector properties used only spin
      boxes to display and let users modify the values of their associated
      Now that we have DoubleAdjusterWidget, vector property widgets have been
      updated to use it to make it possible to change the values of their
      components with not only a spin box, but also a slider.
    • Artur Grunau's avatar
      FloatPropertyWidget: use DoubleAdjusterWidget · 77653ee0
      Artur Grunau authored
      Previously, FloatPropertyWidget used standard spin boxes and sliders to
      display and let users modify the value of its associated property.
      Consequently, it had to synchronise the states of those widgets on its
      Now that we have a separate widget that implements the two ways of
      changing double values that FloatPropertyWidget provides, it makes sense
      to simplify FloatPropertyWidget's code by making it use
      DoubleAdjusterWidget internally.
    • Artur Grunau's avatar
      Add a slider to FloatPropertyWidget · 163acaae
      Artur Grunau authored
      Each FloatPropertyWidget now gives the user two ways of modifying its
      underlying property's value: the slider can be used for quick changes,
      the spin box — for precise adjustments.
    • Artur Grunau's avatar
      Fix the redrawing of threaded GL canvases · 5fbb429e
      Artur Grunau authored
      QtThreadedCanvas used to ignore all repaint events send to it by Qt in
      order to avoid problems with threading. As a result, however, it would
      become blank when docked/undocked, and display garbage in those of its
      regions that some other widgets have moved over.
      To fix this, the API of TGT's Painter class had to be slightly modified
      and now mirrors that of Canvas with regard to painting-related
      operations. The paint method has been made protected; it's supposed to
      implement the painting logic and shouldn't be called directly. A public
      repaint method has been introduced to let canvases notify their
      associated painters that they need to be redrawn. The default
      implementation simply calls paint() immediately; threaded painters,
      however, override it to schedule render jobs that run in separate
      All existing threaded painters have been updated to reduce the
      visibility of their paint methods and provide public repaint functions.
      Consequently, QtThreadedCanvas can now properly handle repaint events by
      delegating to its associated painter's repaint method.
  6. 19 Aug, 2013 1 commit
  7. 15 Aug, 2013 1 commit
    • Artur Grunau's avatar
      DataNamePropertyWidget: fix null pointer deref · e28d6127
      Artur Grunau authored
      If a DataNamePropertyWidget is created for a DataNameProperty whose
      AccessInfo == READ, it doesn't instantiate a QLineEdit to display the
      property's value (QComboBox is used instead).
      Previously, the updateWidgetFromProperty method didn't check AccessInfo
      to see what display widget was in use, and simply always dereferenced
      the _lineEdit pointer. If AccessInfo == READ, it was null and the
      application crashed.
      Now updateWidgetFromProperty accesses only the combo box if
      AccessInfo == READ, and uses the line edit otherwise.
      Fixes #99
  8. 13 Aug, 2013 1 commit
  9. 24 Jul, 2013 1 commit
  10. 23 Jul, 2013 1 commit
  11. 16 Jul, 2013 2 commits
  12. 15 Jul, 2013 1 commit
  13. 26 Jun, 2013 1 commit
  14. 09 May, 2013 1 commit
  15. 23 Feb, 2013 1 commit
  16. 07 Feb, 2013 1 commit
  17. 06 Feb, 2013 1 commit
  18. 05 Feb, 2013 2 commits
  19. 31 Jan, 2013 1 commit
  20. 30 Jan, 2013 2 commits
  21. 28 Jan, 2013 4 commits