• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

Nepomuk

  • nepomuk
  • utils
facet.h
Go to the documentation of this file.
1/*
2 This file is part of the Nepomuk KDE project.
3 Copyright (C) 2010 Sebastian Trueg <trueg@kde.org>
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) version 3, or any
9 later version accepted by the membership of KDE e.V. (or its
10 successor approved by the membership of KDE e.V.), which shall
11 act as a proxy defined in Section 6 of version 3 of the license.
12
13 This library is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public
19 License along with this library. If not, see <http://www.gnu.org/licenses/>.
20*/
21
22#ifndef _NEPOMUK_QUERY_FACET_H_
23#define _NEPOMUK_QUERY_FACET_H_
24
25#include <QtCore/QObject>
26
27#include "nepomukutils_export.h"
28
29class KGuiItem;
30
31namespace Nepomuk {
32 namespace Query {
33 class Term;
34 class Query;
35 }
36
37 namespace Utils {
74 class NEPOMUKUTILS_EXPORT Facet : public QObject
75 {
76 Q_OBJECT
77
78 public:
82 Facet( QObject* parent = 0 );
83
87 virtual ~Facet();
88
93 enum SelectionMode {
99 MatchAll,
100
106 MatchAny,
107
113 MatchOne
114 };
115
122 virtual SelectionMode selectionMode() const = 0;
123
130 virtual Query::Term queryTerm() const = 0;
131
135 virtual int count() const = 0;
136
142 virtual QString text( int index ) const;
143
147 virtual KGuiItem guiItem( int index ) const;
148
152 virtual bool isSelected( int index ) const = 0;
153
158 Query::Query clientQuery() const;
159
165 static Facet* createFileTypeFacet( QObject* parent = 0 );
166
172 static Facet* createTypeFacet( QObject* parent = 0 );
173
179 static Facet* createDateFacet( QObject* parent = 0 );
180
187 static Facet* createTagFacet( QObject* parent = 0 );
188
196 static Facet* createPriorityFacet( QObject* parent = 0 );
197
201 static Facet* createRatingFacet( QObject* parent = 0 );
202
203 public Q_SLOTS:
208 virtual void clearSelection() = 0;
209
218 virtual void setSelected( int index, bool selected = true ) = 0;
219
246 virtual bool selectFromTerm( const Nepomuk::Query::Term& queryTerm ) = 0;
247
255 void setClientQuery( const Nepomuk::Query::Query& query );
256
257 Q_SIGNALS:
267 void queryTermChanged( Nepomuk::Utils::Facet* facet, const Nepomuk::Query::Term& queryTerm );
268
275 void layoutChanged( Nepomuk::Utils::Facet* facet );
276
285 void selectionChanged( Nepomuk::Utils::Facet* facet );
286
287 protected Q_SLOTS:
291 void setQueryTermChanged();
292
296 void setLayoutChanged();
297
301 void setSelectionChanged();
302
303 protected:
309 virtual void handleClientQueryChange();
310
311 private:
312 class FacetPrivate;
313 FacetPrivate* const d;
314 };
315 }
316}
317
318#endif
Nepomuk::Query::Query
A Nepomuk desktop query.
Definition: query.h:77
Nepomuk::Query::Term
The base class for all term types.
Definition: term.h:65
Nepomuk::Utils::Facet
The base class for all facets used to create query filters.
Definition: facet.h:75
Nepomuk::Utils::Facet::clearSelection
virtual void clearSelection()=0
Clear the selection.
Nepomuk::Utils::Facet::SelectionMode
SelectionMode
A Facet can have one of three selection modes which is provided by selectionMode().
Definition: facet.h:93
Nepomuk::Utils::Facet::MatchAny
@ MatchAny
At least one of the choices needs to be matched.
Definition: facet.h:106
Nepomuk::Utils::Facet::MatchAll
@ MatchAll
All of the choices need to be matched.
Definition: facet.h:99
Nepomuk::Utils::Facet::createTypeFacet
static Facet * createTypeFacet(QObject *parent=0)
Creates a new Facet that allows to filter on the resource type without a restriction to files.
Nepomuk::Utils::Facet::setSelectionChanged
void setSelectionChanged()
Subclasses should call this method instead of emitting selectionChanged() manually.
Nepomuk::Utils::Facet::count
virtual int count() const =0
The number of choices this facet provides.
Nepomuk::Utils::Facet::createFileTypeFacet
static Facet * createFileTypeFacet(QObject *parent=0)
Creates a new Facet that allows to filter on the file type.
Nepomuk::Utils::Facet::setClientQuery
void setClientQuery(const Nepomuk::Query::Query &query)
The FacetModel will set this to the final query that has been constructed from the facets and any oth...
Nepomuk::Utils::Facet::createPriorityFacet
static Facet * createPriorityFacet(QObject *parent=0)
Creates a new Facet that allows to sort the results by one of several criteria like last modification...
Nepomuk::Utils::Facet::handleClientQueryChange
virtual void handleClientQueryChange()
This method is called from setClientQuery() and can be reimplemented by subclasses.
Nepomuk::Utils::Facet::queryTerm
virtual Query::Term queryTerm() const =0
The term currently produced by this facet.
Nepomuk::Utils::Facet::~Facet
virtual ~Facet()
Destructor.
Nepomuk::Utils::Facet::Facet
Facet(QObject *parent=0)
Constructor.
Nepomuk::Utils::Facet::createDateFacet
static Facet * createDateFacet(QObject *parent=0)
Creates a new Facet that allows to filter on the date.
Nepomuk::Utils::Facet::guiItem
virtual KGuiItem guiItem(int index) const
The parameters used to render the choice at index.
Nepomuk::Utils::Facet::layoutChanged
void layoutChanged(Nepomuk::Utils::Facet *facet)
Emitted when the layout of the facet changed, ie.
Nepomuk::Utils::Facet::selectionMode
virtual SelectionMode selectionMode() const =0
The selection mode used by this facet.
Nepomuk::Utils::Facet::clientQuery
Query::Query clientQuery() const
The client query set via setClientQuery().
Nepomuk::Utils::Facet::setSelected
virtual void setSelected(int index, bool selected=true)=0
Called by client code to change the selection.
Nepomuk::Utils::Facet::createTagFacet
static Facet * createTagFacet(QObject *parent=0)
Creates a new Facet that allows to filter on tags, i.e.
Nepomuk::Utils::Facet::queryTermChanged
void queryTermChanged(Nepomuk::Utils::Facet *facet, const Nepomuk::Query::Term &queryTerm)
Emitted when the term of the facet changed, ie.
Nepomuk::Utils::Facet::selectFromTerm
virtual bool selectFromTerm(const Nepomuk::Query::Term &queryTerm)=0
If a client application provides several ways to construct a query (one could think of a query editor...
Nepomuk::Utils::Facet::text
virtual QString text(int index) const
The text to be displayed at index.
Nepomuk::Utils::Facet::setLayoutChanged
void setLayoutChanged()
Subclasses should call this method instead of emitting layoutChanged() manually.
Nepomuk::Utils::Facet::setQueryTermChanged
void setQueryTermChanged()
Subclasses should call this method instead of emitting termChanged() manually.
Nepomuk::Utils::Facet::selectionChanged
void selectionChanged(Nepomuk::Utils::Facet *facet)
Emitted when the selection changed - normally triggered by a call to setSelected().
Nepomuk::Utils::Facet::createRatingFacet
static Facet * createRatingFacet(QObject *parent=0)
Creates a new Facet that allows to filter on the rating of resources.
Nepomuk::Utils::Facet::isSelected
virtual bool isSelected(int index) const =0
QObject
Nepomuk
nepomukutils_export.h
NEPOMUKUTILS_EXPORT
#define NEPOMUKUTILS_EXPORT
Definition: nepomukutils_export.h:36
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

Nepomuk

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

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal