HAL
hal::SplitterAnchor Class Reference

Adds specific ContentWidgets to HALs main content area. More...

#include <splitter_anchor.h>

Inheritance diagram for hal::SplitterAnchor:
Inheritance graph
Collaboration diagram for hal::SplitterAnchor:
Collaboration graph

Signals

void contentChanged ()
 

Public Member Functions

 SplitterAnchor (DockBar *DockBar, Splitter *Splitter, QObject *parent=nullptr)
 
virtual void add (ContentWidget *widget, int index=-1) override
 
virtual void remove (ContentWidget *widget) override
 
virtual void detach (ContentWidget *widget) override
 
virtual void reattach (ContentWidget *widget) override
 
virtual void open (ContentWidget *widget) override
 
virtual void close (ContentWidget *widget) override
 
int count () const override
 
void clear ()
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual ~QObject ()
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
- Public Member Functions inherited from hal::ContentAnchor
virtual ~ContentAnchor ()=0
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Adds specific ContentWidgets to HALs main content area.

The SplitterAnchor class provides with the TabWidget the functionality to add ContentWidgets to hal's main content area on the "lowest" level as well as the area (via the Splitter) to do so. It is the bridge between the DockBar and its corresponding area (the splitter) and manages/synchronizes the information between them.

Definition at line 48 of file splitter_anchor.h.

Constructor & Destructor Documentation

◆ SplitterAnchor()

hal::SplitterAnchor::SplitterAnchor ( DockBar DockBar,
Splitter Splitter,
QObject parent = nullptr 
)

The splitter anchor's constructor.

Parameters
DockBar- The splitter ancor's dockbar.
Splitter- The actual splitter to represent the dockbar's area.
parent- The parent of the splitter anchor.

Definition at line 13 of file splitter_anchor.cpp.

References QObject::connect(), hal::ContentDragRelay::dragEnd(), hal::ContentDragRelay::dragStart(), hal::DockBar::handleDragEnd(), hal::DockBar::handleDragStart(), hal::ContentDragRelay::instance(), and hal::DockBar::setAnchor().

Member Function Documentation

◆ add()

void hal::SplitterAnchor::add ( ContentWidget widget,
int  index = -1 
)
overridevirtual

Adds a contentwidget at the given position to the splitter area and tells the dockbar to add a button at the given position that holds the content widget's data.

Parameters
widget- The content widget to be added to the docking system.
index- The index at which the content widget has to be added.

Implements hal::ContentAnchor.

Definition at line 21 of file splitter_anchor.cpp.

References hal::DockBar::addButton(), contentChanged(), QWidget::hide(), QSplitter::insertWidget(), QObject::Q_EMIT(), and hal::ContentWidget::setAnchor().

Referenced by hal::ContentLayoutArea::addContent().

◆ clear()

void hal::SplitterAnchor::clear ( )

Removes all buttons from the dockbar and therefore the widgets from the area. The corresponding widgets are not destroyed but hidden.

Definition at line 103 of file splitter_anchor.cpp.

References hal::DockBar::clear().

Referenced by hal::ContentLayoutArea::clear().

◆ close()

void hal::SplitterAnchor::close ( ContentWidget widget)
overridevirtual

Hides the given widget.

Parameters
widget- The widget to hide.

Implements hal::ContentAnchor.

Definition at line 83 of file splitter_anchor.cpp.

References hal::ContentFrame::content(), QSplitter::count(), QWidget::hide(), hal::DockBar::uncheckButton(), hal::Splitter::unused(), and QSplitter::widget().

◆ contentChanged

void hal::SplitterAnchor::contentChanged ( )
signal

Q_SIGNAL that is emitted when a widget is either added, removed, attached or reattched.

Referenced by add(), hal::ContentLayoutArea::ContentLayoutArea(), detach(), reattach(), and remove().

◆ count()

int hal::SplitterAnchor::count ( ) const
overridevirtual

Get the number of widgets currently associated with the dockbar.

Returns
The number of widgets.

Implements hal::ContentAnchor.

Definition at line 98 of file splitter_anchor.cpp.

References hal::DockBar::count().

Referenced by hal::ContentLayoutArea::addContent().

◆ detach()

void hal::SplitterAnchor::detach ( ContentWidget widget)
overridevirtual

This function detaches a widget and its button from its area and dockbar (hides them) when the action "detach" is triggered in the content frame. A new content frame is created and the widget is displayed on the same level as hal as a seperate window.

Parameters
widget- The widget to be detached.

Implements hal::ContentAnchor.

Definition at line 42 of file splitter_anchor.cpp.

References Qt::AlignCenter, QStyle::alignedRect(), contentChanged(), hal::DockBar::detachButton(), QWidget::hide(), hal::Widget::hide(), Qt::LeftToRight, QObject::Q_EMIT(), QWidget::setGeometry(), hal::Widget::setParent(), QWidget::show(), QWidget::size, and hal::Splitter::unused().

◆ open()

void hal::SplitterAnchor::open ( ContentWidget widget)
overridevirtual

Shows the given widget.

Parameters
widget- The widget to be displayed.

Implements hal::ContentAnchor.

Definition at line 69 of file splitter_anchor.cpp.

References hal::DockBar::checkButton(), hal::ContentFrame::content(), QSplitter::count(), QWidget::show(), and QSplitter::widget().

◆ reattach()

void hal::SplitterAnchor::reattach ( ContentWidget widget)
overridevirtual

Reattaches the given widget back to the splitter area and dockbar (shows them again) when the action "reattach" is triggered in the content frame. A new content frame is created and then placed back into the area. Thereafter the content widget's corresponding button is shown again.

Parameters
widget- The widget that is reattached.

Implements hal::ContentAnchor.

Definition at line 58 of file splitter_anchor.cpp.

References contentChanged(), QWidget::hide(), hal::DockBar::index(), QSplitter::insertWidget(), QObject::Q_EMIT(), and hal::DockBar::reattachButton().

◆ remove()

void hal::SplitterAnchor::remove ( ContentWidget widget)
overridevirtual

Removes (in this case hides, not deletes) the content widget from this area. The dockbutton is also removed from the dockbar.

Parameters
widget- The content widget that shall be removed.

Implements hal::ContentAnchor.

Definition at line 32 of file splitter_anchor.cpp.

References contentChanged(), hal::Widget::hide(), QObject::Q_EMIT(), hal::DockBar::removeButton(), hal::ContentWidget::setAnchor(), and hal::Widget::setParent().


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