Exemplo n.º 1
0
void
_ex_tab_current_zoom_one_to_one(Exhibit *e)
{
   if (e->cur_tab->fit_window)
     {
	if (e->cur_tab->comment.visible)
	  {
	     etk_notebook_page_child_set(ETK_NOTEBOOK(e->notebook), e->cur_tab->num, e->cur_tab->comment.vbox);
	     etk_container_remove(e->cur_tab->alignment);
	     etk_container_remove(e->cur_tab->comment.frame);
	     etk_box_append(ETK_BOX(e->cur_tab->comment.vbox), e->cur_tab->scrolled_view, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
	     etk_box_append(ETK_BOX(e->cur_tab->comment.vbox), e->cur_tab->comment.frame, ETK_BOX_START, ETK_BOX_NONE, 3);
	  }
	else
	  etk_notebook_page_child_set(ETK_NOTEBOOK(e->notebook), e->cur_tab->num, e->cur_tab->scrolled_view);

        etk_widget_size_request_set(e->cur_tab->alignment, -1, -1);
        etk_scrolled_view_add_with_viewport(ETK_SCROLLED_VIEW(e->cur_tab->scrolled_view), e->cur_tab->alignment);
        e->cur_tab->fit_window = ETK_FALSE;
     }

   e->zoom = 0;
   e->brightness = 128;
   e->contrast = 0;

   _ex_image_zoom(ETK_IMAGE(e->cur_tab->image), e->zoom);
   _ex_main_statusbar_zoom_update(e);
}
Exemplo n.º 2
0
void
_ex_tab_select(Ex_Tab *tab)
{
   //chdir(tab->dir);

   D(("_ex_tab_select: changed dir to %s\n", tab->dir));
   D(("_ex_tab_select: selecting tab num %d\n", e->cur_tab->num));

   if (tab->comment.visible)
     etk_notebook_page_child_set(ETK_NOTEBOOK(e->notebook), tab->num,
				 tab->comment.vbox);
   else if (tab->fit_window)
     etk_notebook_page_child_set(ETK_NOTEBOOK(e->notebook), tab->num,
				 tab->alignment);

   etk_table_attach(ETK_TABLE(e->table), tab->dtree,
		    0, 3, 3, 3,
		    ETK_TABLE_VEXPAND | ETK_TABLE_FILL, 0, 0);
   etk_widget_show(tab->dtree);

   etk_paned_child2_set(ETK_PANED(e->vpaned), tab->itree, ETK_TRUE);
   etk_widget_show(tab->itree);

   etk_widget_show(tab->image);
   etk_widget_show(tab->alignment);
   etk_widget_show(tab->scrolled_view);

   etk_widget_show_all(e->win);
}
Exemplo n.º 3
0
void
_ex_tab_delete(void)
{
   if (!e->cur_tab)
     {
	D(("No currently selected TAB!!\n"));
	return;
     }

   D(("Number of tabs: %d\n", eina_list_count(e->tabs)));

   if (eina_list_count(e->tabs) < 1)
     {
	D(("Cannot remove the last tab\n"));
	return;
     }

   D(("Delete tab %d\n", e->cur_tab->num));

   D(("Remove from list\n"));
   e->tabs = eina_list_remove(e->tabs, e->cur_tab);

   D(("Free\n"));
   etk_notebook_page_remove(ETK_NOTEBOOK(e->notebook), e->cur_tab->num);
   /* Set the cur_tab on the new one */
   e->cur_tab = eina_list_nth(e->tabs, etk_notebook_current_page_get(ETK_NOTEBOOK(e->notebook)));
//   E_FREE(e->cur_tab);

   if (eina_list_count(e->tabs) == 1)
     etk_notebook_tabs_visible_set(ETK_NOTEBOOK(e->notebook), ETK_FALSE);
}
Exemplo n.º 4
0
/* switch pages callback */
static void _etk_prefs_switch_cb(Etk_Object *object, void *data)
{
   if(!strcmp(etk_button_label_get(ETK_BUTTON(object)), _("Go to Engines page")))
   {
      etk_notebook_page_next(ETK_NOTEBOOK(data));
      etk_button_label_set(ETK_BUTTON(object), _("Go to Themes page"));
   }
   else
   {
      etk_notebook_page_prev(ETK_NOTEBOOK(data));
      etk_button_label_set(ETK_BUTTON(object), _("Go to Engines page"));
   }
}
Exemplo n.º 5
0
void
_ex_tab_current_fit_to_window(Exhibit *e)
{
   etk_widget_size_request_set(e->cur_tab->alignment, 10, 10);

   if (e->cur_tab->comment.visible)
     {
	etk_notebook_page_child_set(ETK_NOTEBOOK(e->notebook), e->cur_tab->num, e->cur_tab->comment.vbox);
	etk_container_remove(e->cur_tab->scrolled_view);
	etk_container_remove(e->cur_tab->comment.frame);
	etk_box_append(ETK_BOX(e->cur_tab->comment.vbox), e->cur_tab->alignment, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
	etk_box_append(ETK_BOX(e->cur_tab->comment.vbox), e->cur_tab->comment.frame, ETK_BOX_START, ETK_BOX_NONE, 3);
     }
   else
     etk_notebook_page_child_set(ETK_NOTEBOOK(e->notebook), e->cur_tab->num, e->cur_tab->alignment);

   etk_widget_size_request_set(e->cur_tab->image, -1, -1);

   e->cur_tab->fit_window = ETK_TRUE;
   _ex_main_statusbar_zoom_update(e);
}
Exemplo n.º 6
0
/* main etk_prefs dialog */
void etk_prefs_show()
{
   Etk_Widget *dialog; // initialize some widgets
   Etk_Widget *switch_button;
   Etk_Widget *notebook;
   
   /* main dialog to hold everything */
   dialog = etk_dialog_new();
   etk_window_title_set(ETK_WINDOW(dialog), _("Etk Preferences")); // set title - translatable
   etk_window_wmclass_set(ETK_WINDOW(dialog), "Etk Preferences", "Etk Preferences");
   etk_signal_connect_swapped_by_code(ETK_OBJECT_DESTROYED_SIGNAL, ETK_OBJECT(dialog),
				   ETK_CALLBACK(_etk_prefs_quit_cb), NULL);

   /* this will hold the current pref's contents */
   notebook = etk_notebook_new();
   etk_notebook_tabs_visible_set(ETK_NOTEBOOK(notebook), ETK_FALSE); 

   /* Some buttons */
   etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_CLOSE, ETK_RESPONSE_CLOSE);
   etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_APPLY, ETK_RESPONSE_APPLY);
   etk_dialog_button_add_from_stock(ETK_DIALOG(dialog), ETK_STOCK_DIALOG_OK, ETK_RESPONSE_OK);   
   etk_signal_connect("response", ETK_OBJECT(dialog), ETK_CALLBACK(_etk_prefs_response_cb), dialog);
   
   /* button for switching pages */
   switch_button = etk_button_new_with_label(_("Go to Engines page"));
   etk_signal_connect_by_code(ETK_BUTTON_CLICKED_SIGNAL, ETK_OBJECT(switch_button), ETK_CALLBACK(_etk_prefs_switch_cb), notebook);
   /* add the button into dialog action area */
   etk_dialog_pack_widget_in_action_area(ETK_DIALOG(dialog), switch_button, ETK_BOX_END, ETK_BOX_EXPAND, 0);  
   
   etk_container_border_width_set(ETK_CONTAINER(dialog), 5);
   etk_dialog_pack_in_main_area(ETK_DIALOG(dialog), notebook, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
   
   /* create tabs */
   etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Theme", _etk_prefs_theme_tab_create());
   etk_notebook_page_append(ETK_NOTEBOOK(notebook), "Engine", _etk_prefs_other_tab_create());
   
   etk_widget_show_all(dialog);
}
Exemplo n.º 7
0
void evolve_gui_placeholder_replace(Evolve_Widget *parent, Evolve_Widget *child, Etk_Widget *placeholder)
{
   if (!parent || !parent->type || !child || !child->type || !placeholder)
     return;
   
   if (!strcmp(parent->type, "hbox") || !strcmp(parent->type, "vbox"))
     {
	int pos;
	Etk_Box_Group group;
	char *group_str;
	char pos_str[5];
	Evolve_Widget_Property *prop;
	
	etk_box_child_position_get(ETK_BOX(parent->widget), placeholder,
				   &group, &pos);
	
	group_str = evolve_widget_packing_property_to_str_convert("box", "group", group);
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	prop->name = strdup("group");
	prop->value = group_str;
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "group", prop);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(pos_str, sizeof(pos_str), "%d", pos);
	prop->name = strdup("position");
	prop->value = strdup(pos_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "position", prop);
     }
   else if (!strcmp(parent->type, "toolbar"))
     {
	/* [TODO] [3] We are accessing the toolbar's internals, better way? */
	int pos;
	char pos_str[5];
	Evolve_Widget_Property *prop;
	
	etk_box_child_position_get(ETK_BOX(ETK_TOOLBAR(parent->widget)->box),
				   placeholder,
				   NULL, &pos);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(pos_str, sizeof(pos_str), "%d", pos);
	prop->name = strdup("position");
	prop->value = strdup(pos_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "position", prop);
     }
   else if (!strcmp(parent->type, "table"))
     {
	int la, ra, ta, ba;
	char la_str[5], ra_str[5], ta_str[5], ba_str[5];
	Evolve_Widget_Property *prop;
	
	etk_table_child_position_get(ETK_TABLE(parent->widget),
				   placeholder,
				   &la, &ra, &ta, &ba);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(la_str, sizeof(la_str), "%d", la);
	prop->name = strdup("left_attach");
	prop->value = strdup(la_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "left_attach", prop);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(ra_str, sizeof(ra_str), "%d", ra);
	prop->name = strdup("right_attach");	
	prop->value = strdup(ra_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "right_attach", prop);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(ta_str, sizeof(ta_str), "%d", ta);
	prop->name = strdup("top_attach");	
	prop->value = strdup(ta_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "top_attach", prop);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(ba_str, sizeof(ba_str), "%d", ba);
	prop->name = strdup("bottom_attach");	
	prop->value = strdup(ba_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "bottom_attach", prop);
     }
   else if (!strcmp(parent->type, "notebook"))
     {
	int pos;
	char pos_str[5];
	const char *label;
	Evolve_Widget_Property *prop;
	
	pos = etk_notebook_page_index_get(ETK_NOTEBOOK(parent->widget), placeholder);
	label = etk_notebook_page_tab_label_get(ETK_NOTEBOOK(parent->widget), pos);
	
	prop = calloc(1, sizeof(Evolve_Widget_Property));
	snprintf(pos_str, sizeof(pos_str), "%d", pos);
	prop->name = strdup("position");
	prop->value = strdup(pos_str);
	prop->type = EVOLVE_WIDGET_PROP_INT;
	eina_hash_add(child->packing_props, "position", prop);
		
	if (label)
	  {
	     prop = calloc(1, sizeof(Evolve_Widget_Property));
	     prop->name = strdup("tab_label");
	     prop->value = strdup(label);
	     prop->type = EVOLVE_WIDGET_PROP_STR;
	     eina_hash_add(child->packing_props, "tab_label", prop);
	  }
     }
   etk_container_remove(placeholder);
}