Skip to content
  • Dmitry Kazakov's avatar
    A HUGE refactoring of KisPaintOpBox · 65fa65a9
    Dmitry Kazakov authored
    This patch introduces a lot of things:
    
    1) Implements a proper model-view-controller design for all the paintop
       preset-based properties, such as opacity, flow and size:
    
          Model --- KisPaintOpSettings
          Controller --- KoResourceManager (also tracks dependencies among
                         the preset and its derived properties, such as
                         opacity, size, flow, composite op)
          View --- KisPaintOpBox.
    
       Basically, it means that KisPaintOpBox doesn't write to the settings
       directly anymore. Instead, it uses KoResourceManager for that.
    
    2) Well, there are still a couple of flaws in the MVC design. E.g. the
       settings widgets still write directly into the settings bypassing the
       resource managers. To overcome this issue see the next bullet about
       KisResourceUpdateMediator. There is also a bigger problem, the size
       of the brush is still fetched through the access to the GUI elements,
       or, more precisely m_optionsWidget. I don't think...
    65fa65a9