static GtkWidget * state_get_properties(State *state) { StatePropertiesDialog *prop_dialog; GtkWidget *dialog; GSList *group; if (properties_dialog == NULL) { prop_dialog = g_new(StatePropertiesDialog, 1); properties_dialog = prop_dialog; dialog = gtk_vbox_new(FALSE, 0); prop_dialog->dialog = dialog; prop_dialog->normal = gtk_radio_button_new_with_label (NULL, _("Normal")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->normal, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->normal); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prop_dialog->normal), TRUE); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->normal)); prop_dialog->begin = gtk_radio_button_new_with_label(group, _("Begin")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->begin, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->begin); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->begin)); prop_dialog->end = gtk_radio_button_new_with_label(group, _("End")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->end, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->end); } fill_in_dialog(state); gtk_widget_show (properties_dialog->dialog); return properties_dialog->dialog; }
PRIVATE void init_wavform( Control *control ) { GtkWidget *vbox; WavFormData *wdata = safe_malloc( sizeof( WavFormData ) ); control->data = wdata; vbox = gtk_vbox_new(FALSE, 0); gtk_widget_show(vbox); wdata->sin_button = gtk_radio_button_new_with_label(NULL, "sin"); gtk_signal_connect( GTK_OBJECT(wdata->sin_button), "pressed", GTK_SIGNAL_FUNC(wav_sin_pressed), (gpointer) control ); wdata->sqr_button = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(wdata->sin_button)), "sqr"); gtk_signal_connect( GTK_OBJECT(wdata->sqr_button), "pressed", GTK_SIGNAL_FUNC(wav_sqr_pressed), (gpointer) control ); wdata->saw_button = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(wdata->sqr_button)), "saw"); gtk_signal_connect( GTK_OBJECT(wdata->saw_button), "pressed", GTK_SIGNAL_FUNC(wav_saw_pressed), (gpointer) control ); wdata->tri_button = gtk_radio_button_new_with_label(gtk_radio_button_group(GTK_RADIO_BUTTON(wdata->saw_button)), "tri"); gtk_signal_connect( GTK_OBJECT(wdata->tri_button), "pressed", GTK_SIGNAL_FUNC(wav_tri_pressed), (gpointer) control ); gtk_box_pack_start(GTK_BOX(vbox), wdata->sin_button, TRUE, TRUE, 0); gtk_widget_show(wdata->sin_button); gtk_box_pack_start(GTK_BOX(vbox), wdata->sqr_button, TRUE, TRUE, 0); gtk_widget_show(wdata->sqr_button); gtk_box_pack_start(GTK_BOX(vbox), wdata->saw_button, TRUE, TRUE, 0); gtk_widget_show(wdata->saw_button); gtk_box_pack_start(GTK_BOX(vbox), wdata->tri_button, TRUE, TRUE, 0); gtk_widget_show(wdata->tri_button); control->widget = vbox; }
GtkWidget *add_radio_button(gchar *label, gpointer call, gpointer arg) { GtkWidget *button; /* printf("Adding button: %d (%d) to (%p)\n", count, active, group); */ /* better error checking - even call new_radio_group() ??? */ g_return_val_if_fail(box != NULL, NULL); /* make a new button */ button = gtk_radio_button_new_with_label(group, label); /* get the group (for the next button) */ /* NB: it is vital that this is ALWAYS done */ group = gtk_radio_button_group(GTK_RADIO_BUTTON(button)); /* attach the callback */ g_signal_connect_swapped(GTK_OBJECT(button), "pressed", GTK_SIGNAL_FUNC(call), (gpointer) arg); /* pack the button */ gtk_box_pack_start(GTK_BOX(box), button, fill1, fill2, 0); /* set active? */ if (active == count++) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); return(button); }
void create_gtkdemo_speed (GtkWidget *window,int hCamera,tSdkCameraCapbility * pCameraInfo) { int i,size=pCameraInfo->iFrameSpeedDesc; GtkWidget *layout_speed; GtkWidget *radio_speed[size]; GtkWidget * box; GSList *group=NULL; layout_speed = GTK_WIDGET(gtk_builder_get_object(Demo_builder, "layout_speed")); box = gtk_hbox_new(FALSE,10); gtk_container_set_border_width(GTK_CONTAINER(box),10); gtk_container_add(GTK_CONTAINER(layout_speed),box); //创建多选按钮组 for(i=0;i<size;i++){ radio_speed[i] = gtk_radio_button_new_with_label(group,pCameraInfo->pFrameSpeedDesc[i].acDescription); group=gtk_radio_button_group(GTK_RADIO_BUTTON(radio_speed[i]));/*将按钮加入组装框*/ g_signal_connect(G_OBJECT(radio_speed[i]),"released",G_CALLBACK(on_radio_speed_clicked),(gpointer)i); gtk_box_pack_start(GTK_BOX(box),radio_speed[i],FALSE,FALSE,5); GLADE_HOOKUP_OBJECT (window, radio_speed[i], pCameraInfo->pFrameSpeedDesc[i].acDescription); } gtk_widget_show_all(box); return ; }
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkCheckboxGroupPeer_remove (JNIEnv *env, jobject obj, jobject checkbox) { GtkRadioButton *button; void *ptr; GSList *list; ptr = NSA_GET_PTR (env, checkbox); gdk_threads_enter (); button = GTK_RADIO_BUTTON (ptr); /* Update the group to point to some other widget in the group. We have to do this because Gtk doesn't have a separate object to represent a radio button's group. */ for (list = gtk_radio_button_group (button); list != NULL; list = list->next) { if (list->data != button) break; } gdk_threads_leave (); NSA_SET_PTR (env, obj, list ? list->data : NULL); }
GtkWidget *make_new_radiobutton(char *label, gboolean val, GSList **group, GtkWidget *box) { GtkWidget *ret = gtk_radio_button_new_with_label(*group, label); *group = gtk_radio_button_group(GTK_RADIO_BUTTON(ret)); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(ret), val); gtk_box_pack_start(GTK_BOX(box), ret, FALSE, FALSE, 0); return ret; }
void radio_button_print_state( GtkRadioButton* button ){ globalOutputStream() << "toggle button: "; for ( GSList* radio = gtk_radio_button_group( button ); radio != 0; radio = g_slist_next( radio ) ) { globalOutputStream() << gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( radio->data ) ); } globalOutputStream() << "\n"; }
bool wxRadioButton::Create( wxWindow *parent, wxWindowID id, const wxString& label, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name ) { m_acceptsFocus = TRUE; m_needParent = TRUE; m_blockEvent = FALSE; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxRadioButton creation failed") ); return FALSE; } GSList* radioButtonGroup = NULL; if (!HasFlag(wxRB_GROUP)) { // search backward for last group start wxRadioButton *chief = NULL; wxWindowList::compatibility_iterator node = parent->GetChildren().GetLast(); while (node) { wxWindow *child = node->GetData(); if (child->IsRadioButton()) { chief = (wxRadioButton*) child; if (child->HasFlag(wxRB_GROUP)) break; } node = node->GetPrevious(); } if (chief) { // we are part of the group started by chief radioButtonGroup = gtk_radio_button_group( GTK_RADIO_BUTTON(chief->m_widget) ); } } m_widget = gtk_radio_button_new_with_label( radioButtonGroup, wxGTK_CONV( label ) ); SetLabel(label); gtk_signal_connect( GTK_OBJECT(m_widget), "clicked", GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this ); m_parent->DoAddChild( this ); PostCreation(size); return TRUE; }
GtkWidget * AddRadioButton( const char * title,GSList ** group,GtkWidget * parent ) { GtkWidget * RB; RB=gtk_radio_button_new_with_label( *group,title ); *group=gtk_radio_button_group( GTK_RADIO_BUTTON( RB ) ); gtk_widget_set_name( RB,"RB" ); gtk_widget_show( RB ); gtk_box_pack_start( GTK_BOX( parent ),RB,FALSE,FALSE,0 ); return RB; }
static GtkWidget * radiobutton_new(GladeXML *xml, GladeWidgetInfo *info) { GtkWidget *button; GList *tmp; char *string = NULL; gboolean active = FALSE, draw_indicator = TRUE; GSList *group = NULL; char *group_name = NULL; for (tmp = info->attributes; tmp; tmp = tmp->next) { GladeAttribute *attr = tmp->data; if (!strcmp(attr->name, "label")) string = attr->value; else if (!strcmp(attr->name, "active")) active = attr->value[0] == 'T'; else if (!strcmp(attr->name, "draw_indicator")) draw_indicator = attr->value[0] == 'T'; else if (!strcmp(attr->name, "group")){ group_name = attr->value; group = g_hash_table_lookup (xml->priv->radio_groups, group_name); if (!group) group_name = g_strdup(group_name); } } if (string != NULL) { guint key; button = gtk_radio_button_new_with_label(group, ""); key = gtk_label_parse_uline(GTK_LABEL(GTK_BIN(button)->child), string[0] ? _(string) : ""); if (key) gtk_widget_add_accelerator(button, "clicked", glade_xml_ensure_accel(xml), key, GDK_MOD1_MASK, 0); } else button = gtk_radio_button_new (group); if (group_name) { GtkRadioButton *radio = GTK_RADIO_BUTTON (button); g_hash_table_insert (xml->priv->radio_groups, group_name, gtk_radio_button_group (radio)); } gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), active); gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(button), draw_indicator); return button; }
void pageTwo() { songInit(); makeDrumKit(); gtk_window_set_title (GTK_WINDOW (window), "Drum Studio"); hbox = gtk_hbox_new( 0, 0); radio1 = gtk_radio_button_new(NULL); gtk_box_pack_start (GTK_BOX(hbox),radio1,0,0,0); radio2 = gtk_radio_button_new( gtk_radio_button_group(GTK_RADIO_BUTTON(radio1))); gtk_box_pack_start (GTK_BOX(hbox),radio2,0,0,0); radio4 = gtk_radio_button_new( gtk_radio_button_group(GTK_RADIO_BUTTON(radio2))); gtk_box_pack_start (GTK_BOX(hbox),radio4,0,0,0); radio8 = gtk_radio_button_new( gtk_radio_button_group(GTK_RADIO_BUTTON(radio4))); gtk_box_pack_start (GTK_BOX(hbox),radio8,0,0,0); gtk_widget_set_size_request(radio1,100,20); gtk_widget_set_size_request(radio2,100,20); gtk_widget_set_size_request(radio4,100,20); gtk_widget_set_size_request(radio8,100,20); g_signal_connect(radio1,"toggled",G_CALLBACK(setDur),(gpointer)"1"); g_signal_connect(radio2,"toggled",G_CALLBACK(setDur),(gpointer)"2"); g_signal_connect(radio4,"toggled",G_CALLBACK(setDur),(gpointer)"4"); g_signal_connect(radio8,"toggled",G_CALLBACK(setDur),(gpointer)"8"); LeftTable = gtk_table_new (15, 5, TRUE); gtk_table_attach_defaults (GTK_TABLE (LeftTable),hbox , 0, 1, 0, 1); gtk_table_attach_defaults (GTK_TABLE (MainTable),LeftTable , 0, 1, 0, 1); }
GSList * stpui_create_radio_button(radio_group_t *radio, GSList *group, GtkWidget *table, int hpos, int vpos, GCallback callback) { radio->button = gtk_radio_button_new_with_label(group, gettext(radio->name)); group = gtk_radio_button_group(GTK_RADIO_BUTTON(radio->button)); stpui_table_attach_aligned(GTK_TABLE(table), hpos, vpos, NULL, 0.5, 0.5, radio->button, 1, FALSE); stpui_set_help_data(radio->button, gettext(radio->help)); g_signal_connect(G_OBJECT(radio->button), "toggled", G_CALLBACK(callback), (gpointer) radio->value); return group; }
static void init_run_mode_window(void) { /* define the radio buttons */ ctrl_usr->rm_stop_button = gtk_radio_button_new_with_label(NULL, "Stop"); ctrl_usr->rm_normal_button = gtk_radio_button_new_with_label(gtk_radio_button_group (GTK_RADIO_BUTTON(ctrl_usr->rm_stop_button)), "Normal"); ctrl_usr->rm_single_button = gtk_radio_button_new_with_label(gtk_radio_button_group (GTK_RADIO_BUTTON(ctrl_usr->rm_stop_button)), "Single"); ctrl_usr->rm_roll_button = gtk_radio_button_new_with_label(gtk_radio_button_group (GTK_RADIO_BUTTON(ctrl_usr->rm_stop_button)), "Roll"); /* now put them into the box */ gtk_box_pack_start(GTK_BOX(ctrl_usr->run_mode_win), ctrl_usr->rm_normal_button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ctrl_usr->run_mode_win), ctrl_usr->rm_single_button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ctrl_usr->run_mode_win), ctrl_usr->rm_roll_button, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(ctrl_usr->run_mode_win), ctrl_usr->rm_stop_button, FALSE, FALSE, 0); /* hook callbacks to buttons */ gtk_signal_connect(GTK_OBJECT(ctrl_usr->rm_normal_button), "clicked", GTK_SIGNAL_FUNC(rm_normal_button_clicked), NULL); gtk_signal_connect(GTK_OBJECT(ctrl_usr->rm_single_button), "clicked", GTK_SIGNAL_FUNC(rm_single_button_clicked), NULL); gtk_signal_connect(GTK_OBJECT(ctrl_usr->rm_roll_button), "clicked", GTK_SIGNAL_FUNC(rm_roll_button_clicked), NULL); gtk_signal_connect(GTK_OBJECT(ctrl_usr->rm_stop_button), "clicked", GTK_SIGNAL_FUNC(rm_stop_button_clicked), NULL); /* and make them visible */ gtk_widget_show(ctrl_usr->rm_normal_button); gtk_widget_show(ctrl_usr->rm_single_button); gtk_widget_show(ctrl_usr->rm_roll_button); gtk_widget_show(ctrl_usr->rm_stop_button); }
int radio_button_get_active( GtkRadioButton* radio ){ //radio_button_print_state(radio); GSList *group = gtk_radio_button_group( radio ); int index = g_slist_length( group ) - 1; for (; group != 0; group = g_slist_next( group ) ) { if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( group->data ) ) ) { break; } else { index--; } } return index; }
/** * Given a radio button it returns a pointer to the active radio * button in the group the given button is in. * * @returns NULL if there is no active button. */ GtkWidget * radiobutton_get_active_in_group(GtkRadioButton *rb) { GSList *i; g_assert(rb != NULL); for (i = gtk_radio_button_group(rb); i != NULL; i = g_slist_next(i)) { GtkToggleButton *tb = GTK_TOGGLE_BUTTON(i->data); if (gtk_toggle_button_get_active(tb)) return GTK_WIDGET(tb); } return NULL; }
static void find_parents_group (GtkWidget * widget, GSList ** group) { /* If a group has already been found, return. */ if (*group) return; if (GTK_IS_RADIO_BUTTON (widget)) { gchar *group_name = gtk_object_get_data (GTK_OBJECT (widget), Group); /* Check if this radio button is using the default (parent's) group. */ if (group_name == NULL) { *group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget)); } } }
/* {EV_RADIO_BUTTON_IMP}.radio_group */ EIF_POINTER F1155_16208 (EIF_REFERENCE Current) { GTCX EIF_POINTER tp1; EIF_POINTER Result = ((EIF_POINTER) 0); RTLD; RTLI(1); RTLR(0,Current); RTGC; tp1 = F1079_14146(Current); Result = (EIF_POINTER) gtk_radio_button_group((GtkRadioButton*) tp1); RTLE; return Result; }
void make_radio_group (const char **labels, GtkWidget *tobox, GtkWidget **saveptr, gint t1, gint t2, void (*sigfunc) (void)) { GtkWidget *thing = NULL; while (*labels) { thing = gtk_radio_button_new_with_label ((thing ? gtk_radio_button_group (GTK_RADIO_BUTTON (thing)) : 0), *labels++); *saveptr++ = thing; gtk_widget_show (thing); gtk_box_pack_start (GTK_BOX (tobox), thing, t1, t2, 0); gtk_signal_connect (GTK_OBJECT (thing), "clicked", (GtkSignalFunc) sigfunc, NULL); } }
/* This recursively steps though a complete component's hierarchy to find a radio button with a particular group name set. When found the radio button's group list is returned in find_group_data->group. */ static void find_group (GtkWidget * widget, GbFindGroupData * find_group_data) { /* If group has been found just return. */ if (find_group_data->group) return; if (GTK_IS_RADIO_BUTTON (widget)) { gchar *group_name = gtk_object_get_data (GTK_OBJECT (widget), Group); if (group_name && !strcmp (group_name, find_group_data->group_name)) { find_group_data->group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget)); return; } } if (GTK_IS_CONTAINER (widget)) gtk_container_foreach (GTK_CONTAINER (widget), (GtkCallback) find_group, find_group_data); }
JNIEXPORT void JNICALL Java_gnu_java_awt_peer_gtk_GtkCheckboxPeer_nativeSetCheckboxGroup (JNIEnv *env, jobject obj, jobject group) { GtkRadioButton *button; void *native_group, *ptr; ptr = NSA_GET_PTR (env, obj); gdk_threads_enter (); /* FIXME: we can't yet switch between a checkbutton and a radiobutton. However, AWT requires this. For now we just crash. */ button = GTK_RADIO_BUTTON (ptr); native_group = NSA_GET_PTR (env, group); if (native_group == NULL) gtk_radio_button_set_group (button, NULL); else gtk_radio_button_set_group (button, gtk_radio_button_group (GTK_RADIO_BUTTON (native_group))); gdk_threads_leave (); /* If the native group wasn't set on the new CheckboxGroup, then set it now so that the right thing will happen with the next radiobutton. The native state for a CheckboxGroup is a pointer to one of the widgets in the group. We are careful to keep this always pointing at a live widget; whenever a widget is destroyed (or otherwise removed from the group), the CheckboxGroup peer is notified. */ if (native_group == NULL) NSA_SET_PTR (env, group, native_group); }
/* * Sets the properties of the widget. This is used for both applying the * properties changed in the property editor, and also for loading. */ static void gb_radio_button_set_properties (GtkWidget * widget, GbWidgetSetArgData * data) { gboolean state, indicator; gchar *group_name; GSList *group = NULL, *current_group; GbFindGroupData find_group_data; if (gb_toolbar_is_toolbar_button (widget)) { gb_toolbar_input_child_label (widget, data, Label); gb_toolbar_input_child_icon (widget, data, Icon); } else { gb_widget_input_child_label (widget, data, Label); } state = gb_widget_input_bool (data, State); if (data->apply) { gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), state); if (state) data->widget_data->flags |= GLADE_ACTIVE; else data->widget_data->flags &= ~GLADE_ACTIVE; } indicator = gb_widget_input_bool (data, Indicator); if (data->apply) gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (widget), indicator); /* Find any widgets in given group and set this widgets group. If group is NULL try to find radiobuttons with same parent and use their group. If these don't succeed, set group to NULL. */ group_name = gb_widget_input_combo (data, Group); if (data->apply) { if (group_name && group_name[0] == '\0') group_name = NULL; current_group = gtk_radio_button_group (GTK_RADIO_BUTTON (widget)); if (group_name == NULL) gtk_container_foreach (GTK_CONTAINER (widget->parent), (GtkCallback) find_parents_group, &group); else { find_group_data.group_name = group_name; find_group_data.group = NULL; find_group (gtk_widget_get_toplevel (widget), &find_group_data); group = find_group_data.group; } g_free (gtk_object_get_data (GTK_OBJECT (widget), Group)); gtk_object_set_data (GTK_OBJECT (widget), Group, g_strdup (group_name)); /* This crashes if we set the group to NULL, so we have to reset the group ourself. We only set the group if it has changed. */ if (group) { if (group != current_group) { if (current_group->data == widget) current_group = current_group->next; gtk_radio_button_set_group (GTK_RADIO_BUTTON (widget), group); gb_radio_button_update_radio_group (current_group); gb_radio_button_update_radio_group (gtk_radio_button_group (GTK_RADIO_BUTTON (widget))); } } else { if (g_slist_length (current_group) != 1) { current_group = gb_radio_button_reset_radio_group (widget); gb_radio_button_update_radio_group (current_group); gb_radio_button_update_radio_group (gtk_radio_button_group (GTK_RADIO_BUTTON (widget))); } } } }
void l_doksmat(short dp,short mp,short gp,GtkWidget *wpredok) { doksmat_data data; char bros[312]; GdkColor color; data.dp=dp; data.mp=mp; data.gp=gp; data.window = gtk_window_new (GTK_WINDOW_TOPLEVEL); //gtk_widget_set_usize(GTK_WIDGET(data.window),1000,768); //gtk_widget_set_size_request(GTK_WIDGET(data.window),1024,768); //gtk_window_set_default_size(GTK_WINDOW(data.window),400,300); //gtk_window_resize(GTK_WINDOW(data.window),1024,768); //gtk_window_maximize(GTK_WINDOW(data.window)); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(bros,"%s %s (%s)",name_system, gettext("Список документов"), gettext("Материальный учёт")); gtk_window_set_title (GTK_WINDOW (data.window),iceb_u_toutf(bros)); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL); gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(doksmat_key_press),&data); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_release_event",GTK_SIGNAL_FUNC(iceb_key_release),&data.kl_shift); GtkWidget *hbox = gtk_hbox_new (FALSE, 1); gtk_container_add (GTK_CONTAINER (data.window), hbox); GtkWidget *vbox1 = gtk_vbox_new (FALSE, 1); GtkWidget *vbox2 = gtk_vbox_new (FALSE, 1); gtk_box_pack_start (GTK_BOX (hbox), vbox1, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0); gtk_widget_show(hbox); sprintf(bros,"%s (%s)", gettext("Список документов"), gettext("Материальный учёт")); data.label_kolstr=gtk_label_new (iceb_u_toutf(bros)); gtk_box_pack_start (GTK_BOX (vbox2),data.label_kolstr,FALSE, FALSE, 0); gtk_widget_show(vbox1); gtk_widget_show(vbox2); data.label_metka=gtk_label_new (""); data.label_poisk=gtk_label_new (""); gdk_color_parse("red",&color); gtk_widget_modify_fg(data.label_metka,GTK_STATE_NORMAL,&color); gtk_widget_modify_fg(data.label_poisk,GTK_STATE_NORMAL,&color); gtk_box_pack_start (GTK_BOX (vbox2),data.label_metka,FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox2),data.label_poisk,FALSE, FALSE, 0); data.sw = gtk_scrolled_window_new (NULL, NULL); //gtk_widget_set_usize(GTK_WIDGET(data.sw),400,300); gtk_widget_set_size_request(GTK_WIDGET(data.sw),400,300); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (data.sw),GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data.sw),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC); //gtk_box_pack_start (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox2), data.sw, TRUE, TRUE, 0); GtkWidget *hboxradio = gtk_hbox_new (TRUE, 0); //Вставляем радиокнопки GSList *group; data.radiobutton[0]=gtk_radio_button_new_with_label(NULL,gettext("Все")); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[0]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton[0]), "clicked",GTK_SIGNAL_FUNC(doksmat_radio0),&data); //gtk_object_set_user_data(GTK_OBJECT(data.radiobutton0),(gpointer)"0"); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[0])); sprintf(bros,"%s \"?\"",gettext("Помеченные")); data.radiobutton[1]=gtk_radio_button_new_with_label(group,bros); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[1]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[1]), "clicked",GTK_SIGNAL_FUNC(doksmat_radio1),&data); gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[1], TRUE, TRUE, 0); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[1])); sprintf(bros,"%s \"*\"",gettext("Помеченные")); data.radiobutton[2]=gtk_radio_button_new_with_label(group,bros); // gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[2]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[2]), "clicked",GTK_SIGNAL_FUNC(doksmat_radio2),&data); gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[2], TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX (vbox2), hboxradio, FALSE,FALSE, 0); gtk_widget_show_all(hboxradio); //Кнопки GtkTooltips *tooltips[KOL_F_KL]; sprintf(bros,"F2 %s",gettext("Просмотр")); data.knopka[FK2]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK2],TRUE,TRUE, 0); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Просмотр выбранного документа"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_widget_show(data.knopka[FK2]); sprintf(bros,"F4 %s",gettext("Поиск")); data.knopka[FK4]=gtk_button_new_with_label(bros); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK4],TRUE,TRUE, 0); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Поиск нужных записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_widget_show(data.knopka[FK4]); sprintf(bros,"F5 %s",gettext("Печать")); data.knopka[FK5]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK5],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK5]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); tooltips[FK5]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK5],data.knopka[FK5],gettext("Распечатка записей"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK5]),(gpointer)FK5); gtk_widget_show(data.knopka[FK5]); sprintf(bros,"F6 %s",gettext("Экспорт")); data.knopka[FK6]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK6],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK6]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); tooltips[FK6]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK6],data.knopka[FK6],gettext("Экспорт кассовых ордеров в подсистему \"Учёт кассовых оредров\""),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK6]),(gpointer)FK6); gtk_widget_show(data.knopka[FK6]); sprintf(bros,"F9 %s",gettext("Оплата")); data.knopka[FK9]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1), data.knopka[FK9],TRUE,TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka[FK9]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); tooltips[FK9]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK9],data.knopka[FK9],gettext("Переключение режимов просмотра (только оплаченыые, только не оплаченные, все)"),NULL); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK9]),(gpointer)FK9); gtk_widget_show(data.knopka[FK9]); sprintf(bros,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(bros); gtk_box_pack_start(GTK_BOX(vbox1),data.knopka[FK10],TRUE,TRUE, 0); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]), "clicked",GTK_SIGNAL_FUNC(doksmat_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_widget_show(data.knopka[FK10]); gtk_widget_realize(data.window); gdk_window_set_cursor(data.window->window,gdk_cursor_new(ICEB_CURSOR)); gtk_widget_grab_focus(data.knopka[FK10]); doksmat_create_list(&data); gtk_widget_show(data.window); gtk_window_maximize(GTK_WINDOW(data.window)); //gtk_window_fullscreen(GTK_WINDOW(data.window)); gtk_main(); if(wpredok != NULL) gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR)); printf("l_doksmat end\n"); }
void glkni_nbs_m() { glkni_nbs_rr rek_ras; glkni_nbs_data data; data.rek_r=&rek_ras; if(data.rek_r->datan.getdlinna() == 0) data.rek_r->clear_data(); char strsql[512]; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,gettext("Оборотный баланс")); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL); gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(glkni_nbs_v_key_press),&data); GtkWidget *label=gtk_label_new(gettext("Расчет оборотного баланса по забалансовым счетам")); GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); GtkWidget *hboxradio = gtk_hbox_new (FALSE, 0); //Вставляем радиокнопки GSList *group; data.radiobutton[0]=gtk_radio_button_new_with_label(NULL,gettext("Расчет по субсчетам")); if(data.rek_r->metka_r == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[0]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton[0]), "clicked",GTK_SIGNAL_FUNC(glkni_nbs_radio0),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[0])); data.radiobutton[1]=gtk_radio_button_new_with_label(group,gettext("Расчет по счетам")); if(data.rek_r->metka_r == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[1]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[1]), "clicked",GTK_SIGNAL_FUNC(glkni_nbs_radio1),&data); gtk_box_pack_start (GTK_BOX (hboxradio),data.radiobutton[1], TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), hboxradio); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s",gettext("Дата начала")); data.knopka_enter[E_DATAN]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.knopka_enter[E_DATAN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAN]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAN]),(gpointer)E_DATAN); tooltips_enter[E_DATAN]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAN],data.knopka_enter[E_DATAN],gettext("Выбор даты начала отчёта"),NULL); data.entry[E_DATAN] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.entry[E_DATAN], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAN]), "activate",GTK_SIGNAL_FUNC(glkni_nbs_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAN]),data.rek_r->datan.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAN]),(gpointer)E_DATAN); sprintf(strsql,"%s",gettext("Дата конца")); data.knopka_enter[E_DATAK]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.knopka_enter[E_DATAK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAK]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAK]),(gpointer)E_DATAK); tooltips_enter[E_DATAK]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAK],data.knopka_enter[E_DATAK],gettext("Выбор даты конца отчёта"),NULL); data.entry[E_DATAK] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.entry[E_DATAK], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAK]), "activate",GTK_SIGNAL_FUNC(glkni_nbs_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAK]),data.rek_r->datak.ravno()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAK]),(gpointer)E_DATAK); sprintf(strsql,"%s (,,)",gettext("Счет")); data.knopka_enter[E_SHET]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.knopka_enter[E_SHET], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_SHET]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_SHET]),(gpointer)E_SHET); tooltips_enter[E_SHET]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_SHET],data.knopka_enter[E_SHET],gettext("Выбор счёта в плане счетов"),NULL); data.entry[E_SHET] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.entry[E_SHET], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SHET]), "activate",GTK_SIGNAL_FUNC(glkni_nbs_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHET]),data.rek_r->shet.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHET]),(gpointer)E_SHET); GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Расчет")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Начать расчет"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); sprintf(strsql,"F4 %s",gettext("Очистить")); data.knopka[FK4]=gtk_button_new_with_label(strsql); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Очистить меню от введенной информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK4], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(glkni_nbs_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(data.voz == 0) { glkni_nbs_r(&rek_ras); } }
static GtkWidget * create_sound_note(void) { GtkWidget *main_vbox; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *frame; GtkWidget *button[NELEMENTS(sample_rate)]; GSList *gslist; int i; main_vbox = gtk_vbox_new(FALSE, 2); hbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(main_vbox), hbox, FALSE, FALSE, 10); gtk_widget_show(hbox); frame = gtk_frame_new("Sample rate"); gtk_container_set_border_width(GTK_CONTAINER(frame), 5); gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 0); gtk_widget_show(frame); vbox = gtk_vbox_new(FALSE, 5); gtk_container_add(GTK_CONTAINER(frame), vbox); gtk_widget_show(vbox); /* Sample rate */ for (gslist = 0, i = 0; i < NELEMENTS(sample_rate); ++i) { button[i] = gtk_radio_button_new_with_label(gslist, sample_rate[i].str); GTK_WIDGET_UNSET_FLAGS(button[i], GTK_CAN_FOCUS); gslist = gtk_radio_button_group(GTK_RADIO_BUTTON(button[i])); gtk_box_pack_start(GTK_BOX(vbox), button[i], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(button[i]), "clicked", GTK_SIGNAL_FUNC(sample_rate_button_clicked), (gpointer)sample_rate[i].rate); gtk_widget_show(button[i]); } for (i = 0; i < NELEMENTS(sample_rate); ++i) { if (sample_rate[i].rate == Config.SampleRate) break; } if (i == NELEMENTS(sample_rate)) i = 0; gtk_signal_emit_by_name(GTK_OBJECT(button[i]), "clicked"); vbox = gtk_vbox_new(FALSE, 4); gtk_box_pack_start(GTK_BOX(hbox), vbox, TRUE, TRUE, 10); gtk_widget_show(vbox); for (i = 0; i < NELEMENTS(sound_right_frame); ++i) { GtkObject *adjust; GtkWidget *hscale; GtkWidget *align; frame = gtk_frame_new(sound_right_frame[i].name); gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0); gtk_widget_show(frame); align = gtk_alignment_new(0.5, 0.5, 0.9, 0.9); gtk_container_add(GTK_CONTAINER(frame), align); gtk_widget_show(align); adjust = gtk_adjustment_new(sound_right_frame[i].value, sound_right_frame[i].min, sound_right_frame[i].max, 1.0, 0.0, 0.0); hscale = gtk_hscale_new(GTK_ADJUSTMENT(adjust)); gtk_scale_set_value_pos(GTK_SCALE(hscale), GTK_POS_RIGHT); gtk_scale_set_digits(GTK_SCALE(hscale), 0); gtk_container_add(GTK_CONTAINER(align), hscale); gtk_signal_connect(GTK_OBJECT(adjust), "value_changed", GTK_SIGNAL_FUNC(vol_adj_value_changed),(gpointer)i); gtk_widget_show(hscale); if (i == 0) gtk_adjustment_set_value(GTK_ADJUSTMENT(adjust), Config.BufferSize); else { int *p = (int *)(((char *)&Config) + sound_right_frame[i].offset); gtk_adjustment_set_value(GTK_ADJUSTMENT(adjust), *p); } } button[0] = gtk_check_button_new_with_label("Enable ADPCM LPF"); gtk_container_set_border_width(GTK_CONTAINER(button[0]), 5); gtk_box_pack_start(GTK_BOX(main_vbox), button[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button[0]), "clicked", GTK_SIGNAL_FUNC(adpcm_lpf_button_clicked), 0); gtk_widget_show(button[0]); if (Config.Sound_LPF) gtk_signal_emit_by_name(GTK_OBJECT(button[0]), "clicked"); return main_vbox; }
void Dialog::UpdateData( bool retrieve ){ DLG_DATA *data; GSList *lst; char buf[32]; if ( retrieve ) { for ( lst = m_pDataList; lst != NULL; lst = g_slist_next( lst ) ) { data = (DLG_DATA*)lst->data; switch ( data->type ) { case DLG_CHECK_BOOL: *(bool*)data->buffer = gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( data->object ) ); break; case DLG_RADIO_INT: { GSList *radio = gtk_radio_button_group( GTK_RADIO_BUTTON( data->object ) ); *(int*)data->buffer = g_slist_length( radio ) - 1; for (; radio; radio = g_slist_next( radio ) ) if ( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( radio->data ) ) ) { break; } else{ ( *(int*)data->buffer )--; } } break; case DLG_ENTRY_TEXT: { const char *txt; Str* str; str = (Str*)data->buffer; txt = gtk_entry_get_text( GTK_ENTRY( data->object ) ); *str = txt; } break; case DLG_ENTRY_FLOAT: *(float*)data->buffer = atof( gtk_entry_get_text( GTK_ENTRY( data->object ) ) ); break; case DLG_ENTRY_INT: *(int*)data->buffer = atoi( gtk_entry_get_text( GTK_ENTRY( data->object ) ) ); break; case DLG_SPIN_FLOAT: *(float*)data->buffer = gtk_spin_button_get_value_as_float( GTK_SPIN_BUTTON( data->object ) ); break; case DLG_SPIN_INT: *(int*)data->buffer = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( data->object ) ); break; case DLG_ADJ_INT: *(int*)data->buffer = (int) GTK_ADJUSTMENT( data->object )->value; break; case DLG_COMBO_INT: { GList *lst = GTK_LIST( GTK_COMBO( data->object )->list )->children; char *label; const char *entry; int i; *(int*)data->buffer = -1; entry = gtk_entry_get_text( GTK_ENTRY( GTK_COMBO( data->object )->entry ) ); for ( i = 0; lst != NULL; lst = g_list_next( lst ) ) { gtk_label_get( GTK_LABEL( GTK_BIN( lst->data )->child ), &label ); if ( strcmp( label, entry ) == 0 ) { *(int*)data->buffer = i; break; } i++; } } break; case DLG_COMBO_BOX_INT: { *(int*)data->buffer = gtk_combo_box_get_active( GTK_COMBO_BOX( data->object ) ); } break; } } } else { for ( lst = m_pDataList; lst != NULL; lst = g_slist_next( lst ) ) { data = (DLG_DATA*)lst->data; switch ( data->type ) { case DLG_CHECK_BOOL: gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( data->object ), *(bool*)data->buffer ); break; case DLG_RADIO_INT: { GSList *radio = gtk_radio_button_group( GTK_RADIO_BUTTON( data->object ) ); gpointer btn = g_slist_nth_data( radio, g_slist_length( radio ) - ( *(int*)data->buffer ) - 1 ); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( btn ), TRUE ); } break; case DLG_ENTRY_TEXT: { Str* str; str = (Str*)data->buffer; const char *txt = str->GetBuffer(); gtk_entry_set_text( GTK_ENTRY( data->object ), txt ); } break; case DLG_ENTRY_FLOAT: sprintf( buf, "%g", ( *(float*)data->buffer ) ); gtk_entry_set_text( GTK_ENTRY( data->object ), buf ); break; case DLG_ENTRY_INT: sprintf( buf, "%d", ( *(int*)data->buffer ) ); gtk_entry_set_text( GTK_ENTRY( data->object ), buf ); break; case DLG_SPIN_FLOAT: gtk_spin_button_set_value( GTK_SPIN_BUTTON( data->object ), ( *(float*)data->buffer ) ); break; case DLG_SPIN_INT: gtk_spin_button_set_value( GTK_SPIN_BUTTON( data->object ), ( *(int*)data->buffer ) ); break; case DLG_ADJ_INT: gtk_adjustment_set_value( GTK_ADJUSTMENT( data->object ), ( *(int*)data->buffer ) ); break; case DLG_COMBO_INT: { GList *lst = GTK_LIST( GTK_COMBO( data->object )->list )->children; char *entry = NULL; if ( *(int*)data->buffer != -1 ) { lst = g_list_nth( lst, *(int*)data->buffer ); if ( lst != NULL ) { gtk_label_get( GTK_LABEL( GTK_BIN( lst->data )->child ), &entry ); } } if ( entry ) { gtk_entry_set_text( GTK_ENTRY( GTK_COMBO( data->object )->entry ), entry ); } else{ gtk_entry_set_text( GTK_ENTRY( GTK_COMBO( data->object )->entry ), "" ); } } break; case DLG_COMBO_BOX_INT: { gtk_combo_box_set_active( GTK_COMBO_BOX( data->object ), *(int*)data->buffer ); } break; } } } }
GtkToggleButton* radio_button_get_nth( GtkRadioButton* radio, int index ){ GSList *group = gtk_radio_button_group( radio ); return GTK_TOGGLE_BUTTON( g_slist_nth_data( group, g_slist_length( group ) - index - 1 ) ); }
bool wxRadioBox::Create( wxWindow *parent, wxWindowID id, const wxString& title, const wxPoint &pos, const wxSize &size, int n, const wxString choices[], int majorDim, long style, const wxValidator& validator, const wxString &name ) { if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxRadioBox creation failed") ); return false; } m_widget = gtk_frame_new( wxGTK_CONV( title ) ); // majorDim may be 0 if all trailing parameters were omitted, so don't // assert here but just use the correct value for it m_majorDim = majorDim == 0 ? n : majorDim; int num_per_major = (n - 1) / m_majorDim +1; int num_of_cols = 0; int num_of_rows = 0; if (HasFlag(wxRA_SPECIFY_COLS)) { num_of_cols = m_majorDim; num_of_rows = num_per_major; } else { num_of_cols = num_per_major; num_of_rows = m_majorDim; } GtkRadioButton *m_radio = (GtkRadioButton*) NULL; GtkWidget *table = gtk_table_new( num_of_rows, num_of_cols, FALSE ); gtk_table_set_col_spacings( GTK_TABLE(table), 1 ); gtk_table_set_row_spacings( GTK_TABLE(table), 1 ); gtk_widget_show( table ); gtk_container_add( GTK_CONTAINER(m_widget), table ); wxString label; GSList *radio_button_group = (GSList *) NULL; for (int i = 0; i < n; i++) { if ( i != 0 ) radio_button_group = gtk_radio_button_group( GTK_RADIO_BUTTON(m_radio) ); label.Empty(); for ( const wxChar *pc = choices[i]; *pc; pc++ ) { if ( *pc != wxT('&') ) label += *pc; } m_radio = GTK_RADIO_BUTTON( gtk_radio_button_new_with_label( radio_button_group, wxGTK_CONV( label ) ) ); gtk_widget_show( GTK_WIDGET(m_radio) ); gtk_signal_connect( GTK_OBJECT(m_radio), "key_press_event", GTK_SIGNAL_FUNC(gtk_radiobox_keypress_callback), (gpointer)this ); m_boxes.Append( (wxObject*) m_radio ); if (HasFlag(wxRA_SPECIFY_COLS)) { int left = i%num_of_cols; int right = (i%num_of_cols) + 1; int top = i/num_of_cols; int bottom = (i/num_of_cols)+1; gtk_table_attach( GTK_TABLE(table), GTK_WIDGET(m_radio), left, right, top, bottom, GTK_FILL, GTK_FILL, 1, 1 ); } else { int left = i/num_of_rows; int right = (i/num_of_rows) + 1; int top = i%num_of_rows; int bottom = (i%num_of_rows)+1; gtk_table_attach( GTK_TABLE(table), GTK_WIDGET(m_radio), left, right, top, bottom, GTK_FILL, GTK_FILL, 1, 1 ); } ConnectWidget( GTK_WIDGET(m_radio) ); if (!i) gtk_toggle_button_set_state( GTK_TOGGLE_BUTTON(m_radio), TRUE ); gtk_signal_connect( GTK_OBJECT(m_radio), "clicked", GTK_SIGNAL_FUNC(gtk_radiobutton_clicked_callback), (gpointer*)this ); gtk_signal_connect( GTK_OBJECT(m_radio), "focus_in_event", GTK_SIGNAL_FUNC(gtk_radiobutton_focus_in), (gpointer)this ); gtk_signal_connect( GTK_OBJECT(m_radio), "focus_out_event", GTK_SIGNAL_FUNC(gtk_radiobutton_focus_out), (gpointer)this ); } m_parent->DoAddChild( this ); SetLabel( title ); PostCreation(size); return true; }
int dvtmcf3_m(class dvtmcf3_rr *rek_ras) { class dvtmcf3_data data; data.rk=rek_ras; char strsql[512]; data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); sprintf(strsql,"%s %s",name_system,gettext("Распечетать движение товарно-материальных ценностей (форма 3)")); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL); gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(dvtmcf3_v_key_press),&data); GtkWidget *label=gtk_label_new(gettext("Распечетать движение товарно-материальных ценностей (форма 3)")); GtkWidget *vbox = gtk_vbox_new (FALSE, 1); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); GtkWidget *separator1=gtk_hseparator_new(); GtkWidget *separator2=gtk_hseparator_new(); GtkWidget *separator3=gtk_hseparator_new(); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); gtk_container_add (GTK_CONTAINER (vbox), separator1); //Вставляем радиокнопки GSList *group; data.radiobutton[0]=gtk_radio_button_new_with_label(NULL,gettext("Расчёт в ценах учёта")); if(data.rk->metka_ceni == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[0]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton[0]), "clicked",GTK_SIGNAL_FUNC(dvtmcf3_radio0),&data); //gtk_object_set_user_data(GTK_OBJECT(data.radiobutton0),(gpointer)"0"); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton[0])); data.radiobutton[1]=gtk_radio_button_new_with_label(group,gettext("Расчёт в ценах реализации")); if(data.rk->metka_ceni == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton[1]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton[1]), "clicked",GTK_SIGNAL_FUNC(dvtmcf3_radio1),&data); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton[1], TRUE, TRUE, 0); /*************/ gtk_container_add (GTK_CONTAINER (vbox), separator2); data.radiobutton1[0]=gtk_radio_button_new_with_label(NULL,gettext("Распечатка только таблиц")); if(data.rk->metka_ras == 0) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton1[0]),TRUE); //Устанавливем активной кнопку gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton1[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton1[0]), "clicked",GTK_SIGNAL_FUNC(dvtmcf3_radio01),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1[0])); data.radiobutton1[1]=gtk_radio_button_new_with_label(group,gettext("Распечатка полного отчёта")); if(data.rk->metka_ras == 1) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton1[1]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton1[1]), "clicked",GTK_SIGNAL_FUNC(dvtmcf3_radio11),&data); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton1[1], TRUE, TRUE, 0); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1[1])); data.radiobutton1[2]=gtk_radio_button_new_with_label(group,gettext("Распечатка таблиц с полученным доходом")); if(data.rk->metka_ras == 3) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton1[2]),TRUE); //Устанавливем активной кнопку gtk_signal_connect(GTK_OBJECT(data.radiobutton1[2]), "clicked",GTK_SIGNAL_FUNC(dvtmcf3_radio12),&data); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton1[2], TRUE, TRUE, 0); gtk_container_add (GTK_CONTAINER (vbox), separator3); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s (%s)",gettext("Дата начала"),gettext("д.м.г")); data.knopka_enter[E_DATAN]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.knopka_enter[E_DATAN], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAN]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAN]),(gpointer)E_DATAN); tooltips_enter[E_DATAN]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAN],data.knopka_enter[E_DATAN],gettext("Выбор даты"),NULL); data.entry[E_DATAN] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAN]), data.entry[E_DATAN], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAN]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAN]),data.rk->datan.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAN]),(gpointer)E_DATAN); sprintf(strsql,"%s (%s)",gettext("Дата конца"),gettext("д.м.г")); data.knopka_enter[E_DATAK]=gtk_button_new_with_label(iceb_u_toutf(strsql)); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.knopka_enter[E_DATAK], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_DATAK]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_DATAK]),(gpointer)E_DATAK); tooltips_enter[E_DATAK]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_DATAK],data.knopka_enter[E_DATAK],gettext("Выбор даты"),NULL); data.entry[E_DATAK] = gtk_entry_new_with_max_length (10); gtk_box_pack_start (GTK_BOX (hbox[E_DATAK]), data.entry[E_DATAK], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_DATAK]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_DATAK]),data.rk->datak.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_DATAK]),(gpointer)E_DATAK); sprintf(strsql,"%s (,,)",gettext("Счёт")); data.knopka_enter[E_SHET]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.knopka_enter[E_SHET], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_SHET]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_SHET]),(gpointer)E_SHET); tooltips_enter[E_SHET]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_SHET],data.knopka_enter[E_SHET],gettext("Выбор счёта в плане счетов"),NULL); data.entry[E_SHET] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_SHET]), data.entry[E_SHET], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SHET]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SHET]),data.rk->shet.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SHET]),(gpointer)E_SHET); sprintf(strsql,"%s (,,)",gettext("Склад")); data.knopka_enter[E_SKLAD]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_SKLAD]), data.knopka_enter[E_SKLAD], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_SKLAD]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_SKLAD]),(gpointer)E_SKLAD); tooltips_enter[E_SKLAD]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_SKLAD],data.knopka_enter[E_SKLAD],gettext("Выбор склада"),NULL); data.entry[E_SKLAD] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_SKLAD]), data.entry[E_SKLAD], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_SKLAD]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_SKLAD]),data.rk->sklad.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_SKLAD]),(gpointer)E_SKLAD); sprintf(strsql,"%s (,,)",gettext("Код группы материалла")); data.knopka_enter[E_KODGR]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_KODGR]), data.knopka_enter[E_KODGR], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KODGR]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KODGR]),(gpointer)E_KODGR); tooltips_enter[E_KODGR]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KODGR],data.knopka_enter[E_KODGR],gettext("Выбор группы"),NULL); data.entry[E_KODGR] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_KODGR]), data.entry[E_KODGR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KODGR]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KODGR]),data.rk->grupa_mat.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KODGR]),(gpointer)E_KODGR); sprintf(strsql,"%s (,,)",gettext("Код материалла")); data.knopka_enter[E_KODMAT]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_KODMAT]), data.knopka_enter[E_KODMAT], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_KODMAT]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_KODMAT]),(gpointer)E_KODMAT); tooltips_enter[E_KODMAT]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_KODMAT],data.knopka_enter[E_KODMAT],gettext("Выбор материалла"),NULL); data.entry[E_KODMAT] = gtk_entry_new(); gtk_box_pack_start (GTK_BOX (hbox[E_KODMAT]), data.entry[E_KODMAT], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KODMAT]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KODMAT]),data.rk->kodmat.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KODMAT]),(gpointer)E_KODMAT); sprintf(strsql,"%s (,,)",gettext("Код группы контрагента")); data.knopka_enter[E_GRUPA_KONTR]=gtk_button_new_with_label(strsql); gtk_box_pack_start (GTK_BOX (hbox[E_GRUPA_KONTR]), data.knopka_enter[E_GRUPA_KONTR], FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(data.knopka_enter[E_GRUPA_KONTR]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_e_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka_enter[E_GRUPA_KONTR]),(gpointer)E_GRUPA_KONTR); tooltips_enter[E_GRUPA_KONTR]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips_enter[E_GRUPA_KONTR],data.knopka_enter[E_GRUPA_KONTR],gettext("Выбор материалла"),NULL); //sprintf(strsql,"%s (,,)",gettext("Код группы контрагента")); //label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_GRUPA_KONTR] = gtk_entry_new(); //gtk_box_pack_start (GTK_BOX (hbox[E_GRUPA_KONTR]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_GRUPA_KONTR]), data.entry[E_GRUPA_KONTR], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_GRUPA_KONTR]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_GRUPA_KONTR]),data.rk->grupa_kontr.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_GRUPA_KONTR]),(gpointer)E_GRUPA_KONTR); sprintf(strsql,"%s",gettext("Отпускная цена")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_VCENA] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_VCENA]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_VCENA]), data.entry[E_VCENA], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_VCENA]), "activate",GTK_SIGNAL_FUNC(dvtmcf3_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_VCENA]),data.rk->vcena.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_VCENA]),(gpointer)E_VCENA); GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Расчет")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Начать расчет"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); sprintf(strsql,"F3 %s",gettext("Реквизиты")); data.knopka[FK3]=gtk_button_new_with_label(strsql); tooltips[FK3]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK3],data.knopka[FK3],gettext("Просмотр нужных реквизитов"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK3]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK3]),(gpointer)FK3); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK3], TRUE, TRUE, 0); sprintf(strsql,"F4 %s",gettext("Очистить")); data.knopka[FK4]=gtk_button_new_with_label(strsql); tooltips[FK4]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK4],data.knopka[FK4],gettext("Очистить меню от введенной информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK4]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK4]),(gpointer)FK4); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK4], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(dvtmcf3_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); return(data.voz); }
static GtkWidget * message_get_properties(Message *message) { MessageDialog *prop_dialog; GtkWidget *dialog; GtkWidget *entry; GtkWidget *hbox; GtkWidget *label; GSList *group; if (properties_dialog == NULL) { prop_dialog = g_new(MessageDialog, 1); properties_dialog = prop_dialog; dialog = gtk_vbox_new(FALSE, 0); prop_dialog->dialog = dialog; hbox = gtk_hbox_new(FALSE, 5); label = gtk_label_new(_("Message:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); entry = gtk_entry_new(); prop_dialog->text = GTK_ENTRY(entry); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); gtk_widget_show (label); gtk_widget_show (entry); gtk_box_pack_start (GTK_BOX (dialog), hbox, TRUE, TRUE, 0); gtk_widget_show(hbox); label = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (dialog), label, FALSE, TRUE, 0); gtk_widget_show (label); label = gtk_label_new(_("Message type:")); gtk_box_pack_start (GTK_BOX (dialog), label, FALSE, TRUE, 0); gtk_widget_show (label); /* */ prop_dialog->m_call = gtk_radio_button_new_with_label (NULL, _("Call")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_call, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_call); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prop_dialog->m_call), TRUE); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->m_call)); prop_dialog->m_return = gtk_radio_button_new_with_label(group, _("Return")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_return, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_return); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->m_return)); prop_dialog->m_send = gtk_radio_button_new_with_label(group, _("Asynchronous")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_send, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_send); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->m_send)); prop_dialog->m_create = gtk_radio_button_new_with_label(group, _("Create")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_create, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_create); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->m_create)); prop_dialog->m_destroy = gtk_radio_button_new_with_label(group, _("Destroy")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_destroy, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_destroy); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->m_destroy)); prop_dialog->m_simple = gtk_radio_button_new_with_label(group, _("Simple")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_simple, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_simple); group = gtk_radio_button_group (GTK_RADIO_BUTTON (prop_dialog->m_simple)); prop_dialog->m_recursive = gtk_radio_button_new_with_label(group, _("Recursive")); gtk_box_pack_start (GTK_BOX (dialog), prop_dialog->m_recursive, TRUE, TRUE, 0); gtk_widget_show (prop_dialog->m_recursive); } fill_in_dialog(message); gtk_widget_show (properties_dialog->dialog); return properties_dialog->dialog; }
int l_uosopr_v(iceb_u_str *kodzap, //Код записи для корректировки ; возвращается код только что введённой записи GtkWidget *wpredok) { l_uosopr_v_data data; data.kodk.new_plus(kodzap->ravno()); char strsql[512]; iceb_u_str kikz; if(kodzap->getdlinna() > 1) { //читаем корректируемую запись SQL_str row; SQLCURSOR cur; sprintf(strsql,"select * from Uosras where kod='%s'",kodzap->ravno()); if(iceb_sql_readkey(strsql,&row,&cur,wpredok) != 1) { iceb_u_str repl; repl.plus(gettext("Не найдена запись для корректировки !")); iceb_menu_soob(&repl,wpredok); return(1); } data.rk.kod.new_plus(row[0]); data.rk.naim.new_plus(row[1]); kikz.plus(iceb_kikz(row[2],row[3],wpredok)); data.rk.vido=atoi(row[4]); data.rk.prov=atoi(row[5]); } /******************* else { sprintf(strsql,"%d",iceb_get_new_kod("Uslgrup",0)); // printf("%s\n",strsql); data.rk.kod.new_plus(strsql); } *************/ data.window=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position( GTK_WINDOW(data.window),ICEB_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(data.window),TRUE); if(kodzap->getdlinna() > 1) sprintf(strsql,"%s %s",name_system,gettext("Корректировка записи")); else sprintf(strsql,"%s %s",name_system,gettext("Ввод новой записи")); gtk_window_set_title (GTK_WINDOW (data.window),strsql); gtk_container_set_border_width (GTK_CONTAINER (data.window), 5); if(wpredok != NULL) { gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR_GDITE)); //Удерживать окно над породившем его окном всегда gtk_window_set_transient_for(GTK_WINDOW(data.window),GTK_WINDOW(wpredok)); //Закрыть окно если окно предок удалено gtk_window_set_destroy_with_parent(GTK_WINDOW(data.window),TRUE); } gtk_signal_connect(GTK_OBJECT(data.window),"delete_event",GTK_SIGNAL_FUNC(gtk_widget_destroy),NULL); gtk_signal_connect(GTK_OBJECT(data.window),"destroy",GTK_SIGNAL_FUNC(gtk_main_quit),NULL); gtk_signal_connect_after(GTK_OBJECT(data.window),"key_press_event",GTK_SIGNAL_FUNC(l_uosopr_v_v_key_press),&data); iceb_u_str zagolov; if(kodzap->getdlinna() <= 1) zagolov.new_plus(gettext("Ввод новой записи")); else { zagolov.new_plus(gettext("Корректировка записи")); zagolov.ps_plus(kikz.ravno()); } GtkWidget *label=gtk_label_new(zagolov.ravno_toutf()); GtkWidget *vbox = gtk_vbox_new (FALSE, 0); GtkWidget *hbox[KOLENTER]; for(int i=0; i < KOLENTER; i++) hbox[i] = gtk_hbox_new (FALSE, 0); GtkWidget *hboxknop = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (data.window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); for(int i=0; i < KOLENTER; i++) gtk_container_add (GTK_CONTAINER (vbox), hbox[i]); GtkWidget *separator1=gtk_hseparator_new(); GtkWidget *separator2=gtk_hseparator_new(); GtkWidget *separator3=gtk_hseparator_new(); gtk_container_add (GTK_CONTAINER (vbox), separator1); //Вставляем радиокнопки GSList *group; data.radiobutton1[0]=gtk_radio_button_new_with_label(NULL,gettext("Внешняя")); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton1[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton1[0]), "clicked",GTK_SIGNAL_FUNC(uosopr_radio1_0),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1[0])); data.radiobutton1[1]=gtk_radio_button_new_with_label(group,gettext("Внутренняя")); gtk_signal_connect(GTK_OBJECT(data.radiobutton1[1]), "clicked",GTK_SIGNAL_FUNC(uosopr_radio1_1),&data); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton1[1], TRUE, TRUE, 0); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton1[1])); data.radiobutton1[2]=gtk_radio_button_new_with_label(group,gettext("Смена стоимости")); gtk_signal_connect(GTK_OBJECT(data.radiobutton1[2]), "clicked",GTK_SIGNAL_FUNC(uosopr_radio1_2),&data); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton1[2], TRUE, TRUE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton1[data.rk.vido]),TRUE); //Устанавливем активной кнопку /*************************/ gtk_container_add (GTK_CONTAINER (vbox), separator2); data.radiobutton2[0]=gtk_radio_button_new_with_label(NULL,gettext("Проводки нужно делать")); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton2[0], TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(data.radiobutton2[0]), "clicked",GTK_SIGNAL_FUNC(uosopr_radio2_0),&data); group=gtk_radio_button_group(GTK_RADIO_BUTTON(data.radiobutton2[0])); data.radiobutton2[1]=gtk_radio_button_new_with_label(group,gettext("Проводки не нужно делать")); gtk_signal_connect(GTK_OBJECT(data.radiobutton2[1]), "clicked",GTK_SIGNAL_FUNC(uosopr_radio2_1),&data); gtk_box_pack_start (GTK_BOX (vbox),data.radiobutton2[1], TRUE, TRUE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(data.radiobutton2[data.rk.prov]),TRUE); //Устанавливем активной кнопку gtk_container_add (GTK_CONTAINER (vbox), separator3); gtk_container_add (GTK_CONTAINER (vbox), hboxknop); //GtkTooltips *tooltips_enter[KOLENTER]; sprintf(strsql,"%s",gettext("Код операции")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_KOD] = gtk_entry_new_with_max_length (20); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_KOD]), data.entry[E_KOD],TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD]), "activate",GTK_SIGNAL_FUNC(l_uosopr_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD]),data.rk.kod.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD]),(gpointer)E_KOD); sprintf(strsql,"%s",gettext("Наименование операции")); label=gtk_label_new(iceb_u_toutf(strsql)); data.entry[E_NAIM] = gtk_entry_new_with_max_length (59); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), label,FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox[E_NAIM]), data.entry[E_NAIM],TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT (data.entry[E_NAIM]), "activate",GTK_SIGNAL_FUNC(l_uosopr_v_v_vvod),&data); gtk_entry_set_text(GTK_ENTRY(data.entry[E_NAIM]),data.rk.naim.ravno_toutf()); gtk_object_set_user_data(GTK_OBJECT(data.entry[E_NAIM]),(gpointer)E_NAIM); GtkTooltips *tooltips[KOL_F_KL]; sprintf(strsql,"F2 %s",gettext("Запись")); data.knopka[FK2]=gtk_button_new_with_label(strsql); tooltips[FK2]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK2],data.knopka[FK2],gettext("Запись введённой в меню информации"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK2]),"clicked",GTK_SIGNAL_FUNC(l_uosopr_v_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK2]),(gpointer)FK2); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK2], TRUE, TRUE, 0); sprintf(strsql,"F10 %s",gettext("Выход")); data.knopka[FK10]=gtk_button_new_with_label(strsql); tooltips[FK10]=gtk_tooltips_new(); gtk_tooltips_set_tip(tooltips[FK10],data.knopka[FK10],gettext("Завершение работы в этом окне"),NULL); gtk_signal_connect(GTK_OBJECT(data.knopka[FK10]),"clicked",GTK_SIGNAL_FUNC(l_uosopr_v_v_knopka),&data); gtk_object_set_user_data(GTK_OBJECT(data.knopka[FK10]),(gpointer)FK10); gtk_box_pack_start(GTK_BOX(hboxknop), data.knopka[FK10], TRUE, TRUE, 0); gtk_widget_grab_focus(data.entry[0]); gtk_widget_show_all (data.window); gtk_main(); if(data.voz == 0) kodzap->new_plus(data.rk.kod.ravno()); return(data.voz); }