• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdeutils
  • Sitemap
  • Contact Us
 

okteta

abstractcolumnrenderer.h

Go to the documentation of this file.
00001 /*
00002     This file is part of the Okteta Kakao module, part of the KDE project.
00003 
00004     Copyright 2003,2007-2008 Friedrich W. H. Kossebau <kossebau@kde.org>
00005 
00006     This library is free software; you can redistribute it and/or
00007     modify it under the terms of the GNU Lesser General Public
00008     License as published by the Free Software Foundation; either
00009     version 2.1 of the License, or (at your option) version 3, or any
00010     later version accepted by the membership of KDE e.V. (or its
00011     successor approved by the membership of KDE e.V.), which shall
00012     act as a proxy defined in Section 6 of version 3 of the license.
00013 
00014     This library is distributed in the hope that it will be useful,
00015     but WITHOUT ANY WARRANTY; without even the implied warranty of
00016     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017     Lesser General Public License for more details.
00018 
00019     You should have received a copy of the GNU Lesser General Public
00020     License along with this library. If not, see <http://www.gnu.org/licenses/>.
00021 */
00022 
00023 #ifndef ABSTRACTCOLUMNRENDERER_H
00024 #define ABSTRACTCOLUMNRENDERER_H
00025 
00026 // Okteta ui
00027 #include <kadds.h>
00028 // Okteta core
00029 #include <ksection.h>
00030 
00031 class QPainter;
00032 using namespace KHEUI;
00033 
00034 class AbstractColumnFrameRenderer;
00035 
00036 namespace KHEPrint
00037 {
00038 
00039 class AbstractColumnRendererPrivate;
00040 
00047 class AbstractColumnRenderer
00048 {
00049   public:
00050     explicit AbstractColumnRenderer( AbstractColumnFrameRenderer *columnframeRenderer );
00051     virtual ~AbstractColumnRenderer();
00052 
00053   public: // API to be reimplemented in the subclasses
00064     virtual void renderFirstLine( QPainter *painter, const KPixelXs &Xs, int firstLine );
00068     virtual void renderNextLine( QPainter *painter );
00069 
00071     virtual void renderColumn( QPainter *painter, const KPixelXs &Xs, const KPixelYs &Ys );
00073     virtual void renderEmptyColumn( QPainter *painter, const KPixelXs &Xs, const KPixelYs &Ys );
00074 
00075   public: // modification access
00077     void setX( KPixelX NewX );
00079     void setVisible( bool V );
00081     void setLineHeight( KPixelY H );
00082 
00083   public: // value access
00085     AbstractColumnFrameRenderer *columnFrameRenderer() const;
00087     KPixelX x() const;
00089     KPixelX width() const;
00091     KPixelX rightX() const;
00093     bool isVisible() const;
00095     KPixelX visibleWidth() const;
00097     KPixelY lineHeight() const;
00098 
00099   public: // functional logic
00101     bool overlaps( const KPixelXs &Xs ) const;
00102 
00103   protected:
00105     void setWidth( KPixelX W );
00107     void restrictToXSpan( KPixelXs *Xs ) const;
00109     void renderBlankLine( QPainter *painter ) const;
00110 
00111   private:
00112      AbstractColumnRendererPrivate * const d;
00113 };
00114 
00115 }
00116 
00117 #endif

okteta

Skip menu "okteta"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdeutils

Skip menu "kdeutils"
  • ark
  • kcalc
  • kcharselect
  • kdessh
  • kdf
  • kfloppy
  • kgpg
  • ktimer
  • kwallet
  • okteta
  • printer-applet
  • superkaramba
  • sweeper
Generated for kdeutils by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal