⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vivi_docklet.c

📁 Swfdec is a decoder/renderer for Macromedia Flash animations. The decoding and rendering engine is
💻 C
字号:
/* Vivified * Copyright (C) 2007 Benjamin Otte <otte@gnome.org> * * 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.1 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., 51 Franklin Street, Fifth Floor,  * Boston, MA  02110-1301  USA */#ifdef HAVE_CONFIG_H#include "config.h"#endif#include "vivi_docklet.h"enum {  PROP_0,  PROP_TITLE,  PROP_ICON};G_DEFINE_ABSTRACT_TYPE (ViviDocklet, vivi_docklet, GTK_TYPE_BIN)static voidvivi_docklet_get_property (GObject *object, guint param_id, GValue *value,     GParamSpec * pspec){  ViviDocklet *docklet = VIVI_DOCKLET (object);    switch (param_id) {    case PROP_TITLE:      g_value_set_string (value, docklet->title);      break;    case PROP_ICON:      g_value_set_string (value, docklet->icon);      break;    default:      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);      break;  }}static voidvivi_docklet_set_property (GObject *object, guint param_id, const GValue *value,    GParamSpec *pspec){  ViviDocklet *docklet = VIVI_DOCKLET (object);  switch (param_id) {    case PROP_TITLE:      vivi_docklet_set_title (docklet, g_value_get_string (value));      break;    case PROP_ICON:      vivi_docklet_set_title (docklet, g_value_get_string (value));      break;    default:      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);      break;  }}static voidvivi_docklet_dispose (GObject *object){  ViviDocklet *docklet = VIVI_DOCKLET (object);  g_free (docklet->title);  g_free (docklet->icon);  G_OBJECT_CLASS (vivi_docklet_parent_class)->dispose (object);}static voidvivi_docklet_size_request (GtkWidget *widget, GtkRequisition *req){  GtkWidget *child = GTK_BIN (widget)->child;    if (child) {    gtk_widget_size_request (child, req);  } else {    req->width = req->height = 0;  }}static voidvivi_docklet_size_allocate (GtkWidget *widget, GtkAllocation *allocation){  GtkWidget *child = GTK_BIN (widget)->child;    GTK_WIDGET_CLASS (vivi_docklet_parent_class)->size_allocate (widget, allocation);  if (child && GTK_WIDGET_VISIBLE (child)) {    gtk_widget_size_allocate (child, allocation);  }}static voidvivi_docklet_class_init (ViviDockletClass *klass){  GObjectClass *object_class = G_OBJECT_CLASS (klass);  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);  object_class->dispose = vivi_docklet_dispose;  object_class->get_property = vivi_docklet_get_property;  object_class->set_property = vivi_docklet_set_property;  g_object_class_install_property (object_class, PROP_TITLE,      g_param_spec_string ("title", "title", "title of this docklet",	  "Unnamed", G_PARAM_READWRITE));  g_object_class_install_property (object_class, PROP_ICON,      g_param_spec_string ("icon", "icon", "name of the icon to display",	  GTK_STOCK_MISSING_IMAGE, G_PARAM_READWRITE));  widget_class->size_request = vivi_docklet_size_request;  widget_class->size_allocate = vivi_docklet_size_allocate;}static voidvivi_docklet_init (ViviDocklet *docklet){  docklet->title = g_strdup ("Unnamed");  docklet->icon = g_strdup (GTK_STOCK_MISSING_IMAGE);}voidvivi_docklet_set_title (ViviDocklet *docklet, const char *title){  g_return_if_fail (VIVI_IS_DOCKLET (docklet));  g_return_if_fail (title != NULL);  g_free (docklet->title);  docklet->title = g_strdup (title);  g_object_notify (G_OBJECT (docklet), "title");}const char *vivi_docklet_get_title (ViviDocklet *docklet){  g_return_val_if_fail (VIVI_IS_DOCKLET (docklet), NULL);  return docklet->title;}voidvivi_docklet_set_icon (ViviDocklet *docklet, const char *icon){  g_return_if_fail (VIVI_IS_DOCKLET (docklet));  g_return_if_fail (icon != NULL);  g_free (docklet->icon);  docklet->icon = g_strdup (icon);  g_object_notify (G_OBJECT (docklet), "icon");}const char *vivi_docklet_get_icon (ViviDocklet *docklet){  g_return_val_if_fail (VIVI_IS_DOCKLET (docklet), NULL);  return docklet->icon;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -