LeechCraft  0.6.70-10870-g558588d6ec
Modular cross-platform feature rich live environment.
LeechCraft::Util::TagsLineEdit Class Reference

A line edit class suitable for use with TagsCompleter. More...

#include "tagslineedit.h"

+ Inheritance diagram for LeechCraft::Util::TagsLineEdit:
+ Collaboration diagram for LeechCraft::Util::TagsLineEdit:

Public Slots

void insertTag (const QString &string)
 Completes the string. More...
 
void handleTagsUpdated (const QStringList &allTags)
 Sets thew new list of the available tags. More...
 
void setTags (const QStringList &tags)
 Sets the currently selected tags. More...
 

Signals

void tagsChosen ()
 

Public Member Functions

 TagsLineEdit (QWidget *parent)
 Constructs the line edit widget. More...
 
void AddSelector (LineEditButtonManager *manager=nullptr)
 Adds the selector widget to the line edit. More...
 
QString GetSeparator () const
 Returns the separator for the tags. More...
 
void SetSeparator (const QString &)
 Sets the separator for the tags. More...
 

Protected Member Functions

virtual void keyPressEvent (QKeyEvent *)
 
virtual void focusInEvent (QFocusEvent *)
 
virtual void contextMenuEvent (QContextMenuEvent *)
 
void SetCompleter (TagsCompleter *)
 

Friends

class TagsCompleter
 

Detailed Description

A line edit class suitable for use with TagsCompleter.

One would need this extra class because of custom behavior of both tags completer and line edit semantics.

See also
TagsCompleter

Definition at line 51 of file tagslineedit.h.

Constructor & Destructor Documentation

◆ TagsLineEdit()

LeechCraft::Util::TagsLineEdit::TagsLineEdit ( QWidget *  parent)

Constructs the line edit widget.

Creates the line edit widget.

Parameters
[in]parentParent widget.

Definition at line 47 of file tagslineedit.cpp.

Member Function Documentation

◆ AddSelector()

void LeechCraft::Util::TagsLineEdit::AddSelector ( LineEditButtonManager manager = nullptr)

Adds the selector widget to the line edit.

Because this function uses the completion model, it should be used after a TagsCompleter has been set on this line edit.

This function also creates an overlay button to aid user in selecting tags. The passed manager object is used (if it is not nullptr), otherwise a new LineEditButtonManager is created internally to manage this line edit.

Parameters
[in]managerThe line edit buttons manager to use, or nullptr to create one.
See also
TagsCompleter

Definition at line 54 of file tagslineedit.cpp.

References LeechCraft::Util::LineEditButtonManager::Add(), handleTagsUpdated(), and toString().

+ Here is the call graph for this function:

◆ contextMenuEvent()

void LeechCraft::Util::TagsLineEdit::contextMenuEvent ( QContextMenuEvent *  e)
protectedvirtual

Definition at line 201 of file tagslineedit.cpp.

◆ focusInEvent()

void LeechCraft::Util::TagsLineEdit::focusInEvent ( QFocusEvent *  e)
protectedvirtual

Definition at line 194 of file tagslineedit.cpp.

◆ GetSeparator()

QString LeechCraft::Util::TagsLineEdit::GetSeparator ( ) const

Returns the separator for the tags.

The default separator is "; ".

See also
SetSeparator()

Definition at line 100 of file tagslineedit.cpp.

Referenced by LeechCraft::Util::TagsCompleter::splitPath().

+ Here is the caller graph for this function:

◆ handleTagsUpdated

void LeechCraft::Util::TagsLineEdit::handleTagsUpdated ( const QStringList &  allTags)
slot

Sets thew new list of the available tags.

The list of tags will be passed to the selector if it was added via AddSelector().

Parameters
[in]allTagsThe list of new available tags.

Definition at line 132 of file tagslineedit.cpp.

Referenced by AddSelector().

+ Here is the caller graph for this function:

◆ insertTag

void LeechCraft::Util::TagsLineEdit::insertTag ( const QString &  string)
slot

Completes the string.

Completes the current text in line edit with completion passed throught string parameter.

Parameters
[in]stringString with completion.

Definition at line 112 of file tagslineedit.cpp.

References tagsChosen().

Referenced by SetCompleter().

+ Here is the caller graph for this function:

◆ keyPressEvent()

void LeechCraft::Util::TagsLineEdit::keyPressEvent ( QKeyEvent *  e)
protectedvirtual

Definition at line 157 of file tagslineedit.cpp.

◆ SetCompleter()

void LeechCraft::Util::TagsLineEdit::SetCompleter ( TagsCompleter c)
protected

Definition at line 213 of file tagslineedit.cpp.

References insertTag().

Referenced by LeechCraft::Util::TagsCompleter::TagsCompleter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetSeparator()

void LeechCraft::Util::TagsLineEdit::SetSeparator ( const QString &  sep)

Sets the separator for the tags.

This function doesn't update the text in the line edit.

See also
GetSeparator()

Definition at line 105 of file tagslineedit.cpp.

◆ setTags

void LeechCraft::Util::TagsLineEdit::setTags ( const QStringList &  tags)
slot

Sets the currently selected tags.

Sets the line edit text to tags joined by separator. If tags selector is installed via AddSelector(), the selector is updated as well.

Parameters
[in]tagsThe list of selected tags.

Definition at line 137 of file tagslineedit.cpp.

◆ tagsChosen

void LeechCraft::Util::TagsLineEdit::tagsChosen ( )
signal

Referenced by insertTag().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ TagsCompleter

friend class TagsCompleter
friend

Definition at line 55 of file tagslineedit.h.


The documentation for this class was generated from the following files: