diff options
author | Slávek Banko <slavek.banko@axis.cz> | 2013-02-19 04:53:01 +0100 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2013-02-19 04:53:01 +0100 |
commit | 29dca6cedc5fb5a42425ede16f90a9dff25decdf (patch) | |
tree | f5f4b6a3b3c5f9d148b9b023a98d508820fa5e7a /kviewshell/marklist.h | |
parent | ac71b8922dd115ea9a2ec66cd698bbae3b26a33b (diff) | |
download | tdegraphics-29dca6cedc5fb5a42425ede16f90a9dff25decdf.tar.gz tdegraphics-29dca6cedc5fb5a42425ede16f90a9dff25decdf.zip |
Fix unintended rename of many various *klist*
Diffstat (limited to 'kviewshell/marklist.h')
-rw-r--r-- | kviewshell/marklist.h | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/kviewshell/marklist.h b/kviewshell/marklist.h new file mode 100644 index 00000000..0ee15758 --- /dev/null +++ b/kviewshell/marklist.h @@ -0,0 +1,189 @@ +// -*- C++ -*- +/* This file is part of the KDE project + Copyright (C) 2004 Wilfried Huss <Wilfried.Huss@gmx.at> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. +*/ + +#ifndef MARKLIST_H +#define MARKLIST_H + +#include "pageNumber.h" + +#include <tqpixmap.h> +#include <tqptrvector.h> +#include <tqscrollview.h> + +class TQCheckBox; +class TQLabel; +class TDEPopupMenu; + +class DocumentPageCache; + +class MarkList; +class MarkListWidget; + + +/****** ThumbnailWidget ******/ + + +class ThumbnailWidget : public TQWidget +{ + Q_OBJECT + + +public: + ThumbnailWidget(MarkListWidget* parent_, const PageNumber& _pageNumber, DocumentPageCache*); + +private: + virtual void paintEvent(TQPaintEvent*); + virtual void resizeEvent(TQResizeEvent*); + +private slots: + void setThumbnail(); + +private: + PageNumber pageNumber; + + bool needsUpdating; + + DocumentPageCache* pageCache; + + MarkListWidget* parent; + + TQPixmap thumbnail; +}; + + +/****** MarkListWidget ******/ + + +class MarkListWidget : public TQWidget +{ + Q_OBJECT + + +public: + MarkListWidget(TQWidget* _parent, MarkList*, const PageNumber& _pageNumber, DocumentPageCache*, bool _showThumbnail = true); + + bool isChecked() const; + + bool isVisible(); + +public slots: + void toggle(); + void setChecked( bool checked ); + + void setSelected( bool selected ); + + int setNewWidth(int width); + +signals: + /** Emitted when the Page is selected in the ThumbnailView. */ + void selected(const PageNumber&); + + /** Emitted on right click. */ + void showPopupMenu(const PageNumber& pageNumber, const TQPoint& position); + +protected: + virtual void mousePressEvent(TQMouseEvent*); + +private: + + bool showThumbnail; + + ThumbnailWidget* thumbnailWidget; + TQCheckBox* checkBox; + TQLabel* pageLabel; + TQColor _backgroundColor; + + const PageNumber pageNumber; + + DocumentPageCache* pageCache; + + static const int margin = 5; + + MarkList* markList; +}; + + +/****** MarkList ******/ + + +class MarkList: public TQScrollView +{ + Q_OBJECT + + +public: + MarkList(TQWidget* parent = 0, const char* name = 0); + virtual ~MarkList(); + + void setPageCache(DocumentPageCache*); + + TQValueList<int> selectedPages() const; + + PageNumber currentPageNumber() { return currentPage; } + + PageNumber numberOfPages() { return widgetList.count(); } + + virtual TQSize sizeHint() const { return TQSize(); } + +public slots: + void setNumberOfPages(int numberOfPages, bool showThumbnails = true); + + void thumbnailSelected(const PageNumber& pageNumber); + void setCurrentPageNumber(const PageNumber& pageNumber); + + void clear(); + + void slotShowThumbnails(bool); + void repaintThumbnails(); + + void updateWidgetSize(const PageNumber&); + +protected: + virtual void viewportResizeEvent(TQResizeEvent*); + + virtual void mousePressEvent(TQMouseEvent*); + +signals: + void selected(const PageNumber&); + +private slots: + void showPopupMenu(const PageNumber& pageNumber, const TQPoint& position); + + void selectAll(); + void selectEven(); + void selectOdd(); + void toggleSelection(); + void removeSelection(); + +private: + TQPtrVector<MarkListWidget> widgetList; + + PageNumber currentPage; + + PageNumber clickedThumbnail; + + DocumentPageCache* pageCache; + + bool showThumbnails; + + TDEPopupMenu* contextMenu; +}; + +#endif |