制作discordian gtk日历小部件 - 如何更改标题以将gtkcalendar.c解压缩到我自己的目录?

时间:2017-05-22 14:29:00

标签: c calendar header widget gtk

我正在计划为gtk制作一个不和谐的日历小部件。自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中正确提取这些文件?他们的标题看起来像这样:

(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,所以我不想弄乱我的系统。另外,我不是训练有素的程序员,所以也许这些都是基本的问题。我非常感谢答案:)

1 个答案:

答案 0 :(得分:0)

gtkcalendar.c是一个由框架提供的小部件,包含将不同于那些为了自己的目的而继承GtkWidget / GObject或派生类的子类。

在C语言中对GObject或GtkWidgets进行子类化,对于新手来说非常冗长且容易出错。您可能想尝试其他语言绑定,例如Vala,Python甚至Javascript。

自定义小工具:

有很多关于GNOME Developer website

的信息