summaryrefslogtreecommitdiff
path: root/src/lib/elm_settingspane.eo
blob: dabbd25567582ba02eb30adc1cb736fab966c25e (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
class Elm.Settingspane(Elm.Layout) {
   eo_prefix: elm_obj_settingspane;
   methods {
      focused_get {
        [[
          Returns the item which is currently displayed
        ]]
        return : Elm.Settingspane.Item*;
      }
      item_get {
        [[
          Return the Item from this path

          This will search the item of the given paths.
          If the path is "settings/monitor/resolution"
          The Item resolution in the parent "monitor" in the parent "settings" will be searched.
          If the item is found, it will be retured, if it isnt, NULL is returned
        ]]
        return : Elm.Settingspane.Item*;
        params {
          @in paths : const(char)*; [[the path of the item to return]]
        }
      }
      item_append {
        [[
          Append a item.

          This will append a item with the given name, description and icon to the widget,
          if par is not NULL it will be placed as a child of par. If par is NULL it will be placed in the 0 level.

          \@ref elm_obj_settingspane_item_append_relative
        ]]
        return : Elm.Settingspane.Item*;
        params {
          @in data : void*; [[data to attach to the item which gets passed to the callback]]
          @in name : const(char)*; [[name of the item]]
          @in par : Elm.Settingspane.Item*; [[parent of this item, it will be shown when the parent item is selected. If NULL it will be appended to the 0 lvl ]]
        }
      }
      item_append_relative {
        [[
          Append a item relative

          This will append a item like item_append, with the only difference that it will be appended to rel,
          The parent of rel will be took as parent.

          note that this will fail if rel is NULL

          \@ref item_append
        ]]
        return : Elm.Settingspane.Item *;
        params {
          @in data : void*; [[data to attach to the item which gets passed to the callback]]
          @in name : const(char)*; [[name of the item ]]
          @in rel : Elm.Settingspane.Item*; [[the item after which the current one will be appended, if NULL the call will fail!]]
        }
      }
      save_quit {
        [[
          Check if everything is saved

          With the internal stack of the widget it is possible that multiple panels are opened above each other.
          If the changed flag is set to one of this panels the apply/reset buttons are enabled,
          and you cannot close this page before you clicked reset or apply.
          If there are panels with the change flag set this function will return EINA_FALSE,
          if no change flag is set on the opened panel it will return EINA_TRUE

          \@ref raise_unsaved
        ]]
        return : bool; [[true if no change flag is set on the opened panels.]]
      }
      raise_unsaved {
         [[
           Raise unsaved panels in the internal stack

           This will raise internal panels which have the changed flag set.
           The panels are raised with a error highlighting.

           The lowest unsaved panel will later be the lowest unsaved panel. The highest at the top.
           All panels with unsaved changes will be infront of those without unsaved changes.

           \@ref save_quit
         ]]
      }
   }
   implements {
     Eo.Base.constructor;
     Eo.Base.destructor;
     Evas.Object_Smart.add;
     Evas.Object_Smart.show;
     Elm.Layout.content_aliases.get;
   }
}