本文整理汇总了C++中GTK_ENTRY函数的典型用法代码示例。如果您正苦于以下问题:C++ GTK_ENTRY函数的具体用法?C++ GTK_ENTRY怎么用?C++ GTK_ENTRY使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GTK_ENTRY函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: search_next_clicked
static void
search_next_clicked (GtkWidget *button,
GtkWidget *entry)
{
search (gtk_entry_get_text (GTK_ENTRY (entry)), TRUE);
}
开发者ID:K-Sonoda,项目名称:gimp,代码行数:6,代码来源:dialog.c
示例2: GTK_COMBO
wxTextPos wxComboBox::GetLastPosition() const
{
GtkWidget *entry = GTK_COMBO(m_widget)->entry;
int pos = GTK_ENTRY(entry)->text_length;
return (long) pos-1;
}
开发者ID:AaronDP,项目名称:wxWidgets,代码行数:6,代码来源:combobox.cpp
示例3: main
// main program
///////////////////////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[]) {
int return_value = EXIT_ERROR;
PinDialogInfo pindialog;
char caller_path[1024];
gtk_init(&argc, &argv); // initialize gtk+
putenv("LANGUAGE=");
bindtextdomain("dialogs-beid", DATAROOTDIR "/locale");
textdomain("dialogs-beid");
// create new message dialog with CANCEL and OK buttons in standard places, in center of user's screen
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if(argc < 2 || (strlen(argv[1]) == 0)) {
fprintf(stderr, "E: required argument: PIN name");
exit(EXIT_ERROR);
}
if (get_parent_path(caller_path, sizeof(caller_path) - 2) > 0) {
pindialog.dialog =
gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION,
GTK_BUTTONS_NONE,
gettext("Request from Application [%s]:\n\nPlease enter your current eID %s, followed by your new eID %s (twice)"),
caller_path, argv[1], argv[1]);
} else {
fprintf(stderr, "Failed To Determine Parent Process. Aborting.\n");
exit(EXIT_ERROR);
}
pindialog.cancelbutton =
GTK_BUTTON(gtk_dialog_add_button
(GTK_DIALOG(pindialog.dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL));
pindialog.okbutton =
GTK_BUTTON(gtk_dialog_add_button
(GTK_DIALOG(pindialog.dialog), GTK_STOCK_OK, GTK_RESPONSE_OK));
gtk_dialog_set_default_response(GTK_DIALOG(pindialog.dialog), GTK_RESPONSE_OK);
gtk_window_set_title(GTK_WINDOW(pindialog.dialog), gettext("beID: Change PIN Code"));
gtk_window_set_position(GTK_WINDOW(pindialog.dialog), GTK_WIN_POS_CENTER);
g_signal_connect(pindialog.dialog, "delete-event", G_CALLBACK(on_delete_event), &pindialog);
// create original, new, and verify new pin entry fields with labels, in a table
///////////////////////////////////////////////////////////////////////////////////////////////////////////
pindialog.newPinsTable = gtk_table_new(3, 2, TRUE); // table of 4 rows, 3 columns
pindialog.originalPinLabel = gtk_label_new(gettext("Current PIN:"));
pindialog.newPin0Label = gtk_label_new(gettext("New PIN:"));
pindialog.newPin1Label = gtk_label_new(gettext("New PIN (again):"));
pindialog.originalPinEntry = gtk_entry_new();
pindialog.newPin0Entry = gtk_entry_new();
pindialog.newPin1Entry = gtk_entry_new();
// set max lengths
gtk_entry_set_max_length(GTK_ENTRY(pindialog.originalPinEntry), MAX_PIN_LENGTH);
gtk_entry_set_max_length(GTK_ENTRY(pindialog.newPin0Entry), MAX_PIN_LENGTH);
gtk_entry_set_max_length(GTK_ENTRY(pindialog.newPin1Entry), MAX_PIN_LENGTH);
// disable visibilities
gtk_entry_set_visibility(GTK_ENTRY(pindialog.originalPinEntry), FALSE);
gtk_entry_set_visibility(GTK_ENTRY(pindialog.newPin0Entry), FALSE);
gtk_entry_set_visibility(GTK_ENTRY(pindialog.newPin1Entry), FALSE);
// put labels and entries in a table
gtk_table_attach(GTK_TABLE(pindialog.newPinsTable), pindialog.originalPinLabel, 0, 1, 0,
1, (GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL), 2, 2);
gtk_table_attach(GTK_TABLE(pindialog.newPinsTable), pindialog.newPin0Label, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL), 2, 2);
gtk_table_attach(GTK_TABLE(pindialog.newPinsTable), pindialog.newPin1Label, 0, 1, 2, 3,
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL), 2, 2);
gtk_table_attach(GTK_TABLE(pindialog.newPinsTable), pindialog.originalPinEntry, 1, 2, 0,
1, (GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL), 2, 2);
gtk_table_attach(GTK_TABLE(pindialog.newPinsTable), pindialog.newPin0Entry, 1, 2, 1, 2,
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL), 2, 2);
gtk_table_attach(GTK_TABLE(pindialog.newPinsTable), pindialog.newPin1Entry, 1, 2, 2, 3,
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL),
(GtkAttachOptions) (GTK_SHRINK | GTK_FILL), 2, 2);
// connect signals to filter and read inputs
g_signal_connect(pindialog.originalPinEntry, "insert_text",
G_CALLBACK(insert_only_digits), (gpointer) & pindialog);
g_signal_connect(pindialog.newPin0Entry, "insert_text", G_CALLBACK(insert_only_digits),
(gpointer) & pindialog);
g_signal_connect(pindialog.newPin1Entry, "insert_text", G_CALLBACK(insert_only_digits),
(gpointer) & pindialog);
g_signal_connect(pindialog.originalPinEntry, "changed", G_CALLBACK(pins_changed),
(gpointer) & pindialog);
g_signal_connect(pindialog.newPin0Entry, "changed", G_CALLBACK(pins_changed),
(gpointer) & pindialog);
g_signal_connect(pindialog.newPin1Entry, "changed", G_CALLBACK(pins_changed),
(gpointer) & pindialog);
//.........这里部分代码省略.........
开发者ID:Fedict,项目名称:eid-mw,代码行数:101,代码来源:beid-changepin.c
示例4: search_entry_changed
static void
search_entry_changed (GtkWidget *entry)
{
search (gtk_entry_get_text (GTK_ENTRY (entry)), TRUE);
}
开发者ID:K-Sonoda,项目名称:gimp,代码行数:5,代码来源:dialog.c
示例5: gtkui_bridged_sniff
/*
* display the interface selection for bridged sniffing
*/
static void gtkui_bridged_sniff(void)
{
GtkWidget *dialog, *vbox, *hbox, *image;
GtkWidget *hbox_big, *label, *combo1, *combo2;
GList *iface_list;
const char *iface_desc = NULL;
char err[100];
pcap_if_t *dev;
DEBUG_MSG("gtk_bridged_sniff");
dialog = gtk_dialog_new_with_buttons("Bridged Sniffing", GTK_WINDOW (window),
GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
gtk_container_set_border_width(GTK_CONTAINER (dialog), 5);
gtk_dialog_set_has_separator(GTK_DIALOG (dialog), FALSE);
hbox_big = gtk_hbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox_big, FALSE, FALSE, 0);
gtk_widget_show(hbox_big);
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.1);
gtk_box_pack_start (GTK_BOX (hbox_big), image, FALSE, FALSE, 5);
gtk_widget_show(image);
vbox = gtk_vbox_new (FALSE, 2);
gtk_container_set_border_width(GTK_CONTAINER (vbox), 5);
gtk_box_pack_start (GTK_BOX (hbox_big), vbox, TRUE, TRUE, 0);
gtk_widget_show(vbox);
hbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show(hbox);
label = gtk_label_new ("First network interface : ");
gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5);
gtk_box_pack_start(GTK_BOX (hbox), label, TRUE, TRUE, 0);
gtk_widget_show(label);
/* make a list of network interfaces */
iface_list = NULL;
for(dev = (pcap_if_t *)GBL_PCAP->ifs; dev != NULL; dev = dev->next) {
iface_list = g_list_append(iface_list, dev->description);
}
/* make a drop down box and assign the list to it */
combo1 = gtk_combo_new();
gtk_combo_set_popdown_strings (GTK_COMBO (combo1), iface_list);
gtk_box_pack_start (GTK_BOX (hbox), combo1, FALSE, FALSE, 0);
gtk_widget_show(combo1);
hbox = gtk_hbox_new(FALSE, 0);
gtk_box_pack_start(GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
gtk_widget_show(hbox);
label = gtk_label_new ("Second network interface : ");
gtk_misc_set_alignment(GTK_MISC (label), 0, 0.5);
gtk_box_pack_start(GTK_BOX (hbox), label, TRUE, TRUE, 0);
gtk_widget_show(label);
/* make a drop down box and assign the list to it */
combo2 = gtk_combo_new();
gtk_combo_set_popdown_strings (GTK_COMBO (combo2), iface_list);
gtk_box_pack_start (GTK_BOX (hbox), combo2, FALSE, FALSE, 0);
gtk_widget_show(combo2);
/* pick the second interface by default, since they can't match */
if(iface_list && iface_list->next)
gtk_entry_set_text(GTK_ENTRY (GTK_COMBO (combo2)->entry), iface_list->next->data);
/* list is stored in the widget, can safely free this copy */
g_list_free(iface_list);
if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) {
gtk_widget_hide(dialog);
iface_desc = gtk_entry_get_text(GTK_ENTRY (GTK_COMBO (combo1)->entry));
for(dev = (pcap_if_t *)GBL_PCAP->ifs; dev != NULL; dev = dev->next) {
if(!strncmp(dev->description, iface_desc, IFACE_LEN)) {
SAFE_FREE(GBL_OPTIONS->iface);
SAFE_CALLOC(GBL_OPTIONS->iface, IFACE_LEN, sizeof(char));
strncpy(GBL_OPTIONS->iface, dev->name, IFACE_LEN);
break;
}
}
/* if no match in list */
if(GBL_OPTIONS->iface == NULL) {
snprintf(err, 100, "Invalid interface: %s", iface_desc);
gtkui_error(err);
gtk_widget_destroy(dialog);
return;
}
//.........这里部分代码省略.........
开发者ID:vishalekhe,项目名称:ettercap,代码行数:101,代码来源:ec_gtk.c
示例6: l_uplmt_p
int l_uplmt_p(class l_uplmt_rek *rek_poi,GtkWidget *wpredok)
{
class l_uplmt_p_data data;
char strsql[512];
data.rk=rek_poi;
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_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_uplmt_p_key_press),&data);
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);
}
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);
for(int i=0; i < KOLENTER; i++)
gtk_container_add (GTK_CONTAINER (vbox), hbox[i]);
gtk_container_add (GTK_CONTAINER (vbox), hboxknop);
GtkWidget *label=gtk_label_new(gettext("Код палива"));
gtk_box_pack_start (GTK_BOX (hbox[E_KOD_TOP]), label, FALSE, FALSE, 0);
data.entry[E_KOD_TOP] = gtk_entry_new_with_max_length (20);
gtk_box_pack_start (GTK_BOX (hbox[E_KOD_TOP]), data.entry[E_KOD_TOP], TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD_TOP]), "activate",GTK_SIGNAL_FUNC(l_uplmt_p_vvod),&data);
gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD_TOP]),data.rk->kod_top.ravno_toutf());
gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD_TOP]),(gpointer)E_KOD_TOP);
label=gtk_label_new(gettext("Код материалла"));
gtk_box_pack_start (GTK_BOX (hbox[E_KOD_MAT]), label, FALSE, FALSE, 0);
data.entry[E_KOD_MAT] = gtk_entry_new_with_max_length (20);
gtk_box_pack_start (GTK_BOX (hbox[E_KOD_MAT]), data.entry[E_KOD_MAT], TRUE, TRUE, 0);
gtk_signal_connect(GTK_OBJECT (data.entry[E_KOD_MAT]), "activate",GTK_SIGNAL_FUNC(l_uplmt_p_vvod),&data);
gtk_entry_set_text(GTK_ENTRY(data.entry[E_KOD_MAT]),data.rk->kod_mat.ravno_toutf());
gtk_object_set_user_data(GTK_OBJECT(data.entry[E_KOD_MAT]),(gpointer)E_KOD_MAT);
GtkTooltips *tooltips[KOL_FK];
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_uplmt_p_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(l_uplmt_p_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(l_uplmt_p_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(wpredok != NULL)
gdk_window_set_cursor(wpredok->window,gdk_cursor_new(ICEB_CURSOR));
return(data.voz);
}
开发者ID:zaharchuktv,项目名称:linuxbuh,代码行数:100,代码来源:l_uplmt_p.c
示例7: vtable_dialog_get_table_name
/**
* vtable_dialog_get_table_name:
*
*/
const gchar *
vtable_dialog_get_table_name (VtableDialog *dlg)
{
g_return_val_if_fail (IS_VTABLE_DIALOG (dlg), NULL);
return gtk_entry_get_text (GTK_ENTRY (dlg->priv->tname_entry));
}
开发者ID:arthurnn,项目名称:libgda,代码行数:10,代码来源:vtable-dialog.c
示例8: wxFAIL_MSG
//.........这里部分代码省略.........
(GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK),
(GtkAttachOptions)(GTK_FILL | GTK_EXPAND | GTK_SHRINK),
0, 0);
// always wrap words
gtk_text_set_word_wrap( GTK_TEXT(m_text), TRUE );
// finally, put the vertical scrollbar in the upper right corner
m_vScrollbar = gtk_vscrollbar_new( GTK_TEXT(m_text)->vadj );
GTK_WIDGET_UNSET_FLAGS( m_vScrollbar, GTK_CAN_FOCUS );
gtk_table_attach(GTK_TABLE(m_widget), m_vScrollbar, 1, 2, 0, 1,
GTK_FILL,
(GtkAttachOptions)(GTK_EXPAND | GTK_FILL | GTK_SHRINK),
0, 0);
}
else
{
// a single-line text control: no need for scrollbars
m_widget =
m_text = gtk_entry_new();
}
m_parent->DoAddChild( this );
m_focusWidget = m_text;
PostCreation(size);
if (multi_line)
gtk_widget_show(m_text);
if (multi_line)
{
gtk_signal_connect(GTK_OBJECT(GTK_TEXT(m_text)->vadj), "changed",
(GtkSignalFunc) gtk_scrollbar_changed_callback, (gpointer) this );
// only initialize gs_gtk_text_draw once, starting from the next the
// klass::draw will already be wxgtk_text_draw
if ( !gs_gtk_text_draw )
{
GtkDrawCallback&
draw = GTK_WIDGET_CLASS(GTK_OBJECT(m_text)->klass)->draw;
gs_gtk_text_draw = draw;
draw = wxgtk_text_draw;
}
}
if (!value.empty())
{
#if !GTK_CHECK_VERSION(1, 2, 0)
// if we don't realize it, GTK 1.0.6 dies with a SIGSEGV in
// gtk_editable_insert_text()
gtk_widget_realize(m_text);
#endif // GTK 1.0
gint tmp = 0;
#if wxUSE_UNICODE
wxWX2MBbuf val = value.mbc_str();
gtk_editable_insert_text( GTK_EDITABLE(m_text), val, strlen(val), &tmp );
#else
gtk_editable_insert_text( GTK_EDITABLE(m_text), value, value.length(), &tmp );
#endif
if (multi_line)
{
// Bring editable's cursor uptodate. Bug in GTK.
SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) ));
}
}
if (style & wxTE_PASSWORD)
{
if (!multi_line)
gtk_entry_set_visibility( GTK_ENTRY(m_text), FALSE );
}
if (style & wxTE_READONLY)
{
if (!multi_line)
gtk_entry_set_editable( GTK_ENTRY(m_text), FALSE );
}
else
{
if (multi_line)
gtk_text_set_editable( GTK_TEXT(m_text), 1 );
}
// We want to be notified about text changes.
gtk_signal_connect( GTK_OBJECT(m_text), "changed",
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
m_cursor = wxCursor( wxCURSOR_IBEAM );
wxTextAttr attrDef(GetForegroundColour(), GetBackgroundColour(), GetFont());
SetDefaultStyle( attrDef );
return true;
}
开发者ID:CobaltBlues,项目名称:wxWidgets,代码行数:101,代码来源:textctrl.cpp
示例9: read_rek
void read_rek()
{
rk->kod_top.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_KOD_TOP]))));
rk->kod_mat.new_plus(iceb_u_fromutf((char*)gtk_entry_get_text(GTK_ENTRY(entry[E_KOD_MAT]))));
}
开发者ID:zaharchuktv,项目名称:linuxbuh,代码行数:5,代码来源:l_uplmt_p.c
示例10: mpg123_configurewin_ok
static void mpg123_configurewin_ok(GtkWidget * widget, gpointer data)
{
ConfigFile *cfg;
gchar *filename;
if (GTK_TOGGLE_BUTTON(decode_res_16)->active)
mpg123_cfg.resolution = 16;
else if (GTK_TOGGLE_BUTTON(decode_res_8)->active)
mpg123_cfg.resolution = 8;
if (GTK_TOGGLE_BUTTON(decode_ch_stereo)->active)
mpg123_cfg.channels = 2;
else if (GTK_TOGGLE_BUTTON(decode_ch_mono)->active)
mpg123_cfg.channels = 1;
if (GTK_TOGGLE_BUTTON(decode_freq_1to1)->active)
mpg123_cfg.downsample = 0;
else if (GTK_TOGGLE_BUTTON(decode_freq_1to2)->active)
mpg123_cfg.downsample = 1;
if (GTK_TOGGLE_BUTTON(decode_freq_1to4)->active)
mpg123_cfg.downsample = 2;
if (GTK_TOGGLE_BUTTON(detect_by_content)->active)
mpg123_cfg.detect_by = DETECT_CONTENT;
else if (GTK_TOGGLE_BUTTON(detect_by_extension)->active)
mpg123_cfg.detect_by = DETECT_EXTENSION;
else if (GTK_TOGGLE_BUTTON(detect_by_both)->active)
mpg123_cfg.detect_by = DETECT_BOTH;
else mpg123_cfg.detect_by = DETECT_EXTENSION;
#ifdef USE_SIMD
if (GTK_TOGGLE_BUTTON(auto_select)->active)
mpg123_cfg.default_synth = SYNTH_AUTO;
else if (GTK_TOGGLE_BUTTON(decoder_fpu)->active)
mpg123_cfg.default_synth = SYNTH_FPU;
else if (GTK_TOGGLE_BUTTON(decoder_mmx)->active)
mpg123_cfg.default_synth = SYNTH_MMX;
else mpg123_cfg.default_synth = SYNTH_3DNOW;
#endif
mpg123_cfg.http_buffer_size = (gint) GTK_ADJUSTMENT(streaming_size_adj)->value;
mpg123_cfg.http_prebuffer = (gint) GTK_ADJUSTMENT(streaming_pre_adj)->value;
mpg123_cfg.use_proxy = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_use));
g_free(mpg123_cfg.proxy_host);
mpg123_cfg.proxy_host = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_host_entry)));
mpg123_cfg.proxy_port = atoi(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_port_entry)));
mpg123_cfg.proxy_use_auth = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_proxy_auth_use));
if(mpg123_cfg.proxy_user)
g_free(mpg123_cfg.proxy_user);
mpg123_cfg.proxy_user = NULL;
if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry))) > 0)
mpg123_cfg.proxy_user = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_user_entry)));
if(mpg123_cfg.proxy_pass)
g_free(mpg123_cfg.proxy_pass);
mpg123_cfg.proxy_pass = NULL;
if(strlen(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry))) > 0)
mpg123_cfg.proxy_pass = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_proxy_auth_pass_entry)));
mpg123_cfg.save_http_stream = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_save_use));
if (mpg123_cfg.save_http_path)
g_free(mpg123_cfg.save_http_path);
mpg123_cfg.save_http_path = g_strdup(gtk_entry_get_text(GTK_ENTRY(streaming_save_entry)));
mpg123_cfg.cast_title_streaming = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_cast_title));
mpg123_cfg.use_udp_channel = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(streaming_udp_title));
mpg123_cfg.title_override = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(title_override));
mpg123_cfg.disable_id3v2 = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(title_id3v2_disable));
g_free(mpg123_cfg.id3_format);
mpg123_cfg.id3_format = g_strdup(gtk_entry_get_text(GTK_ENTRY(title_id3_entry)));
filename = g_strconcat(g_get_home_dir(), "/.xmms/config", NULL);
cfg = xmms_cfg_open_file(filename);
if (!cfg)
cfg = xmms_cfg_new();
xmms_cfg_write_int(cfg, "MPG123", "resolution", mpg123_cfg.resolution);
xmms_cfg_write_int(cfg, "MPG123", "channels", mpg123_cfg.channels);
xmms_cfg_write_int(cfg, "MPG123", "downsample", mpg123_cfg.downsample);
xmms_cfg_write_int(cfg, "MPG123", "http_buffer_size", mpg123_cfg.http_buffer_size);
xmms_cfg_write_int(cfg, "MPG123", "http_prebuffer", mpg123_cfg.http_prebuffer);
xmms_cfg_write_boolean(cfg, "MPG123", "use_proxy", mpg123_cfg.use_proxy);
xmms_cfg_write_string(cfg, "MPG123", "proxy_host", mpg123_cfg.proxy_host);
xmms_cfg_write_int(cfg, "MPG123", "proxy_port", mpg123_cfg.proxy_port);
xmms_cfg_write_boolean(cfg, "MPG123", "proxy_use_auth", mpg123_cfg.proxy_use_auth);
if(mpg123_cfg.proxy_user)
xmms_cfg_write_string(cfg, "MPG123", "proxy_user", mpg123_cfg.proxy_user);
else
xmms_cfg_remove_key(cfg, "MPG123", "proxy_user");
if(mpg123_cfg.proxy_pass)
xmms_cfg_write_string(cfg, "MPG123", "proxy_pass", mpg123_cfg.proxy_pass);
else
xmms_cfg_remove_key(cfg, "MPG123", "proxy_pass");
xmms_cfg_write_boolean(cfg, "MPG123", "save_http_stream", mpg123_cfg.save_http_stream);
xmms_cfg_write_string(cfg, "MPG123", "save_http_path", mpg123_cfg.save_http_path);
xmms_cfg_write_boolean(cfg, "MPG123", "cast_title_streaming", mpg123_cfg.cast_title_streaming);
//.........这里部分代码省略.........
开发者ID:sedwards,项目名称:xmms3,代码行数:101,代码来源:configure.c
示例11: streaming_save_dirbrowser_cb
static void streaming_save_dirbrowser_cb(gchar * dir)
{
gtk_entry_set_text(GTK_ENTRY(streaming_save_entry), dir);
}
开发者ID:sedwards,项目名称:xmms3,代码行数:4,代码来源:configure.c
示例12: cb_ask_for_information
void
cb_ask_for_information (ScreenshooterJob *job,
GtkListStore *liststore,
const gchar *message,
gpointer unused)
{
GtkWidget *dialog;
GtkWidget *information_label;
GtkWidget *vbox, *main_alignment;
GtkWidget *table;
GtkWidget *user_entry, *password_entry, *title_entry, *comment_entry;
GtkWidget *user_label, *password_label, *title_label, *comment_label;
GtkTreeIter iter;
gint response;
g_return_if_fail (SCREENSHOOTER_IS_JOB (job));
g_return_if_fail (GTK_IS_LIST_STORE (liststore));
g_return_if_fail (message != NULL);
TRACE ("Create the dialog to ask for user information.");
/* Create the information dialog */
dialog =
xfce_titled_dialog_new_with_buttons (_("Details about the screenshot for ZimageZ"),
NULL,
GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CANCEL,
GTK_RESPONSE_CANCEL,
GTK_STOCK_OK,
GTK_RESPONSE_OK,
NULL);
gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
gtk_box_set_spacing (GTK_BOX (GTK_DIALOG(dialog)->vbox), 12);
gtk_window_set_icon_name (GTK_WINDOW (dialog), "gtk-info");
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
/* Create the main alignment for the dialog */
main_alignment = gtk_alignment_new (0, 0, 1, 1);
gtk_alignment_set_padding (GTK_ALIGNMENT (main_alignment), 6, 0, 12, 12);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), main_alignment, TRUE, TRUE, 0);
/* Create the main box for the dialog */
vbox = gtk_vbox_new (FALSE, 10);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
gtk_container_add (GTK_CONTAINER (main_alignment), vbox);
/* Create the information label */
information_label = gtk_label_new ("");
gtk_label_set_markup (GTK_LABEL (information_label), message);
gtk_misc_set_alignment (GTK_MISC (information_label), 0, 0);
gtk_container_add (GTK_CONTAINER (vbox), information_label);
/* Create the layout table */
table = gtk_table_new (4, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 12);
gtk_container_add (GTK_CONTAINER (vbox), table);
/* Create the user label */
user_label = gtk_label_new (_("User:"));
gtk_misc_set_alignment (GTK_MISC (user_label), 0, 0.5);
gtk_table_attach (GTK_TABLE (table), user_label,
0, 1,
0, 1,
GTK_FILL, GTK_FILL,
0, 0);
/* Create the user entry */
user_entry = gtk_entry_new ();
gtk_widget_set_tooltip_text (user_entry,
_("Your Zimagez user name, if you do not have one yet"
" please create one on the Web page linked above"));
gtk_entry_set_activates_default (GTK_ENTRY (user_entry), TRUE);
gtk_table_attach_defaults (GTK_TABLE (table), user_entry, 1, 2, 0, 1);
/* Create the password label */
password_label = gtk_label_new (_("Password:"));
gtk_misc_set_alignment (GTK_MISC (password_label), 0, 0.5);
gtk_table_attach (GTK_TABLE (table), password_label,
0, 1,
1, 2,
GTK_FILL, GTK_FILL,
0, 0);
/* Create the password entry */
password_entry = gtk_entry_new ();
gtk_widget_set_tooltip_text (password_entry, _("The password for the user above"));
gtk_entry_set_visibility (GTK_ENTRY (password_entry), FALSE);
gtk_entry_set_activates_default (GTK_ENTRY (password_entry), TRUE);
gtk_table_attach_defaults (GTK_TABLE (table), password_entry, 1, 2, 1, 2);
/* Create the title label */
title_label = gtk_label_new (_("Title:"));
gtk_misc_set_alignment (GTK_MISC (title_label), 0, 0.5);
gtk_table_attach (GTK_TABLE (table), title_label,
//.........这里部分代码省略.........
开发者ID:klausweiss,项目名称:xfce4-screenshooter,代码行数:101,代码来源:screenshooter-job-callbacks.c
示例13: prefs_spelling_create_widget
//.........这里部分代码省略.........
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu_dictionary),
optmenu_dictionary_menu);
label4 = gtk_label_new(_("Default suggestion mode:"));
gtk_widget_show(label4);
gtk_table_attach(GTK_TABLE(table), label4, 0, 1, 6, 7,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_label_set_justify(GTK_LABEL(label4), GTK_JUSTIFY_RIGHT);
gtk_misc_set_alignment(GTK_MISC(label4), 1, 0.5);
optmenu_sugmode = gtk_option_menu_new();
gtk_widget_show(optmenu_sugmode);
gtk_table_attach(GTK_TABLE(table), optmenu_sugmode, 1, 3, 6, 7,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
optmenu_sugmode_menu = gtk_menu_new();
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu_sugmode),
optmenu_sugmode_menu);
label5 = gtk_label_new(_("Misspelled word color:"));
gtk_widget_show(label5);
gtk_table_attach(GTK_TABLE(table), label5, 0, 1, 7, 8,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_label_set_justify(GTK_LABEL(label5), GTK_JUSTIFY_RIGHT);
gtk_misc_set_alignment(GTK_MISC(label5), 1, 0.5);
btn_aspell_path = gtk_button_new_with_label(_(" ... "));
gtk_widget_show(btn_aspell_path);
gtk_table_attach(GTK_TABLE(table), btn_aspell_path, 2, 3, 4, 5,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
hbox1 = gtk_hbox_new(FALSE, 0);
gtk_widget_show(hbox1);
gtk_table_attach(GTK_TABLE(table), hbox1, 1, 2, 7, 8,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (GTK_FILL), 0, 0);
misspelled_btn = gtk_button_new_with_label("");
gtk_widget_show(misspelled_btn);
gtk_box_pack_start(GTK_BOX(hbox1), misspelled_btn, FALSE, FALSE,
0);
gtk_widget_set_usize(misspelled_btn, 30, 20);
/* END GLADE CODE */
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_enable_aspell),
prefs_common.enable_aspell);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_check_while_typing),
prefs_common.check_while_typing);
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_use_alternate),
prefs_common.use_alternate);
gtk_entry_set_text(GTK_ENTRY(entry_aspell_path),
SAFE_STRING(prefs_common.aspell_path));
gtk_signal_connect(GTK_OBJECT(checkbtn_enable_aspell), "toggled",
GTK_SIGNAL_FUNC(prefs_spelling_checkbtn_enable_aspell_toggle_cb),
prefs_spelling);
gtk_signal_connect(GTK_OBJECT(btn_aspell_path), "clicked",
GTK_SIGNAL_FUNC(prefs_spelling_btn_aspell_path_clicked_cb),
prefs_spelling);
gtk_signal_connect(GTK_OBJECT(misspelled_btn), "clicked",
GTK_SIGNAL_FUNC(prefs_spelling_colorsel), prefs_spelling);
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu_dictionary),
gtkaspell_dictionary_option_menu_new(prefs_common.aspell_path));
gtkaspell_set_dictionary_menu_active_item(optmenu_dictionary, prefs_common.dictionary);
gtk_option_menu_set_menu(GTK_OPTION_MENU(optmenu_sugmode),
gtkaspell_sugmode_option_menu_new(prefs_common.aspell_sugmode));
gtkaspell_sugmode_option_menu_set(GTK_OPTION_MENU(optmenu_sugmode),
prefs_common.aspell_sugmode);
prefs_spelling->misspell_col = prefs_common.misspelled_col;
gtkut_set_widget_bgcolor_rgb(misspelled_btn, prefs_spelling->misspell_col);
prefs_spelling->window
= GTK_WIDGET(window);
prefs_spelling->checkbtn_enable_aspell
= checkbtn_enable_aspell;
prefs_spelling->entry_aspell_path
= entry_aspell_path;
prefs_spelling->btn_aspell_path
= btn_aspell_path;
prefs_spelling->optmenu_dictionary
= optmenu_dictionary;
prefs_spelling->optmenu_sugmode
= optmenu_sugmode;
prefs_spelling->checkbtn_use_alternate
= checkbtn_use_alternate;
prefs_spelling->checkbtn_check_while_typing
= checkbtn_check_while_typing;
prefs_spelling->misspelled_btn
= misspelled_btn;
prefs_spelling->page.widget = table;
prefs_spelling_enable(prefs_spelling, prefs_common.enable_aspell);
}
开发者ID:moreorless,项目名称:claws-mail,代码行数:101,代码来源:prefs_spelling.c
示例14: gtkui_unified_sniff
/*
* display the interface selection dialog
*/
static void gtkui_unified_sniff(void)
{
GList *iface_list;
const char *iface_desc = NULL;
char err[100];
GtkWidget *iface_combo;
pcap_if_t *dev;
GtkWidget *dialog, *label, *hbox, *image;
DEBUG_MSG("gtk_unified_sniff");
dialog = gtk_dialog_new_with_buttons(EC_PROGRAM" Input", GTK_WINDOW (window),
GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
gtk_dialog_set_has_separator(GTK_DIALOG (dialog), FALSE);
gtk_container_set_border_width(GTK_CONTAINER (dialog), 5);
hbox = gtk_hbox_new (FALSE, 6);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0);
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_QUESTION, GTK_ICON_SIZE_DIALOG);
gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
label = gtk_label_new ("Network interface : ");
gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
gtk_label_set_selectable (GTK_LABEL (label), TRUE);
gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0);
/* make a list of network interfaces */
iface_list = NULL;
for(dev = (pcap_if_t *)GBL_PCAP->ifs; dev != NULL; dev = dev->next) {
iface_list = g_list_append(iface_list, dev->description);
}
/* make a drop down box and assign the list to it */
iface_combo = gtk_combo_new();
gtk_combo_set_popdown_strings (GTK_COMBO (iface_combo), iface_list);
gtk_box_pack_start (GTK_BOX (hbox), iface_combo, FALSE, FALSE, 0);
/* hitting Enter in the drop down box clicks OK */
g_object_set_data(G_OBJECT (GTK_COMBO (iface_combo)->entry), "dialog", dialog);
g_signal_connect(G_OBJECT (GTK_COMBO (iface_combo)->entry), "activate", G_CALLBACK (gtkui_dialog_enter), NULL);
/* list is stored in the widget, can safely free this copy */
g_list_free(iface_list);
/* render the contents of the dialog */
gtk_widget_show_all (hbox);
/* show the dialog itself and become interactive */
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
iface_desc = gtk_entry_get_text(GTK_ENTRY (GTK_COMBO (iface_combo)->entry));
for(dev = (pcap_if_t *)GBL_PCAP->ifs; dev != NULL; dev = dev->next) {
if(!strncmp(dev->description, iface_desc, IFACE_LEN)) {
SAFE_FREE(GBL_OPTIONS->iface);
SAFE_CALLOC(GBL_OPTIONS->iface, IFACE_LEN, sizeof(char));
strncpy(GBL_OPTIONS->iface, dev->name, IFACE_LEN);
break;
}
}
/* if no match in list */
if(GBL_OPTIONS->iface == NULL) {
snprintf(err, 100, "Invalid interface: %s", iface_desc);
gtkui_error(err);
gtk_widget_destroy(dialog);
return;
}
/* exit setup iterface */
gtk_widget_destroy(dialog);
gtk_main_quit();
return;
}
gtk_widget_destroy(dialog);
}
开发者ID:vishalekhe,项目名称:ettercap,代码行数:82,代码来源:ec_gtk.c
示例15: gui_init
void
gui_init (dt_lib_module_t *self)
{
dt_lib_tagging_t *d = (dt_lib_tagging_t *)malloc(sizeof(dt_lib_tagging_t));
self->data = (void *)d;
d->imgsel = -1;
self->widget = gtk_vbox_new(TRUE, 5);
gtk_widget_set_size_request(self->widget,100,-1);
GtkBox *box, *hbox;
GtkWidget *button;
GtkWidget *w;
GtkListStore *liststore;
// left side, current
box = GTK_BOX(gtk_vbox_new(FALSE, 0));
gtk_box_pack_start(GTK_BOX(self->widget), GTK_WIDGET(box), TRUE, TRUE, 0);
w = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(w), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_box_pack_start(box, w, TRUE, TRUE, 0);
d->current = GTK_TREE_VIEW(gtk_tree_view_new());
gtk_tree_view_set_headers_visible(d->current, FALSE);
liststore = gtk_list_store_new(DT_LIB_TAGGING_NUM_COLS, G_TYPE_STRING, G_TYPE_UINT);
GtkTreeViewColumn *col = gtk_tree_view_column_new();
gtk_tree_view_append_column(d->current, col);
GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start(col, renderer, TRUE);
gtk_tree_view_column_add_attribute(col, renderer, "text", DT_LIB_TAGGING_COL_TAG);
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(d->current),
GTK_SELECTION_SINGLE);
gtk_tree_view_set_model(d->current, GTK_TREE_MODEL(liststore));
g_object_unref(liststore);
g_object_set(G_OBJECT(d->current), "tooltip-text", _("attached tags,\ndoubleclick to detach"), (char *)NULL);
g_signal_connect(G_OBJECT (d->current), "row-activated", G_CALLBACK (detach_activated), (gpointer)self);
gtk_container_add(GTK_CONTAINER(w), GTK_WIDGET(d->current));
// attach/detach buttons
hbox = GTK_BOX(gtk_hbox_new(TRUE, 5));
button = gtk_button_new_with_label(_("attach"));
d->attach_button = button;
g_object_set(G_OBJECT(button), "tooltip-text", _("attach tag to all selected images"), (char *)NULL);
gtk_box_pack_start(hbox, button, FALSE, TRUE, 0);
g_signal_connect(G_OBJECT (button), "clicked",
G_CALLBACK (attach_button_clicked), (gpointer)self);
button = gtk_button_new_with_label(_("detach"));
d->detach_button = button;
g_object_set(G_OBJECT(button), "tooltip-text", _("detach tag from all selected images"), (char *)NULL);
g_signal_connect(G_OBJECT (button), "clicked",
G_CALLBACK (detach_button_clicked), (gpointer)self);
gtk_box_pack_start(hbox, button, FALSE, TRUE, 0);
gtk_box_pack_start(box, GTK_WIDGET(hbox), FALSE, TRUE, 0);
// right side, related
box = GTK_BOX(gtk_vbox_new(FALSE, 5));
gtk_box_pack_start(GTK_BOX(self->widget), GTK_WIDGET(box), TRUE, TRUE, 5);
// text entry and new button
w = gtk_entry_new();
dt_gui_key_accel_block_on_focus (w);
g_object_set(G_OBJECT(w), "tooltip-text", _("enter tag name"), (char *)NULL);
gtk_box_pack_start(box, w, TRUE, TRUE, 0);
gtk_widget_add_events(GTK_WIDGET(w), GDK_KEY_RELEASE_MASK);
// g_signal_connect(G_OBJECT(w), "key-release-event",
g_signal_connect(G_OBJECT(w), "changed",
G_CALLBACK(tag_name_changed), (gpointer)self);
g_signal_connect(G_OBJECT (w), "activate",
G_CALLBACK (entry_activated), (gpointer)self);
d->entry = GTK_ENTRY(w);
// related tree view
w = gtk_scrolled_window_new(NULL, NULL);
gtk_widget_set_size_request(w,-1,100);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(w), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_box_pack_start(box, w, TRUE, TRUE, 0);
d->related = GTK_TREE_VIEW(gtk_tree_view_new());
gtk_tree_view_set_headers_visible(d->related, FALSE);
liststore = gtk_list_store_new(DT_LIB_TAGGING_NUM_COLS, G_TYPE_STRING, G_TYPE_UINT);
col = gtk_tree_view_column_new();
gtk_tree_view_append_column(d->related, col);
renderer = gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start(col, renderer, TRUE);
gtk_tree_view_column_add_attribute(col, renderer, "text", DT_LIB_TAGGING_COL_TAG);
gtk_tree_selection_set_mode(gtk_tree_view_get_selection(d->related),
GTK_SELECTION_SINGLE);
gtk_tree_view_set_model(d->related, GTK_TREE_MODEL(liststore));
g_object_unref(liststore);
g_object_set(G_OBJECT(d->related), "tooltip-text", _("related tags,\ndoubleclick to attach"), (char *)NULL);
g_signal_connect(G_OBJECT (d->related), "row-activated", G_CALLBACK (attach_activated), (gpointer)self);
gtk_container_add(GTK_CONTAINER(w), GTK_WIDGET(d->related));
// attach and delete buttons
hbox = GTK_BOX(gtk_hbox_new(TRUE, 5));
button = gtk_button_new_with_label(_("new"));
d->new_button = button;
//.........这里部分代码省略.........
开发者ID:AntonSh,项目名称:darktable,代码行数:101,代码来源:tagging.c
示例16: _lib_tagging_tag_show
static gboolean
_lib_tagging_tag_show(GtkAccelGroup *accel_group, GObject *acceleratable, guint keyval, GdkModifierType modifier, dt_lib_module_t* self)
{
int mouse_over_id = -1;
int zoom = dt_conf_get_int("plugins/lighttable/images_in_row");
// the order is:
// if(zoom == 1) => currently shown image
// else if(selection not empty) => slected images
// else if(cursor over image) => hovered image
// else => return
if(zoom == 1 || dt_collection_get_selected_count(darktable.collection) == 0)
{
DT_CTL_GET_GLOBAL(mouse_over_id, lib_image_mouse_over_id);
if(mouse_over_id < 0)
return TRUE;
}
dt_lib_tagging_t *d = (dt_lib_tagging_t*)self->data;
d->floating_tag_imgid = mouse_over_id;
gint x, y;
gint px, py, w, h;
GtkWidget *window = dt_ui_main_window(darktable.gui->ui);
GtkWidget *center = dt_ui_center(darktable.gui->ui);
gdk_window_get_origin(gtk_widget_get_window(center), &px, &py);
gdk_window_get_size(gtk_widget_get_window(center),&w,&h);
x = px + 0.5*(w-FLOATING_ENTRY_WIDTH);
y = py + h - 50;
/* put the floating box at the mouse pointer */
// gint pointerx, pointery;
// gtk_widget_get_pointer(center, &pointerx, &pointery);
// x = px + pointerx + 1;
// y = py + pointery + 1;
d->floating_tag_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
/* stackoverflow.com/questions/1925568/how-to-give-keyboard-focus-to-a-pop-up-gtk-window */
GTK_WIDGET_SET_FLAGS(d->floating_tag_window, GTK_CAN_FOCUS);
gtk_window_set_decorated(GTK_WINDOW(d->floating_tag_window), FALSE);
gtk_window_set_has_frame(GTK_WINDOW(d->floating_tag_window), FALSE);
gtk_window_set_type_hint(GTK_WINDOW(d->floating_tag_window), GDK_WINDOW_TYPE_HINT_POPUP_MENU);
gtk_window_set_transient_for(GTK_WINDOW(d->floating_tag_window), GTK_WINDOW(window));
gtk_window_set_opacity(GTK_WINDOW(d->floating_tag_window), 0.8);
gtk_window_move(GTK_WINDOW(d-&
|
请发表评论