summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_textbox.eo
blob: b723c59e44a068f3037247ec15b560bc42bfbd10 (plain)
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
137
138
139
140
141
142
143
144
145
146
147
class @beta Efl.Ui.Textbox extends Efl.Ui.Layout_Base implements Efl.Input.Clickable,
                 Efl.Access.Text, Efl.Access.Editable.Text, Efl.File, Efl.Input_Text
   composites
                 Efl.Text_Interactive, Efl.Text_Markup
{
   [[A flexible text widget which can be static (as a label) or editable by
     the user (as a text entry). It provides all sorts of editing facilities
     like automatic scrollbars, virtual keyboard, clipboard, configurable
     context menus or autocapitalization, for example.]]
   methods {
      @property scrollable {
         [[Enable or disable scrolling in the widget.

           When scrolling is enabled scrollbars will appear if the text does
           not fit the widget size.]]
         set {}
         get {}
         values {
            scroll: bool; [[$true to enable scrolling. Default is $false.]]
         }
      }
      @property context_menu_enabled {
         [[This enables or disables the entry's contextual (longpress) menu.]]
         set {
         }
         get {
         }
         values {
            enabled: bool; [[If $true, the menu is enabled.]]
         }
      }
      @property cnp_mode {
         /* FIXME: Efl.Ui.Selection_Format does not allow markup without images! */
         [[Control pasting of text and images for the widget.

           Normally the entry allows both text and images to be pasted.

           Note: This only changes the behaviour of text.
         ]]
         set {
         }
         get {
         }
         values {
            format: Efl.Ui.Selection_Format; [[Format for copy & paste.]]
         }
      }
      @property selection_handler_enabled {
         [[This enables or disables the entry's selection handlers.]]
         set {
         }
         get {
         }
         values {
            enabled: bool; [[If $true, the selection handlers are enabled.]]
         }
      }

      @property item_factory {
         [[The factory that provides item in the text e.g.
           "emoticon/happy" or "href=file://image.jpg" etc.
         ]]
         values {
            item_factory: Efl.Canvas.Textblock_Factory; [[Factory to create items]]
         }
      }
      cursor_add {
         [[Add cursor that will manipulate and iterate content of the text object.
           It is typically more convenient to obtain a cursor directly from the text object using @.cursor_create.]]
         params {
            cursor: Efl.Text.Cursor; [[Text cursor.]]
         }
      }
      cursor_create {
         [[Creates and returns a new cursor for the text.]]
         return: Efl.Text.Cursor @move; [[Text cursor.]]
      }
      selection_copy {
         [[This executes a "copy" action on the selected text in the entry.]]
      }
      selection_paste {
         [[This executes a "paste" action in the entry.]]
      }
      selection_cut {
         [[This executes a "cut" action on the selected text in the entry.]]
      }
   }
   implements {
      Efl.Object.constructor;
      Efl.Object.finalize;
      Efl.Object.destructor;
      Efl.Gfx.Entity.visible { set; }
      Efl.Gfx.Entity.position { set; }
      Efl.Gfx.Entity.size { set; }
      Efl.Canvas.Group.group_member_add;
      Efl.Canvas.Group.group_calculate;
      Efl.Layout.Signal.signal_callback_add;
      Efl.Layout.Signal.signal_callback_del;
      Efl.Layout.Signal.signal_emit;
      Efl.Ui.Widget.on_access_activate;
      Efl.Ui.Widget.theme_apply;
      Efl.Ui.Focus.Object.on_focus_update;
      Efl.Ui.Widget.interest_region { get; }
      Efl.Ui.Widget.disabled {set;}
      Efl.Text_Format.password {set;}
      Efl.Text_Format.multiline {set;}
      //Efl.Ui.Widget.widget_sub_object_del;
      //Elm.Interface_Scrollable.policy { set; }
      //Elm.Interface_Scrollable.bounce_allow { set; }
      Efl.Access.Object.state_set { get; }
      Efl.Access.Object.i18n_name { get; }
      Efl.Access.Text.access_text { get; }
      Efl.Access.Text.string { get; }
      Efl.Access.Text.attribute { get; }
      Efl.Access.Text.text_attributes { get; }
      Efl.Access.Text.default_attributes { get; }
      Efl.Access.Text.caret_offset { get; set; }
      Efl.Access.Text.character { get; }
      Efl.Access.Text.character_extents { get; }
      Efl.Access.Text.character_count { get; }
      Efl.Access.Text.offset_at_point { get; }
      Efl.Access.Text.bounded_ranges { get; }
      Efl.Access.Text.range_extents { get; }
      Efl.Access.Text.access_selection { get; set; }
      Efl.Access.Text.selections_count { get; }
      Efl.Access.Text.selection_add;
      Efl.Access.Text.selection_remove;
      Efl.Access.Editable.Text.text_content { set; }
      Efl.Access.Editable.Text.insert;
      Efl.Access.Editable.Text.copy;
      Efl.Access.Editable.Text.cut;
      Efl.Access.Editable.Text.delete;
      Efl.Access.Editable.Text.paste;
      Efl.File.file { set; }
      Efl.File.load;
      Efl.File.unload;
      Efl.Text_Interactive.editable { set; }
      Efl.Part.part_get;
   }
   events {
      selection,paste: void; [[Called when selection is pasted.]]
      selection,copy: void; [[Called when selection is copied.]]
      selection,cut: void; [[Called when selection is cut.]]
      changed: void; [[Called when entry changes]]
      context,open: void; [[Called when context menu was opened]]
   }
}