制作 discordian gtk 日历小部件 - 如何更改 headers 以将 gtkcalendar.c 提取到我自己的目录?
Making discordian gtk calendar widget - how to change the headers to extract gtkcalendar.c to my own directory?
我打算为 gtk 制作一个 discordian 日历小部件。自 70 年代以来,Linux 默认使用 Discordian 日历。现在它在大多数发行版中。您可以通过在终端中输入 "ddate" 来检查它。 :)
所以我想通过更改现有的日历小部件代码来制作 gtk 小部件。为了试验它,我想把它放在单独的工作目录中。
我找到了使用常规 gtkcalendar.c 和 gtkcalendar.h 的示例,它非常简单,就像这样:
#include <gtk/gtk.h>
我希望 gtkdiscocalendar.c 与我的 example.c 位于同一工作目录中,以便像这样包含它:
#include "gtkdiscocalendar.c"
#include "gtkdiscocalendar.h"
如何从 gtk/gtk 中正确提取此文件?他们的 headers 看起来像这样:
(gtkcalendar.c)
#include "config.h"
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY
#include <langinfo.h>
#endif
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <glib.h>
#ifdef G_OS_WIN32
#include <windows.h>
#endif
#include "gtkcalendar.h"
#include "gtkdnd.h"
#include "gtkdragdest.h"
#include "gtkintl.h"
#include "gtkmain.h"
#include "gtkmarshalers.h"
#include "gtktooltip.h"
#include "gtkprivate.h"
#include "gtkrendericonprivate.h"
#include "gtksnapshot.h"
#include "gtkstylecontextprivate.h"
(gtkcalendar.h)
#include <gtk/gtkwidget.h>
我的做法对吗?或者也许我应该自己克隆整个 gtk,而不是修改它并将其安装在我的电脑上?这是我第一次使用 gtk,所以我不想弄乱我的系统。另外,我不是受过训练的程序员,所以也许这些都是基本问题。非常感谢您的回答:)
gtkcalendar.c 是提供 with/by 框架的小部件,包含的内容将不同于那些子类 GtkWidget/GObject 或出于自己目的的派生。
在 C 中子类化 GObject 或 GtkWidgets 对于新手来说非常冗长且容易出错。您可能想尝试其他语言绑定,例如 Vala、Python 甚至 Javascript。
自定义小部件位于:
关于GNOME Developer的资料很多website
我打算为 gtk 制作一个 discordian 日历小部件。自 70 年代以来,Linux 默认使用 Discordian 日历。现在它在大多数发行版中。您可以通过在终端中输入 "ddate" 来检查它。 :)
所以我想通过更改现有的日历小部件代码来制作 gtk 小部件。为了试验它,我想把它放在单独的工作目录中。
我找到了使用常规 gtkcalendar.c 和 gtkcalendar.h 的示例,它非常简单,就像这样:
#include <gtk/gtk.h>
我希望 gtkdiscocalendar.c 与我的 example.c 位于同一工作目录中,以便像这样包含它:
#include "gtkdiscocalendar.c"
#include "gtkdiscocalendar.h"
如何从 gtk/gtk 中正确提取此文件?他们的 headers 看起来像这样:
(gtkcalendar.c)
#include "config.h"
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY
#include <langinfo.h>
#endif
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <glib.h>
#ifdef G_OS_WIN32
#include <windows.h>
#endif
#include "gtkcalendar.h"
#include "gtkdnd.h"
#include "gtkdragdest.h"
#include "gtkintl.h"
#include "gtkmain.h"
#include "gtkmarshalers.h"
#include "gtktooltip.h"
#include "gtkprivate.h"
#include "gtkrendericonprivate.h"
#include "gtksnapshot.h"
#include "gtkstylecontextprivate.h"
(gtkcalendar.h)
#include <gtk/gtkwidget.h>
我的做法对吗?或者也许我应该自己克隆整个 gtk,而不是修改它并将其安装在我的电脑上?这是我第一次使用 gtk,所以我不想弄乱我的系统。另外,我不是受过训练的程序员,所以也许这些都是基本问题。非常感谢您的回答:)
gtkcalendar.c 是提供 with/by 框架的小部件,包含的内容将不同于那些子类 GtkWidget/GObject 或出于自己目的的派生。
在 C 中子类化 GObject 或 GtkWidgets 对于新手来说非常冗长且容易出错。您可能想尝试其他语言绑定,例如 Vala、Python 甚至 Javascript。
自定义小部件位于:
关于GNOME Developer的资料很多website