Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

/* Contact Angle Calculator

* Date:- June 16 2020


* @uthor:- PARITOSH KUMAR RAKESH
*
* Compilation command:-
*
* gcc `pkg-config --cflags gtk+-3.0` -o image_viewer1 image_viewer1.c `pkg-config
--libs gtk+-3.0` -rdynamic
*
*/

#include <stdio.h>
#include <stdlib.h>
#include <gtk/gtk.h>

typedef struct
{
GtkWidget* file_choose;
GtkWidget* in_image;
}app_widgets;

void on_menuitm_open_activate(GtkMenuItem* menuitem, app_widgets* app_wdgts)


{
gchar* filename = NULL;
gtk_widget_show(app_wdgts->file_choose);
//check if open button has been clicked and then retrieve the file
if(gtk_dialog_run(GTK_DIALOG(app_wdgts->file_choose)) == GTK_RESPONSE_OK)
{
filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(app_wdgts-
>file_choose));
if(filename != NULL)
{
gtk_image_set_from_file(GTK_IMAGE(app_wdgts->in_image), filename);
}
g_free(filename);
}
//now hide the file chooser dialog box
gtk_widget_hide(app_wdgts->file_choose);
}
void on_menuitm_quit_activate(GtkMenuItem* menuitem, app_widgets* app_wdgts)
{
gtk_main_quit();
}
//void on_menuitm_quit_activate(
void on_contact_angle_main_destroy()
{
gtk_main_quit();
}

int main(int argc, char *argv[])


{
GtkBuilder* builder;
GtkWidget* window;
app_widgets *widgets = g_slice_new(app_widgets);
gtk_init(&argc, &argv);
builder = gtk_builder_new_from_file("contact_angle_main.glade");
window = GTK_WIDGET(gtk_builder_get_object(builder,"contact_angle_main"));
widgets->file_choose =
GTK_WIDGET(gtk_builder_get_object(builder,"file_choose"));
widgets->in_image = GTK_WIDGET(gtk_builder_get_object(builder,"in_image"));
gtk_builder_connect_signals(builder, widgets);
g_object_unref(builder);
gtk_widget_show(window);
gtk_main();
g_slice_free(app_widgets, widgets);
return 0;
}

You might also like