Mercurial > molko
annotate libcore/core/inventory_dialog.h @ 121:789b23e01f52
misc: reorganize hierarchy, closes #2490
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 05 Oct 2020 13:25:06 +0200 |
parents | src/core/inventory_dialog.h@f6b5e2fbbc81 |
children | eadfed7674ac |
rev | line source |
---|---|
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 /* |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 * inventory_dialog.h -- dialog for items |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 * |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 * Copyright (c) 2020 David Demelier <markand@malikania.fr> |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 * |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 * Permission to use, copy, modify, and/or distribute this software for any |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 * purpose with or without fee is hereby granted, provided that the above |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 * copyright notice and this permission notice appear in all copies. |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 * |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 */ |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #ifndef INVENTORY_DIALOG_H |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 #define INVENTORY_DIALOG_H |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
22 #include "button.h" |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
23 #include "label.h" |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
24 #include "frame.h" |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
25 |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 union event; |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 struct inventory; |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
29 struct theme; |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
30 |
121
789b23e01f52
misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
31 /** |
789b23e01f52
misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
32 * \brief Inventory dialog state. |
789b23e01f52
misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
33 */ |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
34 enum inventory_dialog_state { |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
35 INVENTORY_DIALOG_NONE, |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
36 INVENTORY_DIALOG_SHOWING |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
37 }; |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
121
789b23e01f52
misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
39 /** |
789b23e01f52
misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
40 * \brief Inventory dialog. |
789b23e01f52
misc: reorganize hierarchy, closes #2490
David Demelier <markand@malikania.fr>
parents:
105
diff
changeset
|
41 */ |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 struct inventory_dialog { |
105
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
43 int x; /*!< (RO) Position in x. */ |
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
44 int y; /*!< (RO) Position in y. */ |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
45 struct inventory *inv; /*!< (RW, ref) Inventory to use. */ |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
46 struct theme *theme; /*!< (RW, ref, optional) Theme to use. */ |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
47 struct button bsort; /*!< (RO) Button sort. */ |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
48 struct frame fgrid; /*!< (RO) Grid frame. */ |
105
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
49 struct frame fname; /*!< (RO) Frame for name. */ |
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
50 struct frame fdesc; /*!< (RO) Frame for description. */ |
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
51 struct label lname; /*!< (RO) Label for name. */ |
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
52 struct label ldesc; /*!< (RO) Label for description. */ |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
53 enum inventory_dialog_state state; /*!< (RO) Current dialog state. */ |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
54 unsigned int selrow; /*!< (RO) Current selected row. */ |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
55 unsigned int selcol; /*!< (RO) Current selected column. */ |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 }; |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 void |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
59 inventory_dialog_open(struct inventory_dialog *dlg); |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 void |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
62 inventory_dialog_handle(struct inventory_dialog *dlg, const union event *event); |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 void |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
65 inventory_dialog_update(struct inventory_dialog *dlg, unsigned int ticks); |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 void |
105
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
68 inventory_dialog_move(struct inventory_dialog *dlg, int x, int y); |
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
69 |
f6b5e2fbbc81
inventory_dialog: add basic movements
David Demelier <markand@malikania.fr>
parents:
102
diff
changeset
|
70 void |
102
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
71 inventory_dialog_draw(struct inventory_dialog *dlg); |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
72 |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
73 void |
26fef20fd89d
inventory_dialog: draw basic shapes
David Demelier <markand@malikania.fr>
parents:
99
diff
changeset
|
74 inventory_dialog_finish(struct inventory_dialog *dlg); |
99
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 |
4ac71ac10c9f
core: start adding some UI elements
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 #endif /* !INVENTORY_DIALOG_H */ |