예제 #1
0
Etk_Bool
_state_AspectSpinner_value_changed_cb(Etk_Range *range, double value, void *data)
{
   printf("Value Changed Signal on AspectMinSpinner EMITTED\n");
   edje_edit_state_aspect_min_set(edje_o, Cur.part->string, Cur.state->string,
                           etk_range_value_get(ETK_RANGE(UI_AspectMinSpinner)));
   edje_edit_state_aspect_max_set(edje_o, Cur.part->string, Cur.state->string,
                           etk_range_value_get(ETK_RANGE(UI_AspectMaxSpinner)));
   return ETK_TRUE;
}
예제 #2
0
Etk_Bool
_gradient_RelSpinners_value_changed_cb(Etk_Range *range, double value, void *data)
{
   printf("Value Changed Signal on Gradient RelSpinner EMITTED (value: %f)\n",etk_range_value_get(range));

   if (!etk_string_length_get(Cur.state) || !etk_string_length_get(Cur.part))
      return ETK_TRUE;

   switch ((int)(long)data)
   {
      case REL1X_SPINNER:
         edje_edit_state_gradient_rel1_relative_x_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL1Y_SPINNER:
         edje_edit_state_gradient_rel1_relative_y_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL2X_SPINNER:
         edje_edit_state_gradient_rel2_relative_x_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL2Y_SPINNER:
         edje_edit_state_gradient_rel2_relative_y_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL1XO_SPINNER:
         edje_edit_state_gradient_rel1_offset_x_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL1YO_SPINNER:
         edje_edit_state_gradient_rel1_offset_y_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL2XO_SPINNER:
         edje_edit_state_gradient_rel2_offset_x_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
      case REL2YO_SPINNER:
         edje_edit_state_gradient_rel2_offset_y_set(edje_o, 
                                 Cur.part->string, Cur.state->string,
                                 etk_range_value_get(range));
         break;
   }
   canvas_redraw();
   return ETK_TRUE;
}
예제 #3
0
Etk_Bool
_image_border_spinners_value_changed_cb(Etk_Range *range, double value, void *data)
{
   printf("Value Changed signal on BorderSpinner EMITTED (value: %f)\n",etk_range_value_get(range));

   if (!etk_string_length_get(Cur.state)) return ETK_TRUE;
   if (!etk_string_length_get(Cur.part)) return ETK_TRUE;
   edje_edit_state_image_border_set(edje_o, Cur.part->string, Cur.state->string,
      (int)etk_range_value_get(ETK_RANGE(UI_BorderLeftSpinner)),
      (int)etk_range_value_get(ETK_RANGE(UI_BorderRightSpinner)),
      (int)etk_range_value_get(ETK_RANGE(UI_BorderTopSpinner)),
      (int)etk_range_value_get(ETK_RANGE(UI_BorderBottomSpinner)));

   canvas_redraw();

   return ETK_TRUE;
}
예제 #4
0
Etk_Bool
_state_MinMaxSpinner_value_changed_cb(Etk_Range *range, double value, void *data)
{
   printf("Active Item Changed Signal on MinMaxSpinners EMITTED\n");

   edje_edit_state_min_w_set(edje_o, Cur.part->string, Cur.state->string,
                           etk_range_value_get(ETK_RANGE(UI_StateMinWSpinner)));
   edje_edit_state_min_h_set(edje_o, Cur.part->string, Cur.state->string,
                           etk_range_value_get(ETK_RANGE(UI_StateMinHSpinner)));
   edje_edit_state_max_w_set(edje_o, Cur.part->string, Cur.state->string,
                           etk_range_value_get(ETK_RANGE(UI_StateMaxWSpinner)));
   edje_edit_state_max_h_set(edje_o, Cur.part->string, Cur.state->string,
                           etk_range_value_get(ETK_RANGE(UI_StateMaxHSpinner)));

   canvas_redraw();
   return ETK_TRUE;
}
예제 #5
0
/* Updates the text of the spinner from its value */
static void _etk_spinner_update_text_from_value(Etk_Spinner *spinner)
{
   char text[MAX_TEXT_LEN];

   if (!spinner || !spinner->editable_object)
      return;

   snprintf(text, MAX_TEXT_LEN, spinner->value_format, etk_range_value_get(ETK_RANGE(spinner)));
   etk_editable_text_set(spinner->editable_object, text);
}
예제 #6
0
/* Called when the step-increment of the spinner is changed:
 * We correct the value if the "snap-to-ticks" setting is on */
static void _etk_spinner_step_increment_changed_cb(Etk_Object *object, const char *property_name, void *data)
{
   Etk_Spinner *spinner;
   double value;

   if (!(spinner = ETK_SPINNER(object)))
      return;

   if (spinner->snap_to_ticks)
   {
      value = etk_range_value_get(ETK_RANGE(spinner));
      value = _etk_spinner_value_snap(spinner, value);
      etk_range_value_set(ETK_RANGE(spinner), value);
   }
}
예제 #7
0
/**
 * @brief Sets whether or not the value of the spinner should be automatically
 * corrected to the nearest step-increment
 * @param spinner a spinner
 * @param snap_to_ticks ETK_TRUE if you want the value to be corrected, ETK_FALSE otherwise
 */
void etk_spinner_snap_to_ticks_set(Etk_Spinner *spinner, Etk_Bool snap_to_ticks)
{
   if (!spinner || spinner->snap_to_ticks == snap_to_ticks)
      return;

   spinner->snap_to_ticks = snap_to_ticks;

   if (snap_to_ticks)
   {
      double new_value;

      new_value = _etk_spinner_value_snap(spinner, etk_range_value_get(ETK_RANGE(spinner)));
      etk_range_value_set(ETK_RANGE(spinner), new_value);
   }
   etk_object_notify(ETK_OBJECT(spinner), "snap-to-ticks");
}
예제 #8
0
void
emphasis_configgui_save(Emphasis_Config_Gui *configgui)
{
  Emphasis_Config *config;
  char *key = NULL, *value = NULL;
  int reconnect = 0;

  config = config_load();

  if((key = config->hostname))
    {
      value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->hostname)));
      if(strcmp(key,value)) { reconnect = 1; }
      free(config->hostname);
    }
  config->hostname = value;

  if((key = config->password))
    {
      value = strdup(etk_entry_text_get(ETK_ENTRY(configgui->password)));
      if(!reconnect && strcmp(key,value)) { reconnect = 1; }
      free(config->password);
    }
  config->password = value;
  
  if(!reconnect && config->port != etk_range_value_get(ETK_RANGE(configgui->port)))
    {
      reconnect = 1;
    }
  config->port = etk_range_value_get(ETK_RANGE(configgui->port));


  config->crossfade    =
   etk_range_value_get(ETK_RANGE(configgui->xfade));
  config->stop_on_exit =
   etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(configgui->stop));
  config->keep_aspect  =
   etk_toggle_button_active_get(ETK_TOGGLE_BUTTON(configgui->aspect));

  if(configgui->data)
    {
      etk_image_keep_aspect_set
        (ETK_IMAGE(((Emphasis_Gui*)configgui->data)->player->small.cover),
         config->keep_aspect);
      etk_image_keep_aspect_set
        (ETK_IMAGE(((Emphasis_Gui*)configgui->data)->player->full.cover),
         config->keep_aspect);
    }
  mpc_set_crossfade(config->crossfade);

  config_save(config);
  config_free(config);

  if(reconnect)
    {
      Emphasis_Gui *gui = configgui->data;
      emphasis_player_cover_set(gui->player, NULL);
      emphasis_player_progress_set(gui->player, 0.0, 0.001);
      mpc_disconnect();
    }
}