资源简介

注意: GTK+ 3.x版本跟Python2.7不兼容,如果在Python下使用GTK,需要安装2.x版的gtk+ (在windows上如此)

资源截图

代码片段和文件信息

/* Gobject - GLib Type object Parameter and Signal Library
 * Copyright (C) 1998-1999 2000-2001 Tim Janik and Red Hat Inc.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General
 * Public License along with this library; if not write to the
 * Free Software Foundation Inc. 59 Temple Place Suite 330
 * Boston MA 02111-1307 USA.
 */

#ifndef __G_object_NOTIFY_QUEUE_H__
#define __G_object_NOTIFY_QUEUE_H__

#include  /* memset */

#include ject.h>

G_BEGIN_DECLS


/* --- typedefs --- */
typedef struct _GobjectNotifyContext          GobjectNotifyContext;
typedef struct _GobjectNotifyQueue            GobjectNotifyQueue;
typedef void (*GobjectNotifyQueueDispatcher) (Gobject     *object
      guint        n_pspecs
      GParamSpec **pspecs);


/* --- structures --- */
struct _GobjectNotifyContext
{
  GQuark                       quark_notify_queue;
  GobjectNotifyQueueDispatcher dispatcher;
  GTrashStack                 *_nqueue_trash; /* unused */
};
struct _GobjectNotifyQueue
{
  GobjectNotifyContext *context;
  GSList               *pspecs;
  guint16               n_pspecs;
  guint16               freeze_count;
};

G_LOCK_DEFINE_STATIC(notify_lock);

/* --- functions --- */
static void
g_object_notify_queue_free (gpointer data)
{
  GobjectNotifyQueue *nqueue = data;

  g_slist_free (nqueue->pspecs);
  g_slice_free (GobjectNotifyQueue nqueue);
}

static inline GobjectNotifyQueue*
g_object_notify_queue_freeze (Gobject    *object
      GobjectNotifyContext *context)
{
  GobjectNotifyQueue *nqueue;

  G_LOCK(notify_lock);
  nqueue = g_datalist_id_get_data (&object->qdata context->quark_notify_queue);
  if (!nqueue)
    {
      nqueue = g_slice_new0 (GobjectNotifyQueue);
      nqueue->context = context;
      g_datalist_id_set_data_full (&object->qdata context->quark_notify_queue
   nqueue g_object_notify_queue_free);
    }

  if (nqueue->freeze_count >= 65535)
    g_critical(“Free queue for %s (%p) is larger than 65535“
               “ called g_object_freeze_notify() too often.“
               “ Forgot to call g_object_thaw_notify() or infinite loop“
               G_object_TYPE_NAME (object) object);
  else
    nqueue->freeze_count++;
  G_UNLOCK(notify_lock);

  return nqueue;
}

static inline void
g_object_notify_queue_thaw (Gobject            *object
    GobjectNotifyQueue *nqueue)
{
  GobjectNotifyContext *context = nqueue->context;
  GParamSpec *pspecs_mem[16] **pspecs 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件      199956  2010-09-12 08:08  bin\envsubst.exe
     文件      160050  2010-08-18 11:04  bin\fc-cache.exe
     文件      145269  2010-08-18 11:05  bin\fc-list.exe
     文件        3818  2010-12-29 10:48  bin\freetype-config
     文件      128691  2010-12-29 12:42  bin\gdk-pixbuf-csource.exe
     文件      131730  2010-12-29 12:42  bin\gdk-pixbuf-query-loaders.exe
     文件      199391  2010-09-12 08:08  bin\gettext.exe
     文件        4655  2010-09-12 08:08  bin\gettext.sh
     文件      146622  2010-12-29 12:20  bin\glib-genmarshal.exe
     文件        5492  2010-12-29 12:17  bin\glib-gettextize
     文件       16894  2010-12-29 12:20  bin\glib-mkenums
     文件      126826  2010-12-29 12:20  bin\gobject-query.exe
     文件      128656  2010-12-29 12:18  bin\gspawn-win64-helper-console.exe
     文件      130670  2010-12-29 12:18  bin\gspawn-win64-helper.exe
     文件       27879  2010-12-29 12:57  bin\gtk-builder-convert
     文件      444880  2010-12-29 13:00  bin\gtk-demo.exe
     文件      131025  2010-12-29 12:57  bin\gtk-query-immodules-2.0.exe
     文件      156990  2010-12-29 12:57  bin\gtk-update-icon-cache.exe
     文件         585  2010-12-29 12:57  bin\gtk-update-icon-cache.exe.manifest
     文件      153574  2010-09-12 08:08  bin\libasprintf-0.dll
     文件      245571  2010-09-30 21:59  bin\libatk-1.0-0.dll
     文件     1302090  2010-12-29 12:09  bin\libcairo-2.dll
     文件      129524  2010-12-29 12:09  bin\libcairo-gobject-2.dll
     文件      273815  2010-12-29 12:09  bin\libcairo-script-interpreter-2.dll
     文件      263006  2010-08-18 11:02  bin\libexpat-1.dll
     文件      339943  2010-08-18 11:04  bin\libfontconfig-1.dll
     文件      630647  2010-12-29 10:48  bin\libfreetype-6.dll
     文件      143726  2010-12-29 12:58  bin\libgailutil-18.dll
     文件     1099963  2010-12-29 12:53  bin\libgdk-win32-2.0-0.dll
     文件      369251  2010-12-29 12:42  bin\libgdk_pixbuf-2.0-0.dll
     文件     1289153  2010-12-29 12:22  bin\libgio-2.0-0.dll
............此处省略2886个文件信息

评论

共有 条评论