okteta
abstractcolumnframerenderer.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,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 ABSTRACTCOLUMNFRAMERENDERER_H 00024 #define ABSTRACTCOLUMNFRAMERENDERER_H 00025 00026 00027 // lib 00028 #include "abstractframerenderer.h" 00029 // Okteta gui 00030 #include <kadds.h> 00031 // Okteta core 00032 #include <ksection.h> 00033 // Qt 00034 #include <QtCore/QList> 00035 00036 using namespace KHEUI; 00037 00038 namespace KHEPrint { 00039 class AbstractColumnRenderer; 00040 } 00041 00042 class AbstractColumnFrameRendererPrivate; 00043 00050 class AbstractColumnFrameRenderer : public AbstractFrameRenderer 00051 { 00052 friend class KHEPrint::AbstractColumnRenderer; 00053 00054 public: 00055 AbstractColumnFrameRenderer(); 00056 virtual ~AbstractColumnFrameRenderer(); 00057 00058 public: // AbstractFrameRenderer API 00059 // virtual int height() const; 00060 // virtual int width() const; 00061 virtual void renderFrame( QPainter *painter, int frameIndex ); 00062 00063 public: // data-wise sizes 00065 int noOfLines() const; 00069 int noOfLinesPerFrame() const; 00070 00071 public: // pixel-wise sizes 00073 KPixelY lineHeight() const; 00075 KPixelX columnsWidth() const; 00077 KPixelY columnsHeight() const; 00078 00079 public: 00081 void setColumnsPos( KPixelX x, KPixelY y ); 00082 00083 protected: // our API 00085 virtual void drawEmptyArea( QPainter *painter, int cx, int cy, int cw, int ch ); 00086 00087 protected: 00089 void addColumn( KHEPrint::AbstractColumnRenderer *column ); 00090 void removeColumn( KHEPrint::AbstractColumnRenderer *column ); 00091 00092 protected: // 00097 virtual void setLineHeight( KPixelY NewLineHeight ); 00102 virtual void setNoOfLines( int NewNoOfLines ); 00103 00104 protected: // recalculations 00106 void updateWidths(); 00107 00108 private: 00109 AbstractColumnFrameRendererPrivate * const d; 00110 }; 00111 00112 #endif
KDE 4.2 API Reference