efl: introduce efl_ui_direction_readonly

the readonly mixin implement the efl_ui_direction interface and prints a
error in case it is written.

ref T5719

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7755
This commit is contained in:
Marcel Hollerbach 2019-01-24 12:47:38 +01:00
parent c440ee442d
commit 68d1579faa
8 changed files with 31 additions and 3 deletions

View File

@ -57,6 +57,7 @@ efl_eolian_files = \
lib/efl/interfaces/efl_pack_table.eo \
lib/efl/interfaces/efl_ui_i18n.eo \
lib/efl/interfaces/efl_ui_direction.eo \
lib/efl/interfaces/efl_ui_direction_readonly.eo \
lib/efl/interfaces/efl_ui_drag.eo \
lib/efl/interfaces/efl_ui_range_display.eo \
lib/efl/interfaces/efl_ui_range_interactive.eo \
@ -132,6 +133,7 @@ lib/efl/interfaces/efl_file.c \
lib/efl/interfaces/efl_ui_format.c \
lib/efl/interfaces/efl_gfx_color.c \
lib/efl/interfaces/efl_text_markup_util.c \
lib/efl/interfaces/efl_ui_direction_readonly.c \
$(NULL)
lib_efl_libefl_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl -I$(top_srcdir)/src/lib/efl @EFL_CFLAGS@ -DEFL_GFX_FILTER_BETA

View File

@ -1,5 +1,5 @@
class Efl.Canvas.Layout_Part_Box extends Efl.Canvas.Layout_Part implements Efl.Pack_Linear,
Efl.Ui.Direction
Efl.Ui.Direction_Readonly
{
[[Represents a Box created as part of a layout.

View File

@ -1,5 +1,5 @@
class Efl.Canvas.Layout_Part_Invalid extends Efl.Canvas.Layout_Part implements Efl.Content,
Efl.Pack_Linear, Efl.Ui.Direction,
Efl.Pack_Linear, Efl.Ui.Direction_Readonly,
Efl.Pack_Table, Efl.Text,
Efl.Text_Markup
{

View File

@ -96,6 +96,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
#include "interfaces/efl_orientation.eo.h"
#include "interfaces/efl_ui_i18n.eo.h"
#include "interfaces/efl_ui_direction.eo.h"
#include "interfaces/efl_ui_direction_readonly.eo.h"
#include "interfaces/efl_ui_drag.eo.h"
#include "interfaces/efl_ui_range_display.eo.h"
#include "interfaces/efl_ui_range_interactive.eo.h"

View File

@ -0,0 +1,17 @@
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <Efl.h>
typedef struct {
} Efl_Ui_Direction_Readonly_Data;
EOLIAN static void
_efl_ui_direction_readonly_efl_ui_direction_direction_set(Eo *obj EINA_UNUSED, Efl_Ui_Direction_Readonly_Data *pd EINA_UNUSED, Efl_Ui_Dir dir EINA_UNUSED)
{
EINA_LOG_ERR("This object does not allow setting of a direction");
}
#include "efl_ui_direction_readonly.eo.c"

View File

@ -0,0 +1,6 @@
mixin Efl.Ui.Direction_Readonly extends Efl.Ui.Direction
{
implements {
Efl.Ui.Direction.direction { set; [[This will always print and error that this is a readonly object]]}
}
}

View File

@ -83,6 +83,7 @@ pub_eo_files = [
'efl_pack_table.eo',
'efl_ui_i18n.eo',
'efl_ui_direction.eo',
'efl_ui_direction_readonly.eo',
'efl_ui_drag.eo',
'efl_ui_range_display.eo',
'efl_ui_range_interactive.eo',
@ -172,6 +173,7 @@ efl_src += files([
'efl_observer.c',
'efl_file.c',
'efl_ui_format.c',
'efl_ui_direction_readonly.c',
'efl_text_markup_util.c',
])

View File

@ -1,5 +1,5 @@
class Efl.Ui.Layout_Part_Box extends Efl.Object implements Efl.Pack_Linear,
Efl.Ui.Direction
Efl.Ui.Direction_Readonly
{
[[Represents a Box created as part of a layout.