Added mouse panel, dummy device representation
This commit is contained in:
16
src/device/device.c
Normal file
16
src/device/device.c
Normal file
@@ -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";
|
||||
}
|
9
src/device/device.h
Normal file
9
src/device/device.h
Normal file
@@ -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
|
42
src/ui/panels/mouse-panel.c
Normal file
42
src/ui/panels/mouse-panel.c
Normal file
@@ -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));
|
||||
}
|
15
src/ui/panels/mouse-panel.h
Normal file
15
src/ui/panels/mouse-panel.h
Normal file
@@ -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);
|
||||
|
Reference in New Issue
Block a user