code: function (settings) {
          var self = this;
  
          self._super(settings);
  
          if (self.isRtl()) {
            self.classes.add('rtl');
          }
  
          self.classes.add('window');
          self.bodyClasses.add('window-body');
          self.state.set('fixed', true);
  
          // Create statusbar
          if (settings.buttons) {
            self.statusbar = new Panel({
              layout: 'flex',
              border: '1 0 0 0',
              spacing: 3,
              padding: 10,
              align: 'center',
              pack: self.isRtl() ? 'start' : 'end',
              defaults: {
                type: 'button'
              },
              items: settings.buttons
            });
  
            self.statusbar.classes.add('foot');
            self.statusbar.parent(self);
          }
  
          self.on('click', function (e) {
            var closeClass = self.classPrefix + 'close';
  
            if (DomUtils.hasClass(e.target, closeClass) || DomUtils.hasClass(e.target.parentNode, closeClass)) {
              self.close();
            }
          });
  
          self.on('cancel', function () {
            self.close();
          });
  
          self.aria('describedby', self.describedBy || self._id + '-none');
          self.aria('label', settings.title);
          self._fullscreen = false;
        }
docs: Constructs a instance with the specified settings.
  
  @constructor
  @param {Object} settings Name/value object with settings.