Esempio n. 1
0
Etk_Bool bootpanel_ethlist_checkbox_change_cb(Etk_Object *object, Etk_Tree_Row *row, void *data)
{
    Etk_Tree_Col* col;
    char* interface;
    Etk_Bool checked;
    boot_panel *pnl;

    pnl = (boot_panel*) data;
    col = ETK_TREE_COL(object);
    EXALT_ASSERT_RETURN(col!=NULL);
    EXALT_ASSERT_RETURN(row!=NULL);
    EXALT_ASSERT_RETURN(pnl!=NULL);

    etk_tree_row_fields_get(row, col, NULL, &interface, NULL);
    etk_tree_row_fields_get(row, col, &checked, NULL, NULL);

    //we change the state of the checkbox because it will be update when the daemon will update the configuration (see main_window.c::mainwindow_notify_cb())
    bootpanel_update_interface(interface, pnl);

    if(checked)
        exalt_dbus_bootprocess_iface_add(exalt_conn,interface);
    else
        exalt_dbus_bootprocess_iface_remove(exalt_conn,interface);

    return ETK_TRUE;
}
int
tree_sort(Etk_Tree *tree,
          Etk_Tree_Row *r1, Etk_Tree_Row *r2,
          Etk_Tree_Col *col,
          void *data)
{
  char *k1 = NULL;
  char *k2 = NULL;
  etk_tree_row_fields_get(r1, col, &k1, NULL);
  etk_tree_row_fields_get(r2, col, &k2, NULL);
  return strcoll(k1, k2);
}
Esempio n. 3
0
/* Used to sort the first column of the tree... */
static int _etk_test_tree_compare_cb(Etk_Tree_Col *col, Etk_Tree_Row *row1, Etk_Tree_Row *row2, void *data)
{
   int str1, str2;

   etk_tree_row_fields_get(row1, col, &str1, NULL);
   etk_tree_row_fields_get(row2, col, &str2, NULL);
   if (str1 < str2)
     return -1;
   else if (str1 > str2)
     return 1;
   else
     return 0;
}
static int _entropy_etk_file_cache_dialog_listener_compare_cb
(Etk_Tree *tree, Etk_Tree_Row *row1, Etk_Tree_Row *row2, Etk_Tree_Col *col, void *data)
{
	int val1, val2;

   etk_tree_row_fields_get(row1, col, &val1, NULL);
   etk_tree_row_fields_get(row2, col, &val2, NULL);

   if (val1 < val2)
      return 1;
   else if (val1 > val2)
      return -1;
   else
      return 0;
	
}
Esempio n. 5
0
/* Data Windows Callbacks */
Etk_Bool
_data_list_row_selected_cb(Etk_Tree *tree, Etk_Tree_Row *row, void *data)
{
   Etk_Tree_Col *col1, *col2;
   const char *name, *value;

   col1 = etk_tree_nth_col_get(ETK_TREE(UI_DataList), 0);
   col2 = etk_tree_nth_col_get(ETK_TREE(UI_DataList), 1);

   etk_tree_row_fields_get(row, col1, &name, NULL);
   etk_tree_row_fields_get(row, col2, &value, NULL);

   etk_entry_text_set(ETK_ENTRY(UI_DataNameEntry), name);
   etk_entry_text_set(ETK_ENTRY(UI_DataValueEntry), value);

   etk_widget_disabled_set(UI_DataApplyButton, ETK_FALSE);

   return ETK_TRUE;
}
Esempio n. 6
0
/* callback for engines list */
static void _etk_prefs_engine_row_selected_cb(Etk_Object *object, Etk_Tree_Row *row)
{
   Etk_Tree *tree;
   char *icol_string;
     
   tree = ETK_TREE(object);

   etk_tree_row_fields_get(row, etk_tree_nth_col_get(tree, 0), &icol_string, NULL, NULL, NULL);
   free(_etk_prefs_engine);
   _etk_prefs_engine = strdup(icol_string);
}
Esempio n. 7
0
/* callback for theme list */
static void _etk_prefs_theme_row_selected_cb(Etk_Object *object, Etk_Tree_Row *row, void *data)
{
   Etk_Widget *child = NULL;
   Etk_Tree *tree;
   char *icol_string;
   Etk_Widget *preview;
     
   tree = ETK_TREE(object);
   preview = data;

   etk_tree_row_fields_get(row, etk_tree_nth_col_get(tree, 0), &icol_string, NULL, NULL, NULL);
   child = _etk_prefs_theme_preview_get(icol_string);
   etk_container_add(ETK_CONTAINER(preview), child);
   etk_widget_show_all(child);
}
Esempio n. 8
0
/* Called when a checkbox of the tree is toggled: we display its new state in the statusbar */
static Etk_Bool _etk_test_tree_checkbox_toggled_cb(Etk_Object *object, Etk_Tree_Row *row, void *data)
{
   Etk_Tree *tree;
   Etk_Tree_Col *col;
   Etk_Statusbar *statusbar;
   Etk_Bool checked;
   char *row_name;
   char message[1024];

   if (!(col = ETK_TREE_COL(object)) || !(statusbar = ETK_STATUSBAR(data)) || !row)
      return ETK_TRUE;

   tree = etk_tree_col_tree_get(col);

   /* We retrieve the name of the row: see _etk_test_tree_row_clicked_cb() for more info*/
   etk_tree_row_fields_get(row, etk_tree_nth_col_get(tree, 0), NULL, NULL, &row_name, NULL);
   /* We then retrieve the new state of the checkbox */
   etk_tree_row_fields_get(row, col, &checked, NULL);

   sprintf(message, "Row \"%s\" has been %s", row_name, checked ? "checked" : "unchecked");
   etk_statusbar_message_push(statusbar, message, 0);

   return ETK_TRUE;
}
Esempio n. 9
0
/* Image Frame Callbacks */
Etk_Bool
_image_TweenList_row_selected_cb(Etk_Object *object, Etk_Tree_Row *row, void *data)
{
   Etk_Tree_Col *col;
   char *selected = NULL;
   printf("Row selected signal on ImageTweenList EMITTED\n");

   col = etk_tree_nth_col_get(ETK_TREE(UI_ImageTweenList), 0);
   etk_tree_row_fields_get(row, col, NULL, NULL, &selected, NULL);
   if (!selected) return ETK_TRUE;

   Cur.tween = etk_string_set(Cur.tween, selected);
   etk_widget_disabled_set(UI_DeleteTweenButton, FALSE);
  // etk_widget_disabled_set(UI_MoveDownTweenButton, FALSE);
  // etk_widget_disabled_set(UI_MoveUpTweenButton, FALSE);

   return ETK_TRUE;
}
Esempio n. 10
0
Etk_Tree_Row * mainWindow_findrow(main_window* win, exalt_ethernet* eth)
{/*{{{*/
	Etk_Tree_Row* row;
	char* row_name;

	row = etk_tree_first_row_get(ETK_TREE(win->eth_list));
	//the first row is "General", we can jump it
	row = etk_tree_row_next_get(row);
	while(row)
	{
		etk_tree_row_fields_get(row, win->eth_col0, NULL, NULL, &row_name, NULL);
		if(strcmp(row_name,exalt_eth_get_name(eth))==0)
			return row;

		row = etk_tree_row_next_get(row);
	}

 	return NULL;
}/*}}}*/
Esempio n. 11
0
Etk_Tree_Row * bootpanel_findrow(char* interface, boot_panel* pnl)
{
    Etk_Tree_Row* row;
    char* row_name;

    EXALT_ASSERT_RETURN(interface!=NULL);
    EXALT_ASSERT_RETURN(pnl!=NULL);

    row = etk_tree_first_row_get(ETK_TREE(pnl->eth_list));
    while(row)
    {
        etk_tree_row_fields_get(row, pnl->eth_col0, NULL, &row_name, NULL);
        if(strcmp(row_name,interface)==0)
            return row;

        row = etk_tree_row_next_get(row);
    }

    return NULL;
}
Esempio n. 12
0
void mainWindow_ethList_row_clicked_cb(Etk_Object *object, Etk_Tree_Row *row, Etk_Event_Mouse_Up *event, void *data)
{/*{{{*/
	Etk_Tree *tree;
	char *row_name;
	main_window* win;
	exalt_ethernet* eth;

	if (!(tree = ETK_TREE(object)) || !row || !event || !data)
		return;

	win = (main_window*)data;

	etk_tree_row_fields_get(row, etk_tree_nth_col_get(tree, 0), NULL, NULL, &row_name, NULL);

	if(strcmp(row_name,_("General")) == 0 )
	{
		wirelesspanel_hide(win->wireless_panel);
		ethpanel_hide(win->eth_panel);
		generalpanel_show(win->general_panel);

	}
	else
	{
		eth = exalt_eth_get_ethernet_byname(row_name);
		if(!exalt_eth_is_wireless(eth))
		{
			ethpanel_set_eth(win->eth_panel,eth);
			wirelesspanel_hide(win->wireless_panel);
			generalpanel_hide(win->general_panel);
			ethpanel_show(win->eth_panel);
		}
		else
		{
			wirelesspanel_set_eth(win->wireless_panel,eth);
			ethpanel_hide(win->eth_panel);
			generalpanel_hide(win->general_panel);
			wirelesspanel_show(win->wireless_panel);
		}
	}

}/*}}}*//*}}}*//*}}}*/
Esempio n. 13
0
void
change_cover_path(char *cover_path)
{
  Etk_Tree_Row *row;
  Cover_Entry *ce;
  char *key;

  row = etk_tree_selected_row_get(ETK_TREE(tree));
  if (!row)
    {
      return;
    }

  ce = malloc(sizeof(Cover_Entry));
  etk_tree_row_fields_get(row, etk_tree_nth_col_get(ETK_TREE(tree), 0), 
                          &key, NULL);
  ce->key = strdup(key);
  ce->path = strdup(cover_path);

  cover_changed = eina_list_append(cover_changed, ce);
}
Esempio n. 14
0
/* TODO: sometimes it's a Etk_Event_Mouse_Up, sometimes a Etk_Event_Mouse_Down... */
static Etk_Bool _etk_test_tree_row_clicked_cb(Etk_Object *object, Etk_Tree_Row *row, Etk_Event_Mouse_Up *event, void *data)
{
   Etk_Tree *tree;
   Etk_Statusbar *statusbar;
   char *row_name;
   char message[1024];

   if (!(tree = ETK_TREE(object)) || !(statusbar = ETK_STATUSBAR(data)) || !row || !event)
      return ETK_TRUE;

   /* We retrieve the name of the row: this information is located in the first column,
    * and it corresponds to the third param of the model (the two first params correspond
    * to the icon used, we ignore them here (that's why there are two NULL params)).
    * etk_tree_row_fields_get() has to be terminated by NULL */
   etk_tree_row_fields_get(row, etk_tree_nth_col_get(tree, 0), NULL, NULL, &row_name, NULL);

   sprintf(message, "Row \"%s\" clicked (%s)", row_name,
      (event->flags & ETK_MOUSE_TRIPLE_CLICK) ? "Triple" :
      ((event->flags & ETK_MOUSE_DOUBLE_CLICK) ? "Double" : "Single"));

   etk_statusbar_message_push(statusbar, message, 0);
   return ETK_TRUE;
}
Esempio n. 15
0
Etk_Bool
_data_apply_button_click_cb(Etk_Button *button, void *data)
{
   Etk_Tree_Col *col1, *col2;
   Etk_Tree_Row *row;
   const char *name, *value, *new_name, *new_value;

   col1 = etk_tree_nth_col_get(ETK_TREE(UI_DataList), 0);
   col2 = etk_tree_nth_col_get(ETK_TREE(UI_DataList), 1);
   row = etk_tree_selected_row_get(ETK_TREE(UI_DataList));
   etk_tree_row_fields_get(row, col1, &name, col2, &value, NULL);

   new_name = etk_entry_text_get(ETK_ENTRY(UI_DataNameEntry));
   new_value = etk_entry_text_get(ETK_ENTRY(UI_DataValueEntry));

   if (strcmp(value, new_value))
     edje_edit_data_value_set(edje_o, name, new_value);

   if (strcmp(name, new_name))
     edje_edit_data_name_set(edje_o, name, new_name);

   etk_tree_row_fields_set(row, ETK_FALSE, col1, new_name, col2, new_value, NULL);
   return ETK_TRUE;
}
Esempio n. 16
0
int mainWindow_eth_state_timer(void* data)
{/*{{{*/
	main_window* win = (main_window*)data;
	Etk_Tree_Row *row;
	char* row_name;
	exalt_ethernet* eth;

	row = etk_tree_first_row_get(ETK_TREE(win->eth_list));
	//the first row is "General", we can jump it
	row = etk_tree_row_next_get(row);
	while(row!=NULL)
	{
		etk_tree_row_fields_get(row, win->eth_col0, NULL, NULL, &row_name, NULL);
		eth=exalt_eth_get_ethernet_byname(row_name);
		if(eth)
		{
			if(exalt_eth_is_wireless(eth))
			{
				short radio;
				exalt_wireless_load_radio_button(eth);
				radio = exalt_wireless_raddiobutton_ison(exalt_eth_get_wireless(eth));
				if(radio && exalt_eth_is_activate(eth))
					etk_tree_row_fields_set(row, 0, win->eth_col0,PACKAGE_DATA_DIR ICONS_WIRELESS_ACTIVATE,NULL,row_name, NULL);
				else
					etk_tree_row_fields_set(row, 0, win->eth_col0,PACKAGE_DATA_DIR ICONS_WIRELESS_NOT_ACTIVATE,NULL,row_name, NULL);
			}
			else
				if(exalt_eth_is_activate(eth))
					etk_tree_row_fields_set(row, 0, win->eth_col0,PACKAGE_DATA_DIR ICONS_ETHERNET_ACTIVATE,NULL,row_name, NULL);
				else
					etk_tree_row_fields_set(row, 0, win->eth_col0,PACKAGE_DATA_DIR ICONS_ETHERNET_NOT_ACTIVATE,NULL,row_name, NULL);
		}
		row = etk_tree_row_next_get(row);
	}
	return 1;
}/*}}}*/
Esempio n. 17
0
static void _ex_tab_tree_drag_begin_cb(Etk_Object *object, void *data)
{
   Ex_Tab       *tab;
   Etk_Tree     *tree;
   Etk_Tree_Row *row;
   Etk_Widget   *drag;
   Etk_Widget   *image;
   Eina_List    *rows;
   char *icol1_string;
   char *icol2_string;
   char *drag_data;
   const char **types;
   unsigned int num_types;

   tab = data;
   tree = ETK_TREE(object);
   /* TODO: reimplement dnd when it is reimplemented in Etk
   drag = (ETK_WIDGET(tree))->drag; */
   drag = NULL;

   rows = etk_tree_selected_rows_get(tree);

   types = calloc(1, sizeof(char*));
   num_types = 1;
   types[0] = strdup("text/uri-list");

   if (eina_list_count(rows) > 1)
     {
	Eina_List *ll;
	Etk_Widget *table;
	int i = 0, l = 0, r = 0, t = 0, b = 0, row_num;

	if (eina_list_count(rows) >= EX_DND_COL_NUM)
	  row_num = eina_list_count(rows) / EX_DND_COL_NUM;
	else
	  row_num = 1;

	table = etk_table_new(EX_DND_COL_NUM, row_num + 1, ETK_TABLE_HOMOGENEOUS);
	drag_data = calloc(PATH_MAX * eina_list_count(rows), sizeof(char));
	EINA_LIST_FOREACH(rows, ll, row)
	  {
	     char tmp[PATH_MAX];

	     etk_tree_row_fields_get(row, etk_tree_nth_col_get(tree, 0), &icol1_string, &icol2_string, etk_tree_nth_col_get(tree, 1),NULL);
	     snprintf(tmp, PATH_MAX * sizeof(char), "file://%s%s\r\n", tab->dir, icol2_string);
	     strncat(drag_data, tmp, PATH_MAX * eina_list_count(rows));
	     if (i <= EX_DND_MAX_NUM * EX_DND_MAX_NUM)
	       {
		  image = etk_image_new_from_file(icol1_string, NULL);
		  etk_image_keep_aspect_set(ETK_IMAGE(image), ETK_TRUE);
		  etk_widget_size_request_set(image, 48, 48);
		  etk_table_attach(ETK_TABLE(table), image, l, r, t, b, ETK_TABLE_NONE, 3, 3);

		  ++l; ++r;

		  if (l == EX_DND_COL_NUM)
		    {
		       l = r = 0;
		       ++t; ++b;
		    }
	       }
	     ++i;
	  }