546{
547 GtkBuilder* xml = gtk_builder_new();
548 boost::scoped_array<char*> const obj{new gchar*[2]};
549 const std::string str = "scroom";
550 obj[0] = const_cast<char*>(str.c_str());
551 obj[1] = nullptr;
552 gtk_builder_add_objects_from_file(xml,
xmlFileName.c_str(), obj.get(),
nullptr);
553
554 if(xml == nullptr)
555 {
556 logger->error(
"Opening xml failed");
557 exit(-1);
558 }
559
562 if(presentation)
563 {
565 }
566
567 GtkWidget* scroom = GTK_WIDGET(gtk_builder_get_object(xml, "scroom"));
568 GtkWidget* openMenuItem = GTK_WIDGET(gtk_builder_get_object(xml, "open"));
569 GtkWidget* closeMenuItem = GTK_WIDGET(gtk_builder_get_object(xml, "close"));
570 GtkWidget* quitMenuItem = GTK_WIDGET(gtk_builder_get_object(xml, "quit"));
571 GtkWidget* fullScreenMenuItem = GTK_WIDGET(gtk_builder_get_object(xml, "fullscreen_menu_item"));
572 GtkWidget* aboutMenuItem = GTK_WIDGET(gtk_builder_get_object(xml, "about"));
573 GtkWidget*
drawingArea = GTK_WIDGET(gtk_builder_get_object(xml,
"drawingarea"));
574 GtkWidget* zoomBox = GTK_WIDGET(gtk_builder_get_object(xml, "zoomboxcombo"));
575 GtkWidget* vscrollbar = GTK_WIDGET(gtk_builder_get_object(xml, "vscrollbar"));
576 GtkWidget* hscrollbar = GTK_WIDGET(gtk_builder_get_object(xml, "hscrollbar"));
577 GtkAdjustment* vscrollbaradjustment = gtk_range_get_adjustment(GTK_RANGE(vscrollbar));
578 GtkAdjustment* hscrollbaradjustment = gtk_range_get_adjustment(GTK_RANGE(hscrollbar));
579 GtkEditable* xTextBox = GTK_EDITABLE(GTK_WIDGET(gtk_builder_get_object(xml, "x_textbox")));
580 GtkEditable* yTextBox = GTK_EDITABLE(GTK_WIDGET(gtk_builder_get_object(xml, "y_textbox")));
581
582 g_signal_connect(
static_cast<gpointer
>(scroom),
"hide", G_CALLBACK(
on_scroom_hide),
view.get());
583 g_signal_connect(
static_cast<gpointer
>(closeMenuItem),
"activate", G_CALLBACK(
on_close_activate),
view.get());
584 g_signal_connect(
static_cast<gpointer
>(quitMenuItem),
"activate", G_CALLBACK(
on_quit_activate),
view.get());
585 g_signal_connect(
static_cast<gpointer
>(openMenuItem),
"activate", G_CALLBACK(
on_open_activate), scroom);
588 g_signal_connect(
590 );
591 g_signal_connect(
593 );
596
597
598
599
600
601
602
603
604
605
606
607
608 g_signal_connect(
static_cast<gpointer
>(aboutMenuItem),
"activate", G_CALLBACK(
on_about_activate),
view.get());
615
616 char uriList[] = "text/uri-list";
617 GtkTargetEntry targets[] = {{uriList, 0, 0}};
618 gtk_drag_dest_set(
619 scroom, GTK_DEST_DEFAULT_ALL, targets, 1, static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE | GDK_ACTION_LINK)
620 );
621
622 g_signal_connect(
static_cast<gpointer
>(scroom),
"drag_data_received", G_CALLBACK(
onDragDataReceived), NULL);
623
624}
gboolean on_motion_notify_event(GtkWidget *, GdkEventMotion *event, gpointer user_data)
Definition callbacks.cc:400
gboolean on_scroll_event(GtkWidget *, GdkEventScroll *event, gpointer user_data)
Definition callbacks.cc:407
void on_scrollbar_value_changed(GtkAdjustment *adjustment, gpointer user_data)
Definition callbacks.cc:380
gboolean on_button_press_event(GtkWidget *, GdkEventButton *event, gpointer user_data)
Definition callbacks.cc:386
void on_fullscreen_activate(GtkMenuItem *item, gpointer user_data)
Definition callbacks.cc:220
void on_scroom_hide(GtkWidget *, gpointer user_data)
Definition callbacks.cc:80
void on_open_activate(GtkMenuItem *, gpointer user_data)
Definition callbacks.cc:115
void onDragDataReceived(GtkWidget *, GdkDragContext *, int, int, GtkSelectionData *seldata, guint, guint, gpointer)
Definition callbacks.cc:504
void on_quit_activate(GtkMenuItem *, gpointer)
Definition callbacks.cc:202
gboolean on_button_release_event(GtkWidget *, GdkEventButton *event, gpointer user_data)
Definition callbacks.cc:393
gboolean on_drawingarea_configure_event(GtkWidget *, GdkEventConfigure *, gpointer user_data)
Definition callbacks.cc:271
void on_about_activate(GtkMenuItem *, gpointer)
Definition callbacks.cc:243
void on_view_created(const View::Ptr &v)
Definition callbacks.cc:654
void on_close_activate(GtkMenuItem *, gpointer user_data)
Definition callbacks.cc:236
static std::string xmlFileName
Definition callbacks.cc:48
void on_zoombox_changed(GtkComboBox *, gpointer user_data)
Definition callbacks.cc:368
gboolean on_drawingarea_expose_event(GtkWidget *widget, GdkEventExpose *, gpointer user_data)
Definition callbacks.cc:252
void on_presentation_added_to_view(const View::Ptr &v)
Definition callbacks.cc:669
void on_textbox_value_changed(GtkEditable *editable, gpointer user_data)
Definition callbacks.cc:374
static Ptr create(GtkBuilder *scroomXml, const PresentationInterface::Ptr &presentation)
Definition view.cc:124
std::shared_ptr< View > Ptr
Definition view.hh:98
Scroom::Logger logger
Definition callbacks.cc:54
const auto view
Definition pipette-tests.cc:227
GtkWidget * drawingArea
Definition ruler-tests.cc:11