efl

Форк
0
/
test_ui_box.c 
619 строк · 19.1 Кб
1
#include "test.h"
2
#ifdef HAVE_CONFIG_H
3
# include "elementary_config.h"
4
#endif
5

6
#define EFL_PACK_LAYOUT_PROTECTED
7
#include <Efl_Ui.h>
8
#include <Elementary.h>
9
#include <assert.h>
10

11
#define CNT 10
12
static Evas_Object *objects[CNT] = {};
13

14
typedef enum {
15
   NONE,
16
   NONE_BUT_FILL,
17
   EQUAL,
18
   ONE,
19
   TWO
20
} Weight_Mode;
21

22
static void
23
weights_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
24
{
25
   Weight_Mode mode = elm_radio_state_value_get(obj);
26

27
   switch (mode)
28
     {
29
      case NONE:
30
        efl_gfx_hint_align_set(data, 0.5, 0.5);
31
        for (int i = 0; i < CNT; i++)
32
          efl_gfx_hint_weight_set(objects[i], 0, 0);
33
        break;
34
      case NONE_BUT_FILL:
35
        efl_gfx_hint_align_set(data, -1, -1);
36
        for (int i = 0; i < CNT; i++)
37
          efl_gfx_hint_weight_set(objects[i], 0, 0);
38
        break;
39
      case EQUAL:
40
        efl_gfx_hint_align_set(data, 0.5, 0.5);
41
        for (int i = 0; i < CNT; i++)
42
          efl_gfx_hint_weight_set(objects[i], 1, 1);
43
        break;
44
      case ONE:
45
        efl_gfx_hint_align_set(data, 0.5, 0.5);
46
        for (int i = 0; i < 6; i++)
47
          efl_gfx_hint_weight_set(objects[i], 0, 0);
48
        efl_gfx_hint_weight_set(objects[6], 1, 1);
49
        for (int i = 7; i < CNT; i++)
50
          efl_gfx_hint_weight_set(objects[i], 0, 0);
51
        break;
52
      case TWO:
53
        efl_gfx_hint_align_set(data, 0.5, 0.5);
54
        for (int i = 0; i < 5; i++)
55
          efl_gfx_hint_weight_set(objects[i], 0, 0);
56
        efl_gfx_hint_weight_set(objects[5], 1, 1);
57
        efl_gfx_hint_weight_set(objects[6], 1, 1);
58
        for (int i = 7; i < CNT; i++)
59
          efl_gfx_hint_weight_set(objects[i], 0, 0);
60
        break;
61
     }
62
}
63

64
static void
65
user_min_slider_cb(void *data EINA_UNUSED, const Efl_Event *event)
66
{
67
   int val = elm_slider_value_get(event->object);
68

69
   efl_gfx_hint_size_min_set(objects[3], EINA_SIZE2D(val, val));
70
}
71

72
static void
73
padding_slider_cb(void *data, const Efl_Event *event)
74
{
75
   unsigned int val = lround(elm_slider_value_get(event->object));
76
   Eo *win = data, *box;
77

78
   box = efl_key_wref_get(win, "box");
79
   efl_gfx_arrangement_content_padding_set(box, val, val);
80
}
81

82
static void
83
margin_slider_cb(void *data, const Efl_Event *event)
84
{
85
   int val = elm_slider_value_get(event->object);
86
   Eo *win = data, *box;
87

88
   box = efl_key_wref_get(win, "box");
89
   efl_gfx_hint_margin_set(box, val, val, val, val);
90
}
91

92
static void
93
alignh_slider_cb(void *data, const Efl_Event *event)
94
{
95
   double av, val;
96
   Eo *win = data, *box;
97

98
   box = efl_key_wref_get(win, "box");
99
   val = elm_slider_value_get(event->object);
100
   efl_gfx_arrangement_content_align_get(box, NULL, &av);
101
   efl_gfx_arrangement_content_align_set(box, val, av);
102
}
103

104
static void
105
alignv_slider_cb(void *data, const Efl_Event *event)
106
{
107
   double ah, val;
108
   Eo *win = data, *box;
109

110
   box = efl_key_wref_get(win, "box");
111
   val = elm_slider_value_get(event->object);
112
   efl_gfx_arrangement_content_align_get(box, &ah, NULL);
113
   efl_gfx_arrangement_content_align_set(box, ah, val);
114
}
115

116
static void
117
alignh_btn_slider_cb(void *data, const Efl_Event *event)
118
{
119
   double av, val;
120
   Eo *win = data, *btn;
121

122
   btn = efl_key_wref_get(win, "button");
123
   val = elm_slider_value_get(event->object);
124
   efl_gfx_hint_align_get(btn, NULL, &av);
125
   efl_gfx_hint_align_set(btn, val, av);
126
}
127

128
static void
129
alignv_btn_slider_cb(void *data, const Efl_Event *event)
130
{
131
   double ah, val;
132
   Eo *win = data, *btn;
133

134
   btn = efl_key_wref_get(win, "button");
135
   val = elm_slider_value_get(event->object);
136
   efl_gfx_hint_align_get(btn, &ah, NULL);
137
   efl_gfx_hint_align_set(btn, ah, val);
138
}
139

140
static void
141
flow_check_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
142
{
143
   Eina_Bool chk = elm_check_selected_get(obj);
144
   Eina_List *list = NULL;
145
   Eina_Iterator *it;
146
   Eo *box, *win, *sobj, *parent;
147

148
   // Unpack all children from the box, delete it and repack into the new box
149

150
   win = data;
151
   box = efl_key_wref_get(win, "box");
152
   parent = efl_parent_get(box);
153
   it = efl_content_iterate(box);
154
   EINA_ITERATOR_FOREACH(it, sobj)
155
     list = eina_list_append(list, sobj);
156
   eina_iterator_free(it);
157
   efl_pack_unpack_all(box);
158
   efl_del(box);
159

160
   box = efl_add(chk ? EFL_UI_BOX_FLOW_CLASS : EFL_UI_BOX_CLASS, win,
161
                 efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL));
162
   efl_content_set(parent, box);
163
   efl_key_wref_set(win, "box", box);
164

165
   EINA_LIST_FREE(list, sobj)
166
     efl_pack(box, sobj);
167
}
168

169
static void
170
horiz_check_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
171
{
172
   Eina_Bool chk = elm_check_selected_get(obj);
173
   Eo *box = efl_key_wref_get(data, "box");
174
   efl_ui_layout_orientation_set(box, chk ? EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL : EFL_UI_LAYOUT_ORIENTATION_VERTICAL);
175
}
176

177
static void
178
homo_check_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
179
{
180
   Eina_Bool chk = elm_check_selected_get(obj);
181
   Eo *box = efl_key_wref_get(data, "box");
182
   efl_ui_box_homogeneous_set(box, chk);
183
}
184

185
static void
186
_custom_layout_update(Eo *pack, const void *data EINA_UNUSED)
187
{
188
   Eina_Iterator *it = efl_content_iterate(pack);
189
   int count = efl_content_count(pack), i = 0;
190
   Eina_Rect rp;
191
   Eo *sobj;
192

193
   // Note: This is a TERRIBLE layout. Just an example of the API, not showing
194
   // how to write a proper layout function.
195

196
   if (!count) return;
197

198
   rp = efl_gfx_entity_geometry_get(pack);
199
   EINA_ITERATOR_FOREACH(it, sobj)
200
     {
201
        Eina_Rect r;
202

203
        r.x = (rp.w / count) * i;
204
        r.y = (rp.h / count) * i;
205
        r.size = efl_gfx_hint_size_combined_min_get(sobj);
206
        efl_gfx_entity_geometry_set(sobj, r);
207
        i++;
208
     }
209
   eina_iterator_free(it);
210
}
211

212
static void
213
custom_check_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
214
{
215
   EFL_OPS_DEFINE(custom_layout_ops,
216
                  EFL_OBJECT_OP_FUNC(efl_pack_layout_update, _custom_layout_update));
217

218
   Eina_Bool chk = elm_check_selected_get(obj);
219
   Eo *box, *win = data;
220

221
   box = efl_key_wref_get(win, "box");
222

223
   // Overriding just the one function we need
224
   efl_object_override(box, chk ? &custom_layout_ops : NULL);
225

226
   // Layout request is required as the pack object doesn't know the layout
227
   // function was just overridden.
228
   efl_pack_layout_request(box);
229
}
230

231
void
232
test_ui_box(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
233
{
234
   Evas_Object *win, *bx, *o, *vbox, *f, *hbox, *chk;
235
   int i = 0;
236

237
   win = elm_win_util_standard_add("ui-box", "Efl.Ui.Box");
238
   elm_win_autodel_set(win, EINA_TRUE);
239
   efl_gfx_entity_size_set(win, EINA_SIZE2D(600,  400));
240

241
   vbox = efl_add(EFL_UI_BOX_CLASS, win,
242
                  efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
243
   efl_gfx_arrangement_content_padding_set(vbox, 10, 10);
244
   efl_gfx_hint_margin_set(vbox, 5, 5, 5, 5);
245
   elm_win_resize_object_add(win, vbox);
246

247

248
   /* controls */
249
   f = elm_frame_add(win);
250
   elm_object_text_set(f, "Controls");
251
   efl_gfx_hint_align_set(f, -1, -1);
252
   efl_gfx_hint_weight_set(f, 1, 0);
253
   efl_pack(vbox, f);
254
   efl_gfx_entity_visible_set(f, 1);
255

256
   hbox = efl_add(EFL_UI_BOX_CLASS, win,
257
                  efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL));
258
   efl_content_set(f, hbox);
259
   efl_gfx_arrangement_content_padding_set(hbox, 10, 0);
260

261

262
   /* weights radio group */
263
   bx = efl_add(EFL_UI_BOX_CLASS, win,
264
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
265
   efl_gfx_hint_align_set(bx, 0, 0.5);
266
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
267
   efl_pack(hbox, bx);
268

269
   chk = o = elm_radio_add(win);
270
   elm_object_text_set(o, "No weight");
271
   evas_object_smart_callback_add(o, "changed", weights_cb, win);
272
   efl_gfx_hint_align_set(o, 0, 0.5);
273
   elm_radio_state_value_set(o, NONE);
274
   efl_pack(bx, o);
275
   efl_gfx_entity_visible_set(o, 1);
276

277
   o = elm_radio_add(win);
278
   elm_object_text_set(o, "No weight + box fill");
279
   evas_object_smart_callback_add(o, "changed", weights_cb, win);
280
   efl_gfx_hint_align_set(o, 0, 0.5);
281
   elm_radio_state_value_set(o, NONE_BUT_FILL);
282
   elm_radio_group_add(o, chk);
283
   efl_pack(bx, o);
284
   efl_gfx_entity_visible_set(o, 1);
285

286
   o = elm_radio_add(win);
287
   elm_object_text_set(o, "Equal weights");
288
   evas_object_smart_callback_add(o, "changed", weights_cb, win);
289
   efl_gfx_hint_align_set(o, 0, 0.5);
290
   elm_radio_state_value_set(o, EQUAL);
291
   elm_radio_group_add(o, chk);
292
   efl_pack(bx, o);
293
   efl_gfx_entity_visible_set(o, 1);
294

295
   o = elm_radio_add(win);
296
   elm_object_text_set(o, "One weight only");
297
   evas_object_smart_callback_add(o, "changed", weights_cb, win);
298
   efl_gfx_hint_align_set(o, 0, 0.5);
299
   elm_radio_state_value_set(o, ONE);
300
   elm_radio_group_add(o, chk);
301
   efl_pack(bx, o);
302
   efl_gfx_entity_visible_set(o, 1);
303

304
   o = elm_radio_add(win);
305
   elm_object_text_set(o, "Two weights");
306
   evas_object_smart_callback_add(o, "changed", weights_cb, win);
307
   efl_gfx_hint_align_set(o, 0, 0.5);
308
   elm_radio_state_value_set(o, TWO);
309
   elm_radio_group_add(o, chk);
310
   efl_pack(bx, o);
311
   efl_gfx_entity_visible_set(o, 1);
312

313
   elm_radio_value_set(chk, NONE);
314

315

316
   /* misc */
317
   bx = efl_add(EFL_UI_BOX_CLASS, win,
318
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
319
   efl_gfx_hint_align_set(bx, 0, 0.5);
320
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
321
   efl_gfx_hint_weight_set(bx, 0, 1);
322
   efl_pack(hbox, bx);
323

324
   o = elm_label_add(win);
325
   elm_object_text_set(o, "Misc");
326
   efl_pack(bx, o);
327
   efl_gfx_entity_visible_set(o, 1);
328

329
   o = elm_check_add(win);
330
   elm_check_selected_set(o, 0);
331
   elm_object_text_set(o, "Flow");
332
   evas_object_smart_callback_add(o, "changed", flow_check_cb, win);
333
   efl_gfx_hint_align_set(o, 0, 0);
334
   efl_pack(bx, o);
335
   efl_gfx_entity_visible_set(o, 1);
336

337
   o = elm_check_add(win);
338
   elm_check_selected_set(o, 1);
339
   elm_object_text_set(o, "Horizontal");
340
   evas_object_smart_callback_add(o, "changed", horiz_check_cb, win);
341
   efl_gfx_hint_align_set(o, 0, 0);
342
   efl_pack(bx, o);
343
   efl_gfx_entity_visible_set(o, 1);
344

345
   o = elm_check_add(win);
346
   elm_check_selected_set(o, 0);
347
   elm_object_text_set(o, "Homogenous");
348
   evas_object_smart_callback_add(o, "changed", homo_check_cb, win);
349
   efl_gfx_hint_align_set(o, 0, 0);
350
   efl_pack(bx, o);
351
   efl_gfx_entity_visible_set(o, 1);
352

353
   o = elm_check_add(win);
354
   elm_check_selected_set(o, 0);
355
   elm_object_text_set(o, "Custom layout");
356
   evas_object_smart_callback_add(o, "changed", custom_check_cb, win);
357
   efl_gfx_hint_align_set(o, 0, 0);
358
   efl_gfx_hint_weight_set(o, 0, 1);
359
   efl_pack(bx, o);
360
   efl_gfx_entity_visible_set(o, 1);
361

362

363
   /* user min size setter */
364
   bx = efl_add(EFL_UI_BOX_CLASS, win,
365
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
366
   efl_gfx_hint_align_set(bx, 0, 0.5);
367
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
368
   efl_gfx_hint_weight_set(bx, 0, 1);
369
   efl_pack(hbox, bx);
370

371
   o = elm_label_add(win);
372
   elm_object_text_set(o, "User min size");
373
   efl_pack(bx, o);
374
   efl_gfx_entity_visible_set(o, 1);
375

376
   o = elm_slider_add(win);
377
   elm_slider_indicator_format_set(o, "%.0fpx");
378
   elm_slider_indicator_show_set(o, 1);
379
   elm_slider_horizontal_set(o, 0);
380
   efl_gfx_hint_align_set(o, 0.5, -1);
381
   efl_gfx_hint_weight_set(o, 1, 1);
382
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, user_min_slider_cb, NULL);
383
   elm_slider_min_max_set(o, 0, 250);
384
   elm_slider_inverted_set(o, 1);
385
   elm_slider_value_set(o, 0);
386
   efl_pack(bx, o);
387
   efl_gfx_entity_visible_set(o, 1);
388

389

390
   /* inner box padding */
391
   bx = efl_add(EFL_UI_BOX_CLASS, win,
392
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
393
   efl_gfx_hint_align_set(bx, 0, 0.5);
394
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
395
   efl_gfx_hint_weight_set(bx, 0, 1);
396
   efl_pack(hbox, bx);
397

398
   o = elm_label_add(win);
399
   elm_object_text_set(o, "Padding");
400
   efl_pack(bx, o);
401
   efl_gfx_entity_visible_set(o, 1);
402

403
   o = elm_slider_add(win);
404
   elm_slider_indicator_format_set(o, "%.0fpx");
405
   elm_slider_indicator_show_set(o, 1);
406
   elm_slider_horizontal_set(o, 0);
407
   efl_gfx_hint_align_set(o, 0.5, -1);
408
   efl_gfx_hint_weight_set(o, 1, 1);
409
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, padding_slider_cb, win);
410
   elm_slider_min_max_set(o, 0, 40);
411
   elm_slider_inverted_set(o, 1);
412
   elm_slider_value_set(o, 10);
413
   efl_pack(bx, o);
414
   efl_gfx_entity_visible_set(o, 1);
415

416

417
   /* outer margin */
418
   bx = efl_add(EFL_UI_BOX_CLASS, win,
419
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
420
   efl_gfx_hint_align_set(bx, 0, 0.5);
421
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
422
   efl_gfx_hint_weight_set(bx, 0, 1);
423
   efl_pack(hbox, bx);
424

425
   o = elm_label_add(win);
426
   elm_object_text_set(o, "Margin");
427
   efl_pack(bx, o);
428
   efl_gfx_entity_visible_set(o, 1);
429

430
   o = elm_slider_add(win);
431
   elm_slider_indicator_format_set(o, "%.0fpx");
432
   elm_slider_indicator_show_set(o, 1);
433
   elm_slider_horizontal_set(o, 0);
434
   efl_gfx_hint_align_set(o, 0.5, -1);
435
   efl_gfx_hint_weight_set(o, 1, 1);
436
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, margin_slider_cb, win);
437
   elm_slider_min_max_set(o, 0, 40);
438
   elm_slider_inverted_set(o, 1);
439
   elm_slider_value_set(o, 10);
440
   efl_pack(bx, o);
441
   efl_gfx_entity_visible_set(o, 1);
442

443

444
   /* Box align */
445
   bx = efl_add(EFL_UI_BOX_CLASS, win,
446
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
447
   efl_gfx_hint_align_set(bx, 0, 0.5);
448
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
449
   efl_gfx_hint_weight_set(bx, 1, 1);
450
   efl_pack(hbox, bx);
451

452
   o = elm_label_add(win);
453
   elm_object_text_set(o, "Box align");
454
   efl_pack(bx, o);
455
   efl_gfx_entity_visible_set(o, 1);
456

457
   o = elm_slider_add(win);
458
   elm_slider_indicator_format_set(o, "%.1f");
459
   elm_slider_indicator_show_set(o, 1);
460
   elm_slider_horizontal_set(o, 0);
461
   efl_gfx_hint_align_set(o, 0.5, -1);
462
   efl_gfx_hint_weight_set(o, 1, 1);
463
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, alignv_slider_cb, win);
464
   elm_slider_min_max_set(o, -0.1, 1.0);
465
   elm_slider_step_set(o, 0.1);
466
   elm_slider_value_set(o, 0.5);
467
   efl_pack(bx, o);
468
   efl_gfx_entity_visible_set(o, 1);
469

470
   o = elm_slider_add(win);
471
   elm_slider_indicator_format_set(o, "%.1f");
472
   elm_slider_indicator_show_set(o, 1);
473
   elm_slider_horizontal_set(o, 1);
474
   efl_gfx_hint_align_set(o, 0.5, -1);
475
   efl_gfx_hint_weight_set(o, 1, 0);
476
   efl_gfx_hint_size_min_set(o, EINA_SIZE2D(100, 0));
477
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, alignh_slider_cb, win);
478
   elm_slider_min_max_set(o, -0.1, 1.0);
479
   elm_slider_step_set(o, 0.1);
480
   elm_slider_value_set(o, 0.5);
481
   efl_pack(bx, o);
482
   efl_gfx_entity_visible_set(o, 1);
483

484
   /* Button align */
485
   bx = efl_add(EFL_UI_BOX_CLASS, win,
486
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_VERTICAL));
487
   efl_gfx_hint_align_set(bx, 0, 0.5);
488
   efl_gfx_hint_fill_set(bx, EINA_FALSE, EINA_TRUE);
489
   efl_gfx_hint_weight_set(bx, 1, 1);
490
   efl_pack(hbox, bx);
491

492
   o = elm_label_add(win);
493
   elm_object_text_set(o, "Button align");
494
   efl_pack(bx, o);
495
   efl_gfx_entity_visible_set(o, 1);
496

497
   o = elm_slider_add(win);
498
   elm_slider_indicator_format_set(o, "%.1f");
499
   elm_slider_indicator_show_set(o, 1);
500
   elm_slider_horizontal_set(o, 0);
501
   efl_gfx_hint_align_set(o, 0.5, -1);
502
   efl_gfx_hint_weight_set(o, 1, 1);
503
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, alignv_btn_slider_cb, win);
504
   elm_slider_min_max_set(o, 0.0, 1.0);
505
   elm_slider_step_set(o, 0.1);
506
   elm_slider_value_set(o, 0.5);
507
   efl_pack(bx, o);
508
   efl_gfx_entity_visible_set(o, 1);
509

510
   o = elm_slider_add(win);
511
   elm_slider_indicator_format_set(o, "%.1f");
512
   elm_slider_indicator_show_set(o, 1);
513
   elm_slider_horizontal_set(o, 1);
514
   efl_gfx_hint_align_set(o, 0.5, -1);
515
   efl_gfx_hint_weight_set(o, 1, 0);
516
   efl_gfx_hint_size_min_set(o, EINA_SIZE2D(100, 0));
517
   efl_event_callback_add(o, EFL_UI_RANGE_EVENT_CHANGED, alignh_btn_slider_cb, win);
518
   elm_slider_min_max_set(o, -0.1, 1.0);
519
   elm_slider_step_set(o, 0.1);
520
   elm_slider_value_set(o, 0.5);
521
   efl_pack(bx, o);
522
   efl_gfx_entity_visible_set(o, 1);
523

524

525
   /* contents */
526
   f = elm_frame_add(win);
527
   elm_object_text_set(f, "Contents");
528
   efl_gfx_hint_align_set(f, -1, -1);
529
   efl_gfx_hint_weight_set(f, 1, 1);
530
   efl_pack(vbox, f);
531
   efl_gfx_entity_visible_set(f, 1);
532

533
   bx = efl_add(EFL_UI_BOX_CLASS, win,
534
                efl_ui_layout_orientation_set(efl_added, EFL_UI_LAYOUT_ORIENTATION_HORIZONTAL));
535
   efl_key_wref_set(win, "box", bx);
536
   efl_gfx_arrangement_content_padding_set(bx, 10, 10);
537
   efl_gfx_hint_align_set(bx, 0.5, 0.5);
538
   efl_gfx_hint_weight_set(bx, 1, 1);
539
   efl_content_set(f, bx);
540

541
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
542
   efl_text_set(o, "Btn1");
543
   efl_gfx_hint_weight_set(o, 0, 0);
544
   efl_gfx_hint_align_set(o, 0.5, 0.5);
545
   efl_gfx_hint_fill_set(o, EINA_FALSE, EINA_FALSE);
546
   efl_pack(bx, o);
547
   efl_gfx_entity_visible_set(o, 1);
548

549
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
550
   efl_text_set(o, "Button 2");
551
   efl_gfx_hint_weight_set(o, 0, 0);
552
   efl_pack(bx, o);
553
   efl_gfx_entity_visible_set(o, 1);
554

555
   objects[i++] = o = elm_label_add(win);
556
   elm_label_line_wrap_set(o, ELM_WRAP_WORD);
557
   elm_object_text_set(o, "This label is not marked as fill");
558
   efl_gfx_hint_align_set(o, 0.5, 0.5);
559
   efl_pack(bx, o);
560
   efl_gfx_entity_visible_set(o, 1);
561

562
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
563
   efl_text_set(o, "Min size");
564
   efl_gfx_hint_weight_set(o, 0, 0);
565
   efl_gfx_hint_fill_set(o, EINA_FALSE, EINA_FALSE);
566
   efl_gfx_hint_align_set(o, 0.5, 1.0);
567
   efl_gfx_hint_aspect_set(o, EFL_GFX_HINT_ASPECT_BOTH, EINA_SIZE2D(1, 1));
568
   efl_pack(bx, o);
569
   efl_gfx_entity_visible_set(o, 1);
570

571
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
572
   efl_text_set(o, "Quit!");
573
   efl_gfx_hint_weight_set(o, 0, 0);
574
   efl_gfx_hint_fill_set(o, EINA_FALSE, EINA_FALSE);
575
   efl_gfx_hint_align_set(o, 0.5, 0.0);
576
   efl_pack(bx, o);
577
   efl_gfx_entity_visible_set(o, 1);
578

579
   objects[i++] = o = elm_label_add(win);
580
   elm_label_line_wrap_set(o, ELM_WRAP_WORD);
581
   elm_object_text_set(o, "This label on the other hand<br/>is marked as align=fill.");
582
   efl_gfx_hint_align_set(o, -1, -1);
583
   efl_pack(bx, o);
584
   efl_gfx_entity_visible_set(o, 1);
585

586
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
587
   efl_key_wref_set(win, "button", o);
588
   efl_text_set(o, "Button with a quite long text.");
589
   efl_gfx_hint_weight_set(o, 0, 0);
590
   efl_gfx_hint_size_max_set(o, EINA_SIZE2D(200, 100));
591
   efl_pack(bx, o);
592
   efl_gfx_entity_visible_set(o, 1);
593

594
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
595
   efl_text_set(o, "BtnA");
596
   efl_gfx_hint_weight_set(o, 0, 0);
597
   efl_gfx_hint_fill_set(o, EINA_FALSE, EINA_FALSE);
598
   efl_gfx_hint_aspect_set(o, EFL_GFX_HINT_ASPECT_BOTH, EINA_SIZE2D(1, 2));
599
   efl_pack(bx, o);
600
   efl_gfx_entity_visible_set(o, 1);
601

602
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
603
   efl_text_set(o, "BtnB");
604
   efl_gfx_hint_weight_set(o, 0, 0);
605
   efl_gfx_hint_fill_set(o, EINA_FALSE, EINA_FALSE);
606
   efl_pack(bx, o);
607
   efl_gfx_entity_visible_set(o, 1);
608

609
   objects[i++] = o = efl_add(EFL_UI_BUTTON_CLASS, bx);
610
   efl_text_set(o, "BtnC");
611
   efl_gfx_hint_weight_set(o, 0, 0);
612
   efl_gfx_hint_fill_set(o, EINA_FALSE, EINA_FALSE);
613
   efl_pack(bx, o);
614
   efl_gfx_entity_visible_set(o, 1);
615

616
   assert(i == CNT);
617

618
   efl_gfx_entity_visible_set(win, 1);
619
}
620

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.