src/analog/widgetwithbackground.h

Thu, 18 Aug 2022 17:07:47 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Thu, 18 Aug 2022 17:07:47 +0200
changeset 398
49cf387e9070
parent 319
d1861707054c
permissions
-rw-r--r--

After brewing show final IBU on the first tab.

/***************************************************************************
 *   Copyright (C) 2006-2008 by Tomasz Ziobrowski                          *
 *   http://www.3electrons.com                                             *
 *   e-mail: t.ziobrowski@3electrons.com                                   *
 *                                                                         *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/

#ifndef WIDGETWITHBACKGROUND_H
#define WIDGETWITHBACKGROUND_H

#include <QWidget>

class QPixmap;

class WidgetWithBackground : public QWidget
{
	Q_OBJECT
public:
     /** Constructor */
     WidgetWithBackground(QWidget * parent = 0);

     /** Destructor - removes the bitmap. */
     ~WidgetWithBackground ();

     /**
      * An operation to repaint a control -
      * Pastes the background bitmap onto the control -
      * Generate it earlier if needed.
      */
     void  drawBackground ();

     /** Repaints the control by painting the background unconditionally. */
     void  updateWithBackground ();

     /** 
      * Returns whether a control has been modified.
      * This information is set when the background bitmap changes, that is,
      * the size of the component changes or the background needs to be repainted.
      */
     bool doRepaintBackground(); 

protected:
    /** Invoke paintBackground - redrawing the background */
    void repaintBackground();

    /**
     * Repaints the background of the control
     * @param painter the device on which we are to paint.
     * @param background this is the background of the indicator
     */
    virtual void  paintBackground (QPainter & painer) = 0;

protected:
     /** Background buffer. */
     QPixmap * m_pixmap;

     /**
      * Sets this variable after a property change
      */
     bool m_modified;
};

#endif //WIDGETWITHBACKGROUND_H

mercurial