本文整理汇总了C++中GTK_TREE_SELECTION函数的典型用法代码示例。如果您正苦于以下问题:C++ GTK_TREE_SELECTION函数的具体用法?C++ GTK_TREE_SELECTION怎么用?C++ GTK_TREE_SELECTION使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GTK_TREE_SELECTION函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: clip_GTK_TREESELECTIONGETSELECTED
int
clip_GTK_TREESELECTIONGETSELECTED(ClipMachine * cm)
{
C_object *ctreesel = _fetch_co_arg(cm);
C_object *cmodel = _fetch_cobject(cm, _clip_par(cm, 2));
ClipVar *cviter = _clip_par(cm, 3);
C_object *citer;
GtkTreeModel *model;
gboolean ret;
CHECKOPT2(1, MAP_t, NUMERIC_t); CHECKCOBJ(ctreesel,GTK_IS_TREE_SELECTION(ctreesel->object));
memset(Iter, 0, sizeof(Iter));
if (cmodel)
{
model = GTK_TREE_MODEL(cmodel->object);
ret = gtk_tree_selection_get_selected(GTK_TREE_SELECTION(ctreesel->object),
&model, Iter);
}
else
ret = gtk_tree_selection_get_selected(GTK_TREE_SELECTION(ctreesel->object),
NULL, Iter);
if (ret && Iter)
{
citer = _list_get_cobject(cm,Iter);
if (!citer) citer = _register_object(cm,Iter,GTK_TYPE_TREE_ITER, cviter, NULL);
if (citer) _clip_mclone(cm, cviter,&citer->obj);
}
_clip_retl(cm, ret);
return 0;
err:
return 1;
}
开发者ID:amery,项目名称:clip-itk,代码行数:35,代码来源:treeselection.c
示例2: file_selected
/* file_selected
* Acts as the callback for when a file is selected from the directory treeview.
* Refills the hex buffers with data at the selection. Also allows for folder navigation.
*/
void file_selected (GtkWidget *selection, gpointer data) {
GtkTreeModel *model;
GtkTreeIter iter;
if (gtk_tree_selection_get_selected (GTK_TREE_SELECTION(selection),
&model, &iter)) {
gchar *file_path;
gtk_tree_model_get (model, &iter, FILE_NAME, &file_path, -1);
//g_message("selected %s\n", file_path);
gchar *permissions;
gtk_tree_model_get (model, &iter, PERMISSIONS, &permissions, -1);
if(permissions[0] != '-'){
return;
//This code allows for navigation in the dir view but no thanks.
if(permissions[0] == 'd'){
if(remakeDirectoryView(directory_treeview,file_path) != 0){
fprintf(stderr,"Unable To Build File Directory View Panel.\n");
}
}
return;
}
if(rebuildHexPanel (hex_offset_textview, hex_textview, hex_text_textview,file_path) != 0){
fprintf(stderr,"Unable to Build Hex Panel.\n");
}
}
}
开发者ID:Jtosbornex,项目名称:GTK-File-Explorer,代码行数:34,代码来源:FileExplorer.c
示例3: cancelDownloadCallback
static void cancelDownloadCallback(GtkWidget *button, BrowserDownloadDialog *dialog)
{
GtkTreeModel * model;
GtkTreeIter iter;
WebKitDownload *wkDownload;
if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(dialog->select), &model, &iter))
{
gtk_tree_model_get (GTK_TREE_MODEL(dialog->model), &iter, 7, &wkDownload, -1);
if(wkDownload)
{
webkit_download_cancel(WEBKIT_DOWNLOAD(wkDownload));
gtk_list_store_remove(dialog->model, &iter);
return;
}
char *treeviewIndex = g_strdup_printf("%s", gtk_tree_model_get_string_from_iter(GTK_TREE_MODEL(dialog->model), &iter));
if(treeviewIndex)
{
size_t listIndex = atoi(treeviewIndex);
DeleteList(dialog->download,listIndex);
}
g_printerr("store_remove\n");
gtk_list_store_remove(dialog->model, &iter);
}
}
开发者ID:sinoory,项目名称:webv8,代码行数:26,代码来源:BrowserDownloadDialog.c
示例4: usun_obj
void usun_obj(GtkWidget *widget, gpointer selection)
{
GtkListStore *store;
GtkTreeModel *model;
GtkTreeIter iter;
store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW (lista_obj_gui)));
model = gtk_tree_view_get_model(GTK_TREE_VIEW(lista_obj_gui));
if(gtk_tree_model_get_iter_first(model, &iter) == FALSE)
return;
if(gtk_tree_selection_get_selected(GTK_TREE_SELECTION(selection), &model, &iter))
{
wezel *red;
gtk_tree_model_get(model, &iter, 1, &red, -1);
int poz = szukaj_wartosci(lista_obj, red->wartosc);
if(poz != -1)
lista_obj = usun_z_pozycji(lista_obj, poz);
else
{
pokaz_error("Uwaga! Wyciek pamieci spowodowany nieusunieciem obiektu (chociaz uzytkownikowi zniknal on z oczu)!");
// teoretycznie nigdy program nie powinien tutaj dojsc...
}
gtk_list_store_remove(store, &iter);
}
}
开发者ID:socumbersome,项目名称:rzucacz,代码行数:26,代码来源:gui.c
示例5: gtkui_connection_kill
/*
* kill the selected connection connection
*/
static void gtkui_connection_kill(void *conn)
{
GtkTreeIter iter;
GtkTreeModel *model;
struct conn_tail *c = NULL;
DEBUG_MSG("gtkui_connection_kill");
model = GTK_TREE_MODEL (ls_conns);
if (gtk_tree_selection_get_selected (GTK_TREE_SELECTION (selection), &model, &iter)) {
gtk_tree_model_get (model, &iter, 9, &c, -1);
} else
return; /* nothing is selected */
if (!c || !c->co)
return;
/* kill it */
switch (user_kill(c->co)) {
case ESUCCESS:
/* set the status */
c->co->status = CONN_KILLED;
gtkui_message("The connection was killed !!");
break;
case -EFATAL:
gtkui_message("Cannot kill UDP connections !!");
break;
}
}
开发者ID:SpiderLabs,项目名称:ettercap,代码行数:33,代码来源:ec_gtk_view_connections.c
示例6: clip_GTK_TREEGETSELECTION
int
clip_GTK_TREEGETSELECTION(ClipMachine * ClipMachineMemory)
{
C_widget *ctree = _fetch_cw_arg(ClipMachineMemory);
GList *list;
CHECKCWID(ctree, GTK_IS_TREE);
list = GTK_TREE_SELECTION(ctree->widget);
if (list)
{
C_widget *citem;
long l = g_list_length(list);
ClipVar *a = RETPTR(ClipMachineMemory);
_clip_array(ClipMachineMemory, a, 1, &l);
for (l = 0; list; list = g_list_next(list), l++)
{
citem = _get_cwidget(ClipMachineMemory, list->data);
if (citem)
_clip_aset(ClipMachineMemory, a, &citem->obj, 1, &l);
}
}
return 0;
err:
return 1;
}
开发者ID:amery,项目名称:clip-angelo,代码行数:29,代码来源:tree.c
示例7: main
int main(void) {
preparation_t queries[] = {
{ "rate",
"SELECT connectionStrength((select id from mode),$2,$1)" },
{ "getpage",
"select strength,title,songs.id from connections inner join songs on connections.blue = songs.id where red = (select id from mode) order by strength desc OFFSET $1 LIMIT $2;" }
};
PQinit();
gtk_init(NULL,NULL);
prepareQueries(queries);
GtkBuilder* builder = gtk_builder_new_from_string(gladeFile,gladeFileSize);
GtkWidget* top = GTK_WIDGET(gtk_builder_get_object(builder,"top"));
GtkTreeSelection* selection = GTK_TREE_SELECTION(
gtk_builder_get_object(builder,"song-selection"));
GtkButton* rateup = GTK_BUTTON(
gtk_builder_get_object(builder,"rateup"));
GtkButton* ratedown = GTK_BUTTON(
gtk_builder_get_object(builder,"ratedown"));
g_signal_connect(G_OBJECT(rateup),"clicked",G_CALLBACK(yay),selection);
g_signal_connect(G_OBJECT(ratedown),"clicked",G_CALLBACK(nay),selection);
GtkListStore* model = GTK_LIST_STORE(
gtk_builder_get_object(builder,"songs"));
fillNext(selection,model);
gtk_widget_show_all(top);
gtk_main();
}
开发者ID:cyisfor,项目名称:songPlayer,代码行数:30,代码来源:ratebytitle.c
示例8: button11_treeview_fun
void button11_treeview_fun(GtkWidget *window,gpointer data)//启动并进入容器
{
GtkTreeIter iter22;
GtkTreeModel *mod22;
GtkMessageType type;
mod22=gtk_tree_view_get_model (GTK_TREE_VIEW(window));
static char *ss=NULL;
static char *tmp=NULL;
ss=(char *)malloc(sizeof(char)*100);
tmp=(char *)malloc(sizeof(char)*100);
//gtk_tree_selection_get_selected (GTK_TREE_SELECTION(data),&mod22,&iter22);
//gtk_tree_model_get(GTK_TREE_MODEL(mod22),&iter22,1,&ss,-1);
if(gtk_tree_selection_get_selected (GTK_TREE_SELECTION(data),&mod22,&iter22))
{
//system("ls");
gtk_tree_model_get(GTK_TREE_MODEL(mod22),&iter22,1,&ss,-1);
sprintf(tmp,"sudo gnome-terminal -x bash -c \"sudo docker start -i %s\"",ss);
g_thread_new("dockr_start",docker_contain_start,tmp);
printf("%s\n",ss);
printf("%s\n",tmp);
g_free(ss);
}
else{
contains_message(GTK_MESSAGE_ERROR,_("Choose a line of content"));
}
}
开发者ID:jy4618272,项目名称:docker-gui,代码行数:34,代码来源:nfs_container_manage.c
示例9: Picture_Entry_View_Button_Pressed
/*
* If double clicking the PictureEntryView :
* - over a selected row : opens properties window
* - over an empty area : open the adding window
*/
gboolean Picture_Entry_View_Button_Pressed (GtkTreeView *treeview, GdkEventButton *event, gpointer data)
{
if (event->type == GDK_BUTTON_PRESS && event->button == 1)
{
if (event->window == gtk_tree_view_get_bin_window (treeview))
{
if (!gtk_tree_view_get_path_at_pos (treeview, event->x, event->y,
NULL, NULL, NULL, NULL))
{
gtk_tree_selection_unselect_all (gtk_tree_view_get_selection (treeview));
}
}
}
if (event->type==GDK_2BUTTON_PRESS && event->button==1)
{
GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(PictureEntryView));
if (gtk_tree_selection_count_selected_rows (GTK_TREE_SELECTION (selection)) >= 1)
Picture_Properties_Button_Clicked (G_OBJECT (image_properties_toolitem));
else
Picture_Add_Button_Clicked (G_OBJECT (add_image_toolitem));
return TRUE;
}
return FALSE;
}
开发者ID:mat-raynard,项目名称:easytag,代码行数:33,代码来源:picture.c
示例10: openDirCallback
static void openDirCallback(GtkWidget *button, BrowserDownloadDialog *dialog)
{
GtkTreeModel * model;
GtkTreeIter iter;
gchar *path_file;
if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(dialog->select), &model, &iter))
{
gtk_tree_model_get (GTK_TREE_MODEL(dialog->model), &iter, 6, &path_file, -1);
if(path_file)
{
int path_len = strlen(path_file) - strlen(g_strrstr(path_file , "/"));
gchar *download_path = (char*)malloc(path_len*sizeof(char)+1);
memset(download_path, 0x00, path_len+1);
memcpy(download_path, path_file, path_len);
char *argv[] = {"xdg-open", download_path, NULL} ;
g_spawn_async( NULL, (gchar **)argv, NULL, (GSpawnFlags)(G_SPAWN_SEARCH_PATH |
G_SPAWN_STDOUT_TO_DEV_NULL |
G_SPAWN_STDERR_TO_DEV_NULL |
G_SPAWN_STDERR_TO_DEV_NULL),
NULL, NULL, NULL, NULL );
g_free(download_path);
g_free(path_file);
}
}
}
开发者ID:sinoory,项目名称:webv8,代码行数:28,代码来源:BrowserDownloadDialog.c
示例11: net_connection_editor_init
static void
net_connection_editor_init (NetConnectionEditor *editor)
{
GError *error = NULL;
GtkTreeSelection *selection;
editor->builder = gtk_builder_new ();
gtk_builder_add_from_resource (editor->builder,
"/org/gnome/control-center/network/connection-editor.ui",
&error);
if (error != NULL) {
g_warning ("Could not load ui file: %s", error->message);
g_error_free (error);
return;
}
editor->window = GTK_WIDGET (gtk_builder_get_object (editor->builder, "details_dialog"));
selection = GTK_TREE_SELECTION (gtk_builder_get_object (editor->builder,
"details_page_list_selection"));
g_signal_connect (selection, "changed",
G_CALLBACK (selection_changed), editor);
editor->scrolled_window = GTK_WIDGET (gtk_builder_get_object (editor->builder, "toplevel_scrolled_window"));
}
开发者ID:kleopatra999,项目名称:gnome-control-center,代码行数:25,代码来源:net-connection-editor.c
示例12: gtk_tree_selection_get_tree_view
Php::Value GtkTreeSelection_::get_tree_view()
{
GtkTreeView *ret = gtk_tree_selection_get_tree_view (GTK_TREE_SELECTION(instance));
GtkTreeView_ *return_parsed = new GtkTreeView_();
return_parsed->set_instance((gpointer *)ret);
return Php::Object("GtkTreeView", return_parsed);
}
开发者ID:scorninpc,项目名称:php-gtk3-tests,代码行数:8,代码来源:GtkTreeSelection.cpp
示例13: gtk_tree_path_new_from_string
void GtkTreeSelection_::unselect_path(Php::Parameters ¶meters)
{
std::string param_path = parameters[0];
GtkTreePath *path = gtk_tree_path_new_from_string(param_path.c_str());
gtk_tree_selection_unselect_path (GTK_TREE_SELECTION(instance), path);
}
开发者ID:scorninpc,项目名称:php-gtk3-tests,代码行数:8,代码来源:GtkTreeSelection.cpp
示例14: gtk_tree_selection_set_mode
void GtkTreeSelection_::set_mode(Php::Parameters ¶meters)
{
int int_type = (int)parameters[0];
GtkSelectionMode type = (GtkSelectionMode)int_type;
gtk_tree_selection_set_mode (GTK_TREE_SELECTION(instance), type);
}
开发者ID:scorninpc,项目名称:php-gtk3-tests,代码行数:8,代码来源:GtkTreeSelection.cpp
示例15: tabu_playlist_init
static void
tabu_playlist_init (TabuPlaylist *self)
{
self->tree_view = gtk_tree_view_new ( );
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (self->tree_view), FALSE);
gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (self->tree_view), TRUE);
gtk_tree_selection_set_mode (
GTK_TREE_SELECTION (
gtk_tree_view_get_selection (GTK_TREE_VIEW (self->tree_view))),
GTK_SELECTION_SINGLE);
self->cell_renderer = gtk_cell_renderer_text_new ();
self->tree_view_column = gtk_tree_view_column_new_with_attributes(
"",
self->cell_renderer,
"markup", 0,
NULL );
gtk_tree_view_insert_column (
GTK_TREE_VIEW (self->tree_view),
self->tree_view_column,
-1);
self->list_store = gtk_list_store_new (
2,
G_TYPE_STRING,
G_TYPE_STRING );
gtk_tree_view_set_model (
GTK_TREE_VIEW (self->tree_view),
GTK_TREE_MODEL (self->list_store));
/*
g_signal_connect (
G_OBJECT (self->tree_view),
"row-activated",
G_CALLBACK (playlist_row_activated_callback),
NULL);
g_signal_connect (
G_OBJECT (self->tree_view),
"key-press-event",
G_CALLBACK (playlist_key_press_callback),
NULL);
*/
gtk_scrolled_window_set_policy (
GTK_SCROLLED_WINDOW (self),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_container_add (
GTK_CONTAINER ( GTK_SCROLLED_WINDOW (self)),
GTK_WIDGET (self->tree_view));
}
开发者ID:kalmbach,项目名称:tabu_audio_player,代码行数:58,代码来源:tabu-playlist.c
示例16: changed__
static void changed__(GtkWidget * widget, gpointer user_data) {
GtkTreeIter iter;
GtkTreeModel *model;
if (gtk_tree_selection_get_selected(GTK_TREE_SELECTION(widget), &model, &iter)) {
int id = 0;
gtk_tree_model_get(model, &iter, ID_COLUMN, &id, -1);
call_item__(id);
}
}
开发者ID:zzzzzzzzzzz0,项目名称:zhscript,代码行数:9,代码来源:toolbar2___.cpp
示例17: gtk_tree_selection_unselect_iter
void GtkTreeSelection_::unselect_iter(Php::Parameters ¶meters)
{
Php::Value object_iter = parameters[0];
GtkTreeIter_ *phpgtk_iter = (GtkTreeIter_ *)object_iter.implementation();
GtkTreeIter iter = phpgtk_iter->get_instance();
gtk_tree_selection_unselect_iter (GTK_TREE_SELECTION(instance), &iter);
}
开发者ID:scorninpc,项目名称:php-gtk3-tests,代码行数:9,代码来源:GtkTreeSelection.cpp
示例18: gsb_fyear_config_modify_fyear
/**
* called when something change for a fyear
* update the list and the invalid
*
* \param entry the entry wich change
* \param tree_view the tree_view
*
* \return FALSE
* */
gboolean gsb_fyear_config_modify_fyear ( GtkWidget *entry,
GtkWidget *tree_view)
{
GtkTreeModel *model;
GtkTreeIter iter;
gint fyear_number;
GtkWidget *widget;
gchar *invalid;
if (!gtk_tree_selection_get_selected ( GTK_TREE_SELECTION (gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view))),
&model,
&iter ))
return FALSE;
gtk_tree_model_get ( GTK_TREE_MODEL (model),
&iter,
FYEAR_NUMBER_COLUMN, &fyear_number,
-1 );
/* normally should not happen */
if (!fyear_number)
return FALSE;
/* check the invalid and show the message if needed */
widget = g_object_get_data ( G_OBJECT (model),
"invalid_label" );
/* check all the fyear to set them invalid if need */
gsb_fyear_update_invalid (tree_view);
/* and check if the current fyear was set as invalid */
if (gsb_data_fyear_get_invalid (fyear_number))
{
/* and now focus on the current fyear */
invalid = GTK_STOCK_DIALOG_WARNING;
gtk_label_set_markup ( GTK_LABEL (widget),
gsb_data_fyear_get_invalid_message (fyear_number));
gtk_widget_show (widget);
}
else
{
invalid = NULL;
gtk_widget_hide (widget);
}
gtk_list_store_set ( GTK_LIST_STORE (model),
&iter,
FYEAR_NAME_COLUMN, gsb_data_fyear_get_name (fyear_number),
FYEAR_BEGIN_DATE_COLUMN, gsb_format_gdate (gsb_data_fyear_get_beginning_date (fyear_number)),
FYEAR_END_DATE_COLUMN, gsb_format_gdate (gsb_data_fyear_get_end_date (fyear_number)) ,
FYEAR_INVALID_COLUMN, invalid,
FYEAR_NUMBER_COLUMN, fyear_number,
-1 );
gsb_file_set_modified ( TRUE );
return FALSE;
}
开发者ID:wazari972,项目名称:Grisbi,代码行数:65,代码来源:gsb_fyear_config.c
示例19: gtk_tree_selection_iter_is_selected
Php::Value GtkTreeSelection_::iter_is_selected(Php::Parameters ¶meters)
{
Php::Value object_iter = parameters[0];
GtkTreeIter_ *phpgtk_iter = (GtkTreeIter_ *)object_iter.implementation();
GtkTreeIter iter = phpgtk_iter->get_instance();
gboolean ret = gtk_tree_selection_iter_is_selected (GTK_TREE_SELECTION(instance), &iter);
return ret;
}
开发者ID:scorninpc,项目名称:php-gtk3-tests,代码行数:10,代码来源:GtkTreeSelection.cpp
示例20: codec_moved_cb
static void
codec_moved_cb (GtkWidget *widget,
gpointer data)
{
CodecsBox *self = NULL;
GtkTreeIter iter;
GtkTreeIter *iter2 = NULL;
GtkTreeModel *model = NULL;
GtkTreeSelection *selection = NULL;
GtkTreePath *tree_path = NULL;
std::list<std::string> list;
gchar *path_str = NULL;
self = CODECS_BOX (data);
model = gtk_tree_view_get_model (GTK_TREE_VIEW (self->priv->codecs_list));
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (self->priv->codecs_list));
if (!gtk_tree_selection_get_selected (GTK_TREE_SELECTION (selection),
NULL, &iter))
return;
/* Update the tree view */
iter2 = gtk_tree_iter_copy (&iter);
path_str = gtk_tree_model_get_string_from_iter (GTK_TREE_MODEL (model),
&iter);
tree_path = gtk_tree_path_new_from_string (path_str);
if (!g_strcmp0 ((gchar *) g_object_get_data (G_OBJECT (widget), "operation"),
"up"))
gtk_tree_path_prev (tree_path);
else
gtk_tree_path_next (tree_path);
gtk_tree_model_get_iter (GTK_TREE_MODEL (model), &iter, tree_path);
if (gtk_list_store_iter_is_valid (GTK_LIST_STORE (model), &iter)
&& gtk_list_store_iter_is_valid (GTK_LIST_STORE (model), iter2))
gtk_list_store_swap (GTK_LIST_STORE (model), &iter, iter2);
/* Scroll to the new position */
gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (self->priv->codecs_list),
tree_path, NULL, FALSE, 0, 0);
gtk_tree_path_free (tree_path);
gtk_tree_iter_free (iter2);
g_free (path_str);
/* Update the key */
list = codecs_box_to_list (self);
if (self->priv->type == Ekiga::Call::Audio)
self->priv->audio_settings->set_string_list ("media-list", list);
else if (self->priv->type == Ekiga::Call::Video)
self->priv->video_settings->set_string_list ("media-list", list);
}
开发者ID:UIKit0,项目名称:ekiga,代码行数:55,代码来源:codecsbox.cpp
注:本文中的GTK_TREE_SELECTION函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论