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

📄 locationtreemodel.h

📁 kscope
💻 H
字号:
/*************************************************************************** *   Copyright (C) 2007-2009 by Elad Lahav *   elad_lahav@users.sourceforge.net * *   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 __CORE_LOCATIONTREEMODEL_H__#define __CORE_LOCATIONTREEMODEL_H__#include "locationmodel.h"#include "treeitem.h"namespace KScope{namespace Core{/** * A tree-like model for holding location results. * This is suitable for creating call/calling trees. For flat result lists, use * the more efficient LocationListModel. * @author Elad Lahav */class LocationTreeModel : public LocationModel{	Q_OBJECTpublic:	LocationTreeModel(QObject* parent = 0);	~LocationTreeModel();	// LocationModel implementation.	void add(const LocationList&, const QModelIndex&);	IsEmptyResult isEmpty(const QModelIndex&) const;	void clear();	bool locationFromIndex(const QModelIndex&, Location&) const;	bool firstLocation(Location&) const;	QModelIndex nextIndex(const QModelIndex&) const;	QModelIndex prevIndex(const QModelIndex&) const;	// QAsbstractItemModel implementation.	virtual QModelIndex index(int row, int column,							  const QModelIndex& parent) const;	virtual QModelIndex parent(const QModelIndex& index) const;	virtual int rowCount(const QModelIndex& parent = QModelIndex()) const;	virtual bool hasChildren (const QModelIndex& parent = QModelIndex()) const;	virtual QVariant data(const QModelIndex&,	                      int role = Qt::DisplayRole) const;private:	/**	 * Data stored in a single node in the tree.	 */	struct LocationTreeItem	{		/**		 * Location information.		 */		Location loc_;		/**		 * Whether add() was called on index for this item.		 * Required by isEmpty().		 */		bool locationsAdded_;		/**		 * Struct constructor.		 * @param  loc The location to store		 */		LocationTreeItem(const Location& loc)			: loc_(loc), locationsAdded_(false) {}	};	typedef TreeItem<LocationTreeItem> Node;	/**	 * The root item of the tree.	 */	Node root_;};} // namespace Core} // namespace KScope#endif // __CORE_LOCATIONTREEMODEL_H__

⌨️ 快捷键说明

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