Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
SidebarManager Class Reference

#include <sidebarmanager.hh>

Collaboration diagram for SidebarManager:
Collaboration graph

Public Member Functions

void setWidgets (GtkWidget *panelWindow, GtkBox *panel)
 
void addSideWidget (const std::string &title, GtkWidget *w)
 
void removeSideWidget (GtkWidget *w)
 

Private Attributes

GtkWidget * panelWindow {nullptr}
 
GtkBox * panel {nullptr}
 
std::map< GtkWidget *, GtkWidget * > widgets
 

Member Function Documentation

◆ addSideWidget()

void SidebarManager::addSideWidget ( const std::string &  title,
GtkWidget *  w 
)
22{
23 GtkWidget* e = gtk_expander_new(title.c_str());
24 gtk_expander_set_expanded(GTK_EXPANDER(e), true);
25 gtk_widget_show(e);
26 gtk_box_pack_start(panel, e, false, false, 0);
27 gtk_container_add(GTK_CONTAINER(e), w);
28 gtk_widget_show(w);
29
30 widgets[w] = e;
31
32 gtk_widget_show(panelWindow);
33}
GtkBox * panel
Definition sidebarmanager.hh:19
GtkWidget * panelWindow
Definition sidebarmanager.hh:18
std::map< GtkWidget *, GtkWidget * > widgets
Definition sidebarmanager.hh:21
std::pair< GSourceFunc, gpointer > const w
Definition gtkhelper-tests.cc:42

Referenced by View::addSideWidget().

Here is the caller graph for this function:

◆ removeSideWidget()

void SidebarManager::removeSideWidget ( GtkWidget *  w)
36{
37 auto cur = widgets.find(w);
38
39 require(cur != widgets.end());
40
41 gtk_widget_destroy(cur->second);
42 widgets.erase(cur);
43
44 if(widgets.empty())
45 {
46 gtk_widget_hide(panelWindow);
47 }
48 else
49 {
50 gtk_widget_show(panelWindow);
51 }
52}
#define require(expr)
Definition assertions.hh:30

Referenced by View::removeSideWidget().

Here is the caller graph for this function:

◆ setWidgets()

void SidebarManager::setWidgets ( GtkWidget *  panelWindow,
GtkBox *  panel 
)
16{
17 panelWindow = panelWindow_;
18 panel = panel_;
19}

Referenced by View::View().

Here is the caller graph for this function:

Member Data Documentation

◆ panel

GtkBox* SidebarManager::panel {nullptr}
private
19{nullptr};

Referenced by addSideWidget(), and setWidgets().

◆ panelWindow

GtkWidget* SidebarManager::panelWindow {nullptr}
private
18{nullptr};

Referenced by addSideWidget(), removeSideWidget(), and setWidgets().

◆ widgets

std::map<GtkWidget*, GtkWidget*> SidebarManager::widgets
private

Referenced by addSideWidget(), and removeSideWidget().


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