void Sidebar::initPages(GtkWidget* sidebar, GladeGui* gui) { XOJ_CHECK_TYPE(Sidebar); addPage(new SidebarIndexPage(this->control)); addPage(new SidebarPreviewPages(this->control)); #ifdef UNSTABLE_LAYERS_SIDEBAR addPage(new SidebarPreviewLayers(this->control)); #endif //UNSTABLE_LAYERS_SIDEBAR // Init toolbar with icons int i = 0; for (AbstractSidebarPage* p : this->pages) { GtkToolItem* it = gtk_toggle_tool_button_new(); p->tabButton = it; gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(it), gui->loadIcon(p->getIconName().c_str())); g_signal_connect(it, "clicked", G_CALLBACK(&buttonClicked), new SidebarPageButton(this, i, p)); gtk_tool_item_set_tooltip_text(it, p->getName().c_str()); gtk_tool_button_set_label(GTK_TOOL_BUTTON(it), p->getName().c_str()); gtk_toolbar_insert(tbSelectPage, it, -1); // Add widget to sidebar gtk_box_pack_start(GTK_BOX(sidebar), p->getWidget(), TRUE, TRUE, 0); i++; } gtk_widget_show_all(GTK_WIDGET(this->tbSelectPage)); updateEnableDisableButtons(); }
void Sidebar::documentChanged(DocumentChangeType type) { XOJ_CHECK_TYPE(Sidebar); if(type == DOCUMENT_CHANGE_CLEARED || type == DOCUMENT_CHANGE_COMPLETE || type == DOCUMENT_CHANGE_PDF_BOOKMARKS) { updateEnableDisableButtons(); } }