Esempio n. 1
0
void init_newrun_window_for_new_run(GtkWidget *widget, gpointer data)
{
        NEW_DATA *new_data = (NEW_DATA *) data;
        new_data->edit_index = -1;
        populate_MRUs(new_data);

        // keep deault date (today)
        set_date_calendar(GTK_CALENDAR(new_data->calendar), (gpointer) new_data);

        // setting the distance to 0
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(new_data->distance_chooser), 0);

        // setting the time fields to 0
        gtk_entry_buffer_set_text(new_data->seconds_buff, "00", 2);
        gtk_entry_buffer_set_text(new_data->minutes_buff, "00", 2);
        gtk_entry_buffer_set_text(new_data->hours_buff, "00", 2); 

        printf("setting combobox to nothing!!\n");
        GtkWidget *entry = gtk_bin_get_child(GTK_BIN(new_data->route_entry));
        gtk_entry_set_text(GTK_ENTRY(entry), "");
        entry = gtk_bin_get_child(GTK_BIN(new_data->workout_type_entry));
        gtk_entry_set_text(GTK_ENTRY(entry), "");

        // setting the feel3 button active 
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->feel3), true);

        // setting the morning button active
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->time1), true);
        
        //clearing the notes buffer
        gtk_text_buffer_set_text(new_data->notes_buff, "\0", -1);

        open_window(GTK_WIDGET(widget), (gpointer) new_data->newrun_window);

}
Esempio n. 2
0
void on_entry_insert( GtkEntryBuffer *buf, guint position, gchar *chars,
                                            guint n_chars, gpointer user_data )
{
    char* new_text = NULL;
    const char* text = gtk_entry_buffer_get_text( buf );
    if ( !text )
        return;

    if ( strchr( text, '\n' ) )
    {
        // remove linefeeds from pasted text       
        text = new_text = replace_string( text, "\n", "", FALSE );
    }
    
    // remove leading spaces for test
    while ( text[0] == ' ' )
        text++;
    
    if ( text[0] == '\'' && g_str_has_suffix( text, "'" ) && text[1] != '\0' )
    {
        // path is quoted - assume bash quote
        char* unquote = g_strdup( text + 1 );
        unquote[strlen( unquote ) - 1] = '\0';
        g_free( new_text );
        new_text = replace_string( unquote, "'\\''", "'", FALSE );
        g_free( unquote );
    }

    if ( new_text )
    {
        gtk_entry_buffer_set_text( buf, new_text, -1 );
        g_free( new_text );
    }
}
Esempio n. 3
0
/*****************************************************
*主页面 设置过滤规则
*****************************************************/
void on_main_filter_entry_activate(GtkWidget * gw, gpointer data)
{
	GtkEntry *filter_entry;
	filter_entry =
	    GTK_ENTRY(gtk_builder_get_object(builder, "main_filter_entry"));
	gtk_entry_buffer_set_text(gtk_entry_get_buffer(filter_entry), "", 0);
}
Esempio n. 4
0
/**
 * gtk_entry_buffer_new:
 * @initial_chars: (allow-none): initial buffer text, or %NULL
 * @n_initial_chars: number of characters in @initial_chars, or -1
 *
 * Create a new GtkEntryBuffer object.
 *
 * Optionally, specify initial text to set in the buffer.
 *
 * Return value: A new GtkEntryBuffer object.
 *
 * Since: 2.18
 **/
GtkEntryBuffer*
gtk_entry_buffer_new (const gchar *initial_chars,
                      gint         n_initial_chars)
{
  GtkEntryBuffer *buffer = g_object_new (GTK_TYPE_ENTRY_BUFFER, NULL);
  if (initial_chars)
    gtk_entry_buffer_set_text (buffer, initial_chars, n_initial_chars);
  return buffer;
}
Esempio n. 5
0
void on_entry_insert( GtkEntryBuffer *buf, guint position, gchar *chars,
                                            guint n_chars, gpointer user_data )
{   // remove linefeeds from pasted text
    if ( !strchr( gtk_entry_buffer_get_text( buf ), '\n' ) )
        return;

    char* new_text = replace_string( gtk_entry_buffer_get_text( buf ), "\n", "", FALSE );
    gtk_entry_buffer_set_text( buf, new_text, -1 );
    g_free( new_text );
}
Esempio n. 6
0
File: gui.cpp Progetto: dynbit/TFOS
void GUI::run_program_step(GtkWidget * button_widget){
    std::vector<GuiNotebookItem>::iterator iter;
    iter = this->gui_notebook_item_list.begin();
    bool widget_found = false;
    GuiNotebookItem * needed_item;
    while( (iter != this->gui_notebook_item_list.end()) && !widget_found) {
        needed_item = & *iter;
        if (button_widget == needed_item->run_button){
            widget_found = true;
        }
        ++iter;
    }

    if (needed_item->vmachine == NULL){
        needed_item->vmachine = new vm(this->rmachine, (int)this->vmnumber, needed_item->filepath);
        this->vmnumber++;
    }

    std::string temp_reg;
    std::stringstream out;

    if (needed_item->vmachine->finish == false ){
        needed_item->vmachine->step();

        out.str("");
        out << needed_item->vmachine->IC;
        temp_reg = out.str();
        this->rmword->renew("10", temp_reg);
        temp_reg = this->rmword->hexadimal();
        gtk_entry_buffer_set_text (this->ic_buffer, temp_reg.c_str(), -1);

        temp_reg = "";
        out.str("");
        out << needed_item->vmachine->ST;
        out >> temp_reg;
        this->rmword->renew("10", temp_reg);
        temp_reg = this->rmword->hexadimal();
        gtk_entry_buffer_set_text (this->st_buffer, temp_reg.c_str(), -1);
    }
static void
text_inserted (GtkEditable *editable,
               gchar       *new_text,
               gint         new_text_length,
               gint        *position,
               gpointer     user_data)
{
  GtkEntryBuffer *buffer;
  gchar* new_label;
  gint i;
  gint current_length, max_length;
  gboolean valid;

  valid = TRUE;
  buffer = gtk_entry_get_buffer (GTK_ENTRY (editable));
  current_length = gtk_entry_buffer_get_length (buffer);
  max_length = gtk_entry_get_max_length (GTK_ENTRY (editable));

  /* honor max length property */
  if (current_length + new_text_length > max_length)
    return;

  /* stop the default implementation */
  g_signal_stop_emission (editable, g_signal_lookup ("insert-text", GTK_TYPE_ENTRY), 0);

  for (i = 0; i < new_text_length; i++)
    {
      gchar c;
      c = *(new_text + i);

      /* trying to insert a non-numeric char */
      if (c < '0' || c > '9')
        {
          valid = FALSE;
          break;
        }
    }

  if (!valid)
    return;

  new_label = g_strdup_printf ("%s%s", gtk_entry_buffer_get_text (buffer), new_text);
  gtk_entry_buffer_set_text (buffer, new_label, current_length + new_text_length);
  *position = *position + new_text_length;

  g_free (new_label);
}
static void on_click_file_choose_button(GtkButton* button, gpointer user_data)
{
    GtkWidget* dialog = gtk_file_chooser_dialog_new(_("Select Python binary"),
                                                    NULL,
						    GTK_FILE_CHOOSER_ACTION_OPEN,
						    _("_Cancel"),
						    GTK_RESPONSE_CANCEL,
						    _("_Open"),
						    GTK_RESPONSE_ACCEPT,
						    NULL);
    GtkFileChooser* chooser = GTK_FILE_CHOOSER(dialog);
    gint res = gtk_dialog_run(GTK_DIALOG(dialog));
    if (res == GTK_RESPONSE_ACCEPT)
    {
	char* filename = gtk_file_chooser_get_filename(chooser);
	gtk_entry_buffer_set_text(pref_widgets.pypath_buffer, filename, -1);
	g_free(filename);
    }
    gtk_widget_destroy(dialog);
}
Esempio n. 9
0
static void
gtk_entry_buffer_set_property (GObject      *obj,
                               guint         prop_id,
                               const GValue *value,
                               GParamSpec   *pspec)
{
  GtkEntryBuffer *buffer = GTK_ENTRY_BUFFER (obj);

  switch (prop_id)
    {
    case PROP_TEXT:
      gtk_entry_buffer_set_text (buffer, g_value_get_string (value), -1);
      break;
    case PROP_MAX_LENGTH:
      gtk_entry_buffer_set_max_length (buffer, g_value_get_int (value));
      break;
    default:
      G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec);
      break;
    }
}
Esempio n. 10
0
void init_newrun_window_for_edit(GtkWidget *widget, gpointer data)
{

        NEW_DATA *new_data = (NEW_DATA *) data;
        populate_MRUs(new_data);

        GtkTreeSelection *selection;
        GtkTreeModel *model;
        GtkTreeIter iter;
        GValue value = G_VALUE_INIT;

        gchar buff[30];
        gchar seconds_buff[3];
        gchar minutes_buff[3];
        gchar hours_buff[3];

        selection = gtk_tree_view_get_selection(new_data->runlist);
        gtk_tree_selection_set_mode(selection, GTK_SELECTION_SINGLE);
        gtk_tree_selection_get_selected(selection, &model, &iter);
        gtk_tree_model_get_value(model, &iter, INDEX, &value);
        new_data->edit_index = g_value_get_int(&value);

        // set the date
        set_time_strings(new_data->database->run[new_data->edit_index]->duration,
                        hours_buff, minutes_buff, seconds_buff);

        gtk_spin_button_set_value(GTK_SPIN_BUTTON(new_data->day_chooser), 
                        new_data->database->run[new_data->edit_index]->day);
        g_snprintf(buff, 30, 
                "%i", new_data->database->run[new_data->edit_index]->month);
        gtk_combo_box_set_active_id(GTK_COMBO_BOX(new_data->month_chooser), buff);
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(new_data->year_chooser), 
                        new_data->database->run[new_data->edit_index]->year);

        // setting the distance  
        gtk_spin_button_set_value(GTK_SPIN_BUTTON(new_data->distance_chooser), 
                        new_data->database->run[new_data->edit_index]->distance);

        // setting the time fields
        gtk_entry_buffer_set_text(new_data->seconds_buff, seconds_buff, 2);
        gtk_entry_buffer_set_text(new_data->minutes_buff, minutes_buff, 2);
        gtk_entry_buffer_set_text(new_data->hours_buff, hours_buff, 2); 

        // setting the entries
        GtkWidget *entry = gtk_bin_get_child(GTK_BIN(new_data->route_entry));
        gtk_entry_set_text(GTK_ENTRY(entry), 
                new_data->database->run[new_data->edit_index]->route); 

        entry = gtk_bin_get_child(GTK_BIN(new_data->workout_type_entry));
        gtk_entry_set_text(GTK_ENTRY(entry), 
                new_data->database->run[new_data->edit_index]->type); 

        // setting the feel button active 
        switch (new_data->database->run[new_data->edit_index]->feel) {
        case 1:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->feel1), true);
                break;
        case 2:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->feel2), true);
                break;
        case 3:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->feel3), true);
                break;
        case 4:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->feel4), true);
                break;
        case 5:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->feel5), true);
                break;
        }

        // setting the time of day button active
        switch (new_data->database->run[new_data->edit_index]->time) {
        case 1:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->time1), true);
                break;
        case 2:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->time2), true);
                break;
        case 3:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->time3), true);
                break;
        case 4:
                gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(new_data->time4), true);
                break;
        }

        //clearing the notes buffer
        gtk_text_buffer_set_text(new_data->notes_buff,
                new_data->database->run[new_data->edit_index]->notes, 
                new_data->database->run[new_data->edit_index]->notes_len);


        open_window(GTK_WIDGET(widget), (gpointer) new_data->newrun_window);
}