Add gtk27
This commit is contained in:
parent
68b5c1983b
commit
76ea511d26
|
@ -0,0 +1,38 @@
|
||||||
|
#include "GtkClass.h"
|
||||||
|
|
||||||
|
void GtkWin::win_init(int width,int height){
|
||||||
|
_window=GTK_WINDOW(main_window);
|
||||||
|
gtk_window_set_default_size(_window,width,height);
|
||||||
|
gtk_window_set_position(_window,GTK_WIN_POS_CENTER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GtkWin::set_titlebar(GtkWidget *widget){
|
||||||
|
_window=GTK_WINDOW(main_window);
|
||||||
|
gtk_window_set_titlebar(_window,widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GtkWin::add_widget(GtkWidget *widget){
|
||||||
|
gtk_container_add(GTK_CONTAINER(main_window),widget);
|
||||||
|
}
|
||||||
|
|
||||||
|
void GtkWin::show_all(){
|
||||||
|
gtk_widget_show_all(main_window);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Winheader::header_init(){
|
||||||
|
_header=GTK_HEADER_BAR(header);
|
||||||
|
gtk_header_bar_set_decoration_layout(_header,"close,minimize,maximize:menu");
|
||||||
|
gtk_header_bar_set_show_close_button(_header,TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Winheader::pack_start(GtkWidget *child){
|
||||||
|
gtk_header_bar_pack_start(_header,child);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Winheader::pack_end(GtkWidget *child){
|
||||||
|
gtk_header_bar_pack_end(_header,child);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Winlayout::put(GtkWidget *child,int x,int y){
|
||||||
|
gtk_layout_put(GTK_LAYOUT(layout),child,x,y);
|
||||||
|
}
|
|
@ -0,0 +1,26 @@
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
class GtkWin{
|
||||||
|
GtkWindow *_window;
|
||||||
|
public:
|
||||||
|
GtkWidget *main_window;
|
||||||
|
void win_init(int width,int height);
|
||||||
|
void set_titlebar(GtkWidget *widget);
|
||||||
|
void add_widget(GtkWidget *widget);
|
||||||
|
void show_all();
|
||||||
|
};
|
||||||
|
|
||||||
|
class Winheader{
|
||||||
|
GtkHeaderBar *_header;
|
||||||
|
public:
|
||||||
|
GtkWidget *header=gtk_header_bar_new();
|
||||||
|
void header_init();
|
||||||
|
void pack_start(GtkWidget *child);
|
||||||
|
void pack_end(GtkWidget *child);
|
||||||
|
};
|
||||||
|
|
||||||
|
class Winlayout{
|
||||||
|
public:
|
||||||
|
GtkWidget *layout=gtk_layout_new(NULL,NULL);
|
||||||
|
void put(GtkWidget *child,int x,int y);
|
||||||
|
};
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_project_file>
|
||||||
|
<FileVersion major="1" minor="6" />
|
||||||
|
<Project>
|
||||||
|
<Option title="gtk27" />
|
||||||
|
<Option pch_mode="2" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Build>
|
||||||
|
<Target title="Debug">
|
||||||
|
<Option output="bin/Debug/gtk27" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Debug/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-g" />
|
||||||
|
</Compiler>
|
||||||
|
</Target>
|
||||||
|
<Target title="Release">
|
||||||
|
<Option output="bin/Release/gtk27" prefix_auto="1" extension_auto="1" />
|
||||||
|
<Option object_output="obj/Release/" />
|
||||||
|
<Option type="1" />
|
||||||
|
<Option compiler="gcc" />
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-O2" />
|
||||||
|
</Compiler>
|
||||||
|
<Linker>
|
||||||
|
<Add option="-s" />
|
||||||
|
</Linker>
|
||||||
|
</Target>
|
||||||
|
</Build>
|
||||||
|
<Compiler>
|
||||||
|
<Add option="-Wall" />
|
||||||
|
</Compiler>
|
||||||
|
<Extensions />
|
||||||
|
</Project>
|
||||||
|
</CodeBlocks_project_file>
|
|
@ -0,0 +1,18 @@
|
||||||
|
# depslib dependency file v1.0
|
||||||
|
1608348169 source:/root/cpp49/main.cpp
|
||||||
|
"GtkClass.h"
|
||||||
|
"winclass.h"
|
||||||
|
|
||||||
|
1608348789 /root/cpp49/GtkClass.h
|
||||||
|
<gtk/gtk.h>
|
||||||
|
|
||||||
|
1608347671 source:/root/cpp49/GtkClass.cpp
|
||||||
|
"GtkClass.h"
|
||||||
|
|
||||||
|
1608348251 /root/cpp49/winclass.h
|
||||||
|
<gtk/gtk.h>
|
||||||
|
|
||||||
|
1608348243 source:/root/cpp49/winclass.cpp
|
||||||
|
"winclass.h"
|
||||||
|
"GtkClass.h"
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
|
||||||
|
<CodeBlocks_layout_file>
|
||||||
|
<FileVersion major="1" minor="0" />
|
||||||
|
<ActiveTarget name="Debug" />
|
||||||
|
</CodeBlocks_layout_file>
|
|
@ -0,0 +1,17 @@
|
||||||
|
#include "GtkClass.h"
|
||||||
|
#include "winclass.h"
|
||||||
|
|
||||||
|
static void activate(GtkApplication *app,gpointer user_data){
|
||||||
|
GtkMain win_main;
|
||||||
|
win_main.init(app);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc,char *argv[]){
|
||||||
|
GtkApplication *app;
|
||||||
|
int status;
|
||||||
|
app=gtk_application_new("com.github.gtk27",G_APPLICATION_FLAGS_NONE);
|
||||||
|
g_signal_connect(app,"activate",G_CALLBACK(activate),NULL);
|
||||||
|
status=g_application_run(G_APPLICATION(app),argc,argv);
|
||||||
|
g_object_unref(app);
|
||||||
|
return status;
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
#include "winclass.h"
|
||||||
|
#include "GtkClass.h"
|
||||||
|
|
||||||
|
void GtkMain::init(GtkApplication *app){
|
||||||
|
GtkWin window;
|
||||||
|
Winheader header;
|
||||||
|
window.main_window=gtk_application_window_new(app);
|
||||||
|
window.win_init(400,300);
|
||||||
|
|
||||||
|
header.header_init();
|
||||||
|
window.set_titlebar(header.header);
|
||||||
|
|
||||||
|
window.show_all();
|
||||||
|
};
|
|
@ -0,0 +1,6 @@
|
||||||
|
#include <gtk/gtk.h>
|
||||||
|
|
||||||
|
class GtkMain{
|
||||||
|
public:
|
||||||
|
void init(GtkApplication *app);
|
||||||
|
};
|
Loading…
Reference in New Issue