⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nlistview.h

📁 爱可视605看PDF程式源代码, 基于APDF
💻 H
字号:
#ifndef NLISTVIEW_H#define NLISTVIEW_H//!	@addtogroup libarchos//!	@{#include <qpixmap.h>#include <qscrollview.h>#include <qstringlist.h>class QImage;class QLineEdit;class NListViewData;QImage blendIcons(const QImage &a, const QImage &b);class NListSource : public QObject {	Q_OBJECT public:	virtual ~NListSource();		virtual uint    count()                       const= 0;	virtual QPixmap icon(uint index)              const= 0;	virtual QString text(uint index, uint col= 0) const= 0;	virtual int     indent(uint index)            const= 0;	 signals:	        void    itemCountChanged(uint cnt);	        void    itemsChanged(uint start, uint span); protected:	        NListSource(QObject *parent, const char *name= NULL);};class NListView : public QScrollView {	Q_OBJECT public:	        NListView(NListSource *src, QWidget *parent, const char *name= NULL);	virtual ~NListView();		virtual NListSource* source();	        void         setSource(NListSource *src);		        uint         columns() const;	        void         setColumns(uint cnt);	        int          columnWidth(uint col) const;	        void         setColumnWidth(uint col, int pixelwidth);		virtual bool         select(const QString &text);	        void         setSelection(int pos, int cnt= 1, bool ensure_visible= true, bool update= true);	        uint         selection(uint *cnt= NULL) const;	        QStringList  selectionList();	virtual bool eventFilter(QObject *, QEvent *); public slots:	virtual void  selectAll();	virtual void  editSelection();	 signals:	        void  selected(uint index);	        void  activated(uint index);	        void  selectionEdited(const QString &newtext);	        void  resizedContents(int width, int height); protected slots:	        void  ensureSelectionVisible(); protected:	QLineEdit *m_ledit;	uint m_selpos, 		m_selcnt,		m_item_height,		m_tapped_index;	bool m_tapped_border;		        QRect areaFor(int index, int cnt= 1) const;	        bool  isOnText(const QPoint &pos) const;		virtual void  keyPressEvent(QKeyEvent *evt);	virtual void  resizeEvent(QResizeEvent *evt); 	virtual void  contentsMousePressEvent(QMouseEvent *evt);	virtual void  contentsMouseMoveEvent(QMouseEvent *evt);	virtual void  contentsMouseDoubleClickEvent(QMouseEvent *evt);	virtual void  drawContents(QPainter *p, int x, int y, int w, int h);	virtual void  focusInEvent(QFocusEvent*);	virtual void  focusOutEvent(QFocusEvent*); private slots:	        void  onItemsChanged(uint start, uint span);	        void  onItemCountChanged(uint cnt);	        void  prepareAnimation();	        void  animateSelection();	        void  animate();	 private:	NListViewData *m;	NListSource *m_src;			        NListView(const NListView &obj);	        NListView& operator=(const NListView &obj);		        uint  indexAt(int ypos) const;	        void  restrictRange(int &index, int &cnt) const;	        void  renderItem(QPainter *p, uint index, bool selected);	        QRect selectionArea(QPainter *p) const;};extern QString fitString(const QFontMetrics &fm, QString s, int len);//!	@}#endif // NLISTVIEW_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -