parent
10d037819e
commit
ad5cef35d4
After Width: | Height: | Size: 33 KiB |
@ -0,0 +1,16 @@ |
|||||||
|
#include "device.h" |
||||||
|
|
||||||
|
struct DEVICE |
||||||
|
{ |
||||||
|
|
||||||
|
}; |
||||||
|
|
||||||
|
char* device_get_image(device_t* device) |
||||||
|
{ |
||||||
|
return "/home/valentin/Documents/prjs/ginput/drivers/g-wolves/htx/htx_0.png"; |
||||||
|
} |
||||||
|
|
||||||
|
char* device_get_name(device_t* device) |
||||||
|
{ |
||||||
|
return "G-Wolves HTX 4K"; |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
#ifndef DEVICE_H |
||||||
|
#define DEVICE_H |
||||||
|
|
||||||
|
typedef struct DEVICE device_t; |
||||||
|
|
||||||
|
char* device_get_image(device_t* device); |
||||||
|
char* device_get_name(device_t* device); |
||||||
|
|
||||||
|
#endif |
@ -0,0 +1,42 @@ |
|||||||
|
#include "mouse-panel.h" |
||||||
|
|
||||||
|
struct _MousePanel |
||||||
|
{ |
||||||
|
Panel parent_instance; |
||||||
|
|
||||||
|
GtkImage* mouse_image; |
||||||
|
GtkLabel* mouse_name;
|
||||||
|
}; |
||||||
|
|
||||||
|
G_DEFINE_TYPE (MousePanel, mouse_panel, panel_get_type()) |
||||||
|
|
||||||
|
static void |
||||||
|
mouse_panel_class_init(MousePanelClass* klass) |
||||||
|
{ |
||||||
|
GObjectClass* object_class = G_OBJECT_CLASS(klass); |
||||||
|
GtkWidgetClass* widget_class = GTK_WIDGET_CLASS(klass); |
||||||
|
PanelClass* panel_class = GINPUT_PANEL_CLASS(klass); |
||||||
|
|
||||||
|
gtk_widget_class_set_template_from_resource(widget_class, "/v/ginput/panel-mouse.ui"); |
||||||
|
|
||||||
|
gtk_widget_class_bind_template_child(widget_class, MousePanel, mouse_image); |
||||||
|
gtk_widget_class_bind_template_child(widget_class, MousePanel, mouse_name); |
||||||
|
} |
||||||
|
|
||||||
|
static void |
||||||
|
mouse_panel_init(MousePanel* self) |
||||||
|
{ |
||||||
|
gtk_widget_init_template(GTK_WIDGET(self)); |
||||||
|
} |
||||||
|
|
||||||
|
Panel* |
||||||
|
mouse_panel_new(void) |
||||||
|
{ |
||||||
|
return g_object_new(mouse_panel_get_type(), NULL); |
||||||
|
} |
||||||
|
|
||||||
|
void mouse_panel_set_device(MousePanel* self, device_t* device) |
||||||
|
{ |
||||||
|
gtk_image_set_from_file(self->mouse_image, device_get_image(device)); |
||||||
|
gtk_label_set_label(self->mouse_name, device_get_name(device)); |
||||||
|
} |
@ -0,0 +1,15 @@ |
|||||||
|
#pragma once |
||||||
|
|
||||||
|
#include "ui/panel.h" |
||||||
|
#include "device/device.h" |
||||||
|
|
||||||
|
G_BEGIN_DECLS |
||||||
|
|
||||||
|
G_DECLARE_FINAL_TYPE(MousePanel, mouse_panel, GINPUT, MOUSE_PANEL, Panel) |
||||||
|
|
||||||
|
G_END_DECLS |
||||||
|
|
||||||
|
Panel* mouse_panel_new(void); |
||||||
|
|
||||||
|
void mouse_panel_set_device(MousePanel* self, device_t* device); |
||||||
|
|
Loading…
Reference in new issue