1. 02 Nov, 2013 1 commit
    • Artur Grunau's avatar
      MdiDockableWindow: new MDI helper class · 6d4262de
      Artur Grunau authored
      MdiDockableWindow has been extracted from MdiDockArea to simplify and
      better structure our MDI implementation. The new class takes care of
      creating all necessary representations (docked and floating window) of
      widgets added to MdiDockArea and seamlessly switching between them in
      response to the user's actions (window dragging, key presses, etc).
      
      MdiDockableWindow improves our MDI implementation in two ways:
      - MdiFloatingWindow and MdiDockedWindow instances shouldn't be
        interacted with directly; they're created and disposed of as needed,
        and therefore can't be used as a handle to access and modify an MDI
        window's state; MdiDockableWindow, in contrast, fits this role
        perfectly; it manages both representations of an MDI window, and as
        a result stays around as long as at least one of them is needed
      - managing state transitions of many sub-windows directly in MdiDockArea
        was becoming clumsy as signal mapping and dynamic properties were
        required; having a separate widget that only has to control the state
        of one sub-window makes the code related to state transitions much
        simpler
      6d4262de