2017-05-22 9 views
0

gtk에 대한 discordian 캘린더 위젯을 만들 계획입니다. Discordian 달력은 70 년대부터 Linux에서 기본적으로 사용되었습니다. 이제 대부분의 배포본에 포함되어 있습니다. 터미널에 "ddate"를 입력하여이를 확인할 수 있습니다. :)discordian 만들기 gtk calendar 위젯 - gtkcalendar.c를 내 자신의 디렉토리로 추출하는 헤더를 변경하는 방법?

그래서 기존 캘린더 위젯 코드를 변경하여 gtk 위젯을 만들고 싶습니다. 그것을 실험하기 위해 별도의 작업 디렉토리에 가지고 싶습니다.

것은 내가 정기적 gtkcalendar.c 및 gtkcalendar.h를 사용하는 예를 발견하고 그냥 그렇게, 아주 간단합니다

#include <gtk/gtk.h> 

나는 같은 작업 디렉토리에 gtkdiscocalendar.c을하고 싶습니다 내 예제 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 내 자신의 복제본을 수정하고 그것을 내 PC에 설치하는 것보다? 이것은 내 시스템을 엉망으로 만들고 싶지 않기 때문에 gtk를 처음 사용하는 것입니다. 또한 필자는 훈련 된 프로그래머가 아니므로 모든 기본적인 질문을 던집니다. 나는 대답에 대해 매우 감사 할 것입니다 :

+0

** 귀하의 ** 특정 ** 문제가 무엇인지 확실하지 않습니다. 하지만 'ddate'에 대한 힌트를 주셔서 감사합니다. – Olaf

+0

@Olaf, gtkcalendar.c를 ~/myprograms/dcalendar /로 복사하고 수정하여 실제로 수정 된 위젯을 사용하는 프로그램에서 작동하게하고 싶습니다. – Franklin

+0

나는 당신의 문제가 무엇인지 물었습니다. 당신이하고 싶은 것이 아닙니다! – Olaf

답변

0

gtkcalendar.c는 프레임 워크와 함께 제공되는 위젯입니다. 포함은 GtkWidget/GObject 또는 파생물을 하위 목적으로 사용하는 목적과 다릅니다.

C에서 GObject 또는 GtkWidgets를 서브 클래 싱하는 것은 매우 신중하고 오류가 발생하기 쉽습니다. Vala, Python 또는 Javascript와 같은 다른 언어 바인딩을 시도 할 수 있습니다.

사용자 정의 위젯에서 : GNOME 개발자에 대한 많은 정보가있다

website