Sidebar

Detailed Description

Classes

struct  SidebarMetrics
 
class  Sidebar
 
class  FloatingSidebarStackedWidget
 
struct  SidebarStackedWidget
 
struct  SidebarFloatingWidgetState
 
class  SidebarWidgetContainer
 
struct  SidebarIconInfo
 
class  SidebarIconDragIndicator
 
class  SidebarIconsWidget
 
struct  SidebarIcon
 
class  SidebarWidget
 
class  SidebarWidgetAndHeader
 
class  SidebarHeaderTitle
 
class  SidebarHeader
 
class  SidebarInvalidContextWidget
 
class  SidebarWidgetType
 

Enumerations

enum  SidebarContainerLocation { LeftSideContainer , LeftBottomContainer , RightSideContainer , RightBottomContainer }
 
enum  SidebarLocation { LeftSide , RightSide }
 
enum  SidebarWidgetLocation {
  LeftContent , LeftReference , LeftBottom , RightContent ,
  RightReference , RightBottom
}
 
enum  SidebarContextSensitivity {
  GlobalSidebarContext , SelfManagedSidebarContext , PerTabSidebarContext , PerViewTypeSidebarContext ,
  PerPaneSidebarContext
}
 

Class Documentation

◆ SidebarMetrics

struct SidebarMetrics
Class Members
int iconWidth
int iconHeight
int paddingX
int paddingY
int separatorPadding
int iconTotalWidth
int iconTotalHeight
int dragIconPadding
int dropIconPadding

◆ Sidebar

class Sidebar

Public Member Functions

 Sidebar (QWidget *parent)
 
virtual ~Sidebar ()
 
SidebarIconsWidgetleft () const
 
SidebarIconsWidgetright () const
 
SidebarWidgetContainercontainerForLocation (SidebarWidgetLocation location) const
 
void forAllContainers (const std::function< void(SidebarWidgetContainer *)> &func) const
 
void setSplitters (Splitter *sideSplitter, Splitter *extendedSideSplitter, Splitter *bottomSplitter, Splitter *bottomSeparatorSplitter)
 
void setActiveContext (SplitPaneWidget *panes, ViewFrame *frame, const QString &dataType, BinaryViewRef data)
 
void destroyContext (ViewFrame *frame)
 
void destroyContext (SplitPaneWidget *panes)
 
void destroyViewsForContext (SplitPaneWidget *panes)
 
void moveContextToContainer (SplitPaneWidget *panes, Sidebar *target)
 
SplitPaneWidgetcurrentPanes (SidebarWidgetType *type=nullptr) const
 
ViewFramecurrentFrame (SidebarWidgetType *type=nullptr) const
 
const QString & currentDataType (SidebarWidgetType *type=nullptr) const
 
BinaryViewRef currentData (SidebarWidgetType *type=nullptr) const
 
std::optional< std::pair< View *, ViewLocation > > currentViewLocation () const
 
SidebarWidgetwidget (SidebarWidgetType *type)
 
SidebarWidgetwidget (const QString &name)
 
SidebarWidgetAndHeaderwidgetAndHeader (SidebarWidgetType *type)
 
SidebarWidgetAndHeaderwidgetAndHeader (const QString &name)
 
void addWidget (SidebarWidgetType *type, SidebarWidget *widget, bool canClose=false)
 
void addWidget (const QString &name, SidebarWidget *widget, bool canClose=false)
 
void removeWidget (SidebarWidgetType *type, SidebarWidget *widget)
 
void removeWidget (const QString &typeName, SidebarWidget *widget)
 
SidebarWidgetwidgetWithTitle (SidebarWidgetType *type, const QString &title) const
 
SidebarWidgetwidgetWithTitle (const QString &typeName, const QString &title) const
 
bool hasWidgetWithTitle (SidebarWidgetType *type, const QString &title) const
 
bool hasWidgetWithTitle (const QString &typeName, const QString &title) const
 
void focusWidgetWithTitle (SidebarWidgetType *type, const QString &title)
 
void focusWidgetWithTitle (const QString &typeName, const QString &title)
 
void activate (SidebarWidgetType *type, bool alwaysAllowMultipleOpen=true)
 
void activate (const QString &name, bool alwaysAllowMultipleOpen=true)
 
void activateDefaultTypes ()
 
void deactivate (SidebarWidgetType *type)
 
void deactivate (const QString &name)
 
void focus (SidebarWidgetType *type)
 
void focus (const QString &name)
 
void toggle (SidebarWidgetType *type)
 
void toggle (const QString &name)
 
bool isActive (SidebarWidgetType *type) const
 
bool isActive (const QString &name) const
 
bool isContentActive () const
 
bool isSideContentActive () const
 
bool isBottomContentActive () const
 
void updateTheme ()
 
void updateFonts ()
 
void updateVisibility ()
 
void toggleSidebar ()
 
void updateViewLocation (View *view, const ViewLocation &viewLocation)
 
void viewChanged ()
 
void saveState (QSettings &settings, const QString &windowStateName, bool globalStateOnly=false)
 
QVariant saveActiveState ()
 
void restoreState (const QSettings &settings, const QString &windowStateName, bool globalStateOnly=false)
 
bool restoreActiveState (const QVariant &state)
 

Static Public Member Functions

static SidebarWidgetLocation locationForType (SidebarWidgetType *type)
 
static SidebarLocation sideForLocation (SidebarWidgetLocation location)
 
static SidebarContainerLocation containerLocationForWidgetLocation (SidebarWidgetLocation location)
 
static Qt::Orientation primaryOrientationForLocation (SidebarWidgetLocation location)
 
static void addSidebarWidgetType (SidebarWidgetType *type)
 
static void moveSidebarWidgetType (SidebarWidgetType *type, SidebarWidgetLocation newLocation, size_t newIndex)
 
static SidebarWidgetTypetypeFromName (const QString &name)
 
static bool isTypeRegistered (const QString &name)
 
static std::vector< SidebarWidgetType * > types ()
 
static const std::vector< SidebarWidgetType * > & typesForLocation (SidebarWidgetLocation location)
 
static std::vector< SidebarWidgetType * > typesForContainerLocation (SidebarContainerLocation location)
 
static void initSavedTypeOrdering ()
 
static void saveTypeOrdering ()
 
static SidebarMetrics metrics ()
 
static void refreshMetrics ()
 
static std::set< SidebarWidgetType * > defaultTypes ()
 
static void setDefaultTypes (const std::set< SidebarWidgetType * > &types)
 
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)
 

Constructor & Destructor Documentation

◆ Sidebar()

Sidebar::Sidebar ( QWidget *  parent)

◆ ~Sidebar()

virtual Sidebar::~Sidebar ( )
virtual

Member Function Documentation

◆ left()

SidebarIconsWidget * Sidebar::left ( ) const
inline

◆ right()

SidebarIconsWidget * Sidebar::right ( ) const
inline

◆ locationForType()

static SidebarWidgetLocation Sidebar::locationForType ( SidebarWidgetType type)
static

◆ sideForLocation()

static SidebarLocation Sidebar::sideForLocation ( SidebarWidgetLocation  location)
static

◆ containerLocationForWidgetLocation()

static SidebarContainerLocation Sidebar::containerLocationForWidgetLocation ( SidebarWidgetLocation  location)
static

◆ containerForLocation()

SidebarWidgetContainer * Sidebar::containerForLocation ( SidebarWidgetLocation  location) const

◆ primaryOrientationForLocation()

static Qt::Orientation Sidebar::primaryOrientationForLocation ( SidebarWidgetLocation  location)
static

◆ forAllContainers()

void Sidebar::forAllContainers ( const std::function< void(SidebarWidgetContainer *)> &  func) const

◆ setSplitters()

void Sidebar::setSplitters ( Splitter sideSplitter,
Splitter extendedSideSplitter,
Splitter bottomSplitter,
Splitter bottomSeparatorSplitter 
)

◆ setActiveContext()

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

◆ destroyContext() [1/2]

void Sidebar::destroyContext ( ViewFrame frame)

◆ destroyContext() [2/2]

void Sidebar::destroyContext ( SplitPaneWidget panes)

◆ destroyViewsForContext()

void Sidebar::destroyViewsForContext ( SplitPaneWidget panes)

◆ moveContextToContainer()

void Sidebar::moveContextToContainer ( SplitPaneWidget panes,
Sidebar target 
)

◆ currentPanes()

SplitPaneWidget * Sidebar::currentPanes ( SidebarWidgetType type = nullptr) const

◆ currentFrame()

ViewFrame * Sidebar::currentFrame ( SidebarWidgetType type = nullptr) const

◆ currentDataType()

const QString & Sidebar::currentDataType ( SidebarWidgetType type = nullptr) const

◆ currentData()

BinaryViewRef Sidebar::currentData ( SidebarWidgetType type = nullptr) const

◆ currentViewLocation()

std::optional< std::pair< View *, ViewLocation > > Sidebar::currentViewLocation ( ) const

◆ widget() [1/4]

SidebarWidget * Sidebar::widget ( SidebarWidgetType type)

◆ widget() [2/4]

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

◆ widgetAndHeader() [1/2]

SidebarWidgetAndHeader * Sidebar::widgetAndHeader ( SidebarWidgetType type)

◆ widgetAndHeader() [2/2]

SidebarWidgetAndHeader * Sidebar::widgetAndHeader ( const QString &  name)

◆ addWidget() [1/2]

void Sidebar::addWidget ( SidebarWidgetType type,
SidebarWidget widget,
bool  canClose = false 
)

◆ addWidget() [2/2]

void Sidebar::addWidget ( const QString &  name,
SidebarWidget widget,
bool  canClose = false 
)

◆ removeWidget() [1/2]

void Sidebar::removeWidget ( SidebarWidgetType type,
SidebarWidget widget 
)

◆ removeWidget() [2/2]

void Sidebar::removeWidget ( const QString &  typeName,
SidebarWidget widget 
)

◆ widgetWithTitle() [1/2]

SidebarWidget * Sidebar::widgetWithTitle ( SidebarWidgetType type,
const QString &  title 
) const

◆ widgetWithTitle() [2/2]

SidebarWidget * Sidebar::widgetWithTitle ( const QString &  typeName,
const QString &  title 
) const

◆ hasWidgetWithTitle() [1/2]

bool Sidebar::hasWidgetWithTitle ( SidebarWidgetType type,
const QString &  title 
) const

◆ hasWidgetWithTitle() [2/2]

bool Sidebar::hasWidgetWithTitle ( const QString &  typeName,
const QString &  title 
) const

◆ focusWidgetWithTitle() [1/2]

void Sidebar::focusWidgetWithTitle ( SidebarWidgetType type,
const QString &  title 
)

◆ focusWidgetWithTitle() [2/2]

void Sidebar::focusWidgetWithTitle ( const QString &  typeName,
const QString &  title 
)

◆ activate() [1/2]

void Sidebar::activate ( SidebarWidgetType type,
bool  alwaysAllowMultipleOpen = true 
)

◆ activate() [2/2]

void Sidebar::activate ( const QString &  name,
bool  alwaysAllowMultipleOpen = true 
)

◆ activateDefaultTypes()

void Sidebar::activateDefaultTypes ( )

◆ deactivate() [1/2]

void Sidebar::deactivate ( SidebarWidgetType type)

◆ deactivate() [2/2]

void Sidebar::deactivate ( const QString &  name)

◆ focus() [1/2]

void Sidebar::focus ( SidebarWidgetType type)

◆ focus() [2/2]

void Sidebar::focus ( const QString &  name)

◆ toggle() [1/2]

void Sidebar::toggle ( SidebarWidgetType type)

◆ toggle() [2/2]

void Sidebar::toggle ( const QString &  name)

◆ isActive() [1/2]

bool Sidebar::isActive ( SidebarWidgetType type) const

◆ isActive() [2/2]

bool Sidebar::isActive ( const QString &  name) const

◆ isContentActive()

bool Sidebar::isContentActive ( ) const

◆ isSideContentActive()

bool Sidebar::isSideContentActive ( ) const

◆ isBottomContentActive()

bool Sidebar::isBottomContentActive ( ) const

◆ updateTheme()

void Sidebar::updateTheme ( )

◆ updateFonts()

void Sidebar::updateFonts ( )

◆ updateVisibility()

void Sidebar::updateVisibility ( )

◆ toggleSidebar()

void Sidebar::toggleSidebar ( )

◆ updateViewLocation()

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

◆ viewChanged()

void Sidebar::viewChanged ( )

◆ saveState()

void Sidebar::saveState ( QSettings &  settings,
const QString &  windowStateName,
bool  globalStateOnly = false 
)

◆ saveActiveState()

QVariant Sidebar::saveActiveState ( )

◆ restoreState()

void Sidebar::restoreState ( const QSettings &  settings,
const QString &  windowStateName,
bool  globalStateOnly = false 
)

◆ restoreActiveState()

bool Sidebar::restoreActiveState ( const QVariant &  state)

◆ addSidebarWidgetType()

static void Sidebar::addSidebarWidgetType ( SidebarWidgetType type)
static

◆ moveSidebarWidgetType()

static void Sidebar::moveSidebarWidgetType ( SidebarWidgetType type,
SidebarWidgetLocation  newLocation,
size_t  newIndex 
)
static

◆ typeFromName()

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

◆ isTypeRegistered()

static bool Sidebar::isTypeRegistered ( const QString &  name)
static

◆ types()

static std::vector< SidebarWidgetType * > Sidebar::types ( )
static

◆ typesForLocation()

static const std::vector< SidebarWidgetType * > & Sidebar::typesForLocation ( SidebarWidgetLocation  location)
static

◆ typesForContainerLocation()

static std::vector< SidebarWidgetType * > Sidebar::typesForContainerLocation ( SidebarContainerLocation  location)
static

◆ initSavedTypeOrdering()

static void Sidebar::initSavedTypeOrdering ( )
static

◆ saveTypeOrdering()

static void Sidebar::saveTypeOrdering ( )
static

◆ metrics()

static SidebarMetrics Sidebar::metrics ( )
static

◆ refreshMetrics()

static void Sidebar::refreshMetrics ( )
static

◆ defaultTypes()

static std::set< SidebarWidgetType * > Sidebar::defaultTypes ( )
inlinestatic

◆ setDefaultTypes()

static void Sidebar::setDefaultTypes ( const std::set< SidebarWidgetType * > &  types)
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

◆ FloatingSidebarStackedWidget

class FloatingSidebarStackedWidget

Signals

void floatingWidgetClosed (SidebarWidgetType *type)
 

Public Member Functions

 FloatingSidebarStackedWidget (SidebarWidgetType *type, QStackedWidget *stackedWidget, const QString &title, bool windowed)
 
bool isWindowed () const
 
void setWindowed (bool windowed)
 
void setVisible (bool visible) override
 
QRect savedGeometry () const
 
void setSavedGeometry (const QRect &rect)
 

Protected Member Functions

void closeEvent (QCloseEvent *event) override
 

Constructor & Destructor Documentation

◆ FloatingSidebarStackedWidget()

FloatingSidebarStackedWidget::FloatingSidebarStackedWidget ( SidebarWidgetType type,
QStackedWidget *  stackedWidget,
const QString &  title,
bool  windowed 
)

Member Function Documentation

◆ isWindowed()

bool FloatingSidebarStackedWidget::isWindowed ( ) const

◆ setWindowed()

void FloatingSidebarStackedWidget::setWindowed ( bool  windowed)

◆ setVisible()

void FloatingSidebarStackedWidget::setVisible ( bool  visible)
override

◆ savedGeometry()

QRect FloatingSidebarStackedWidget::savedGeometry ( ) const

◆ setSavedGeometry()

void FloatingSidebarStackedWidget::setSavedGeometry ( const QRect &  rect)

◆ closeEvent()

void FloatingSidebarStackedWidget::closeEvent ( QCloseEvent *  event)
overrideprotected

◆ floatingWidgetClosed

void FloatingSidebarStackedWidget::floatingWidgetClosed ( SidebarWidgetType type)
signal

◆ SidebarStackedWidget

struct SidebarStackedWidget
Class Members
bool floating
QStackedWidget * stackedWidget
FloatingSidebarStackedWidget * floatingWidget

◆ SidebarFloatingWidgetState

struct SidebarFloatingWidgetState
Class Members
bool floating
bool windowed
QRect rect

◆ SidebarWidgetContainer

class SidebarWidgetContainer

Signals

void showContents ()
 
void hideContents ()
 

Public Member Functions

 SidebarWidgetContainer (Sidebar *sidebar, SidebarContainerLocation location)
 
virtual ~SidebarWidgetContainer ()
 
Sidebarsidebar () const
 
SplittercontentSplitter () const
 
SidebarContainerLocation location () const
 
void savePriorContext ()
 
void setActiveContext (SplitPaneWidget *panes, const QString &dataType)
 
void destroyContext (ViewFrame *frame)
 
void destroyContext (SplitPaneWidget *panes)
 
void destroyViewsForContext (SplitPaneWidget *panes)
 
bool isContentActive () const
 
bool isActive (SidebarWidgetType *type) const
 
const std::set< SidebarWidgetType * > & activeTypes () const
 
const std::set< SidebarWidgetType * > & dockedTypes () const
 
void activate (SidebarWidgetType *type)
 
void deactivate (SidebarWidgetType *type)
 
void moveSidebarWidgetType (SidebarWidgetType *type)
 
void transferSidebarWidgetType (SidebarWidgetType *type, SidebarWidgetContainer *target)
 
SidebarWidgetwidget (SidebarWidgetType *type) const
 
SidebarWidgetwidget (const QString &name) const
 
SidebarWidgetAndHeaderwidgetAndHeader (SidebarWidgetType *type) const
 
void addWidget (SidebarWidgetType *type, SidebarWidget *widget, bool canClose=false)
 
void removeWidget (SidebarWidgetType *type, SidebarWidget *widget)
 
SidebarWidgetwidgetWithTitle (SidebarWidgetType *type, const QString &title) const
 
bool hasWidgetWithTitle (SidebarWidgetType *type, const QString &title) const
 
bool activateWidgetWithTitle (SidebarWidgetType *type, const QString &title) const
 
bool hasContent (SidebarWidgetType *type) const
 
virtual QSize sizeHint () const override
 
void updateTheme ()
 
void updateFonts ()
 
void saveSizes (QSettings &settings, const QString &windowStateName)
 
void restoreSizes (const QSettings &settings, const QString &windowStateName)
 
std::optional< SidebarFloatingWidgetStatefloatingWidgetState (SidebarWidgetType *type) const
 
void restoreFloatingWidgetState (SidebarWidgetType *type, const SidebarFloatingWidgetState &state)
 
void updateViewLocation (View *view, const ViewLocation &viewLocation)
 
void viewChanged ()
 
void moveContextToContainer (SplitPaneWidget *panes, SidebarWidgetContainer *target)
 
void dockWidget (SidebarWidgetType *type)
 
void floatWidget (SidebarWidgetType *type)
 
void windowedWidget (SidebarWidgetType *type)
 
bool isDocked (SidebarWidgetType *type)
 
bool isFloating (SidebarWidgetType *type)
 
bool isWindowed (SidebarWidgetType *type)
 

Constructor & Destructor Documentation

◆ SidebarWidgetContainer()

SidebarWidgetContainer::SidebarWidgetContainer ( Sidebar sidebar,
SidebarContainerLocation  location 
)

◆ ~SidebarWidgetContainer()

virtual SidebarWidgetContainer::~SidebarWidgetContainer ( )
virtual

Member Function Documentation

◆ sidebar()

Sidebar * SidebarWidgetContainer::sidebar ( ) const
inline

◆ contentSplitter()

Splitter * SidebarWidgetContainer::contentSplitter ( ) const
inline

◆ location()

SidebarContainerLocation SidebarWidgetContainer::location ( ) const
inline

◆ savePriorContext()

void SidebarWidgetContainer::savePriorContext ( )

◆ setActiveContext()

void SidebarWidgetContainer::setActiveContext ( SplitPaneWidget panes,
const QString &  dataType 
)

◆ destroyContext() [1/2]

void SidebarWidgetContainer::destroyContext ( ViewFrame frame)

◆ destroyContext() [2/2]

void SidebarWidgetContainer::destroyContext ( SplitPaneWidget panes)

◆ destroyViewsForContext()

void SidebarWidgetContainer::destroyViewsForContext ( SplitPaneWidget panes)

◆ isContentActive()

bool SidebarWidgetContainer::isContentActive ( ) const
inline

◆ isActive()

bool SidebarWidgetContainer::isActive ( SidebarWidgetType type) const
inline

◆ activeTypes()

const std::set< SidebarWidgetType * > & SidebarWidgetContainer::activeTypes ( ) const
inline

◆ dockedTypes()

const std::set< SidebarWidgetType * > & SidebarWidgetContainer::dockedTypes ( ) const
inline

◆ activate()

void SidebarWidgetContainer::activate ( SidebarWidgetType type)

◆ deactivate()

void SidebarWidgetContainer::deactivate ( SidebarWidgetType type)

◆ moveSidebarWidgetType()

void SidebarWidgetContainer::moveSidebarWidgetType ( SidebarWidgetType type)

◆ transferSidebarWidgetType()

void SidebarWidgetContainer::transferSidebarWidgetType ( SidebarWidgetType type,
SidebarWidgetContainer target 
)

◆ widget() [1/2]

SidebarWidget * SidebarWidgetContainer::widget ( SidebarWidgetType type) const

◆ widget() [2/2]

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

◆ widgetAndHeader()

SidebarWidgetAndHeader * SidebarWidgetContainer::widgetAndHeader ( SidebarWidgetType type) const

◆ addWidget()

void SidebarWidgetContainer::addWidget ( SidebarWidgetType type,
SidebarWidget widget,
bool  canClose = false 
)

◆ removeWidget()

void SidebarWidgetContainer::removeWidget ( SidebarWidgetType type,
SidebarWidget widget 
)

◆ widgetWithTitle()

SidebarWidget * SidebarWidgetContainer::widgetWithTitle ( SidebarWidgetType type,
const QString &  title 
) const

◆ hasWidgetWithTitle()

bool SidebarWidgetContainer::hasWidgetWithTitle ( SidebarWidgetType type,
const QString &  title 
) const

◆ activateWidgetWithTitle()

bool SidebarWidgetContainer::activateWidgetWithTitle ( SidebarWidgetType type,
const QString &  title 
) const

◆ hasContent()

bool SidebarWidgetContainer::hasContent ( SidebarWidgetType type) const

◆ sizeHint()

virtual QSize SidebarWidgetContainer::sizeHint ( ) const
overridevirtual

◆ updateTheme()

void SidebarWidgetContainer::updateTheme ( )

◆ updateFonts()

void SidebarWidgetContainer::updateFonts ( )

◆ saveSizes()

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

◆ restoreSizes()

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

◆ floatingWidgetState()

std::optional< SidebarFloatingWidgetState > SidebarWidgetContainer::floatingWidgetState ( SidebarWidgetType type) const

◆ restoreFloatingWidgetState()

void SidebarWidgetContainer::restoreFloatingWidgetState ( SidebarWidgetType type,
const SidebarFloatingWidgetState state 
)

◆ updateViewLocation()

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

◆ viewChanged()

void SidebarWidgetContainer::viewChanged ( )

◆ moveContextToContainer()

void SidebarWidgetContainer::moveContextToContainer ( SplitPaneWidget panes,
SidebarWidgetContainer target 
)

◆ dockWidget()

void SidebarWidgetContainer::dockWidget ( SidebarWidgetType type)

◆ floatWidget()

void SidebarWidgetContainer::floatWidget ( SidebarWidgetType type)

◆ windowedWidget()

void SidebarWidgetContainer::windowedWidget ( SidebarWidgetType type)

◆ isDocked()

bool SidebarWidgetContainer::isDocked ( SidebarWidgetType type)

◆ isFloating()

bool SidebarWidgetContainer::isFloating ( SidebarWidgetType type)

◆ isWindowed()

bool SidebarWidgetContainer::isWindowed ( SidebarWidgetType type)

◆ showContents

void SidebarWidgetContainer::showContents ( )
signal

◆ hideContents

void SidebarWidgetContainer::hideContents ( )
signal

◆ SidebarIconInfo

struct SidebarIconInfo
Class Members
SidebarWidgetType * type
SidebarWidgetLocation location
size_t index
QRect rect

◆ SidebarIconDragIndicator

class SidebarIconDragIndicator

Public Member Functions

 SidebarIconDragIndicator (QImage image, QSize size, QPoint pt, QPoint offset)
 
void moveToMouse (QPoint pt)
 
QSize size () const
 
QPoint offset () const
 

Protected Member Functions

virtual QSize sizeHint () const override
 
virtual QSize minimumSizeHint () const override
 
virtual void paintEvent (QPaintEvent *event) override
 

Constructor & Destructor Documentation

◆ SidebarIconDragIndicator()

SidebarIconDragIndicator::SidebarIconDragIndicator ( QImage  image,
QSize  size,
QPoint  pt,
QPoint  offset 
)

Member Function Documentation

◆ moveToMouse()

void SidebarIconDragIndicator::moveToMouse ( QPoint  pt)

◆ size()

QSize SidebarIconDragIndicator::size ( ) const
inline

◆ offset()

QPoint SidebarIconDragIndicator::offset ( ) const
inline

◆ sizeHint()

virtual QSize SidebarIconDragIndicator::sizeHint ( ) const
overrideprotectedvirtual

◆ minimumSizeHint()

virtual QSize SidebarIconDragIndicator::minimumSizeHint ( ) const
overrideprotectedvirtual

◆ paintEvent()

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

◆ SidebarIconsWidget

class SidebarIconsWidget

Signals

void containerVisibilityChanged ()
 

Public Member Functions

 SidebarIconsWidget (Sidebar *sidebar, SidebarLocation location)
 
SidebarWidgetContainersideContainer () const
 
SidebarWidgetContainerbottomContainer () const
 
SidebarWidgetContainercontainerForLocation (SidebarWidgetLocation location) const
 
SidebarIconsWidgetother () const
 
void setContainers (SidebarWidgetContainer *sideContainer, SidebarWidgetContainer *bottomContainer)
 
void updateTheme ()
 
void updateVisibility ()
 
void refreshMetrics ()
 

Protected Member Functions

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

Constructor & Destructor Documentation

◆ SidebarIconsWidget()

SidebarIconsWidget::SidebarIconsWidget ( Sidebar sidebar,
SidebarLocation  location 
)

Member Function Documentation

◆ paintEvent()

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

◆ mouseMoveEvent()

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

◆ mousePressEvent()

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

◆ mouseReleaseEvent()

virtual void SidebarIconsWidget::mouseReleaseEvent ( QMouseEvent *  event)
overrideprotectedvirtual

◆ leaveEvent()

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

◆ sideContainer()

SidebarWidgetContainer * SidebarIconsWidget::sideContainer ( ) const
inline

◆ bottomContainer()

SidebarWidgetContainer * SidebarIconsWidget::bottomContainer ( ) const
inline

◆ containerForLocation()

SidebarWidgetContainer * SidebarIconsWidget::containerForLocation ( SidebarWidgetLocation  location) const

◆ other()

SidebarIconsWidget * SidebarIconsWidget::other ( ) const

◆ setContainers()

void SidebarIconsWidget::setContainers ( SidebarWidgetContainer sideContainer,
SidebarWidgetContainer bottomContainer 
)

◆ updateTheme()

void SidebarIconsWidget::updateTheme ( )

◆ updateVisibility()

void SidebarIconsWidget::updateVisibility ( )

◆ refreshMetrics()

void SidebarIconsWidget::refreshMetrics ( )

◆ containerVisibilityChanged

void SidebarIconsWidget::containerVisibilityChanged ( )
signal

◆ 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)
 
 ~SidebarWidget ()
 
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 void closing ()
 
virtual void setPrimaryOrientation (Qt::Orientation)
 
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)

◆ ~SidebarWidget()

SidebarWidget::~SidebarWidget ( )
inline

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

Reimplemented in LogView.

◆ notifyViewChanged()

virtual void SidebarWidget::notifyViewChanged ( ViewFrame )
inlinevirtual

Reimplemented in LogView, MiniGraph, and ScriptingConsole.

◆ notifyViewLocationChanged()

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

◆ focus()

◆ closing()

virtual void SidebarWidget::closing ( )
inlinevirtual

Reimplemented in ScriptingConsole.

◆ setPrimaryOrientation()

virtual void SidebarWidget::setPrimaryOrientation ( Qt::Orientation  )
inlinevirtual

◆ 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 (SidebarWidgetType *type, SplitPaneWidget *panes, ViewFrame *frame, BinaryViewRef data)
 
 ~SidebarWidgetAndHeader () override
 
SidebarWidgetwidget () const
 
QWidget * header () const
 
void addWidget (SidebarWidget *widget, bool canClose=false)
 
void removeWidget (SidebarWidget *widget)
 
SidebarWidgetwidgetWithTitle (const QString &title) const
 
bool hasWidgetWithTitle (const QString &title) const
 
bool activateWidgetWithTitle (const QString &title)
 
bool hasContent () const
 
void updateTheme ()
 
void updateFonts ()
 
void closing ()
 
void notifyViewChanged (ViewFrame *frame)
 
void notifyViewLocationChanged (View *view, const ViewLocation &viewLocation)
 
void notifyOffsetChanged (uint64_t offset)
 
void forAllWidgets (const std::function< void(SidebarWidget *)> &func) const
 

Constructor & Destructor Documentation

◆ SidebarWidgetAndHeader()

SidebarWidgetAndHeader::SidebarWidgetAndHeader ( SidebarWidgetType type,
SplitPaneWidget panes,
ViewFrame frame,
BinaryViewRef  data 
)

◆ ~SidebarWidgetAndHeader()

SidebarWidgetAndHeader::~SidebarWidgetAndHeader ( )
override

Member Function Documentation

◆ widget()

SidebarWidget * SidebarWidgetAndHeader::widget ( ) const
inline

◆ header()

QWidget * SidebarWidgetAndHeader::header ( ) const

◆ addWidget()

void SidebarWidgetAndHeader::addWidget ( SidebarWidget widget,
bool  canClose = false 
)

◆ removeWidget()

void SidebarWidgetAndHeader::removeWidget ( SidebarWidget widget)

◆ widgetWithTitle()

SidebarWidget * SidebarWidgetAndHeader::widgetWithTitle ( const QString &  title) const

◆ hasWidgetWithTitle()

bool SidebarWidgetAndHeader::hasWidgetWithTitle ( const QString &  title) const

◆ activateWidgetWithTitle()

bool SidebarWidgetAndHeader::activateWidgetWithTitle ( const QString &  title)

◆ hasContent()

bool SidebarWidgetAndHeader::hasContent ( ) const

◆ updateTheme()

void SidebarWidgetAndHeader::updateTheme ( )

◆ updateFonts()

void SidebarWidgetAndHeader::updateFonts ( )

◆ closing()

void SidebarWidgetAndHeader::closing ( )

◆ notifyViewChanged()

void SidebarWidgetAndHeader::notifyViewChanged ( ViewFrame frame)

◆ notifyViewLocationChanged()

void SidebarWidgetAndHeader::notifyViewLocationChanged ( View view,
const ViewLocation viewLocation 
)

◆ notifyOffsetChanged()

void SidebarWidgetAndHeader::notifyOffsetChanged ( uint64_t  offset)

◆ forAllWidgets()

void SidebarWidgetAndHeader::forAllWidgets ( const std::function< void(SidebarWidget *)> &  func) const

◆ 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)
 
bool hasRightSide () const
 

Constructor & Destructor Documentation

◆ SidebarHeader()

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

Member Function Documentation

◆ hasRightSide()

bool SidebarHeader::hasRightSide ( ) const
inline

◆ SidebarInvalidContextWidget

class SidebarInvalidContextWidget

Public Member Functions

 SidebarInvalidContextWidget (const QString &title)
 
- Public Member Functions inherited from SidebarWidget
 SidebarWidget (const QString &title)
 
 ~SidebarWidget ()
 
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 void closing ()
 
virtual void setPrimaryOrientation (Qt::Orientation)
 
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 SidebarWidgetLocation defaultLocation () const
 
virtual SidebarContextSensitivity contextSensitivity () const
 
virtual bool alwaysShowTabs () const
 
virtual bool hideIfNoContent () const
 
virtual SidebarWidgetcreateWidget (ViewFrame *, BinaryViewRef)
 
virtual SidebarWidgetcreateInvalidContextWidget ()
 
virtual QWidget * headerWidget (SplitPaneWidget *, ViewFrame *, BinaryViewRef)
 
virtual bool focusHeaderWidget () const
 
virtual QString noWidgetMessage () const
 
virtual DockableTabStyletabStyle () const
 
virtual bool canUseAsPane (SplitPaneWidget *, BinaryViewRef) const
 
virtual PanecreatePane (SplitPaneWidget *, BinaryViewRef)
 
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
Deprecated:
Use `defaultLocation()`

Reimplemented in CrossReferenceSidebarWidgetType.

◆ viewSensitive()

virtual bool SidebarWidgetType::viewSensitive ( ) const
inlinevirtual
Deprecated:
Use `contextSensitivity()`

◆ defaultLocation()

◆ contextSensitivity()

◆ alwaysShowTabs()

virtual bool SidebarWidgetType::alwaysShowTabs ( ) const
inlinevirtual

◆ hideIfNoContent()

virtual bool SidebarWidgetType::hideIfNoContent ( ) const
inlinevirtual

◆ createWidget()

◆ createInvalidContextWidget()

virtual SidebarWidget * SidebarWidgetType::createInvalidContextWidget ( )
virtual

◆ headerWidget()

virtual QWidget * SidebarWidgetType::headerWidget ( SplitPaneWidget ,
ViewFrame ,
BinaryViewRef   
)
inlinevirtual

Reimplemented in SearchResultSidebarWidgetType.

◆ focusHeaderWidget()

virtual bool SidebarWidgetType::focusHeaderWidget ( ) const
inlinevirtual

Reimplemented in SearchResultSidebarWidgetType.

◆ noWidgetMessage()

virtual QString SidebarWidgetType::noWidgetMessage ( ) const
inlinevirtual

Reimplemented in SearchResultSidebarWidgetType.

◆ tabStyle()

virtual DockableTabStyle * SidebarWidgetType::tabStyle ( ) const
virtual

Reimplemented in SearchResultSidebarWidgetType.

◆ canUseAsPane()

virtual bool SidebarWidgetType::canUseAsPane ( SplitPaneWidget ,
BinaryViewRef   
) const
inlinevirtual

◆ createPane()

◆ updateTheme()

void SidebarWidgetType::updateTheme ( )

Enumeration Type Documentation

◆ SidebarContainerLocation

Enumerator
LeftSideContainer 
LeftBottomContainer 
RightSideContainer 
RightBottomContainer 

◆ SidebarLocation

Enumerator
LeftSide 
RightSide 

◆ SidebarWidgetLocation

Enumerator
LeftContent 
LeftReference 
LeftBottom 
RightContent 
RightReference 
RightBottom 

◆ SidebarContextSensitivity

Enumerator
GlobalSidebarContext 
SelfManagedSidebarContext 
PerTabSidebarContext 
PerViewTypeSidebarContext 
PerPaneSidebarContext