Drop keyboard

This commit is contained in:
Dorota Czaplejewicz
2019-08-16 15:50:34 +00:00
parent f479a36dbe
commit c9a580dc07
4 changed files with 1 additions and 235 deletions

View File

@ -40,7 +40,6 @@
enum {
PROP_0,
PROP_KEYBOARD,
PROP_LAST
};
@ -328,31 +327,13 @@ eek_gtk_keyboard_real_query_tooltip (GtkWidget *widget,
return FALSE;
}
static void
eek_gtk_keyboard_set_keyboard (EekGtkKeyboard *self,
LevelKeyboard *keyboard)
{
EekGtkKeyboardPrivate *priv = eek_gtk_keyboard_get_instance_private (self);
if (priv->keyboard == keyboard)
return;
priv->keyboard = keyboard;
}
static void
eek_gtk_keyboard_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
LevelKeyboard *keyboard;
switch (prop_id) {
case PROP_KEYBOARD:
keyboard = g_value_get_object (value);
eek_gtk_keyboard_set_keyboard (EEK_GTK_KEYBOARD(object), keyboard);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@ -391,7 +372,6 @@ eek_gtk_keyboard_class_init (EekGtkKeyboardClass *klass)
{
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GParamSpec *pspec;
widget_class->realize = eek_gtk_keyboard_real_realize;
widget_class->unmap = eek_gtk_keyboard_real_unmap;
@ -409,15 +389,6 @@ eek_gtk_keyboard_class_init (EekGtkKeyboardClass *klass)
gobject_class->set_property = eek_gtk_keyboard_set_property;
gobject_class->dispose = eek_gtk_keyboard_dispose;
pspec = g_param_spec_object ("keyboard",
"Keyboard",
"Keyboard",
EEK_TYPE_KEYBOARD,
G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE);
g_object_class_install_property (gobject_class,
PROP_KEYBOARD,
pspec);
}
static void

View File

@ -38,38 +38,6 @@
#include "eek-keyboard.h"
enum {
PROP_0,
PROP_LAST
};
enum {
KEY_RELEASED,
KEY_LOCKED,
KEY_UNLOCKED,
LAST_SIGNAL
};
enum {
VIEW_LETTERS_LOWER,
VIEW_LETTERS_UPPER,
VIEW_NUMBERS,
VIEW_SYMBOLS
};
#define EEK_KEYBOARD_GET_PRIVATE(obj) \
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_KEYBOARD, EekKeyboardPrivate))
struct _EekKeyboardPrivate
{
char dummy; // won't run otherwise
};
G_DEFINE_TYPE_WITH_PRIVATE (EekKeyboard, eek_keyboard, EEK_TYPE_ELEMENT);
G_DEFINE_BOXED_TYPE(EekModifierKey, eek_modifier_key,
eek_modifier_key_copy, eek_modifier_key_free);
EekModifierKey *
eek_modifier_key_copy (EekModifierKey *modkey)
{
@ -82,40 +50,6 @@ eek_modifier_key_free (EekModifierKey *modkey)
g_slice_free (EekModifierKey, modkey);
}
struct squeek_row *
eek_keyboard_real_create_row (EekKeyboard *self)
{
struct squeek_row *row = squeek_row_new(0);
g_ptr_array_add(self->rows, row);
return row;
}
static void
eek_keyboard_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
switch (prop_id) {
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
static void
eek_keyboard_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
switch (prop_id) {
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
}
}
/// Updates the state of locked keys based on the key that was activated
/// FIXME: make independent of what the key are named,
/// and instead refer to the contained symbols
@ -221,18 +155,6 @@ void eek_keyboard_release_button(LevelKeyboard *keyboard,
emit_key_activated(keyboard->manager, keyboard, keycode, FALSE, timestamp);
}
static void
eek_keyboard_dispose (GObject *object)
{
G_OBJECT_CLASS (eek_keyboard_parent_class)->dispose (object);
}
static void
eek_keyboard_finalize (GObject *object)
{
G_OBJECT_CLASS (eek_keyboard_parent_class)->finalize (object);
}
void level_keyboard_deinit(LevelKeyboard *self) {
g_hash_table_destroy (self->names);
for (guint i = 0; i < self->outline_array->len; i++) {
@ -253,30 +175,6 @@ void level_keyboard_free(LevelKeyboard *self) {
g_free(self);
}
static void
eek_keyboard_class_init (EekKeyboardClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
/* signals */
gobject_class->get_property = eek_keyboard_get_property;
gobject_class->set_property = eek_keyboard_set_property;
gobject_class->dispose = eek_keyboard_dispose;
gobject_class->finalize = eek_keyboard_finalize;
}
static void
eek_keyboard_init (EekKeyboard *self)
{
self->rows = g_ptr_array_new();
}
void eek_keyboard_foreach (EekKeyboard *keyboard,
GFunc func,
gpointer user_data) {
g_ptr_array_foreach(keyboard->rows, func, user_data);
}
void level_keyboard_init(LevelKeyboard *self) {
self->outline_array = g_array_new (FALSE, TRUE, sizeof (EekOutline));
}
@ -307,26 +205,6 @@ eek_keyboard_find_button_by_name (LevelKeyboard *keyboard,
return g_hash_table_lookup (keyboard->names, name);
}
/**
* eek_keyboard_get_size:
* @keyboard: an #EekKeyboard
* @width: width of @keyboard
* @height: height of @keyboard
*
* Get the size of @keyboard.
*/
void
eek_keyboard_get_size (EekKeyboard *keyboard,
gdouble *width,
gdouble *height)
{
EekBounds bounds;
eek_element_get_bounds (EEK_ELEMENT(keyboard), &bounds);
*width = bounds.width;
*height = bounds.height;
}
/**
* eek_keyboard_get_outline:
* @keyboard: an #EekKeyboard

View File

@ -33,69 +33,6 @@
G_BEGIN_DECLS
#define EEK_TYPE_KEYBOARD (eek_keyboard_get_type())
#define EEK_KEYBOARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EEK_TYPE_KEYBOARD, EekKeyboard))
#define EEK_KEYBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EEK_TYPE_KEYBOARD, EekKeyboardClass))
#define EEK_IS_KEYBOARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EEK_TYPE_KEYBOARD))
#define EEK_IS_KEYBOARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EEK_TYPE_KEYBOARD))
#define EEK_KEYBOARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EEK_TYPE_KEYBOARD, EekKeyboardClass))
typedef struct _EekKeyboardClass EekKeyboardClass;
typedef struct _EekKeyboardPrivate EekKeyboardPrivate;
/**
* EekKeyboard:
*
* Contains the graphical representation of the rows of buttons.
*/
struct _EekKeyboard
{
/*< private >*/
EekElement parent;
EekKeyboardPrivate *priv;
GPtrArray *rows; // struct squeek_row*
};
typedef struct _EekKeyboard EekKeyboard;
/**
* EekKeyboardClass:
* @create_section: virtual function for creating a section
* @find_key_by_name: virtual function for finding a key in the
* keyboard by name
* @key_pressed: class handler for #EekKeyboard::key-pressed signal
* @key_released: class handler for #EekKeyboard::key-released signal
* @key_locked: class handler for #EekKeyboard::key-locked signal
* @key_unlocked: class handler for #EekKeyboard::key-unlocked signal
* @key_cancelled: class handler for #EekKeyboard::key-cancelled signal
*/
struct _EekKeyboardClass
{
/*< private >*/
EekElementClass parent_class;
/* obsolete members moved to EekElement */
gpointer set_symbol_index;
gpointer get_symbol_index;
/*< private >*/
/* obsolete members moved to EekElement */
gpointer symbol_index_changed;
/*< private >*/
/* padding */
gpointer pdummy[21];
};
/**
* EekModifierKey:
* @modifiers: an #EekModifierType which @key triggers
* @key: an #EekKey
*
* Entry which associates modifier mask to a key. This is returned by
* eek_keyboard_get_locked_keys().
*/
struct _EekModifierKey {
/*< public >*/
EekModifierType modifiers;
@ -124,17 +61,6 @@ struct _LevelKeyboard {
};
typedef struct _LevelKeyboard LevelKeyboard;
GType eek_keyboard_get_type
(void) G_GNUC_CONST;
void eek_keyboard_get_size
(EekKeyboard *keyboard,
gdouble *width,
gdouble *height);
void eek_keyboard_set_size
(EekKeyboard *keyboard,
gdouble width,
gdouble height);
struct squeek_row *eek_keyboard_get_row(struct squeek_view *view,
struct squeek_button *button);
struct squeek_button *eek_keyboard_find_button_by_name(LevelKeyboard *keyboard,
@ -163,18 +89,10 @@ void eek_keyboard_release_button(LevelKeyboard *keyboard, struct squeek_button *
gchar * eek_keyboard_get_keymap
(LevelKeyboard *keyboard);
void eek_keyboard_foreach (EekKeyboard *keyboard,
GFunc func,
gpointer user_data);
struct squeek_view *level_keyboard_current(LevelKeyboard *keyboard);
LevelKeyboard *level_keyboard_new(EekboardContextService *manager, struct squeek_view *views[], GHashTable *name_button_hash);
void level_keyboard_deinit(LevelKeyboard *self);
void level_keyboard_free(LevelKeyboard *self);
struct squeek_row *
eek_keyboard_real_create_row (EekKeyboard *self);
G_END_DECLS
#endif /* EEK_KEYBOARD_H */

View File

@ -431,10 +431,9 @@ eekboard_context_service_class_init (EekboardContextServiceClass *klass)
*
* An #EekKeyboard currently active in this context.
*/
pspec = g_param_spec_object ("keyboard",
pspec = g_param_spec_pointer("keyboard",
"Keyboard",
"Keyboard",
EEK_TYPE_KEYBOARD,
G_PARAM_READWRITE);
g_object_class_install_property (gobject_class,
PROP_KEYBOARD,