Sidebar

Detailed Description

Classes

struct  SidebarIcon
 
class  SidebarWidget
 
class  SidebarWidgetAndHeader
 
class  SidebarHeaderTitle
 
class  SidebarHeader
 
class  SidebarInvalidContextWidget
 
class  SidebarWidgetType
 
struct  SidebarWidgetContainerState
 
class  SidebarWidgetContainer
 
class  Sidebar
 

Class Documentation

◆ SidebarIcon

struct SidebarIcon

Static Public Member Functions

static SidebarIcon generate (const QImage &src)
 

Public Attributes

QImage original
 
QImage active
 
QImage inactive
 

Member Function Documentation

◆ generate()

static SidebarIcon SidebarIcon::generate ( const QImage &  src)
static

Member Data Documentation

◆ original

QImage SidebarIcon::original

◆ active

QImage SidebarIcon::active

◆ inactive

QImage SidebarIcon::inactive

◆ SidebarWidget

class SidebarWidget

Public Member Functions

 SidebarWidget (const QString &title)
 
const QString & title () const
 
void enableRefreshTimer (int interval)
 
void setRefreshQuiesce (bool enable)
 
virtual void notifyRefresh ()
 
virtual void notifyFontChanged ()
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void focus ()
 
virtual QWidget * headerWidget ()
 

Protected Attributes

QString m_title
 
UIActionHandler m_actionHandler
 
ContextMenuManagerm_contextMenuManager = nullptr
 
Menum_menu = nullptr
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ SidebarWidget()

SidebarWidget::SidebarWidget ( const QString &  title)

Member Function Documentation

◆ title()

const QString & SidebarWidget::title ( ) const
inline

◆ enableRefreshTimer()

void SidebarWidget::enableRefreshTimer ( int  interval)

◆ setRefreshQuiesce()

void SidebarWidget::setRefreshQuiesce ( bool  enable)

◆ notifyRefresh()

virtual void SidebarWidget::notifyRefresh ( )
inlinevirtual

◆ notifyFontChanged()

virtual void SidebarWidget::notifyFontChanged ( )
inlinevirtual

◆ notifyOffsetChanged()

virtual void SidebarWidget::notifyOffsetChanged ( uint64_t  )
inlinevirtual

◆ notifyThemeChanged()

virtual void SidebarWidget::notifyThemeChanged ( )
virtual

◆ notifyViewChanged()

virtual void SidebarWidget::notifyViewChanged ( ViewFrame )
inlinevirtual

Reimplemented in MiniGraph.

◆ notifyViewLocationChanged()

virtual void SidebarWidget::notifyViewLocationChanged ( View ,
const ViewLocation  
)
inlinevirtual

◆ focus()

virtual void SidebarWidget::focus ( )
virtual

◆ headerWidget()

virtual QWidget * SidebarWidget::headerWidget ( )
inlinevirtual

Member Data Documentation

◆ m_title

QString SidebarWidget::m_title
protected

◆ m_actionHandler

UIActionHandler SidebarWidget::m_actionHandler
protected

◆ m_contextMenuManager

ContextMenuManager* SidebarWidget::m_contextMenuManager = nullptr
protected

◆ m_menu

Menu* SidebarWidget::m_menu = nullptr
protected

◆ m_updateTimer

QTimer* SidebarWidget::m_updateTimer = nullptr
protected

◆ SidebarWidgetAndHeader

class SidebarWidgetAndHeader

Public Member Functions

 SidebarWidgetAndHeader (SidebarWidget *widget, ViewFrame *frame)
 
SidebarWidgetwidget () const
 
QWidget * header () const
 
ViewFrameviewFrame () const
 
void updateTheme ()
 
void updateFonts ()
 

Constructor & Destructor Documentation

◆ SidebarWidgetAndHeader()

SidebarWidgetAndHeader::SidebarWidgetAndHeader ( SidebarWidget widget,
ViewFrame frame 
)

Member Function Documentation

◆ widget()

SidebarWidget * SidebarWidgetAndHeader::widget ( ) const
inline

◆ header()

QWidget * SidebarWidgetAndHeader::header ( ) const
inline

◆ viewFrame()

ViewFrame * SidebarWidgetAndHeader::viewFrame ( ) const
inline

◆ updateTheme()

void SidebarWidgetAndHeader::updateTheme ( )

◆ updateFonts()

void SidebarWidgetAndHeader::updateFonts ( )

◆ SidebarHeaderTitle

class SidebarHeaderTitle

Public Member Functions

 SidebarHeaderTitle (const QString &name)
 

Constructor & Destructor Documentation

◆ SidebarHeaderTitle()

SidebarHeaderTitle::SidebarHeaderTitle ( const QString &  name)

◆ SidebarHeader

class SidebarHeader

Public Member Functions

 SidebarHeader (const QString &name, QWidget *rightSide=nullptr)
 

Constructor & Destructor Documentation

◆ SidebarHeader()

SidebarHeader::SidebarHeader ( const QString &  name,
QWidget *  rightSide = nullptr 
)

◆ SidebarInvalidContextWidget

class SidebarInvalidContextWidget

Public Member Functions

 SidebarInvalidContextWidget (const QString &title)
 
- Public Member Functions inherited from SidebarWidget
 SidebarWidget (const QString &title)
 
const QString & title () const
 
void enableRefreshTimer (int interval)
 
void setRefreshQuiesce (bool enable)
 
virtual void notifyRefresh ()
 
virtual void notifyFontChanged ()
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void focus ()
 
virtual QWidget * headerWidget ()
 

Additional Inherited Members

- Protected Attributes inherited from SidebarWidget
QString m_title
 
UIActionHandler m_actionHandler
 
ContextMenuManagerm_contextMenuManager = nullptr
 
Menum_menu = nullptr
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ SidebarInvalidContextWidget()

SidebarInvalidContextWidget::SidebarInvalidContextWidget ( const QString &  title)

◆ SidebarWidgetType

class SidebarWidgetType

Public Member Functions

 SidebarWidgetType (const QImage &icon, const QString &name)
 
virtual ~SidebarWidgetType ()
 
const SidebarIconicon () const
 
const QString & name () const
 
virtual bool isInReferenceArea () const
 
virtual bool viewSensitive () const
 
virtual SidebarWidgetcreateWidget (ViewFrame *frame, BinaryViewRef data)=0
 
virtual SidebarWidgetcreateInvalidContextWidget ()
 
void updateTheme ()
 

Constructor & Destructor Documentation

◆ SidebarWidgetType()

SidebarWidgetType::SidebarWidgetType ( const QImage &  icon,
const QString &  name 
)

◆ ~SidebarWidgetType()

virtual SidebarWidgetType::~SidebarWidgetType ( )
inlinevirtual

Member Function Documentation

◆ icon()

const SidebarIcon & SidebarWidgetType::icon ( ) const
inline

◆ name()

const QString & SidebarWidgetType::name ( ) const
inline

◆ isInReferenceArea()

virtual bool SidebarWidgetType::isInReferenceArea ( ) const
inlinevirtual

◆ viewSensitive()

virtual bool SidebarWidgetType::viewSensitive ( ) const
inlinevirtual

◆ createWidget()

◆ createInvalidContextWidget()

virtual SidebarWidget * SidebarWidgetType::createInvalidContextWidget ( )
virtual

◆ updateTheme()

void SidebarWidgetType::updateTheme ( )

◆ SidebarWidgetContainerState

struct SidebarWidgetContainerState
Class Members
SidebarWidgetType * contentWidgetType
SidebarWidgetType * referenceWidgetType
QList< int > contentSplitterSizes
QList< int > parentSplitterSizes

◆ SidebarWidgetContainer

class SidebarWidgetContainer

Signals

void showContents ()
 
void hideContents ()
 

Public Member Functions

 SidebarWidgetContainer ()
 
void setSplitter (QSplitter *splitter)
 
void setActiveContext (SplitPaneWidget *panes, ViewFrame *frame, const QString &dataType, BinaryViewRef data)
 
void destroyContext (ViewFrame *frame)
 
void destroyContext (SplitPaneWidget *panes)
 
bool isContentActive () const
 
bool isActive (SidebarWidgetType *type) const
 
void activate (SidebarWidgetType *type)
 
void deactivate (SidebarWidgetType *type)
 
SidebarWidgetwidget (SidebarWidgetType *type)
 
SidebarWidgetwidget (const QString &name)
 
virtual QSize sizeHint () const override
 
void updateTheme ()
 
void updateFonts ()
 
void setDefaultReferenceType (SidebarWidgetType *type)
 
void saveSizes (const QSettings &settings, const QString &windowStateName)
 
void saveState (const QSettings &settings, const QString &windowStateName)
 
void restoreSizes (const QSettings &settings, const QString &windowStateName)
 
void restoreState (const QSettings &settings, const QString &windowStateName)
 
void updateViewLocation (View *view, const ViewLocation &viewLocation)
 
void viewChanged ()
 
void toggleSidebar ()
 
void moveContextToContainer (SplitPaneWidget *panes, const std::vector< ViewFrame * > &frames, SidebarWidgetContainer *target)
 

Constructor & Destructor Documentation

◆ SidebarWidgetContainer()

SidebarWidgetContainer::SidebarWidgetContainer ( )

Member Function Documentation

◆ setSplitter()

void SidebarWidgetContainer::setSplitter ( QSplitter *  splitter)

◆ setActiveContext()

void SidebarWidgetContainer::setActiveContext ( SplitPaneWidget panes,
ViewFrame frame,
const QString &  dataType,
BinaryViewRef  data 
)

◆ destroyContext() [1/2]

void SidebarWidgetContainer::destroyContext ( ViewFrame frame)

◆ destroyContext() [2/2]

void SidebarWidgetContainer::destroyContext ( SplitPaneWidget panes)

◆ isContentActive()

bool SidebarWidgetContainer::isContentActive ( ) const
inline

◆ isActive()

bool SidebarWidgetContainer::isActive ( SidebarWidgetType type) const
inline

◆ activate()

void SidebarWidgetContainer::activate ( SidebarWidgetType type)

◆ deactivate()

void SidebarWidgetContainer::deactivate ( SidebarWidgetType type)

◆ widget() [1/2]

SidebarWidget * SidebarWidgetContainer::widget ( SidebarWidgetType type)

◆ widget() [2/2]

SidebarWidget * SidebarWidgetContainer::widget ( const QString &  name)

◆ sizeHint()

virtual QSize SidebarWidgetContainer::sizeHint ( ) const
overridevirtual

◆ updateTheme()

void SidebarWidgetContainer::updateTheme ( )

◆ updateFonts()

void SidebarWidgetContainer::updateFonts ( )

◆ setDefaultReferenceType()

void SidebarWidgetContainer::setDefaultReferenceType ( SidebarWidgetType type)

◆ saveSizes()

void SidebarWidgetContainer::saveSizes ( const QSettings &  settings,
const QString &  windowStateName 
)

◆ saveState()

void SidebarWidgetContainer::saveState ( const QSettings &  settings,
const QString &  windowStateName 
)

◆ restoreSizes()

void SidebarWidgetContainer::restoreSizes ( const QSettings &  settings,
const QString &  windowStateName 
)

◆ restoreState()

void SidebarWidgetContainer::restoreState ( const QSettings &  settings,
const QString &  windowStateName 
)

◆ updateViewLocation()

void SidebarWidgetContainer::updateViewLocation ( View view,
const ViewLocation viewLocation 
)

◆ viewChanged()

void SidebarWidgetContainer::viewChanged ( )

◆ toggleSidebar()

void SidebarWidgetContainer::toggleSidebar ( )

◆ moveContextToContainer()

void SidebarWidgetContainer::moveContextToContainer ( SplitPaneWidget panes,
const std::vector< ViewFrame * > &  frames,
SidebarWidgetContainer target 
)

◆ showContents

void SidebarWidgetContainer::showContents ( )
signal

◆ hideContents

void SidebarWidgetContainer::hideContents ( )
signal

◆ Sidebar

class Sidebar

Public Member Functions

 Sidebar ()
 
SidebarWidgetContainercontainer () const
 
void setContainer (SidebarWidgetContainer *container)
 
void setActiveContext (SplitPaneWidget *panes, ViewFrame *frame, const QString &dataType, BinaryViewRef data)
 
SidebarWidgetwidget (SidebarWidgetType *type)
 
SidebarWidgetwidget (const QString &name)
 
void activate (SidebarWidgetType *type)
 
void activate (const QString &name)
 
void deactivate (SidebarWidgetType *type)
 
void deactivate (const QString &name)
 
void updateTheme ()
 
void updateFonts ()
 
void toggleSidebar ()
 

Static Public Member Functions

static void addSidebarWidgetType (SidebarWidgetType *type)
 
static SidebarWidgetTypetypeFromName (const QString &name)
 
static const std::vector< SidebarWidgetType * > & contentTypes ()
 
static const std::vector< SidebarWidgetType * > & referenceTypes ()
 
static SidebarWidgetTypedefaultContentType ()
 
static SidebarWidgetTypedefaultReferenceType ()
 
static void setDefaultContentType (SidebarWidgetType *type)
 
static void setDefaultReferenceType (SidebarWidgetType *type)
 
static Sidebarcurrent ()
 
template<class T >
static T * widget (SidebarWidgetType *type)
 
template<class T >
static T * widget (const QString &name)
 
template<class T >
static T * activateWidget (SidebarWidgetType *type)
 
template<class T >
static T * activateWidget (const QString &name)
 
template<class T >
static UIAction globalSidebarAction (const QString &name, const std::function< void(T *obj)> &activate)
 
template<class T >
static UIAction globalSidebarAction (const QString &name, const std::function< void(T *obj, const UIActionContext &ctxt)> &activate)
 
template<class T >
static UIAction globalSidebarAction (const QString &name, const std::function< void(T *obj)> &activate, const std::function< bool(T *obj)> &isValid)
 
template<class T >
static UIAction globalSidebarAction (const QString &name, const std::function< void(T *obj, const UIActionContext &ctxt)> &activate, const std::function< bool(T *obj, const UIActionContext &ctxt)> &isValid)
 
template<class T >
static UIAction globalSidebarAction (SidebarWidgetType *type, const std::function< void(T *obj)> &activate)
 
template<class T >
static UIAction globalSidebarAction (SidebarWidgetType *type, const std::function< void(T *obj, const UIActionContext &ctxt)> &activate)
 
template<class T >
static UIAction globalSidebarAction (SidebarWidgetType *type, const std::function< void(T *obj)> &activate, const std::function< bool(T *obj)> &isValid)
 
template<class T >
static UIAction globalSidebarAction (SidebarWidgetType *type, const std::function< void(T *obj, const UIActionContext &ctxt)> &activate, const std::function< bool(T *obj, const UIActionContext &ctxt)> &isValid)
 
template<class T >
static std::function< bool(const UIActionContext &)> globalSidebarActionChecked (const QString &name, const std::function< bool(T *obj)> &isChecked)
 
template<class T >
static std::function< bool(const UIActionContext &)> globalSidebarActionChecked (const QString &name, const std::function< bool(T *obj, const UIActionContext &ctxt)> &isChecked)
 
template<class T >
static std::function< bool(const UIActionContext &)> globalSidebarActionChecked (SidebarWidgetType *type, const std::function< bool(T *obj)> &isChecked)
 
template<class T >
static std::function< bool(const UIActionContext &)> globalSidebarActionChecked (SidebarWidgetType *type, const std::function< bool(T *obj, const UIActionContext &ctxt)> &isChecked)
 

Protected Member Functions

virtual void paintEvent (QPaintEvent *event) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void leaveEvent (QEvent *event) override
 

Constructor & Destructor Documentation

◆ Sidebar()

Sidebar::Sidebar ( )

Member Function Documentation

◆ paintEvent()

virtual void Sidebar::paintEvent ( QPaintEvent *  event)
overrideprotectedvirtual

◆ mouseMoveEvent()

virtual void Sidebar::mouseMoveEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ mousePressEvent()

virtual void Sidebar::mousePressEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ leaveEvent()

virtual void Sidebar::leaveEvent ( QEvent *  event)
overrideprotectedvirtual

◆ container()

SidebarWidgetContainer * Sidebar::container ( ) const
inline

◆ setContainer()

void Sidebar::setContainer ( SidebarWidgetContainer container)

◆ setActiveContext()

void Sidebar::setActiveContext ( SplitPaneWidget panes,
ViewFrame frame,
const QString &  dataType,
BinaryViewRef  data 
)

◆ widget() [1/4]

SidebarWidget * Sidebar::widget ( SidebarWidgetType type)

◆ widget() [2/4]

SidebarWidget * Sidebar::widget ( const QString &  name)

◆ activate() [1/2]

void Sidebar::activate ( SidebarWidgetType type)

◆ activate() [2/2]

void Sidebar::activate ( const QString &  name)

◆ deactivate() [1/2]

void Sidebar::deactivate ( SidebarWidgetType type)

◆ deactivate() [2/2]

void Sidebar::deactivate ( const QString &  name)

◆ updateTheme()

void Sidebar::updateTheme ( )

◆ updateFonts()

void Sidebar::updateFonts ( )

◆ toggleSidebar()

void Sidebar::toggleSidebar ( )

◆ addSidebarWidgetType()

static void Sidebar::addSidebarWidgetType ( SidebarWidgetType type)
static

◆ typeFromName()

static SidebarWidgetType * Sidebar::typeFromName ( const QString &  name)
static

◆ contentTypes()

static const std::vector< SidebarWidgetType * > & Sidebar::contentTypes ( )
inlinestatic

◆ referenceTypes()

static const std::vector< SidebarWidgetType * > & Sidebar::referenceTypes ( )
inlinestatic

◆ defaultContentType()

static SidebarWidgetType * Sidebar::defaultContentType ( )
inlinestatic

◆ defaultReferenceType()

static SidebarWidgetType * Sidebar::defaultReferenceType ( )
inlinestatic

◆ setDefaultContentType()

static void Sidebar::setDefaultContentType ( SidebarWidgetType type)
inlinestatic

◆ setDefaultReferenceType()

static void Sidebar::setDefaultReferenceType ( SidebarWidgetType type)
inlinestatic

◆ current()

static Sidebar * Sidebar::current ( )
inlinestatic

◆ widget() [3/4]

template<class T >
static T * Sidebar::widget ( SidebarWidgetType type)
inlinestatic

◆ widget() [4/4]

template<class T >
static T * Sidebar::widget ( const QString &  name)
inlinestatic

◆ activateWidget() [1/2]

template<class T >
static T * Sidebar::activateWidget ( SidebarWidgetType type)
inlinestatic

◆ activateWidget() [2/2]

template<class T >
static T * Sidebar::activateWidget ( const QString &  name)
inlinestatic

◆ globalSidebarAction() [1/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( const QString &  name,
const std::function< void(T *obj)> &  activate 
)
inlinestatic

◆ globalSidebarAction() [2/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( const QString &  name,
const std::function< void(T *obj, const UIActionContext &ctxt)> &  activate 
)
inlinestatic

◆ globalSidebarAction() [3/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( const QString &  name,
const std::function< void(T *obj)> &  activate,
const std::function< bool(T *obj)> &  isValid 
)
inlinestatic

◆ globalSidebarAction() [4/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( const QString &  name,
const std::function< void(T *obj, const UIActionContext &ctxt)> &  activate,
const std::function< bool(T *obj, const UIActionContext &ctxt)> &  isValid 
)
inlinestatic

◆ globalSidebarAction() [5/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( SidebarWidgetType type,
const std::function< void(T *obj)> &  activate 
)
inlinestatic

◆ globalSidebarAction() [6/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( SidebarWidgetType type,
const std::function< void(T *obj, const UIActionContext &ctxt)> &  activate 
)
inlinestatic

◆ globalSidebarAction() [7/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( SidebarWidgetType type,
const std::function< void(T *obj)> &  activate,
const std::function< bool(T *obj)> &  isValid 
)
inlinestatic

◆ globalSidebarAction() [8/8]

template<class T >
static UIAction Sidebar::globalSidebarAction ( SidebarWidgetType type,
const std::function< void(T *obj, const UIActionContext &ctxt)> &  activate,
const std::function< bool(T *obj, const UIActionContext &ctxt)> &  isValid 
)
inlinestatic

◆ globalSidebarActionChecked() [1/4]

template<class T >
static std::function< bool(const UIActionContext &)> Sidebar::globalSidebarActionChecked ( const QString &  name,
const std::function< bool(T *obj)> &  isChecked 
)
inlinestatic

◆ globalSidebarActionChecked() [2/4]

template<class T >
static std::function< bool(const UIActionContext &)> Sidebar::globalSidebarActionChecked ( const QString &  name,
const std::function< bool(T *obj, const UIActionContext &ctxt)> &  isChecked 
)
inlinestatic

◆ globalSidebarActionChecked() [3/4]

template<class T >
static std::function< bool(const UIActionContext &)> Sidebar::globalSidebarActionChecked ( SidebarWidgetType type,
const std::function< bool(T *obj)> &  isChecked 
)
inlinestatic

◆ globalSidebarActionChecked() [4/4]

template<class T >
static std::function< bool(const UIActionContext &)> Sidebar::globalSidebarActionChecked ( SidebarWidgetType type,
const std::function< bool(T *obj, const UIActionContext &ctxt)> &  isChecked 
)
inlinestatic