1. 02 Nov, 2013 1 commit
  2. 26 Oct, 2013 1 commit
    • Artur Grunau's avatar
      Fix a double free in LogHighlighter's destructor · 88d2e9a1
      Artur Grunau authored
      In its destructor, LogHighlighter first of all deleted its filter regex
      explicitly, and then called `setFilterRegExp(0)`, triggering a second —
      this time somewhat implicit — delete. If the filter regex pointer was
      not NULL, this caused the application to crash due to a double-free.
      
      Fix this error by not invoking `setFilterRegExp` in LogHighlighter's
      destructor; the explicit delete performs the same cleanup as
      `setFilterRegExp` anyways.
      88d2e9a1
  3. 25 Oct, 2013 1 commit
  4. 16 Oct, 2013 1 commit
  5. 15 Oct, 2013 3 commits
  6. 13 Oct, 2013 5 commits
    • Artur Grunau's avatar
      Fix bugs with the positioning of MDI windows · 1071efae
      Artur Grunau authored
      Previously, when an MDI window was being dragged very fast and its state
      changed from docked to floating (or vice versa), it wouldn't be placed
      under the cursor, but instead some way behind it (with regards to the
      drag direction). This happened because we decided where to place the
      window's based on its last position in its previous state. Now we use
      the cursor's position to calculate the window's new position, which
      fixes the problem.
      1071efae
    • Artur Grunau's avatar
      Refactor PipelineMdiSubWindow and rename it MdiDockedWindow · e3289b08
      Artur Grunau authored
      PipelineMdiSubWindow has been renamed MdiDockedWindow, and
      refactored to make it easier to use it with arbitrary widgets.
      e3289b08
    • Artur Grunau's avatar
      Store MDI-related classes under gui/mdi · 06a76302
      Artur Grunau authored
      To better group MDI-related classes, all of them have been moved to the
      ´gui/mdi´ directory.
      06a76302
    • Artur Grunau's avatar
      Refactor VisualizationPipelineWidget and rename it MdiFloatingWindow · b1df9da9
      Artur Grunau authored
      VisualizationPipelineWidget has been renamed MdiFloatingWindow, and
      refactored to make it easier to use it with arbitrary widgets.
      b1df9da9
    • Artur Grunau's avatar
      Refactor VisualizationPipelineWrapper and rename it MdiDockArea · 7e5e44b1
      Artur Grunau authored
      VisualizationPipelineWrapper has been renamed MdiDockArea, and refactored
      to make it easier to use it with arbitrary widgets. It now inherits from
      QMdiArea, which removes an unnecessary layer of indirection. Moreover, it
      creates MDI subwindows and floating windows only if necessary, i.e. when
      a widget stored in it changes state.
      7e5e44b1
  7. 11 Oct, 2013 4 commits
  8. 09 Oct, 2013 1 commit
  9. 08 Oct, 2013 10 commits
  10. 27 Sep, 2013 3 commits
  11. 25 Sep, 2013 1 commit
    • Artur Grunau's avatar
      NumericProperty: provide a default step value · 8fcbfb5b
      Artur Grunau authored
      Even though all integer-based properties derived from NumericProperty
      used the same step value, T(1), it had to be specified when
      instantiating them. To reduce boilerplate code in property
      constructors, NumericProperty now uses T(1) as the default step value.
      8fcbfb5b
  12. 24 Sep, 2013 4 commits
  13. 21 Sep, 2013 5 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.
      ec9a8b81
    • 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
      property.
      
      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.
      a3b78a9c
    • Artur Grunau's avatar
      IntAdjusterWidget: widget for modifying ints · 4dbd1800
      Artur Grunau authored
      IntAdjusterWidget displays and provides two ways of modifying integers:
      a slider that can be used to quickly change numeric values, and a spin
      box, which is better suited for precise adjustments.
      
      IntAdjusterWidget is a simple extension of AbstractAdjusterWidget<int>.
      It is designed to be used by IntPropertyWidget and widgets for vector
      properties storing integers.
      4dbd1800
    • 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.
      edb7d691
    • Artur Grunau's avatar
      AbstractAdjusterWidget: base class for adjusters · 3a1f7c9f
      Artur Grunau authored
      AbstractAdjusterWidget is intended to be a base class for widgets
      combining a slider with a spin box. It abstracts common functionality of
      such widgets, leaving only signal/slot support and behaviour tweaks to
      be added in concrete adjuster classes.
      
      AbstractAdjusterWidget is a template class that can be parametrised with
      either double or int. Its API closely follows that of QSpinBox/QSlider.
      3a1f7c9f