public function display()
    {
        if (!$this->visible) {
            return;
        }

        if ($this->model === null) {
            return;
        }

        parent::display();

        if (
            count($this->model) === 0 &&
            $this->no_records_message !== null &&
            $this->show_check_all !== true
        ) {
            $div = new SwatHtmlTag('div');
            $div->class = 'swat-none';
            $div->setContent(
                $this->no_records_message,
                $this->no_records_message_type
            );

            $div->display();
            return;
        }

        $tile_view_tag = new SwatHtmlTag('div');
        $tile_view_tag->id = $this->id;
        $tile_view_tag->class = $this->getCSSClassString();
        $tile_view_tag->open();

        $this->displayTiles();

        if ($this->showCheckAll()) {
            $check_all = $this->getCompositeWidget('check_all');

            if ($this->check_all_title !== null) {
                $check_all->title = $this->check_all_title;
                $check_all->content_type = $this->check_all_content_type;
            }

            $check_all->extended_count = $this->check_all_extended_count;
            $check_all->visible_count = $this->check_all_visible_count;
            $check_all->unit = $this->check_all_unit;
            $check_all->display();
        }

        $clear_div_tag = new SwatHtmlTag('div');
        $clear_div_tag->class = 'swat-clear';
        $clear_div_tag->setContent('');
        $clear_div_tag->display();

        $tile_view_tag->close();

        Swat::displayInlineJavaScript($this->getInlineJavaScript());
    }