summaryrefslogtreecommitdiff
path: root/src/lib/efl/interfaces/efl_input_panel.eo
blob: abacfb54c2dec90922b3e3f6733eafae603e2d07 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
enum Efl.Input_Panel.Layout
{
   normal = 0,
   number,
   email,
   url,
   phonenumber,
   ip,
   month,
   numberonly,
   invalid,
   hex,
   terminal,
   password,
   datetime,
   emoticon
}

enum Efl.Input_Panel.Lang
{
   automatic = 0,
   alphabet
}

enum Efl.Input_Panel.Return.Key.Type
{
   default = 0,
   done,
   go,
   join,
   login,
   next,
   search,
   send,
   signin
}

interface Efl.Input_Panel {
   methods {
      @property layout {
         set {
            [[Set the input panel layout.]]
         }
         get {
            [[Get the input panel layout.]]
         }
         values {
            layout: Efl.Input_Panel.Layout(Efl.Input_Panel.Layout.invalid); [[layout type.]]
         }
      }
      @property visible {
         [[Controls visiblity of the input panel.
         ]]
         set {
         }
         get {
         }
         values {
            visible: bool; [[If visible is true, the input panel will be shown. If visible is false, the input panel will be hidden.]]
         }
      }
      @property language {
         set {
            [[Set the language mode of the input panel.

              This API can be used if you want to show the alphabet keyboard mode.
            ]]
         }
         get {
            [[Get the language mode of the input panel.
            ]]
         }
         values {
            language: Efl.Input_Panel.Lang; [[language to be set to the input panel.]]
         }
      }
      @property return_key_type {
         set {
            [[Set the "return" key type. This type is used to set string or icon on the "return" key of the input panel.

              An input panel displays the string or icon associated with this type.
            ]]
         }
         get {
            [[Get the "return" key type.
            ]]
         }
         values {
            type: Efl.Input_Panel.Return.Key.Type; [[The type of "return" key on the input panel.]]
         }
      }
      @property return_key_disabled {
         set {
            [[Set the return key on the input panel to be disabled.
            ]]
         }
         get {
            [[Get whether the return key on the input panel should be disabled or not.
            ]]
         }
         values {
            disabled: bool; [[The state to put in in: $true for
            disabled, $false for enabled.]]
         }
      }
      @property return_key_autoenabled {
         [[Set whether the return key on the input panel is disabled automatically when there is no text.

           If $enabled is $true, The return key on input panel is disabled when there is no text.
           The return key on the input panel is automatically enabled when there is text.
           The default value is $false.
         ]]
         set {
         }
         get {
         }
         values {
            enabled: bool; [[If $enabled is true, the return key is automatically disabled when there is no text.]]
         }
      }
      @property show_on_demand {
         set {
            [[Set the attribute to show the input panel in case of only an user's explicit Mouse Up event.
              It doesn't request to show the input panel even though it has focus.
            ]]
         }
         get {
            [[Get the attribute to show the input panel in case of only an user's explicit Mouse Up event.
            ]]
         }
         values {
            on_demand: bool; [[If true, the input panel will be shown in case of only Mouse up event.]]
         }
      }
   }
}