Switch to cmake
|
@ -1,57 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_project_file>
|
||||
<FileVersion major="1" minor="6" />
|
||||
<Project>
|
||||
<Option title="gtk42" />
|
||||
<Option pch_mode="2" />
|
||||
<Option compiler="gcc" />
|
||||
<Build>
|
||||
<Target title="Debug">
|
||||
<Option output="bin/Debug/gtk42" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/Debug/" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-g" />
|
||||
<Add directory="../" />
|
||||
</Compiler>
|
||||
</Target>
|
||||
<Target title="Release">
|
||||
<Option output="bin/Release/gtk42" prefix_auto="1" extension_auto="1" />
|
||||
<Option object_output="obj/Release/" />
|
||||
<Option type="0" />
|
||||
<Option compiler="gcc" />
|
||||
<Compiler>
|
||||
<Add option="-O2" />
|
||||
<Add directory="../" />
|
||||
</Compiler>
|
||||
<Linker>
|
||||
<Add option="-s" />
|
||||
</Linker>
|
||||
</Target>
|
||||
</Build>
|
||||
<Compiler>
|
||||
<Add option="-Wall" />
|
||||
</Compiler>
|
||||
<Unit filename="../src/background.cpp" />
|
||||
<Unit filename="../src/background.h" />
|
||||
<Unit filename="../src/game.cpp" />
|
||||
<Unit filename="../src/game.h" />
|
||||
<Unit filename="../src/main.cpp" />
|
||||
<Unit filename="../src/panel1.cpp" />
|
||||
<Unit filename="../src/panel1.h" />
|
||||
<Unit filename="../src/panel2.cpp" />
|
||||
<Unit filename="../src/panel2.h" />
|
||||
<Unit filename="../src/resources.cpp" />
|
||||
<Unit filename="../src/win1.cpp" />
|
||||
<Unit filename="../src/win1.h" />
|
||||
<Unit filename="../src/winconf.cpp" />
|
||||
<Unit filename="../src/winconf.h" />
|
||||
<Unit filename="icon.rc">
|
||||
<Option compilerVar="WINDRES" />
|
||||
</Unit>
|
||||
<Extensions>
|
||||
<lib_finder disable_auto="1" />
|
||||
</Extensions>
|
||||
</Project>
|
||||
</CodeBlocks_project_file>
|
|
@ -1,67 +0,0 @@
|
|||
# depslib dependency file v1.0
|
||||
1613552905 source:d:\gtk3\gtk42\src\background.cpp
|
||||
"background.h"
|
||||
"winconf.h"
|
||||
"winpe.xpm"
|
||||
|
||||
1613195745 d:\gtk3\gtk42\src\background.h
|
||||
<gtk/gtk.h>
|
||||
|
||||
1613270288 d:\gtk3\gtk42\src\winconf.h
|
||||
<gtk/gtk.h>
|
||||
|
||||
1613125939 d:\gtk3\gtk42\\winpe.xpm
|
||||
|
||||
1614135385 source:d:\gtk3\gtk42\src\main.cpp
|
||||
<gtk/gtk.h>
|
||||
"background.h"
|
||||
"winconf.h"
|
||||
"panel1.h"
|
||||
"panel2.h"
|
||||
|
||||
1613357404 d:\gtk3\gtk42\src\panel1.h
|
||||
<gtk/gtk.h>
|
||||
|
||||
1613650403 d:\gtk3\gtk42\src\panel2.h
|
||||
<gtk/gtk.h>
|
||||
|
||||
1613872672 source:d:\gtk3\gtk42\src\panel1.cpp
|
||||
<ctime>
|
||||
"panel1.h"
|
||||
"winconf.h"
|
||||
"background.h"
|
||||
|
||||
1613549116 source:d:\gtk3\gtk42\src\win1.cpp
|
||||
"win1.h"
|
||||
|
||||
1613879080 d:\gtk3\gtk42\src\win1.h
|
||||
<gtk/gtk.h>
|
||||
|
||||
1613552872 source:d:\gtk3\gtk42\src\winconf.cpp
|
||||
<cstdio>
|
||||
"winconf.h"
|
||||
|
||||
1613125939 d:\gtk3\gtk42\src\winpe.xpm
|
||||
|
||||
1613879180 source:d:\gtk3\gtk42\src\panel2.cpp
|
||||
<cstdlib>
|
||||
<thread>
|
||||
"panel2.h"
|
||||
"win1.h"
|
||||
"game.h"
|
||||
|
||||
1614135733 source:d:\gtk3\gtk42\src\resources.cpp
|
||||
<gio/gio.h>
|
||||
<stdlib.h>
|
||||
|
||||
1613650621 source:d:\gtk3\gtk42\gtk42\icon.rc
|
||||
|
||||
1613878878 d:\gtk3\gtk42\src\game.h
|
||||
<gtk/gtk.h>
|
||||
<ctime>
|
||||
<cstdlib>
|
||||
<cstring>
|
||||
|
||||
1613878921 source:d:\gtk3\gtk42\src\game.cpp
|
||||
"game.h"
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||
<CodeBlocks_layout_file>
|
||||
<FileVersion major="1" minor="0" />
|
||||
<ActiveTarget name="Release" />
|
||||
<File name="icon.rc" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="28" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="..\src\panel2.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="735" topLine="57" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="..\src\panel2.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="399" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="..\src\panel1.cpp" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="16" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
<File name="..\src\main.cpp" open="1" top="1" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
|
||||
<Cursor>
|
||||
<Cursor1 position="883" topLine="0" />
|
||||
</Cursor>
|
||||
</File>
|
||||
</CodeBlocks_layout_file>
|
|
@ -1 +0,0 @@
|
|||
MAINICON ICON "Icon_1.ico"
|
Before Width: | Height: | Size: 97 KiB |
|
@ -1,52 +0,0 @@
|
|||
#include "background.h"
|
||||
#include "winconf.h"
|
||||
#include "winpe.xpm"
|
||||
|
||||
void fileopen(GtkWidget *widget,GtkBuilder *builder){
|
||||
GObject *parent=gtk_builder_get_object(builder,"window");
|
||||
//Change background
|
||||
GtkWidget *dialog;
|
||||
GtkFileChooserAction action=GTK_FILE_CHOOSER_ACTION_OPEN;
|
||||
dialog=gtk_file_chooser_dialog_new("Choose a image File",GTK_WINDOW(parent),action,
|
||||
"OK",GTK_RESPONSE_OK,"Cancel",GTK_RESPONSE_CANCEL,NULL);
|
||||
//Use GtkFileFilter to select image file
|
||||
GtkFileFilter *filter=gtk_file_filter_new();
|
||||
gtk_file_filter_add_pattern(filter,"*.png");
|
||||
gtk_file_filter_add_pattern(filter,"*.jpg");
|
||||
gtk_file_filter_add_pattern(filter,"*.jpeg");
|
||||
gtk_file_filter_add_pattern(filter,"*.bmp");
|
||||
gtk_file_filter_add_pattern(filter,"*.xpm");
|
||||
gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog),filter);
|
||||
gtk_widget_show(dialog);
|
||||
g_signal_connect(dialog,"response",G_CALLBACK(dialog_response),builder);
|
||||
}
|
||||
|
||||
void dialog_response(GtkWidget *widget,int response,GtkBuilder *builder){
|
||||
//Handle file chooser response and set background
|
||||
int width=640,height=360;
|
||||
get_config(&width,&height);
|
||||
GObject *background=gtk_builder_get_object(builder,"background");
|
||||
const gchar *filename;
|
||||
GFile *file;
|
||||
//g_print("%s\n",filename);
|
||||
if(response==GTK_RESPONSE_OK){
|
||||
file=gtk_file_chooser_get_file(GTK_FILE_CHOOSER(widget));
|
||||
filename=g_file_get_path(file);
|
||||
GdkPixbuf *pixbuf=gdk_pixbuf_new_from_file(filename,NULL);
|
||||
GdkPixbuf *sized=gdk_pixbuf_scale_simple(pixbuf,width,height,GDK_INTERP_BILINEAR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(background),sized);
|
||||
g_object_unref(pixbuf);
|
||||
g_object_unref(sized);
|
||||
}
|
||||
gtk_widget_destroy(widget);
|
||||
}
|
||||
|
||||
void default_background(GtkBuilder *builder){
|
||||
//Set the default background
|
||||
int width=640,height=360;
|
||||
get_config(&width,&height);
|
||||
GObject *background=gtk_builder_get_object(builder,"background");
|
||||
GdkPixbuf *pixbuf=gdk_pixbuf_new_from_xpm_data(winpe);
|
||||
GdkPixbuf *sized=gdk_pixbuf_scale_simple(pixbuf,width,height,GDK_INTERP_BILINEAR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(background),sized);
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
#ifndef __BACK_H_
|
||||
#define __BACK_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
void default_background(GtkBuilder *builder);
|
||||
|
||||
void fileopen(GtkWidget *widget,GtkBuilder *builder);
|
||||
|
||||
void dialog_response(GtkWidget *widget,int response,GtkBuilder *builder);
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
#include "game.h"
|
||||
|
||||
GObject *button[4];
|
||||
GObject *label;
|
||||
const char *btn_index[4]={"0","1","2","3"};
|
||||
int flag;
|
||||
|
||||
void btn_click(GtkWidget *widget,gpointer data){
|
||||
//Get image
|
||||
GdkPixbuf *pixbuf=gdk_pixbuf_new_from_resource("/gtk42/icon.jpg",NULL);
|
||||
GdkPixbuf *sized=gdk_pixbuf_scale_simple(pixbuf,50,50,GDK_INTERP_BILINEAR);
|
||||
GtkWidget *image=gtk_image_new_from_pixbuf(sized);
|
||||
//Get button index
|
||||
char str[2];
|
||||
strcpy(str,(char*)data);
|
||||
//Set a image to the flag button and judge
|
||||
gtk_button_set_image((GtkButton*)button[flag],image);
|
||||
if(flag==str[0]-48){
|
||||
gtk_label_set_label(GTK_LABEL(label),"Good luck!");
|
||||
}else{
|
||||
gtk_label_set_label(GTK_LABEL(label),"Flag missed.");
|
||||
}
|
||||
for(int i=0;i<4;i++){
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(button[i]),FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
void buttons_init(GtkBuilder *builder){
|
||||
//Initalize buttons
|
||||
for(int i=0;i<4;i++){
|
||||
char str[6];
|
||||
sprintf(str,"btn_%d",i+1);
|
||||
button[i]=gtk_builder_get_object(builder,str);
|
||||
g_signal_connect(button[i],"clicked",G_CALLBACK(btn_click),(gpointer)btn_index[i]);
|
||||
gtk_button_set_always_show_image(GTK_BUTTON(button[i]),TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
void btngo_click(GtkWidget *widget,gpointer data){
|
||||
//Reinitalize the buttons and the flag
|
||||
gtk_label_set_label(GTK_LABEL(label),"Select a button");
|
||||
for(int i=0;i<4;i++){
|
||||
gtk_widget_set_sensitive(GTK_WIDGET(button[i]),TRUE);
|
||||
gtk_button_set_image((GtkButton*)button[i],NULL);
|
||||
}
|
||||
srand((unsigned)time(NULL));
|
||||
int x=rand();
|
||||
flag=x%4;
|
||||
}
|
||||
|
||||
void gamemain(GtkWidget *widget,GtkWindow *parent){
|
||||
//Get objects from the Gtkbuilder and initalize the application
|
||||
GtkBuilder *builder=gtk_builder_new();
|
||||
GObject *window;
|
||||
GdkPixbuf *pixbuf=gdk_pixbuf_new_from_resource("/gtk42/icon.jpg",NULL);
|
||||
gtk_builder_add_from_resource(builder,"/gtk42/game1.ui",NULL);
|
||||
window=gtk_builder_get_object(builder,"window");
|
||||
gtk_window_set_icon(GTK_WINDOW(window),pixbuf);
|
||||
//Get buttons from GtkBuilder
|
||||
buttons_init(builder);
|
||||
GObject *btn_go=gtk_builder_get_object(builder,"btn_go");
|
||||
g_signal_connect(btn_go,"clicked",G_CALLBACK(btngo_click),(gpointer)builder);
|
||||
GObject *btn_exit=gtk_builder_get_object(builder,"btn_exit");
|
||||
g_signal_connect_swapped(btn_exit,"clicked",G_CALLBACK(gtk_widget_destroy),GTK_WIDGET(window));
|
||||
label=gtk_builder_get_object(builder,"label");
|
||||
//Initalize the flag
|
||||
srand((unsigned)time(NULL));
|
||||
int x=rand();
|
||||
flag=x%4;
|
||||
gtk_window_set_transient_for(GTK_WINDOW(window),parent);
|
||||
gtk_widget_show_all(GTK_WIDGET(window));
|
||||
g_object_unref(pixbuf);
|
||||
}
|
|
@ -1,17 +0,0 @@
|
|||
#ifndef __GAME_H_
|
||||
#define __GAME_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
#include <ctime>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
|
||||
void btn_click(GtkWidget *widget,gpointer data);
|
||||
|
||||
void buttons_init(GtkBuilder *builder);
|
||||
|
||||
void btngo_click(GtkWidget *widget,gpointer data);
|
||||
|
||||
void gamemain(GtkWidget *widget,GtkWindow *parent);
|
||||
|
||||
#endif
|
|
@ -1,47 +0,0 @@
|
|||
#include <gtk/gtk.h>
|
||||
#include "background.h"
|
||||
#include "winconf.h"
|
||||
#include "panel1.h"
|
||||
#include "panel2.h"
|
||||
|
||||
static void gtkmain(GtkApplication *app,gpointer user_data){
|
||||
//Get main window
|
||||
int width=640,height=360;
|
||||
get_config(&width,&height);
|
||||
//GtkBuilder *builder=gtk_builder_new_from_file("res/window.ui");
|
||||
GtkBuilder *builder=gtk_builder_new_from_resource("/gtk42/window.ui");
|
||||
GObject *window=gtk_builder_get_object(builder,"window");
|
||||
gtk_window_set_default_size(GTK_WINDOW(window),width,height);
|
||||
gtk_window_set_icon_name(GTK_WINDOW(window),"org.gtk.daleclack");
|
||||
|
||||
//Home button
|
||||
GObject *img_home=gtk_builder_get_object(builder,"image1");
|
||||
gtk_image_set_from_resource(GTK_IMAGE(img_home),"/gtk42/user-home.png");
|
||||
|
||||
//Get button for change background(moved to panel 1)
|
||||
/*GObject *btn_back=gtk_builder_get_object(builder,"btnback");
|
||||
g_signal_connect(btn_back,"clicked",G_CALLBACK(fileopen),builder);*/
|
||||
|
||||
//Config button(moved to panel 1)
|
||||
/*GObject *btn_conf=gtk_builder_get_object(builder,"btnset");
|
||||
g_signal_connect(btn_conf,"clicked",G_CALLBACK(conf_dialog),builder);*/
|
||||
//default background
|
||||
|
||||
default_background(builder);
|
||||
//Add a top panel with timer
|
||||
GObject *fixed=gtk_builder_get_object(builder,"fixed");
|
||||
add_toppanel(builder,GTK_FIXED(fixed));
|
||||
add_leftpanel(builder,GTK_FIXED(fixed));
|
||||
//Add window to the application and show
|
||||
gtk_application_add_window(app,GTK_WINDOW(window));
|
||||
gtk_widget_show_all(GTK_WIDGET(window));
|
||||
}
|
||||
|
||||
int main(int argc,char *argv[]){
|
||||
GtkApplication *app;
|
||||
int status;
|
||||
app=gtk_application_new("org.gtk.daleclack",G_APPLICATION_NON_UNIQUE);
|
||||
g_signal_connect(app,"activate",G_CALLBACK(gtkmain),NULL);
|
||||
status=g_application_run(G_APPLICATION(app),argc,argv);
|
||||
return status;
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
#include <ctime>
|
||||
#include "panel1.h"
|
||||
#include "winconf.h"
|
||||
#include "background.h"
|
||||
|
||||
gboolean change_time(gpointer data){
|
||||
//Get local time
|
||||
time_t t;
|
||||
struct tm *local;
|
||||
t=time(NULL);
|
||||
local=localtime(&t);
|
||||
//Format the time and set the time
|
||||
char current_time[20];
|
||||
sprintf(current_time,"%02d:%02d %04d/%02d/%02d",
|
||||
local->tm_hour,local->tm_min,local->tm_year+1900,local->tm_mon+1,local->tm_mday);
|
||||
//g_print("%s\n",current_time);
|
||||
gtk_label_set_label(GTK_LABEL(data),current_time);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void add_toppanel(GtkBuilder *builder,GtkFixed *fixed){
|
||||
//Get position
|
||||
int width=640,height=480;
|
||||
get_config(&width,&height);
|
||||
//Get panel
|
||||
GtkBuilder *panel=gtk_builder_new_from_resource("/gtk42/toppanel.ui");
|
||||
GObject *panel1=gtk_builder_get_object(panel,"btnbox");
|
||||
gtk_widget_set_size_request(GTK_WIDGET(panel1),width,15);
|
||||
//Get timer label and set time
|
||||
GObject *label_time=gtk_builder_get_object(panel,"label_time");
|
||||
g_timeout_add(100,change_time,label_time);
|
||||
//Get popover window
|
||||
GObject *popover=gtk_builder_get_object(panel,"popover1");
|
||||
//Get button for change background
|
||||
GObject *btn_back=gtk_builder_get_object(panel,"btnback");
|
||||
GObject *img_back=gtk_builder_get_object(panel,"image3");
|
||||
gtk_image_set_from_resource(GTK_IMAGE(img_back),"/gtk42/graphics.png");
|
||||
//gtk_button_set_image(GTK_BUTTON(btn_back),GTK_WIDGET(img_back));
|
||||
gtk_button_set_always_show_image(GTK_BUTTON(btn_back),TRUE);
|
||||
g_signal_connect(btn_back,"clicked",G_CALLBACK(fileopen),builder);
|
||||
g_signal_connect_swapped(btn_back,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//Config button
|
||||
GObject *btn_conf=gtk_builder_get_object(panel,"btnset");
|
||||
GObject *img_set=gtk_builder_get_object(panel,"image5");
|
||||
gtk_image_set_from_resource(GTK_IMAGE(img_set),"/gtk42/system.png");
|
||||
//gtk_button_set_image(GTK_BUTTON(btn_conf),GTK_WIDGET(img_set));
|
||||
gtk_button_set_always_show_image(GTK_BUTTON(btn_conf),TRUE);
|
||||
g_signal_connect(btn_conf,"clicked",G_CALLBACK(conf_dialog),builder);
|
||||
g_signal_connect_swapped(btn_conf,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//Get Exit button
|
||||
GObject *btn_exit=gtk_builder_get_object(panel,"PanelExit");
|
||||
GObject *img_exit=gtk_builder_get_object(panel,"image4");
|
||||
gtk_image_set_from_resource(GTK_IMAGE(img_exit),"/gtk42/log-out.png");
|
||||
//gtk_button_set_image(GTK_BUTTON(btn_exit),GTK_WIDGET(img_exit));
|
||||
gtk_button_set_always_show_image(GTK_BUTTON(btn_exit),TRUE);
|
||||
GObject *window=gtk_builder_get_object(builder,"window");
|
||||
g_signal_connect_swapped(btn_exit,"clicked",G_CALLBACK(gtk_widget_destroy),window);
|
||||
gtk_fixed_put(fixed,GTK_WIDGET(panel1),0,0);
|
||||
}
|
|
@ -1,10 +0,0 @@
|
|||
#ifndef __TIMER_H_
|
||||
#define __TIMER_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
gboolean change_time(gpointer data);
|
||||
|
||||
void add_toppanel(GtkBuilder *builder,GtkFixed *fixed);
|
||||
|
||||
#endif
|
|
@ -1,87 +0,0 @@
|
|||
#include <cstdlib>
|
||||
#include <thread>
|
||||
#include "panel2.h"
|
||||
#include "win1.h"
|
||||
#include "game.h"
|
||||
|
||||
void add_leftpanel(GtkBuilder *builder,GtkFixed *fixed){
|
||||
//Get Left panel
|
||||
GtkBuilder *panel2=gtk_builder_new_from_resource("/gtk42/leftpanel.ui");
|
||||
GObject *panel=gtk_builder_get_object(panel2,"left_panel");
|
||||
//Set start button and image
|
||||
GObject *btn_image=gtk_builder_get_object(panel2,"btn_image");
|
||||
GdkPixbuf *pixbuf=gdk_pixbuf_new_from_resource("/gtk42/icon.png",NULL);
|
||||
GdkPixbuf *sized=gdk_pixbuf_scale_simple(pixbuf,40,40,GDK_INTERP_BILINEAR);
|
||||
gtk_image_set_from_pixbuf(GTK_IMAGE(btn_image),sized);
|
||||
//Get popover window
|
||||
GObject *popover=gtk_builder_get_object(panel2,"popover1");
|
||||
//Button image
|
||||
GtkWidget *img_vlc=gtk_image_new_from_resource("/gtk42/vlc.png");
|
||||
GtkWidget *img_aud=gtk_image_new_from_resource("/gtk42/audacious.png");
|
||||
GtkWidget *img_gedit=gtk_image_new_from_resource("/gtk42/gedit.png");
|
||||
//Audacious bin exec
|
||||
GObject *btn_audacious=gtk_builder_get_object(panel2,"btnaud");
|
||||
gtk_button_set_image(GTK_BUTTON(btn_audacious),img_aud);
|
||||
g_signal_connect(btn_audacious,"clicked",G_CALLBACK(btnaud_clicked),NULL);
|
||||
g_signal_connect_swapped(btn_audacious,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//vlc exec button for linux
|
||||
GObject *btnvlc=gtk_builder_get_object(panel2,"btnvlc");
|
||||
GObject *img_vlc1=gtk_builder_get_object(panel2,"image1");
|
||||
gtk_image_set_from_resource(GTK_IMAGE(img_vlc1),"/gtk42/vlc.png");
|
||||
g_signal_connect(btnvlc,"clicked",G_CALLBACK(btnvlc_clicked),NULL);
|
||||
g_signal_connect_swapped(btnvlc,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//Start Gedit Text Editor
|
||||
GObject *btngedit=gtk_builder_get_object(panel2,"btngedit");
|
||||
GObject *img_gedit1=gtk_builder_get_object(panel2,"image2");
|
||||
gtk_image_set_from_resource(GTK_IMAGE(img_gedit1),"/gtk42/gedit.png");
|
||||
g_signal_connect(btngedit,"clicked",G_CALLBACK(btngedit_clicked),NULL);
|
||||
g_signal_connect_swapped(btngedit,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//Notepad on windows
|
||||
GObject *btnnote=gtk_builder_get_object(panel2,"btn_note");
|
||||
gtk_button_set_image(GTK_BUTTON(btnnote),img_gedit);
|
||||
g_signal_connect(btnnote,"clicked",G_CALLBACK(btnnote_clicked),NULL);
|
||||
g_signal_connect_swapped(btnnote,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//VLC on windows
|
||||
GObject *btn_vlc=gtk_builder_get_object(panel2,"btn_vlc");
|
||||
gtk_button_set_image(GTK_BUTTON(btn_vlc),img_vlc);
|
||||
g_signal_connect(btn_vlc,"clicked",G_CALLBACK(btnvlc_win32),NULL);
|
||||
g_signal_connect_swapped(btn_vlc,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//Get main window
|
||||
GObject *window=gtk_builder_get_object(builder,"window");
|
||||
//Gtk31 application
|
||||
GObject *btngame=gtk_builder_get_object(panel2,"btngame");
|
||||
g_signal_connect(btngame,"clicked",G_CALLBACK(gamemain),window);
|
||||
g_signal_connect_swapped(btngame,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
//About window
|
||||
GObject *btn_about=gtk_builder_get_object(panel2,"btnabout");
|
||||
g_signal_connect(btn_about,"clicked",G_CALLBACK(win1_init),window);
|
||||
g_signal_connect_swapped(btn_about,"clicked",G_CALLBACK(gtk_widget_hide),popover);
|
||||
gtk_fixed_put(fixed,GTK_WIDGET(panel),0,25);
|
||||
g_object_unref(pixbuf);
|
||||
g_object_unref(sized);
|
||||
}
|
||||
|
||||
void btnvlc_clicked(GtkWidget *widget,gpointer data){
|
||||
std::thread first(system,"vlc");
|
||||
first.detach();
|
||||
}
|
||||
|
||||
void btngedit_clicked(GtkWidget *widget,gpointer data){
|
||||
std::thread second(system,"gedit");
|
||||
second.detach();
|
||||
}
|
||||
|
||||
void btnaud_clicked(GtkWidget *widget,gpointer data){
|
||||
std::thread third(system,"audacious");
|
||||
third.detach();
|
||||
}
|
||||
|
||||
void btnnote_clicked(GtkWidget *widget,gpointer data){
|
||||
std::thread fourth(system,"start notepad");
|
||||
fourth.detach();
|
||||
}
|
||||
|
||||
void btnvlc_win32(GtkWidget *widget,gpointer data){
|
||||
std::thread fifth(system,"start ..\\vlc\\vlc.exe");
|
||||
fifth.detach();
|
||||
}
|
|
@ -1,18 +0,0 @@
|
|||
#ifndef __PANEL2_H_
|
||||
#define __PANEL2_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
void add_leftpanel(GtkBuilder *builder,GtkFixed *fixed);
|
||||
|
||||
void btnvlc_clicked(GtkWidget *widget,gpointer data);
|
||||
|
||||
void btngedit_clicked(GtkWidget *widget,gpointer data);
|
||||
|
||||
void btnaud_clicked(GtkWidget *widget,gpointer data);
|
||||
|
||||
void btnnote_clicked(GtkWidget *widget,gpointer data);
|
||||
|
||||
void btnvlc_win32(GtkWidget *widget,gpointer data);
|
||||
|
||||
#endif
|
|
@ -1,14 +0,0 @@
|
|||
#include "win1.h"
|
||||
|
||||
void win1_init(GtkWidget *widget,GtkWindow *parent){
|
||||
//"About" window
|
||||
GtkBuilder *win1=gtk_builder_new_from_resource("/gtk42/win1.ui");
|
||||
GObject *window1=gtk_builder_get_object(win1,"window1");
|
||||
gtk_window_set_transient_for(GTK_WINDOW(window1),parent);
|
||||
//Window icon fix for win32 platform
|
||||
GdkPixbuf *logo=gdk_pixbuf_new_from_resource("/gtk42/icon.jpg",NULL);
|
||||
GdkPixbuf *logo_sized=gdk_pixbuf_scale_simple(logo,100,100,GDK_INTERP_BILINEAR);
|
||||
gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(window1),logo_sized);
|
||||
g_signal_connect_swapped(window1,"response",G_CALLBACK(gtk_widget_destroy),window1);
|
||||
gtk_widget_show_all(GTK_WIDGET(window1));
|
||||
}
|
|
@ -1,8 +0,0 @@
|
|||
#ifndef __WIN1_H_
|
||||
#define __WIN1_H_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
void win1_init(GtkWidget *widget,GtkWindow *parent);
|
||||
|
||||
#endif
|
|
@ -1,73 +0,0 @@
|
|||
#include <cstdio>
|
||||
#include "winconf.h"
|
||||
|
||||
void conf_dialog(GtkWidget *widget,GtkBuilder *builder){
|
||||
//Window config dialog
|
||||
GtkBuilder *conf_size=gtk_builder_new_from_resource("/gtk42/win_size.ui");
|
||||
GObject *dialog=gtk_builder_get_object(conf_size,"dialog");
|
||||
GObject *window=gtk_builder_get_object(builder,"window");
|
||||
gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(window));
|
||||
g_signal_connect(dialog,"response",G_CALLBACK(conf_response),conf_size);
|
||||
//Set default config
|
||||
GObject *entry_width=gtk_builder_get_object(conf_size,"entry_width");
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_width),"640");
|
||||
GObject *entry_height=gtk_builder_get_object(conf_size,"entry_height");
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_height),"360");
|
||||
//Get window size
|
||||
GObject *btnGet=gtk_builder_get_object(conf_size,"btnGet");
|
||||
g_signal_connect(btnGet,"clicked",G_CALLBACK(get_winsize),conf_size);
|
||||
//Reset to default
|
||||
GObject *btn_default=gtk_builder_get_object(conf_size,"btn_default");
|
||||
g_signal_connect(btn_default,"clicked",G_CALLBACK(set_default),conf_size);
|
||||
gtk_widget_show_all(GTK_WIDGET(dialog));
|
||||
}
|
||||
|
||||
void conf_response(GtkWidget *widget,int response,GtkBuilder *builder_conf){
|
||||
//Get width and height config and put the numbers into winsize.conf file
|
||||
GObject *entry_width,*entry_height;
|
||||
entry_width=gtk_builder_get_object(builder_conf,"entry_width");
|
||||
entry_height=gtk_builder_get_object(builder_conf,"entry_height");
|
||||
if(response==GTK_RESPONSE_OK){
|
||||
const gchar *width,*height;
|
||||
width=gtk_entry_get_text(GTK_ENTRY(entry_width));
|
||||
height=gtk_entry_get_text(GTK_ENTRY(entry_height));
|
||||
freopen("winsize.conf","w",stdout);
|
||||
g_print("%s %s",width,height);
|
||||
fclose(stdout);
|
||||
}
|
||||
gtk_widget_destroy(widget);
|
||||
}
|
||||
|
||||
void set_default(GtkWidget *widget,GtkBuilder *builder_conf){
|
||||
//Discard changes and set to default config
|
||||
GObject *entry_width=gtk_builder_get_object(builder_conf,"entry_width");
|
||||
GObject *entry_height=gtk_builder_get_object(builder_conf,"entry_height");
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_width),"640");
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_height),"360");
|
||||
}
|
||||
|
||||
void get_winsize(GtkWidget *widget,GtkBuilder *builder_conf){
|
||||
//Get current window size
|
||||
int width=640,height=360;
|
||||
char width1[7],height1[7];
|
||||
GtkWindow *window;
|
||||
//Get dialog window and entry
|
||||
GObject *dialog=gtk_builder_get_object(builder_conf,"dialog");
|
||||
GObject *entry_width=gtk_builder_get_object(builder_conf,"entry_width");
|
||||
GObject *entry_height=gtk_builder_get_object(builder_conf,"entry_height");
|
||||
//Get main window
|
||||
window=gtk_window_get_transient_for(GTK_WINDOW(dialog));
|
||||
gtk_window_get_size(GTK_WINDOW(window),&width,&height);
|
||||
//g_print("%d %d\n",width,height);
|
||||
sprintf(width1,"%d",width);
|
||||
sprintf(height1,"%d",height);
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_width),width1);
|
||||
gtk_entry_set_text(GTK_ENTRY(entry_height),height1);
|
||||
}
|
||||
|
||||
void get_config(int *width,int *height){
|
||||
freopen("winsize.conf","r",stdin);
|
||||
scanf("%d",width);
|
||||
scanf("%d",height);
|
||||
fclose(stdin);
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
#ifndef __WIN_CONF_
|
||||
#define __WIN_CONF_
|
||||
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
void conf_dialog(GtkWidget *widget,GtkBuilder *builder);
|
||||
|
||||
void conf_response(GtkWidget *widget,int response,GtkBuilder *builder_conf);
|
||||
|
||||
void set_default(GtkWidget *widget,GtkBuilder *builder_conf);
|
||||
|
||||
void get_winsize(GtkWidget *widget,GtkBuilder *buider_conf);
|
||||
|
||||
void get_config(int *width,int *height);
|
||||
|
||||
#endif
|
1014
Gtk3/winpe.xpm
|
@ -0,0 +1,19 @@
|
|||
set(CMAKE_CXX_STANDARD 17)
|
||||
cmake_minimum_required(VERSION 3.0.0)
|
||||
project(gtk84 VERSION 0.1.0)
|
||||
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
|
||||
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
||||
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
||||
|
||||
include(CPack)
|
||||
|
||||
find_package (PkgConfig REQUIRED)
|
||||
pkg_check_modules (GTKMM3 REQUIRED gtkmm-3.0)
|
||||
include_directories (${GTKMM3_INCLUDE_DIRS})
|
||||
link_directories (${GTKMM3_LIBRARY_DIRS})
|
||||
add_executable(gtk84 src/main.cc src/MyWin.cc)
|
||||
add_definitions (${GTKMM3_CFLAGS_OTHER})
|
||||
target_link_libraries (${PROJECT_NAME} ${GTKMM3_LIBRARIES})
|
|
@ -0,0 +1,3 @@
|
|||
cd build_mingw
|
||||
mingw32-make
|
||||
gtk84
|
Before Width: | Height: | Size: 618 B After Width: | Height: | Size: 618 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 444 B After Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 371 B After Width: | Height: | Size: 371 B |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 539 B After Width: | Height: | Size: 539 B |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |